{"version":3,"sources":["./node_modules/moment-timezone/node_modules/moment/locale sync ^\\.\\/.*$","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/chil/account/ch-account-admin-nomenu/ch-account-admin-nomenu.component.html","./src/app/chil/account/ch-account-admin/ch-account-admin.component.html","./src/app/chil/account/ch-account-mysites/ch-account-mysites.component.html","./src/app/chil/account/ch-site-view/ch-site-view.component.html","./src/app/chil/analytics/ch-activty-analytics/ch-activty-analytics.component.html","./src/app/chil/analytics/ch-lists-analytics/ch-lists-analytics.component.html","./src/app/chil/analytics/ch-page-analytics/ch-page-analytics.component.html","./src/app/chil/analytics/ch-posts-analytics/ch-posts-analytics.component.html","./src/app/chil/categories/ch-category-browser/ch-category-browser.component.html","./src/app/chil/categories/ch-category-content-copy-window/ch-category-content-copy-window.component.html","./src/app/chil/categories/ch-category-content-editor/ch-category-content-editor.component.html","./src/app/chil/categories/ch-category-editor-window/ch-category-editor-window.component.html","./src/app/chil/categories/ch-family-category-editor-window/ch-family-category-editor-window.component.html","./src/app/chil/chatGPT/ch-chatgpt-config-window/ch-chatgpt-config-window.component.html","./src/app/chil/chatGPT/ch-chatgpt-main/ch-chatgpt-main.component.html","./src/app/chil/chiladmin/ch-chil-admin-copy-webs/ch-chil-admin-copy-webs.html","./src/app/chil/chiladmin/ch-chil-admin-master/ch-chil-admin-master.html","./src/app/chil/chilweb/ch-webadmin-editor-window/ch-webadmin-editor-window.component.html","./src/app/chil/chilweb/homeview/homeview.component.html","./src/app/chil/cloud/ch-cloud-browser/ch-cloud-browser.component.html","./src/app/chil/cloud/ch-file-card/ch-file-card.component.html","./src/app/chil/cloud/ch-file-import-url-window/ch-file-import-url-window.component.html","./src/app/chil/cloud/ch-file-import-window/ch-file-import-window.component.html","./src/app/chil/cloud/ch-file-select-window/ch-file-select-window.component.html","./src/app/chil/cloud/ch-new-folder-window/ch-new-folder-window.component.html","./src/app/chil/comercio/ch-channel-list-editor/ch-channel-list-editor.component.html","./src/app/chil/comercio/ch-commerce-config/ch-commerce-config.component.html","./src/app/chil/comercio/ch-invoice-browser/ch-invoice-browser.component.html","./src/app/chil/comercio/ch-invoice-dialog/ch-invoice-window.component.html","./src/app/chil/comercio/ch-invoice-editor/ch-invoice-editor.component.html","./src/app/chil/comercio/ch-order-browser/ch-order-browser.component.html","./src/app/chil/comercio/ch-order-editor-detail/ch-order-editor-detail.component.html","./src/app/chil/comercio/ch-order-editor/ch-order-editor.component.html","./src/app/chil/comercio/ch-product-editor/ch-product-editor.component.html","./src/app/chil/comercio/ch-product-list/ch-product-list.component.html","./src/app/chil/comercio/ch-product-types-config-window/ch-product-types-config-window.component.html","./src/app/chil/comercio/ch-product-view-format/ch-product-view-format.component.html","./src/app/chil/comercio/ch-product-view/ch-product-view.component.html","./src/app/chil/data/ch-copytabledata-window/ch-copytabledata-window.component.html","./src/app/chil/data/ch-databaseeditor/ch-databaseeditor.component.html","./src/app/chil/data/ch-dataimporter/ch-dataimporter.component.html","./src/app/chil/data/ch-datatable-execute-dialog/ch-datatable-execute-dialog.component.html","./src/app/chil/data/ch-datatablebrowser/ch-datatablebrowser.component.html","./src/app/chil/data/ch-table-editor-field-dialog/ch-table-editor-field-dialog.component.html","./src/app/chil/data/ch-table-editor/ch-table-editor.component.html","./src/app/chil/design/ch-page-browser-control/ch-page-browser.component.html","./src/app/chil/design/ch-web-design-root/ch-web-design-root.component.html","./src/app/chil/design/ch-web-upload-zip-window/ch-web-upload-zip-window.component.html","./src/app/chil/dynpanel/ch-dynpanel-card/ch-dynpanel-card.component.html","./src/app/chil/dynpanel/ch-dynpanel-item/ch-dynpanel-item.component.html","./src/app/chil/dynpanel/ch-dynpanel/ch-dynpanel.component.html","./src/app/chil/dynpanel/ch-workgroup/ch-workgroup.component.html","./src/app/chil/dynpanel/ch-workpanel/ch-workpanel.component.html","./src/app/chil/dynpanel/ch-workspace/ch-workspace.component.html","./src/app/chil/errors/error404/error404.component.html","./src/app/chil/forms/ch-forms-attachments-picker/ch-forms-attachments-picker.html","./src/app/chil/forms/ch-forms-buttongroup/ch-forms-buttongroup.html","./src/app/chil/forms/ch-forms-category-editor/ch-forms-category-editor.html","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector-window/ch-forms-category-selector-window.html","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector.html","./src/app/chil/forms/ch-forms-check/ch-forms-check.html","./src/app/chil/forms/ch-forms-checkgroup/ch-forms-checkgroup.html","./src/app/chil/forms/ch-forms-code/ch-forms-code.component.html","./src/app/chil/forms/ch-forms-color/ch-forms-color.html","./src/app/chil/forms/ch-forms-combo-multiple/ch-forms-combo-multiple.html","./src/app/chil/forms/ch-forms-combo/ch-forms-combo.html","./src/app/chil/forms/ch-forms-control-generic/ch-forms-control-generic.html","./src/app/chil/forms/ch-forms-control-title/ch-forms-control-title.html","./src/app/chil/forms/ch-forms-datetime/ch-forms-datetime.html","./src/app/chil/forms/ch-forms-document-picker/ch-forms-document-picker.html","./src/app/chil/forms/ch-forms-duration/ch-forms-duration.html","./src/app/chil/forms/ch-forms-external/ch-forms-external.html","./src/app/chil/forms/ch-forms-file/ch-forms-file.html","./src/app/chil/forms/ch-forms-files/ch-forms-files.html","./src/app/chil/forms/ch-forms-font/ch-forms-font.component.html","./src/app/chil/forms/ch-forms-group/ch-forms-group.html","./src/app/chil/forms/ch-forms-image-mosaic/ch-forms-image-mosaic.html","./src/app/chil/forms/ch-forms-image-picker/ch-forms-image-picker.html","./src/app/chil/forms/ch-forms-info-icon/ch-forms-info-icon.component.html","./src/app/chil/forms/ch-forms-ivoox-player/ch-forms-ivoox-player.html","./src/app/chil/forms/ch-forms-label/ch-forms-label.html","./src/app/chil/forms/ch-forms-language-picker/ch-forms-language-picker.html","./src/app/chil/forms/ch-forms-link/ch-forms-link-editor-window/ch-forms-link-editor-window.component.html","./src/app/chil/forms/ch-forms-link/ch-forms-link.html","./src/app/chil/forms/ch-forms-location-picker/ch-forms-location-picker.html","./src/app/chil/forms/ch-forms-map-display/ch-forms-map-display.html","./src/app/chil/forms/ch-forms-map-setter/ch-forms-map-setter.html","./src/app/chil/forms/ch-forms-post-selector/ch-forms-post-selector.html","./src/app/chil/forms/ch-forms-post-type-select/ch-forms-post-type-select.html","./src/app/chil/forms/ch-forms-products-family-picker/ch-forms-products-family-picker.html","./src/app/chil/forms/ch-forms-radiobutton/ch-forms-radiobutton.html","./src/app/chil/forms/ch-forms-radiogroup/ch-forms-radiogroup.html","./src/app/chil/forms/ch-forms-repeat-programming/ch-forms-repeat-editor-window/ch-forms-repeat-editor-window.component.html","./src/app/chil/forms/ch-forms-repeat-programming/ch-forms-repeat-programming.html","./src/app/chil/forms/ch-forms-richedit/ch-forms-richedit.html","./src/app/chil/forms/ch-forms-richedit/ch-paste-rich-text-window/ch-paste-rich-text-window.html","./src/app/chil/forms/ch-forms-select-group/ch-forms-select-group.html","./src/app/chil/forms/ch-forms-select-item/ch-forms-select-item.html","./src/app/chil/forms/ch-forms-slider/ch-forms-slider.html","./src/app/chil/forms/ch-forms-switch/ch-forms-switch.html","./src/app/chil/forms/ch-forms-tags-editor/ch-forms-tags-editor.html","./src/app/chil/forms/ch-forms-textbox/ch-forms-textbox.html","./src/app/chil/forms/ch-forms-textedit/ch-forms-textedit.html","./src/app/chil/forms/ch-forms-user-picker/ch-forms-user-picker.html","./src/app/chil/forms/ch-forms-week-plan/ch-forms-week-plan.html","./src/app/chil/forms/ch-forms-youtube-player/ch-forms-youtube-player.html","./src/app/chil/forms/ch-forms-zone-auth/ch-forms-zone-auth.html","./src/app/chil/forms/ch-forms-zone-selector/ch-forms-zone-selector.html","./src/app/chil/i18/ch-lang-selector/ch-lang-selector.component.html","./src/app/chil/images/ch-image-cropper-dialog/ch-image-cropper-dialog.component.html","./src/app/chil/libs/ch-info-ibox/ch-info-ibox.component.html","./src/app/chil/location/ch-location-picker-window/ch-location-picker-window.component.html","./src/app/chil/login/ch-apple-callback/ch-apple-callback.component.html","./src/app/chil/login/ch-apple-login/ch-apple-login.component.html","./src/app/chil/login/ch-google-login/ch-google-login.component.html","./src/app/chil/login/ch-login/ch-login.component.html","./src/app/chil/mail/ch-email/ch-email.html","./src/app/chil/mail/ch-mail-config/ch-mail-config.component.html","./src/app/chil/mail/ch-mail-editor-window/ch-mail-editor-window.component.html","./src/app/chil/mail/ch-mail-templates/ch-mail-templates.component.html","./src/app/chil/mail/ch-mail-view/ch-mail-view.component.html","./src/app/chil/mobile/ch-mobile-conf-activation/ch-mobile-conf-activation.component.html","./src/app/chil/mobile/ch-mobile-conf-browser/ch-mobile-conf-browser.html","./src/app/chil/mobile/ch-mobile-conf-image/ch-mobile-conf-image.component.html","./src/app/chil/mobile/ch-mobile-conf-messages/ch-mobile-conf-messages.component.html","./src/app/chil/mobile/ch-mobile-import-window/ch-mobile-import-window.component.html","./src/app/chil/population/ch-actor-card/ch-actor-card.component.html","./src/app/chil/population/ch-list-add-actor-window/ch-list-add-actor-window.component.html","./src/app/chil/population/ch-list-contents-copy-window/ch-list-contents-copy-window.component.html","./src/app/chil/population/ch-list-editor-window/ch-list-editor-window.component.html","./src/app/chil/population/ch-lists-browser/ch-lists-browser.component.html","./src/app/chil/proyectos/agroviva/agroviva-entrega-detalle/agroviva-entrega-detalle.component.html","./src/app/chil/proyectos/agroviva/agroviva-entrega/agroviva-entrega.component.html","./src/app/chil/proyectos/depuracion/bug-edit-window/bug-edit-window.component.html","./src/app/chil/proyectos/siasa/siasa-visita-detalle2019/siasa-visita-detalle2019.component.html","./src/app/chil/proyectos/siasa/siasa-visita-detalle2020/siasa-visita-detalle2020.component.html","./src/app/chil/proyectos/siasa/siasa-visita-detalle2021/siasa-visita-detalle2021.component.html","./src/app/chil/proyectos/siasa/siasa-visita-detalle2022/siasa-visita-detalle2022.component.html","./src/app/chil/proyectos/siasa/siasa-visita2019/siasa-visita2019.component.html","./src/app/chil/proyectos/siasa/siasa-visita2020/siasa-visita2020.component.html","./src/app/chil/proyectos/siasa/siasa-visita2021/siasa-visita2021.component.html","./src/app/chil/proyectos/siasa/siasa-visita2022/siasa-visita2022.component.html","./src/app/chil/system/ch-system-config/ch-system-config.html","./src/app/chil/utils/ch-large-dialog/ch-large-dialog.component.html","./src/app/chil/utils/ch-music-player/ch-music-player.component.html","./src/app/chil/utils/ch-small-dialog/ch-small-dialog.component.html","./src/app/chil/wall/ch-comment-detailed/ch-comment-detailed.component.html","./src/app/chil/wall/ch-content-item-compact/ch-content-item-compact.component.html","./src/app/chil/wall/ch-contentroot/ch-contentroot.component.html","./src/app/chil/wall/ch-formsroot/ch-formsroot.component.html","./src/app/chil/wall/ch-post-data-browser/ch-post-data-browser.component.html","./src/app/chil/wall/ch-post-detailed-form/ch-post-detailed-form.component.html","./src/app/chil/wall/ch-post-detailed/ch-post-detailed.component.html","./src/app/chil/wall/ch-posts-copy-db-window/ch-posts-copy-db-window.component.html","./src/app/chil/wall/ch-posts-copy-window/ch-posts-copy-window.component.html","./src/app/chil/wall/ch-posts-import-events-window/ch-posts-import-events-window.component.html","./src/app/chil/wall/ch-rss-import-window/ch-rss-import-window.component.html","./src/app/chil/wall/edit-post/ch-comment-edit-form/ch-comment-edit-form.component.html","./src/app/chil/wall/edit-post/ch-post-edit-body-window/ch-post-edit-body-window.component.html","./src/app/chil/wall/edit-post/ch-post-edit-form-field/ch-post-edit-form-field.component.html","./src/app/chil/wall/edit-post/ch-post-edit-form-form/ch-post-edit-form-form.component.html","./src/app/chil/wall/edit-post/ch-post-edit-form/ch-post-edit-form.component.html","./src/app/chil/zone/ch-zone-browser/ch-zone-browser.component.html","./src/app/chil/zone/ch-zone-card/ch-zone-card.component.html","./src/app/chil/zone/ch-zone-create-window/ch-zone-create-window.component.html","./src/app/chil/zone/ch-zone-delete-window/ch-zone-delete-window.component.html","./src/app/chil/zone/ch-zone-selection-panel/ch-zone-selection-panel.component.html","./src/app/chil/zone/ch-zonesmenu/ch-zonesmenu.component.html","./src/app/components/common/footer/footer.template.html","./src/app/components/common/layouts/basicLayout.template.html","./src/app/components/common/layouts/blankLayout.template.html","./src/app/components/common/layouts/topNavigationLayout.template.html","./src/app/components/common/navigation/navigation.template.html","./src/app/components/common/topnavbar/topnavbar.template.html","./src/app/infopac/infopac-consulta/infopac-consulta.component.html","./src/app/siasa/siasa-contrato/siasa-contrato.component.html","./src/app/siasa/siasa-contrato2019/siasa-contrato2019.component.html","./src/app/siasa/siasa-contrato2020/siasa-contrato2020.component.html","./src/app/siasa/siasa-contrato2021/siasa-contrato2021.component.html","./src/app/siasa/siasa-contrato2022/siasa-contrato2022.component.html","./src/app/siasa/siasa-solicitud/siasa-solicitud.component.html","./src/app/siasa/siasa-solicitud2019/siasa-solicitud2019.component.html","./src/app/siasa/siasa-solicitud2020/siasa-solicitud2020.component.html","./src/app/siasa/siasa-solicitud2021/siasa-solicitud2021.component.html","./src/app/siasa/siasa-solicitud2022/siasa-solicitud2022.component.html","./src/app/siasa/siasa-tecnico/siasa-tecnico.component.html","./src/app/siasa/siasa-visita-detalle/siasa-visita-detalle.component.html","./src/app/siasa/siasa-visita/siasa-visita.component.html","./src/app/views/appviews/login.template.html","./src/app/views/appviews/starter.template.html","./src/$_lazy_route_resource lazy namespace object","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.helpers.ts","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/chil/account/ch-account-admin-nomenu/ch-account-admin-nomenu.component.scss","./src/app/chil/account/ch-account-admin-nomenu/ch-account-admin-nomenu.component.ts","./src/app/chil/account/ch-account-admin/ch-account-admin.component.scss","./src/app/chil/account/ch-account-admin/ch-account-admin.component.ts","./src/app/chil/account/ch-account-mysites/ch-account-mysites.component.scss","./src/app/chil/account/ch-account-mysites/ch-account-mysites.component.ts","./src/app/chil/account/ch-site-view/ch-site-view.component.scss","./src/app/chil/account/ch-site-view/ch-site-view.component.ts","./src/app/chil/actor/ch-actor-box/ch-actor-box.component.css","./src/app/chil/actor/ch-actor-box/ch-actor-box.component.ts","./src/app/chil/actor/ch-actor-manager.service.ts","./src/app/chil/actor/ch-actor.ts","./src/app/chil/analytics/ch-activty-analytics/ch-activty-analytics.component.scss","./src/app/chil/analytics/ch-activty-analytics/ch-activty-analytics.component.ts","./src/app/chil/analytics/ch-lists-analytics/ch-lists-analytics.component.ts","./src/app/chil/analytics/ch-page-analytics/ch-page-analytics.component.scss","./src/app/chil/analytics/ch-page-analytics/ch-page-analytics.component.ts","./src/app/chil/analytics/ch-posts-analytics/ch-posts-analytics.component.scss","./src/app/chil/analytics/ch-posts-analytics/ch-posts-analytics.component.ts","./src/app/chil/api/ch-api.service.ts","./src/app/chil/categories/ch-categoria.ts","./src/app/chil/categories/ch-category-browser/ch-category-browser.component.scss","./src/app/chil/categories/ch-category-browser/ch-category-browser.component.ts","./src/app/chil/categories/ch-category-content-copy-window/ch-category-content-copy-window.component.css","./src/app/chil/categories/ch-category-content-copy-window/ch-category-content-copy-window.component.ts","./src/app/chil/categories/ch-category-content-editor/ch-category-content-editor.component.scss","./src/app/chil/categories/ch-category-content-editor/ch-category-content-editor.component.ts","./src/app/chil/categories/ch-category-editor-window/ch-category-editor-window.component.ts","./src/app/chil/categories/ch-family-category-editor-window/ch-family-category-editor-window.component.ts","./src/app/chil/chatGPT/ChChatGPTEnvironment.ts","./src/app/chil/chatGPT/ch-chatgpt-config-window/ch-chatgpt-config-window.component.scss","./src/app/chil/chatGPT/ch-chatgpt-config-window/ch-chatgpt-config-window.component.ts","./src/app/chil/chatGPT/ch-chatgpt-main/ch-chatgpt-main.component.scss","./src/app/chil/chatGPT/ch-chatgpt-main/ch-chatgpt-main.component.ts","./src/app/chil/chiladmin/ch-chil-admin-copy-webs/ch-chil-admin-copy-webs.scss","./src/app/chil/chiladmin/ch-chil-admin-copy-webs/ch-chil-admin-copy-webs.ts","./src/app/chil/chiladmin/ch-chil-admin-master/ch-chil-admin-master.scss","./src/app/chil/chiladmin/ch-chil-admin-master/ch-chil-admin-master.ts","./src/app/chil/chilweb/ch-encoder.ts","./src/app/chil/chilweb/ch-globals-def.ts","./src/app/chil/chilweb/ch-globals.service.ts","./src/app/chil/chilweb/ch-webadmin-editor-window/ch-webadmin-editor-window.component.ts","./src/app/chil/chilweb/chilweb.module.ts","./src/app/chil/chilweb/homeview/homeview.component.scss","./src/app/chil/chilweb/homeview/homeview.component.ts","./src/app/chil/cloud/ch-cloud-browser/ch-cloud-browser.component.scss","./src/app/chil/cloud/ch-cloud-browser/ch-cloud-browser.component.ts","./src/app/chil/cloud/ch-file-card/ch-file-card.component.scss","./src/app/chil/cloud/ch-file-card/ch-file-card.component.ts","./src/app/chil/cloud/ch-file-import-url-window/ch-file-import-url-window.component.scss","./src/app/chil/cloud/ch-file-import-url-window/ch-file-import-url-window.component.ts","./src/app/chil/cloud/ch-file-import-window/ch-file-import-window.component.css","./src/app/chil/cloud/ch-file-import-window/ch-file-import-window.component.ts","./src/app/chil/cloud/ch-file-select-window/ch-file-select-window.component.scss","./src/app/chil/cloud/ch-file-select-window/ch-file-select-window.component.ts","./src/app/chil/cloud/ch-file.ts","./src/app/chil/cloud/ch-new-folder-window/ch-new-folder-window.component.scss","./src/app/chil/cloud/ch-new-folder-window/ch-new-folder-window.component.ts","./src/app/chil/comercio/ch-channel-list-editor/ch-channel-list-editor.component.scss","./src/app/chil/comercio/ch-channel-list-editor/ch-channel-list-editor.component.ts","./src/app/chil/comercio/ch-commerce-config.ts","./src/app/chil/comercio/ch-commerce-config/ch-commerce-config.component.scss","./src/app/chil/comercio/ch-commerce-config/ch-commerce-config.component.ts","./src/app/chil/comercio/ch-distribution-channel.ts","./src/app/chil/comercio/ch-invoice-browser/ch-invoice-browser.component.scss","./src/app/chil/comercio/ch-invoice-browser/ch-invoice-browser.component.ts","./src/app/chil/comercio/ch-invoice-dialog/ch-invoice-window.component.css","./src/app/chil/comercio/ch-invoice-dialog/ch-invoice-window.component.ts","./src/app/chil/comercio/ch-invoice-editor/ch-invoice-editor.component.scss","./src/app/chil/comercio/ch-invoice-editor/ch-invoice-editor.component.ts","./src/app/chil/comercio/ch-invoice.ts","./src/app/chil/comercio/ch-order-browser/ch-order-browser.component.scss","./src/app/chil/comercio/ch-order-browser/ch-order-browser.component.ts","./src/app/chil/comercio/ch-order-editor-detail/ch-order-editor-detail.component.scss","./src/app/chil/comercio/ch-order-editor-detail/ch-order-editor-detail.component.ts","./src/app/chil/comercio/ch-order-editor/ch-order-editor.component.scss","./src/app/chil/comercio/ch-order-editor/ch-order-editor.component.ts","./src/app/chil/comercio/ch-product-editor/ch-product-editor.component.scss","./src/app/chil/comercio/ch-product-editor/ch-product-editor.component.ts","./src/app/chil/comercio/ch-product-list/ch-product-list.component.scss","./src/app/chil/comercio/ch-product-list/ch-product-list.component.ts","./src/app/chil/comercio/ch-product-types-config-window/ch-product-types-config-window.component.scss","./src/app/chil/comercio/ch-product-types-config-window/ch-product-types-config-window.component.ts","./src/app/chil/comercio/ch-product-view-format/ch-product-view-format.component.scss","./src/app/chil/comercio/ch-product-view-format/ch-product-view-format.component.ts","./src/app/chil/comercio/ch-product-view/ch-product-view.component.scss","./src/app/chil/comercio/ch-product-view/ch-product-view.component.ts","./src/app/chil/comercio/ch-product.ts","./src/app/chil/data/ch-copytabledata-window/ch-copytabledata-window.component.css","./src/app/chil/data/ch-copytabledata-window/ch-copytabledata-window.component.ts","./src/app/chil/data/ch-data-importer-helper.ts","./src/app/chil/data/ch-databaseeditor/ch-databaseeditor.component.scss","./src/app/chil/data/ch-databaseeditor/ch-databaseeditor.component.ts","./src/app/chil/data/ch-dataimporter/ch-dataimporter.component.css","./src/app/chil/data/ch-dataimporter/ch-dataimporter.component.ts","./src/app/chil/data/ch-datamanager.service.ts","./src/app/chil/data/ch-datatable-execute-dialog/ch-datatable-execute-dialog.component.css","./src/app/chil/data/ch-datatable-execute-dialog/ch-datatable-execute-dialog.component.ts","./src/app/chil/data/ch-datatable.helper.ts","./src/app/chil/data/ch-datatable.ts","./src/app/chil/data/ch-datatablebrowser/ch-datatablebrowser.component.scss","./src/app/chil/data/ch-datatablebrowser/ch-datatablebrowser.component.ts","./src/app/chil/data/ch-table-editor-field-dialog/ch-table-editor-field-dialog.component.css","./src/app/chil/data/ch-table-editor-field-dialog/ch-table-editor-field-dialog.component.ts","./src/app/chil/data/ch-table-editor/ch-table-editor.component.scss","./src/app/chil/data/ch-table-editor/ch-table-editor.component.ts","./src/app/chil/design/ch-page-browser-control/ch-page-browser.component.scss","./src/app/chil/design/ch-page-browser-control/ch-page-browser.component.ts","./src/app/chil/design/ch-page-ref.ts","./src/app/chil/design/ch-web-design-root/ch-web-design-root.component.scss","./src/app/chil/design/ch-web-design-root/ch-web-design-root.component.ts","./src/app/chil/design/ch-web-upload-zip-window/ch-web-upload-zip-window.component.scss","./src/app/chil/design/ch-web-upload-zip-window/ch-web-upload-zip-window.component.ts","./src/app/chil/dynpanel/ch-dynpanel-card/ch-dynpanel-card.component.css","./src/app/chil/dynpanel/ch-dynpanel-card/ch-dynpanel-card.component.ts","./src/app/chil/dynpanel/ch-dynpanel-item/ch-dynpanel-item.component.scss","./src/app/chil/dynpanel/ch-dynpanel-item/ch-dynpanel-item.component.ts","./src/app/chil/dynpanel/ch-dynpanel/ch-dynpanel.component.css","./src/app/chil/dynpanel/ch-dynpanel/ch-dynpanel.component.ts","./src/app/chil/dynpanel/ch-workgroup-item/ch-workgroup-item.ts","./src/app/chil/dynpanel/ch-workgroup/ch-workgroup.component.css","./src/app/chil/dynpanel/ch-workgroup/ch-workgroup.component.ts","./src/app/chil/dynpanel/ch-workpanel/ch-workpanel.component.css","./src/app/chil/dynpanel/ch-workpanel/ch-workpanel.component.ts","./src/app/chil/dynpanel/ch-workspace/ch-workspace.component.css","./src/app/chil/dynpanel/ch-workspace/ch-workspace.component.ts","./src/app/chil/errors/error404/error404.component.css","./src/app/chil/errors/error404/error404.component.ts","./src/app/chil/forms/ch-form/ch-form.ts","./src/app/chil/forms/ch-forms-attachments-picker/ch-forms-attachments-picker.ts","./src/app/chil/forms/ch-forms-buttongroup/ch-forms-buttongroup.ts","./src/app/chil/forms/ch-forms-category-editor/ch-forms-category-editor.ts","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector-window/ch-forms-category-selector-window.scss","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector-window/ch-forms-category-selector-window.ts","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector.scss","./src/app/chil/forms/ch-forms-category-selector/ch-forms-category-selector.ts","./src/app/chil/forms/ch-forms-check/ch-forms-check.ts","./src/app/chil/forms/ch-forms-checkgroup/ch-forms-checkgroup.css","./src/app/chil/forms/ch-forms-checkgroup/ch-forms-checkgroup.ts","./src/app/chil/forms/ch-forms-code/ch-forms-code.component.ts","./src/app/chil/forms/ch-forms-color/ch-forms-color.ts","./src/app/chil/forms/ch-forms-combo-multiple/ch-forms-combo-multiple.ts","./src/app/chil/forms/ch-forms-combo/ch-forms-combo.ts","./src/app/chil/forms/ch-forms-control-generic/ch-forms-control-generic.ts","./src/app/chil/forms/ch-forms-control-title/ch-forms-control-title.ts","./src/app/chil/forms/ch-forms-control/ch-forms-control.ts","./src/app/chil/forms/ch-forms-datetime/ch-forms-datetime.css","./src/app/chil/forms/ch-forms-datetime/ch-forms-datetime.ts","./src/app/chil/forms/ch-forms-datetime/timezone-models.ts","./src/app/chil/forms/ch-forms-document-picker/ch-forms-document-picker.ts","./src/app/chil/forms/ch-forms-duration/ch-forms-duration.scss","./src/app/chil/forms/ch-forms-duration/ch-forms-duration.ts","./src/app/chil/forms/ch-forms-external/ch-forms-external.ts","./src/app/chil/forms/ch-forms-file/ch-forms-file.scss","./src/app/chil/forms/ch-forms-file/ch-forms-file.ts","./src/app/chil/forms/ch-forms-files/ch-forms-files.scss","./src/app/chil/forms/ch-forms-files/ch-forms-files.ts","./src/app/chil/forms/ch-forms-font/ch-font.ts","./src/app/chil/forms/ch-forms-font/ch-forms-font.component.scss","./src/app/chil/forms/ch-forms-font/ch-forms-font.component.ts","./src/app/chil/forms/ch-forms-group/ch-forms-group.ts","./src/app/chil/forms/ch-forms-image-mosaic/ch-forms-image-mosaic.css","./src/app/chil/forms/ch-forms-image-mosaic/ch-forms-image-mosaic.ts","./src/app/chil/forms/ch-forms-image-picker/ch-forms-image-picker.ts","./src/app/chil/forms/ch-forms-info-icon/ch-forms-info-icon.component.ts","./src/app/chil/forms/ch-forms-ivoox-player/ch-forms-ivoox-player.ts","./src/app/chil/forms/ch-forms-label/ch-forms-label.ts","./src/app/chil/forms/ch-forms-language-picker/ch-forms-language-picker.ts","./src/app/chil/forms/ch-forms-link/ch-forms-link-editor-window/ch-forms-link-editor-window.component.scss","./src/app/chil/forms/ch-forms-link/ch-forms-link-editor-window/ch-forms-link-editor-window.component.ts","./src/app/chil/forms/ch-forms-link/ch-forms-link.ts","./src/app/chil/forms/ch-forms-location-picker/ch-forms-location-picker.ts","./src/app/chil/forms/ch-forms-map-display/ch-forms-map-display.scss","./src/app/chil/forms/ch-forms-map-display/ch-forms-map-display.ts","./src/app/chil/forms/ch-forms-map-setter/ch-forms-map-setter.scss","./src/app/chil/forms/ch-forms-map-setter/ch-forms-map-setter.ts","./src/app/chil/forms/ch-forms-post-selector/ch-forms-post-selector.ts","./src/app/chil/forms/ch-forms-post-type-select/ch-forms-post-type-select.css","./src/app/chil/forms/ch-forms-post-type-select/ch-forms-post-type-select.ts","./src/app/chil/forms/ch-forms-products-family-picker/ch-forms-products-family-picker.scss","./src/app/chil/forms/ch-forms-products-family-picker/ch-forms-products-family-picker.ts","./src/app/chil/forms/ch-forms-radiobutton/ch-forms-radiobutton.ts","./src/app/chil/forms/ch-forms-radiogroup/ch-forms-radiogroup.ts","./src/app/chil/forms/ch-forms-repeat-programming/ch-forms-repeat-editor-window/ch-forms-repeat-editor-window.component.css","./src/app/chil/forms/ch-forms-repeat-programming/ch-forms-repeat-editor-window/ch-forms-repeat-editor-window.component.ts","./src/app/chil/forms/ch-forms-repeat-programming/ch-forms-repeat-programming.ts","./src/app/chil/forms/ch-forms-richedit/ch-forms-richedit.scss","./src/app/chil/forms/ch-forms-richedit/ch-forms-richedit.ts","./src/app/chil/forms/ch-forms-richedit/ch-paste-rich-text-window/ch-paste-rich-text-window.scss","./src/app/chil/forms/ch-forms-richedit/ch-paste-rich-text-window/ch-paste-rich-text-window.ts","./src/app/chil/forms/ch-forms-richedit/richedit-custom-buttons.ts","./src/app/chil/forms/ch-forms-select-group/ch-forms-select-group.ts","./src/app/chil/forms/ch-forms-select-item/ch-forms-select-item.ts","./src/app/chil/forms/ch-forms-slider/ch-forms-slider.ts","./src/app/chil/forms/ch-forms-switch/ch-forms-switch.ts","./src/app/chil/forms/ch-forms-tags-editor/ch-forms-tags-editor.ts","./src/app/chil/forms/ch-forms-textbox/ch-forms-textbox.ts","./src/app/chil/forms/ch-forms-textedit/ch-forms-textedit.ts","./src/app/chil/forms/ch-forms-user-picker/ch-forms-user-picker.ts","./src/app/chil/forms/ch-forms-week-plan/ch-forms-week-plan.scss","./src/app/chil/forms/ch-forms-week-plan/ch-forms-week-plan.ts","./src/app/chil/forms/ch-forms-youtube-player/ch-forms-youtube-player.ts","./src/app/chil/forms/ch-forms-zone-auth/ch-forms-zone-auth.ts","./src/app/chil/forms/ch-forms-zone-selector/ch-forms-zone-selector.ts","./src/app/chil/forms/ch-forms.scss","./src/app/chil/forms/forms.scss","./src/app/chil/grid/ch-grid-container.component.ts","./src/app/chil/i18/ChCustomsTranslateLoader.ts","./src/app/chil/i18/ch-lang-selector/ch-lang-selector.component.css","./src/app/chil/i18/ch-lang-selector/ch-lang-selector.component.ts","./src/app/chil/images/ch-image-cropper-dialog/ch-image-cropper-dialog.component.css","./src/app/chil/images/ch-image-cropper-dialog/ch-image-cropper-dialog.component.ts","./src/app/chil/images/ch-image-zoom-dialog/ch-image-zoom-dialog.component.ts","./src/app/chil/libs/ch-chart/ch-chart.component.ts","./src/app/chil/libs/ch-datatable/ch-datatable.component.ts","./src/app/chil/libs/ch-info-ibox/ch-info-ibox.component.ts","./src/app/chil/libs/ch-switch/ch-switch.component.ts","./src/app/chil/libs/ch-tags-cloud/ch-tags-cloud.component.ts","./src/app/chil/location/ch-geo-location.ts","./src/app/chil/location/ch-location-picker-window/ch-location-picker-window.component.scss","./src/app/chil/location/ch-location-picker-window/ch-location-picker-window.component.ts","./src/app/chil/login/ch-apple-callback/ch-apple-callback.component.css","./src/app/chil/login/ch-apple-callback/ch-apple-callback.component.ts","./src/app/chil/login/ch-apple-login.service.ts","./src/app/chil/login/ch-apple-login/ch-apple-login.component.css","./src/app/chil/login/ch-apple-login/ch-apple-login.component.ts","./src/app/chil/login/ch-auth.guard.ts","./src/app/chil/login/ch-google-client-data.ts","./src/app/chil/login/ch-google-login.service.ts","./src/app/chil/login/ch-google-login/ch-google-login.component.scss","./src/app/chil/login/ch-google-login/ch-google-login.component.ts","./src/app/chil/login/ch-login/ch-login.component.css","./src/app/chil/login/ch-login/ch-login.component.ts","./src/app/chil/mail/ch-email/ch-email.scss","./src/app/chil/mail/ch-email/ch-email.ts","./src/app/chil/mail/ch-mail-config/ch-mail-config.component.scss","./src/app/chil/mail/ch-mail-config/ch-mail-config.component.ts","./src/app/chil/mail/ch-mail-def.ts","./src/app/chil/mail/ch-mail-editor-window/ch-mail-editor-window.component.scss","./src/app/chil/mail/ch-mail-editor-window/ch-mail-editor-window.component.ts","./src/app/chil/mail/ch-mail-templates/ch-mail-templates.component.scss","./src/app/chil/mail/ch-mail-templates/ch-mail-templates.component.ts","./src/app/chil/mail/ch-mail-view/ch-mail-view.component.scss","./src/app/chil/mail/ch-mail-view/ch-mail-view.component.ts","./src/app/chil/mobile/ch-mobile-conf-activation/ch-mobile-conf-activation.component.css","./src/app/chil/mobile/ch-mobile-conf-activation/ch-mobile-conf-activation.component.ts","./src/app/chil/mobile/ch-mobile-conf-browser/ch-mobile-conf-browser.scss","./src/app/chil/mobile/ch-mobile-conf-browser/ch-mobile-conf-browser.ts","./src/app/chil/mobile/ch-mobile-conf-image/ch-mobile-conf-image.component.css","./src/app/chil/mobile/ch-mobile-conf-image/ch-mobile-conf-image.component.ts","./src/app/chil/mobile/ch-mobile-conf-messages/ch-mobile-conf-messages.component.css","./src/app/chil/mobile/ch-mobile-conf-messages/ch-mobile-conf-messages.component.ts","./src/app/chil/mobile/ch-mobile-conf.ts","./src/app/chil/mobile/ch-mobile-import-window/ch-mobile-import-window.component.css","./src/app/chil/mobile/ch-mobile-import-window/ch-mobile-import-window.component.ts","./src/app/chil/population/ch-actor-card/ch-actor-card.component.scss","./src/app/chil/population/ch-actor-card/ch-actor-card.component.ts","./src/app/chil/population/ch-list-add-actor-window/ch-list-add-actor-window.component.css","./src/app/chil/population/ch-list-add-actor-window/ch-list-add-actor-window.component.ts","./src/app/chil/population/ch-list-contents-copy-window/ch-list-contents-copy-window.component.css","./src/app/chil/population/ch-list-contents-copy-window/ch-list-contents-copy-window.component.ts","./src/app/chil/population/ch-list-editor-window/ch-list-editor-window.component.ts","./src/app/chil/population/ch-lists-browser/ch-lists-browser.component.scss","./src/app/chil/population/ch-lists-browser/ch-lists-browser.component.ts","./src/app/chil/population/ch-user-list.ts","./src/app/chil/post/ch-link.ts","./src/app/chil/post/ch-post-command.ts","./src/app/chil/post/ch-post.ts","./src/app/chil/post/ch-programming.ts","./src/app/chil/proyectos/agroviva/agroviva-entrega-detalle/agroviva-entrega-detalle.component.css","./src/app/chil/proyectos/agroviva/agroviva-entrega-detalle/agroviva-entrega-detalle.component.ts","./src/app/chil/proyectos/agroviva/agroviva-entrega/agroviva-entrega.component.css","./src/app/chil/proyectos/agroviva/agroviva-entrega/agroviva-entrega.component.ts","./src/app/chil/proyectos/depuracion/bug-edit-window/bug-edit-window.component.css","./src/app/chil/proyectos/depuracion/bug-edit-window/bug-edit-window.component.ts","./src/app/chil/proyectos/siasa/siasa-visita-detalle2019/siasa-visita-detalle2019.component.css","./src/app/chil/proyectos/siasa/siasa-visita-detalle2019/siasa-visita-detalle2019.component.ts","./src/app/chil/proyectos/siasa/siasa-visita-detalle2020/siasa-visita-detalle2020.component.css","./src/app/chil/proyectos/siasa/siasa-visita-detalle2020/siasa-visita-detalle2020.component.ts","./src/app/chil/proyectos/siasa/siasa-visita-detalle2021/siasa-visita-detalle2021.component.css","./src/app/chil/proyectos/siasa/siasa-visita-detalle2021/siasa-visita-detalle2021.component.ts","./src/app/chil/proyectos/siasa/siasa-visita-detalle2022/siasa-visita-detalle2022.component.css","./src/app/chil/proyectos/siasa/siasa-visita-detalle2022/siasa-visita-detalle2022.component.ts","./src/app/chil/proyectos/siasa/siasa-visita2019/siasa-visita2019.component.css","./src/app/chil/proyectos/siasa/siasa-visita2019/siasa-visita2019.component.ts","./src/app/chil/proyectos/siasa/siasa-visita2020/siasa-visita2020.component.css","./src/app/chil/proyectos/siasa/siasa-visita2020/siasa-visita2020.component.ts","./src/app/chil/proyectos/siasa/siasa-visita2021/siasa-visita2021.component.css","./src/app/chil/proyectos/siasa/siasa-visita2021/siasa-visita2021.component.ts","./src/app/chil/proyectos/siasa/siasa-visita2022/siasa-visita2022.component.css","./src/app/chil/proyectos/siasa/siasa-visita2022/siasa-visita2022.component.ts","./src/app/chil/system/ch-system-config/ch-system-config.scss","./src/app/chil/system/ch-system-config/ch-system-config.ts","./src/app/chil/utils/ch-html-sanitize.ts","./src/app/chil/utils/ch-large-dialog/ch-large-dialog.component.css","./src/app/chil/utils/ch-large-dialog/ch-large-dialog.component.ts","./src/app/chil/utils/ch-music-player/audio-player-options.ts","./src/app/chil/utils/ch-music-player/ch-music-player.component.scss","./src/app/chil/utils/ch-music-player/ch-music-player.component.ts","./src/app/chil/utils/ch-music-player/time-conversion.pipe.ts","./src/app/chil/utils/ch-safe-html.pipe.ts","./src/app/chil/utils/ch-small-dialog/ch-small-dialog.component.css","./src/app/chil/utils/ch-small-dialog/ch-small-dialog.component.ts","./src/app/chil/utils/color.ts","./src/app/chil/wall/ch-comment-detailed/ch-comment-detailed.component.scss","./src/app/chil/wall/ch-comment-detailed/ch-comment-detailed.component.ts","./src/app/chil/wall/ch-content-item-compact/ch-content-item-compact.component.scss","./src/app/chil/wall/ch-content-item-compact/ch-content-item-compact.component.ts","./src/app/chil/wall/ch-contentroot/ch-contentroot.component.scss","./src/app/chil/wall/ch-contentroot/ch-contentroot.component.ts","./src/app/chil/wall/ch-formsroot/ch-formsroot.component.scss","./src/app/chil/wall/ch-formsroot/ch-formsroot.component.ts","./src/app/chil/wall/ch-post-data-browser/ch-post-data-browser.component.css","./src/app/chil/wall/ch-post-data-browser/ch-post-data-browser.component.ts","./src/app/chil/wall/ch-post-detailed-form/ch-post-detailed-form.component.scss","./src/app/chil/wall/ch-post-detailed-form/ch-post-detailed-form.component.ts","./src/app/chil/wall/ch-post-detailed/ch-post-detailed.component.scss","./src/app/chil/wall/ch-post-detailed/ch-post-detailed.component.ts","./src/app/chil/wall/ch-posts-copy-db-window/ch-posts-copy-db-window.component.scss","./src/app/chil/wall/ch-posts-copy-db-window/ch-posts-copy-db-window.component.ts","./src/app/chil/wall/ch-posts-copy-window/ch-posts-copy-window.component.css","./src/app/chil/wall/ch-posts-copy-window/ch-posts-copy-window.component.ts","./src/app/chil/wall/ch-posts-import-events-window/ChEventImportHelper.ts","./src/app/chil/wall/ch-posts-import-events-window/ch-posts-import-events-window.component.scss","./src/app/chil/wall/ch-posts-import-events-window/ch-posts-import-events-window.component.ts","./src/app/chil/wall/ch-rss-import-window/ch-rss-import-window.component.scss","./src/app/chil/wall/ch-rss-import-window/ch-rss-import-window.component.ts","./src/app/chil/wall/edit-post/ch-comment-edit-form/ch-comment-edit-form.component.scss","./src/app/chil/wall/edit-post/ch-comment-edit-form/ch-comment-edit-form.component.ts","./src/app/chil/wall/edit-post/ch-post-edit-body-window/ch-post-edit-body-window.component.ts","./src/app/chil/wall/edit-post/ch-post-edit-form-field/ch-post-edit-form-field.component.scss","./src/app/chil/wall/edit-post/ch-post-edit-form-field/ch-post-edit-form-field.component.ts","./src/app/chil/wall/edit-post/ch-post-edit-form-form/ch-post-edit-form-form.component.scss","./src/app/chil/wall/edit-post/ch-post-edit-form-form/ch-post-edit-form-form.component.ts","./src/app/chil/wall/edit-post/ch-post-edit-form/ch-post-edit-form.component.scss","./src/app/chil/wall/edit-post/ch-post-edit-form/ch-post-edit-form.component.ts","./src/app/chil/zone/ch-zone-browser/ch-zone-browser.component.scss","./src/app/chil/zone/ch-zone-browser/ch-zone-browser.component.ts","./src/app/chil/zone/ch-zone-card/ch-zone-card.component.scss","./src/app/chil/zone/ch-zone-card/ch-zone-card.component.ts","./src/app/chil/zone/ch-zone-create-window/ch-zone-create-window.component.ts","./src/app/chil/zone/ch-zone-delete-window/ch-zone-delete-window.component.ts","./src/app/chil/zone/ch-zone-selection-panel/ch-zone-selection-panel.component.scss","./src/app/chil/zone/ch-zone-selection-panel/ch-zone-selection-panel.component.ts","./src/app/chil/zone/ch-zone.ts","./src/app/chil/zone/ch-zonesmenu/ch-zonesmenu.component.scss","./src/app/chil/zone/ch-zonesmenu/ch-zonesmenucomponent.ts","./src/app/chilsystem/CHImages/ch-icon.component.ts","./src/app/chilsystem/CHImages/ch-image-manager.service.ts","./src/app/chilsystem/CHImages/ch-image-view.component.ts","./src/app/chilsystem/CHImages/url-constants.ts","./src/app/chilsystem/CHSistema/chilsystem-global.service.ts","./src/app/chilsystem/chilsystem.module.ts","./src/app/components/charts/peity.ts","./src/app/components/charts/sparkline.ts","./src/app/components/common/footer/footer.component.ts","./src/app/components/common/layouts/basicLayout.component.ts","./src/app/components/common/layouts/blankLayout.component.ts","./src/app/components/common/layouts/layouts.module.ts","./src/app/components/common/layouts/topNavigationLayout.component.ts","./src/app/components/common/navigation/navigation.component.ts","./src/app/components/common/navigation/navigation.scss","./src/app/components/common/topnavbar/topnavbar.component.ts","./src/app/components/common/topnavbar/topnavbar.scss","./src/app/infopac/infopac-consulta/infopac-consulta.component.css","./src/app/infopac/infopac-consulta/infopac-consulta.component.ts","./src/app/infopac/infopac.module.ts","./src/app/siasa/siasa-contrato/siasa-contrato.component.css","./src/app/siasa/siasa-contrato/siasa-contrato.component.ts","./src/app/siasa/siasa-contrato2019/siasa-contrato2019.component.css","./src/app/siasa/siasa-contrato2019/siasa-contrato2019.component.ts","./src/app/siasa/siasa-contrato2020/siasa-contrato2020.component.css","./src/app/siasa/siasa-contrato2020/siasa-contrato2020.component.ts","./src/app/siasa/siasa-contrato2021/siasa-contrato2021.component.css","./src/app/siasa/siasa-contrato2021/siasa-contrato2021.component.ts","./src/app/siasa/siasa-contrato2022/siasa-contrato2022.component.css","./src/app/siasa/siasa-contrato2022/siasa-contrato2022.component.ts","./src/app/siasa/siasa-solicitud/siasa-solicitud.component.css","./src/app/siasa/siasa-solicitud/siasa-solicitud.component.ts","./src/app/siasa/siasa-solicitud2019/siasa-solicitud2019.component.css","./src/app/siasa/siasa-solicitud2019/siasa-solicitud2019.component.ts","./src/app/siasa/siasa-solicitud2020/siasa-solicitud2020.component.css","./src/app/siasa/siasa-solicitud2020/siasa-solicitud2020.component.ts","./src/app/siasa/siasa-solicitud2021/siasa-solicitud2021.component.css","./src/app/siasa/siasa-solicitud2021/siasa-solicitud2021.component.ts","./src/app/siasa/siasa-solicitud2022/siasa-solicitud2022.component.css","./src/app/siasa/siasa-solicitud2022/siasa-solicitud2022.component.ts","./src/app/siasa/siasa-tecnico/siasa-tecnico.component.css","./src/app/siasa/siasa-tecnico/siasa-tecnico.component.ts","./src/app/siasa/siasa-visita-detalle/siasa-visita-detalle.component.css","./src/app/siasa/siasa-visita-detalle/siasa-visita-detalle.component.ts","./src/app/siasa/siasa-visita/siasa-visita.component.css","./src/app/siasa/siasa-visita/siasa-visita.component.ts","./src/app/siasa/siasa/siasa.module.ts","./src/app/views/appviews/appviews.module.ts","./src/app/views/appviews/login.component.ts","./src/app/views/appviews/starterview.component.ts","./src/environments/environment.ts","./src/main.ts","./src/systemConst.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0G;;;;;;;;;;;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment-timezone/node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ps\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-ps.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-sa\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment-timezone/node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment-timezone/node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment-timezone/node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment-timezone/node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment-timezone/node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment-timezone/node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment-timezone/node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment-timezone/node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment-timezone/node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment-timezone/node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment-timezone/node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment-timezone/node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment-timezone/node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment-timezone/node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment-timezone/node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment-timezone/node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment-timezone/node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment-timezone/node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment-timezone/node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment-timezone/node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment-timezone/node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment-timezone/node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment-timezone/node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment-timezone/node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment-timezone/node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment-timezone/node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment-timezone/node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment-timezone/node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment-timezone/node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment-timezone/node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment-timezone/node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment-timezone/node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment-timezone/node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment-timezone/node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment-timezone/node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment-timezone/node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment-timezone/node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment-timezone/node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment-timezone/node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment-timezone/node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment-timezone/node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment-timezone/node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment-timezone/node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment-timezone/node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment-timezone/node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment-timezone/node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment-timezone/node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment-timezone/node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment-timezone/node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment-timezone/node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment-timezone/node_modules/moment/locale/ku.js\",\n\t\"./ku-kmr\": \"./node_modules/moment-timezone/node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku-kmr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment-timezone/node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment-timezone/node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment-timezone/node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment-timezone/node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment-timezone/node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment-timezone/node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment-timezone/node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment-timezone/node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment-timezone/node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment-timezone/node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment-timezone/node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment-timezone/node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment-timezone/node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment-timezone/node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment-timezone/node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment-timezone/node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment-timezone/node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment-timezone/node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment-timezone/node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment-timezone/node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment-timezone/node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment-timezone/node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment-timezone/node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment-timezone/node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment-timezone/node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment-timezone/node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment-timezone/node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment-timezone/node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment-timezone/node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment-timezone/node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment-timezone/node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment-timezone/node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment-timezone/node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment-timezone/node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment-timezone/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment-timezone/node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment-timezone/node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment-timezone/node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment-timezone/node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment-timezone/node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment-timezone/node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment-timezone/node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment-timezone/node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment-timezone/node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment-timezone/node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment-timezone/node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment-timezone/node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment-timezone/node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment-timezone/node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment-timezone/node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment-timezone/node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment-timezone/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment-timezone/node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment-timezone/node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment-timezone/node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment-timezone/node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment-timezone/node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\n\\n\"","export default \"
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n \\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Cathegories' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Contents' | translate}}\\n
  4. \\n
  5. \\n {{ 'AccountManagement' | translate }}\\n
  6. \\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'mysites' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'mysites' | translate }}\\n
  4. \\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n \\n \\n \\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\"","export default \"\\n \\n \\n \\n\\n\\n \\n \\n \\n \\n\\n\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Analytics' | translate }} {{ 'Actividad' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Analytics' | translate }}\\n
  4. \\n
  5. \\n {{ 'Actividad' | translate }}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n \\n
\\n \\n
\\n
\\n \\n\\n
\\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Analytics' | translate }} Listas

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Analytics' | translate }}\\n
  4. \\n
  5. \\n Listas\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Analytics' | translate }} Páginas

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Analytics' | translate }}\\n
  4. \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n
\\n \\n\\n\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Analytics' | translate }} Posts

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Analytics' | translate }}\\n
  4. \\n
  5. \\n Posts\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n \\n\\n
\\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Cathegories' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Contents' | translate}}\\n
  4. \\n
  5. \\n {{ 'Cathegories' | translate }}\\n
  6. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
{{t.name}}
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n {{ 'CAT.NCats' | translate }}: {{ t.categories?.length || '0' }}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n

COPIAR ENTRADAS EN OTRA CATEGORÍA

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

{{ messageTxt | async }}

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

\\n Categoría {{ this.categoria != null? this.categoria.name : '' }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Contents' | translate}}\\n
  4. \\n
  5. \\n {{ 'Cathegories' | translate }}\\n
  6. \\n
  7. \\n {{ this.categoria != null? this.categoria.name : this.catuid }}\\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n

\\n
\\n {{postSelected.type}}\\n {{statusText(postSelected.status)}}\\n Destacado\\n
\\n

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

{{title}}{{currCategory.uid}}\\n

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

{{title}}{{currFamily.uid}}\\n

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

ch-chatgpt-config-window works!

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

{{ 'Configuración' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'ChatGPT' | translate }}\\n
  4. \\n
  5. \\n {{ 'Configuración' | translate }}\\n
  6. \\n
\\n
\\n
\\n
\\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n \\n
\\n
\\n
\\n\\n \\n \\n
\\n

{{model === undefined || model === null ? '' : model.name.toUpperCase()}}\\n

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

Copiar webs

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n \\n
\\n \\n
\\n \\n

{{zones.length}} zonas cargadas

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

{{familiasCategorias.length}} familias de categorias cargadas

\\n

{{calcCatNumber()}} categorias en total

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

{{itemsList.length}} contenidos leidos

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

0 Listas copiadas

\\n
\\n

{{zoneCopied | async}} zonas copiadas

\\n
\\n \\n

{{catCopied | async}} categorias copiadas

\\n
\\n \\n

{{postsCopied | async}} contenidos copiados

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

CHIL Admin

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
\\n
\\n
\\n
\\n\\n \\n \\n\\n
\\n Copiar webs\\n
\\n\\n
\\n \\n\\n \\n
\\n
\\n\\n\"","export default \"
\\n
\\n

{{'CONFIGURACIÓN DEL PANEL' | translate}}{{model.uid}}\\n

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

\\n {{ 'Cloud' | translate}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Cloud' | translate}}\\n
  4. \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n

{{folder === undefined || folder === null || folder.name === '_root' ? chGlobal.translateStr('Carpeta raiz') : folder.name.toUpperCase()}}

\\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n
\\n\\n {{'Orden : ' | translate}}\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n 0 ? selectedItemsList[0].uid : ''\\\">\\n
0\\\" header style=\\\"display: flex; margin-right:2px; margin-top:-5px\\\">\\n

1\\\" class=\\\"ch-card-title-selected\\\" style=\\\"flex:auto;\\\">{{nSelectedFiles}} {{'ficheros seleccionados' | translate}}

\\n

{{'1 fichero seleccionado' | translate}}

\\n
\\n
\\n
0\\\" class=\\\"ch-btn-group\\\"\\n style=\\\"flex: max-content;flex-shrink: 0;flex-grow: 0;margin-right: 0px; margin-left: auto; margin-top: -5px\\\">\\n \\n \\n \\n
\\n
\\n
\\n \\n\\n \\n\\n \\n

{{fileSelected.name}}

\\n
\\n

{{fileSelected.decription}}

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{'Tipo :' | translate}}{{formatType(fileSelected.type)}}
{{'Formato :' | translate}}{{fileSelected.format.toUpperCase()}}
{{'Tamaño :' | translate}}{{formatSize(fileSelected.size)}}
{{'Download :' | translate}}\\n \\n {{fileSelected.contentUrl}}\\n \\n
{{'Preview :' | translate}}\\n \\n {{fileSelected.previewUrl}}\\n \\n
\\n
\\n
1\\\" >\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n {{file.name}}{{formatSize(file.size)}}\\n
{{'TAMAÑO TOTAL :' | translate }}{{formatSize(totalSelectedSize())}}
\\n
\\n
\\n
\\n
\\n\"","export default \"\\n\\n\"","export default \"
\\n
\\n

{{'SUBIR FICHERO DESDE EL ORDENADOR O LA WEB' | translate}}

\\n \\n
\\n
\\n
\\n
\\n
\\n
{{'Introduzca el fichero desde el ordenador' | translate}}
\\n \\n
O
\\n
{{'Introduzca la dirección del fichero a importar' | translate}}
\\n
\\n \\n \\n
\\n
\\n

{{txtMessage}}

\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{'Nombre :' | translate }}\\n \\n
{{'Título :' | translate }}\\n \\n
{{'Descripción :'| translate }}\\n \\n
{{'Tipo :' | translate }}{{fileType}}
{{'Formato :' | translate }}{{fileFormat}}
{{'Tamaño :' | translate }}{{fileSize}}
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n\\n\"","export default \"
\\n
\\n

{{'Subir fichero(s) a la nube' | translate}}

\\n \\n
\\n
\\n
\\n
\\n
\\n
{{'Introduzca los ficheros que desea subir a la nube' | translate}}
\\n \\n\\n
\\n

0\\\">{{files.length}} ficheros a subir

\\n
\\n
\\n

{{ errorTxt | async }}

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

{{title | translate}}\\n

\\n
\\n
\\n
\\n
\\n
\\n \\n {{folderTitle}}\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n

Crear una nueva carpeta en la nube

\\n \\n
\\n
\\n
\\n
\\n
\\n
Introduzca el nombre y la descripcción de la carpeta
\\n
\\n \\n \\n
\\n
\\n

{{txtMessage}}

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

{{ 'Canales de distribución' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Canales' | translate }}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n \\n \\n\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n

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

\\n

{{channel.name}}

\\n

{{channel.location.name}}

\\n

{{channel.serviceList()}}

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

{{'Canales no aplicables' | translate}}.

{{'La configuración de la tienda no tiene activado el uso de canales de distribución de productos.' |translate}}\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Configuración de ECommerce' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Configuración' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n Cuidado! Las tablas de referencia de pedidos y facturas no están inicializadas. Sin ellas no es posible que el sistema de comercio electrónico funcione.
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Facturas' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Facturas' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n

No está activado el módulo de pedidos y facturación

\\n

¿Desea activarlo?

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

{{title1}}

\\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\\"image\\\"\\n {{ config.name }}\\n
\\n \\\"header\\\"\\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n Facturas Factura

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n Facturas\\n
  6. \\n
  7. \\n Factura \\n
  8. \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Q.DescripciónImp.BaseImp.IVA
{{item.nitems}} {{item.producto}} {{numberToMoney(item.impbase)}} {{numberToMoney(item.impiva)}} \\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n Cuidado! No hay entradas en la factura, pulse Nuevo para añadir nuevos items.\\n \\n
{{numberToMoney(model.impbase)}} {{numberToMoney(model.impiva)}} \\n \\n
\\n
\\n
\\n
\\n
\\n
\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Pedidos de compra' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Pedidos' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n

No está activado el módulo de pedidos y facturación

\\n

¿Desea activarlo?

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

\\n Pedidos Detalle de pedido

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Pedidos\\n
  4. \\n
  5. \\n Ficha de pedido\\n
  6. \\n
  7. \\n Detalle de pedido \\n
  8. \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

\\n FICHA DE PEDIDO COD. {{model.codigo}}
\\n

\\n

-1\\\" class=\\\"form-title\\\" align=\\\"center\\\">PRODUCTO A ENTREGAR

\\n

-1\\\" class=\\\"form-title\\\" align=\\\"center\\\">PASO EN LA ENTREGA DEL PEDIDO

\\n
\\n
-1 || producto == -99\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n\\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
-1 || paso == -99\\\"> \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n Pedidos Ficha de pedido

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n Pedidos\\n
  6. \\n
  7. \\n Pedido \\n
  8. \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
UnidsRefDescripción
{{ producto.nItems }}{{ producto.ref }}{{ producto.descr }} {{ producto.format }}\\n
\\n \\n \\n
\\n
\\n \\n Cuidado! El pedido está vacio, pulse Nuevo para añadir nuevos productos.\\n \\n\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Paso

{{ paso.title }}

{{ paso.descr }}
\\n
\\n \\n \\n
\\n
\\n \\n Cuidado! No hay pasos de entrega definidos, pulse Nuevo para añadir nuevos pasos.\\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n {{ this.productType != null? this.productType.name + ' ' : 'Producto '}} {{ model.title }}\\n

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Products' | translate }}\\n
  6. \\n
  7. \\n {{ model.title }}\\n
  8. \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n

Formatos de venta\\n \\n \\n

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

{{ 'Products' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Tienda' | translate }}\\n
  4. \\n
  5. \\n {{ 'Products' | translate }}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n

EDITAR CONFIGURACION BASICA ECOMMERCE{{model.uid}}\\n

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

{{format.alertTxt}}

\\n
\\n

{{format.title}}

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

{{format.price1}}

\\n

{{format.text1}}

\\n
\\n
\\n

0\\\" class=\\\"ch-product-price2-price\\\">{{format.price2}}

\\n

0\\\" class=\\\"ch-product-price2-txt\\\">{{format.text2}}

\\n
\\n
\\n

0\\\" class=\\\"ch-product-price3-price\\\">{{format.price3}} Puntos

\\n

0\\\" class=\\\"ch-product-price3-txt\\\">{{format.text3}}

\\n
\\n
\\n
\"","export default \"
\\n \\n
\\n {{product.title}}\\n
\\n

{{product.extras.alertTxt}}

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

0\\\">{{product.price}}

\\n

0\\\">{{product.text1}}

\\n
\\n
\\n

0\\\" class=\\\"ch-product-price2-price\\\">{{product.price2}}

\\n

0\\\" class=\\\"ch-product-price2-txt\\\">{{product.text2}}

\\n
\\n
\\n

0\\\" class=\\\"ch-product-price3-price\\\">{{product.price3}} Puntos

\\n

0\\\" class=\\\"ch-product-price3-txt\\\">{{product.text3}}

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

{{title1}}

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'DATABASE.Field' | translate }}
{{f.name}}
\\n
\\n
\\n\\n
\\n

{{ messageTxt | async }}

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

{{ 'DATABASE.Title1' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Config' | translate }}\\n
  4. \\n
  5. \\n {{ 'DATABASE.Title1' | translate }}\\n
  6. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{t.name}}
\\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'DATABASE.Field' | translate }}{{ 'DATABASE.Type' | translate }}
{{f.name}}{{f.type}}
\\n
\\n
\\n
{{ 'DATABASE.NRecords' | translate }}: {{ t.data?.length || '0' }}
\\n
\\n
\\n
\\n
\\n
\"","export default \"
\\n
\\n

{{title1}}

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

Elegir el fichero CSV

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

{{lineas}} leidas.

\\n

{{correctas}} correctas.

\\n

{{errores}} errores.

\\n
\\n
0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
LineaError
{{ e.line }}{{ e.error }}
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title1}}

\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
El programa realiza calculos globables sobre la tabla
\\n
\\n
\\n

{{ messageTxt | async }}

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

\\n {{ 'DATATABLE.Table' | translate }}  {{ this.tableName}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Data' | translate }}\\n
  4. \\n
  5. \\n {{ this.tableName}}\\n
  6. \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","export default \"\\n
\\n
\\n \\n \\n
Editar campo
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"\\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n

\\n {{ 'DATATABLE.Table' | translate }}  {{ this.currTable.name }}\\n

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Config' | translate }}\\n
  4. \\n
  5. \\n {{ 'DATABASE.Title1' | translate }}\\n
  6. \\n
  7. \\n {{ this.currTable.name }}\\n
  8. \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n
\\n
\\n\\n \\n \\n \\n \\n
\\n
\\n\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n

Campos de la tabla

\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'DATABASE.Field' | translate }}{{ 'DATABASE.Type' | translate }}
{{f.name}}{{f.type}}\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\"","export default \"
\\n \\n \\n \\n {{ node.data.name }}\\n \\n \\n
\\n\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n {{ 'Sitio Web' | translate}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Diseño Web' | translate}}\\n
  4. \\n
  5. \\n {{ 'Web Site' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n\\n \\n \\n
\\n \\n {{getStatusName()}}\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title}}

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Cuidado! Esta acción supone un gran cambio en la web y no es reversible\\n \\n \\n \\n \\n \\n {{f.name}}\\n \\n\\n
\\n \\n
\\n
\\n
\\n \\n\\n
\\n
\\n\"","export default \"
\\n
\\n

{{title}}{{uid}}

\\n

{{titleSelected}}

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

{{label}}{{uid}}

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

404

\\n

{{'404.title' | translate}}

\\n\\n
\\n {{ '404.descr' | translate}}\\n
\\n
\\n {{ translate.currentLang }}\\n
\\n\\n
\"","export default \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n 50\\\">\\n \\n \\n \\n \\n \\n
\\n \\n
    \\n
  • \\n \\n
  • \\n
  • \\n \\n\\n
  • \\n
  • \\n \\n
  • \\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\"","export default \"
\\n
\\n

\\n {{title | translate}}\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
{{t.name}}
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n {{ 'CAT.NCats' | translate }}: {{ t.categories?.length || '0' }}\\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\\n \\n
\\n
\\n
\\n\"","export default \"
\\n

{{label | translate}} :\\n \\n

\\n \\n \\n

{{item.name}}

\\n
\\n
\\n
\\n\"","export default \"\\n\\n
\\n\\n \\n \\n {{ translateLabel ? chGlobal.translateStr(label) : label }}\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n {{ translateLabel ? chGlobal.translateStr(label) : label }}\\n \\n \\n
\\n
\\n\\n\\n\\n\"","export default \"
\\n \\n
\\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n >\\n \\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n
\\n
\\n\"","export default \"

{{label | translate}}\\n \\n

\\n

{{label | translate}}\\n \\n

\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n \\n >\\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n \\n
\\n\"","export default \"
\\n \\n
\\n
\\n {{'Dias :'| translate }}\\n
\\n
\\n {{'Horas : '| translate}}\\n
\\n
\\n {{'Minutos : '| translate}}\\n
\\n
\\n
\\n\"","export default \"
\\n \\n
\\n {{text | translate}}\\n \\n
\\n
\\n\"","export default \"
\\n \\n \\n
\\n\"","export default \"
\\n \\n\\n
\\n

{{'Arrastre los ficheros a este cuadro o pulse el boton inferior para seleccionarlos' | translate}}

\\n \\n \\n \\n \\n \\n \\n \\n
{{file.name}}{{file.type}}{{fileSize(file.size)}}
\\n
\\n\\n
\\n\"","export default \"
\\n \\n \\n
\\n\"","export default \"
\\n

{{title | translate}}\\n \\n

\\n

{{header | translate}}

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

{{footer | translate}}

\\n
\\n\"","export default \"
\\n \\n \\n
\\n
\\n 0 ? image.previewHeight * columnWidth / image.previewWidth : columnWidth \\\">\\n
\\n
\\n\\n
\\n\"","export default \"
\\n \\n
\\n
\\n
\\n
\\n \\n 50\\\">\\n \\n \\n \\n \\n \\n
\\n \\n
    \\n
  • \\n \\n
  • \\n
  • \\n \\n\\n
  • \\n
  • \\n \\n
  • \\n
\\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"\\n\\n\"","export default \"
\\n
\\n \\n
\\n
\\n\\n\"","export default \"
\\n
\\n\\n

{{label}}\\n \\n

\\n
\\n\\n

{{label | translate}}\\n \\n

\\n
\\n\\n\"","export default \"
\\n \\n
\\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title | translate }}\\n

\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n {{value}}\\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n {{ !isValidValue() ? chGlobal.translateStr('No location') : value.name }}\\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n {{MaptoString()}}\\n \\n
\\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n \\n {{item.type}}\\n {{item.title}}\\n \\n \\n {{item.type}}\\n {{item.title}}\\n \\n \\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n {{label | translate }} \\n \\n\\n
\\n \\n \\n post\\n  \\n \\n \\n news\\n  \\n \\n \\n event\\n  \\n \\n \\n document\\n  \\n \\n \\n question\\n  \\n \\n \\n form\\n  \\n \\n \\n page\\n  \\n \\n \\n link\\n  \\n \\n \\n image\\n  \\n \\n \\n publi\\n  \\n \\n \\n theme\\n  \\n \\n \\n test\\n  \\n \\n \\n postbox\\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n
{{ family.firstFamily? family.firstFamily.title : ''}}
\\n
\\n
\\n
\\n
\\n

{{family.title}}

\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n\\n\"","export default \"\\n\\n
\\n \\n \\n {{ translateLabel == 'true' ? chGlobal.translateStr(label) : label}}\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n {{ translateLabel == 'true' ? chGlobal.translateStr(label) : label}}\\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title}}\\n

\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n {{getProgrammingText()}}\\n
\\n
\\n\\n\"","export default \"
\\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title | translate}}\\n

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

{{'Filtros' | translate}}

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

{{'Previsusalización' | translate}}

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

Tamaño de letra:

\\n\\n
\\n \\n
\\n
\\n Pequeña\\n Grande\\n
\\n \\n
\"","export default \"
\\n {{label | translate}} \\n \\n \\n
\\n\"","export default \"
\\n \\n \\n \\n \\n
\\n\"","export default \"
\\n \\n \\n \\n
\\n\\n\"","export default \"
\\n \\n \\n
\\n\"","export default \"
\\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\"","export default \"
\\n \\n
\\n {{'MONDAY'| translate }}\\n {{'TUESDAY'| translate }}\\n {{'WENESDAY'| translate }}\\n {{'THURSDAY'| translate }}\\n {{'FRIDAY'| translate }}\\n {{'SATURDAY'| translate }}\\n {{'SUNDAY'| translate }}\\n
\\n
\\n\\n\"","export default \"
\\n
\\n \\n
\\n
\\n\"","export default \"\\n
\\n \\n
\\n \\n Administradores \\n \\n Todos \\n \\n Listas \\n \\n \\n

{{item.name}}

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

\\n {{item.description}}\\n

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

{{'Recortar la imagen a salvar' | translate}}

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

{{getValueTxt()}}

\\n {{label}}\\n
\\n\"","export default \"
\\n
\\n

{{'SELECCIONAR LOCALIZACIÓN' | translate}}

\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{item.name}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n\"","export default \"

Thanks Apple!

\\n\"","export default \"
\\n
\\n
\\n
\\n \\n \\n \\n \\n  Sign in with Apple\\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n \\n Sign in with Google\\n
\\n
\\n\"","export default \"\\n\\n\\n\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n \\n

{{ this.description }}

\\n \\n\\n
\\n
\\n \\n \\n \\n {{ 'LOGIN.forgot' | translate }}\\n
\\n
\\n \\n \\n

CHIL.ME, CHIL.ORG, CHIL.APP © 2020-24

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

{{ 'Email' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Email' | translate }}\\n
  4. \\n
\\n
\\n
\\n
\\n\\\"\\\"\\n
\\n
{{'Email' | translate }}
\\n
¿Quieres disponer de un servicio de Lorem Impusm propio?
\\n
Lorem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum orem ipsum....
\\n
\\n \\n \\n
\\n
\"","export default \"
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Configuración de Email' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Mail' | translate }}\\n
  4. \\n
  5. \\n {{ 'Configuración' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\"","export default \"
\\n
\\n

{{title1}}

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

Templates

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n Email\\n
  4. \\n
  5. \\n Templates\\n
  6. \\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n Se están cargando los contenidos, es posible que lleve un tiempo\\n \\n \\n \\n \\n Aún no hay ningun template de correo definido. Pulse + para crear uno\\n \\n \\n
\\n \\n
\\n
\\n \\n \\n\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n
\\n \\\"header\\\"\\n \\n \\n \\n \\n \\n \\n
\\n \\\"image\\\"\\n {{ email.config.name }}\\n
\\n
\\n
\\n \\\"topPic\\\"\\n
\\n {{email.title}}\\n
\\n
\\n
\\n \\\"bottomPic\\\"\\n
\\n
\\n\\n \\n \\n \\n
\\n
\\n
\\n\"","export default \"\\n
\\n

Estatus de la app {{chGlobal.getGroupInfo().uid}}

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

\\n {{ 'Aplicación Móvil' | translate}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'App Móvil' | translate}}\\n
  4. \\n
  5. \\n {{ 'App Móvil' | translate}}\\n
  6. \\n
\\n
\\n
\\n
\\n
\\n \\n

No hay una aplicación móvil definida para este grupo

\\n

Puede comunicar con comunicacion@chil.org si desea activar una aplicacion móvil a medida

\\n
\\n
\\n

Crear un nuevo de registo de App para el grupo {{chGlobal.getGroupInfo().uid}}

\\n \\n
\\n
\\n\\n \\n \\n
\\n \\n {{getStatusName()}}\\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
NombreTipo
{{file.name}}{{file.type}}
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n\"","export default \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","export default \"\\n\\n
\\n

Mensaje {{i+1}}

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

Importar fichero(s) de configuración móvil

\\n \\n
\\n
\\n
\\n
\\n
\\n
Introduzca uno o más ficheros de tipo .json o .css que quiere importar dentro de la configuración móvil
\\n \\n\\n
\\n

0\\\">{{files.length}} ficheros a importar

\\n
\\n
\\n

{{ messageTxt | async }}

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

{{'AÑADIR USUARIOS' | translate}}{{currList.uid}}\\n

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

{{item.displayName}}

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

{{'COPIAR USUARIOS EN OTRA LISTA' | translate}}

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

{{ messageTxt | async }}

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

{{title | translate}}{{currList.uid}}\\n

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

\\n {{ 'Population' | translate}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Population' | translate}}\\n
  4. \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n \\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n

{{listName}}

\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\\n\\n
\\n \\n 100}\\\"\\n [ngStyle]=\\\"{'visibility':matchFilter(actor.displayName) ? 'visible' : 'collapse'}\\\"\\n #gridItem [uid]=\\\"actor.uid\\\" [compact]=\\\"itemsList.length > 100\\\">\\n \\n \\n\\n\\n
100}\\\" >
\\n
100}\\\" >
\\n
100}\\\" >
\\n
100}\\\" >
\\n
100}\\\" >
\\n
100}\\\" >
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n Entregas Detalle de contenido de entrega

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Entregas\\n
  4. \\n
  5. \\n Ficha de entrega\\n
  6. \\n
  7. \\n Detalle de contenido de entrega \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n AGROVIVA. ENTREGA {{model.codigo}}
\\n FICHA DE ENTREGA.
\\n

\\n

DETALLE DE CONTENIDO DE ENTREGA

\\n
\\n
\\n

\\n

Contenido :

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

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

\\n Entregas Ficha de entrega

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Entregas\\n
  4. \\n
  5. \\n Entrega \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

\\n \\n \\n

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

FICHA DE ENTREGA
\\n
\\n

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

Código y estado :

\\n
\\n
\\n \\n \\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n
\\n

Centro :

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

Fecha y hora de entrega (aprox.) :

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

Contenidos de la entrega :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ContenidoN bultos
{{ articulo.concepto }}{{ articulo.bultos }}\\n \\n \\n
TOTAL{{ model.nbultos }}\\n \\n
\\n

Observaciones :

\\n \\n\\n

\\n

\\n

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

\\n Consultas Ficha de consulta

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Depuración\\n
  4. \\n
  5. \\n Ficha de bug o mejora \\n
  6. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n

FICHA DE BUG O MEJORA
\\n
\\n

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

ESTADO :

\\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n
\\n
\\n \\n

DATOS BÁSICOS :

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

DESCRIPCION :

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

RESPUESTA :

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

\\n Visitas Detalle de visita

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final\\n
  6. \\n
  7. \\n Detalle de visita \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n Nº EXPEDIENTE {{model.nexp}}/19
\\n FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2019.
\\n

\\n

DETALLE DE VISITA

\\n
\\n
\\n

\\n

Fecha y localidad :

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

\\n

Horas y km incurridos :

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

\\n

Recomendación :

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

\\n

Imagen de la visita :

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

\\n

Opciones :

\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n Se han tomado muestras de laboratorio.\\n
\\n \\n \\n \\n Se adjuntan fotos de campo.\\n
\\n \\n \\n \\n Se ha aplicado la recomendación.\\n
\\n

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

\\n Visitas Detalle de visita

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final\\n
  6. \\n
  7. \\n Detalle de visita \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n Nº EXPEDIENTE {{model.nexp}}/20
\\n FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2020.
\\n

\\n

DETALLE DE VISITA

\\n
\\n
\\n

\\n

Fecha y localidad :

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

\\n

Horas y km incurridos :

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

\\n

Recomendación :

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

\\n

Imagen de la visita :

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

\\n

Opciones :

\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n Se han tomado muestras de laboratorio.\\n
\\n \\n \\n \\n Se adjuntan fotos de campo.\\n
\\n \\n \\n \\n Se ha aplicado la recomendación.\\n
\\n

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

\\n Visitas Detalle de visita

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final\\n
  6. \\n
  7. \\n Detalle de visita \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n Nº EXPEDIENTE {{model.nexp}}/21
\\n FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2021.
\\n

\\n

DETALLE DE VISITA

\\n
\\n
\\n

\\n

Fecha y localidad :

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

\\n

Horas y km incurridos :

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

\\n

Recomendación :

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

\\n

Imagen de la visita :

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

\\n

Opciones :

\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n Se han tomado muestras de laboratorio.\\n
\\n \\n \\n \\n Se adjuntan fotos de campo.\\n
\\n \\n \\n \\n Se ha aplicado la recomendación.\\n
\\n

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

\\n Visitas Detalle de visita

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final\\n
  6. \\n
  7. \\n Detalle de visita \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

\\n Nº EXPEDIENTE {{model.nexp}}/22
\\n FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2022.
\\n

\\n

DETALLE DE VISITA

\\n
\\n
\\n

\\n

Fecha y localidad :

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

\\n

Horas y km incurridos :

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

\\n

Recomendación :

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

\\n

Imagen de la visita :

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

\\n

Opciones :

\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n Se han tomado muestras de laboratorio.\\n
\\n \\n \\n \\n Se adjuntan fotos de campo.\\n
\\n \\n \\n \\n Se ha aplicado la recomendación.\\n
\\n

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

\\n Visitas Ficha de visitas

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/19

\\n

FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2019.
\\n
\\n

\\n
\\n
\\n

\\n

El asesorado :

\\n

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

\\n

El asesor :

\\n

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

Area de actividad :

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

AGRARIA :

\\n
\\n Incorporación Jóvenes, \\n Modernización, \\n Otro \\n
\\n

FORESTAL :

\\n
\\n Forestal\\n
\\n

PYME :

\\n
\\n PYME\\n
\\n

Materia de consulta en actividad agraria :

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

TECNICA :

\\n
\\n Alim.Animal, \\n Sanidad Animal, \\n Manejo reproductivo, \\n Sanidad vegetal,
\\n Fertilización, \\n Suelos y riegos, \\n Seg. cultivos, \\n Agr. Precisión,
\\n Seg. económico, \\n Mejoras en cultivos, \\n Mig y adaptación al CC
\\n
\\n

NORMATIVA :

\\n
\\n RLG y BCAM (condicionalidad), \\n Greeening PAC, \\n Modern. E innovación explot,
\\n Directiva marco agua, \\n Gestión integrada plagas, \\n Seguridad laboral
\\n
\\n

OTRAS :

\\n
\\n Biodiversidad, \\n Protección del agua, \\n Cadenas cortas, \\n Producciones ecológicas
\\n
\\n

PYME :

\\n
\\n Resultados económicos y medioambientales, \\n
\\n

FORESTAL :

\\n
\\n Conserv habitats y fauna, \\n Conserv aves silvestres, \\n Directiva marco agua,
\\n Rendimiento economico y ambiental
\\n
\\n

Visitas :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaLocalidadMatr.HorasKm
{{ formatFecha(visita.fecha) }}{{ visita.loc }}{{ visita.matricula }}{{ visita.horas }}{{ visita.km }}\\n \\n \\n
TOTAL{{ model2.totalHoras}}{{ model2.totalKm }}\\n \\n
\\n

Recomendaciones :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaRecomendaciónMues.FotoApli.
{{ formatFecha(visita.fecha) }}{{ visita.recomend }}{{ visita.muestras ? '✓' : ' ' }}{{ visita.foto ? '✓' : ' ' }}{{ visita.aplic ? '✓' : ' ' }}\\n
\\n

Valoracion final del asesoramiento :

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

\\n {{ model.valoracion.trim() }}\\n

\\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n \\n \\n \\n
\\n

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Visitas Ficha de visitas

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/20

\\n

FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2020.
\\n
\\n

\\n
\\n
\\n

\\n

El asesorado :

\\n

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

\\n

El asesor :

\\n

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

Area de actividad :

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

AGRARIA :

\\n
\\n Incorporación Jóvenes, \\n Modernización, \\n Otro \\n
\\n

FORESTAL :

\\n
\\n Forestal\\n
\\n

PYME :

\\n
\\n PYME\\n
\\n

Materia de consulta en actividad agraria :

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

TECNICA :

\\n
\\n Alim.Animal, \\n Sanidad Animal, \\n Manejo reproductivo, \\n Sanidad vegetal,
\\n Fertilización, \\n Suelos y riegos, \\n Seg. cultivos, \\n Agr. Precisión,
\\n Seg. económico, \\n Mejoras en cultivos, \\n Mig y adaptación al CC
\\n
\\n

NORMATIVA :

\\n
\\n RLG y BCAM (condicionalidad), \\n Greeening PAC, \\n Modern. E innovación explot,
\\n Directiva marco agua, \\n Gestión integrada plagas, \\n Seguridad laboral
\\n
\\n

OTRAS :

\\n
\\n Biodiversidad, \\n Protección del agua, \\n Cadenas cortas, \\n Producciones ecológicas
\\n
\\n

PYME :

\\n
\\n Resultados económicos y medioambientales, \\n
\\n

FORESTAL :

\\n
\\n Conserv habitats y fauna, \\n Conserv aves silvestres, \\n Directiva marco agua,
\\n Rendimiento economico y ambiental
\\n
\\n

Visitas :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaLocalidadMatr.HorasKm
{{ formatFecha(visita.fecha) }}{{ visita.loc }}{{ visita.matricula }}{{ visita.horas }}{{ visita.km }}\\n \\n \\n
TOTAL{{ model2.totalHoras}}{{ model2.totalKm }}\\n \\n
\\n

Recomendaciones :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaRecomendaciónMues.FotoApli.
{{ formatFecha(visita.fecha) }}{{ visita.recomend }}{{ visita.muestras ? '✓' : ' ' }}{{ visita.foto ? '✓' : ' ' }}{{ visita.aplic ? '✓' : ' ' }}\\n
\\n
\\n

Valoracion final del asesoramiento :

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

Informes complementarios en PDF :

\\n \\\"Informe\\n \\\"Informe\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n \\n \\n \\n
\\n

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Visitas Ficha de visitas

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/21

\\n

FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2021.
\\n
\\n

\\n
\\n
\\n

\\n

El asesorado :

\\n

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

\\n

El asesor :

\\n

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

Area de actividad :

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

AGRARIA :

\\n
\\n Incorporación Jóvenes, \\n Modernización, \\n Otro \\n
\\n

FORESTAL :

\\n
\\n Forestal\\n
\\n

PYME :

\\n
\\n PYME\\n
\\n

Materia de consulta en actividad agraria :

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

TECNICA :

\\n
\\n Alim.Animal, \\n Sanidad Animal, \\n Manejo reproductivo, \\n Sanidad vegetal,
\\n Fertilización, \\n Suelos y riegos, \\n Seg. cultivos, \\n Agr. Precisión,
\\n Seg. económico, \\n Mejoras en cultivos, \\n Mig y adaptación al CC
\\n
\\n

NORMATIVA :

\\n
\\n RLG y BCAM (condicionalidad), \\n Greeening PAC, \\n Modern. E innovación explot,
\\n Directiva marco agua, \\n Gestión integrada plagas, \\n Seguridad laboral
\\n
\\n

OTRAS :

\\n
\\n Biodiversidad, \\n Protección del agua, \\n Cadenas cortas, \\n Producciones ecológicas
\\n
\\n

PYME :

\\n
\\n Resultados económicos y medioambientales, \\n
\\n

FORESTAL :

\\n
\\n Conserv habitats y fauna, \\n Conserv aves silvestres, \\n Directiva marco agua,
\\n Rendimiento economico y ambiental
\\n
\\n

Visitas :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaLocalidadMatr.HorasKm
{{ formatFecha(visita.fecha) }}{{ visita.loc }}{{ visita.matricula }}{{ visita.horas }}{{ visita.km }}\\n \\n \\n
TOTAL{{ model2.totalHoras}}{{ model2.totalKm }}\\n \\n
\\n

Recomendaciones :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaRecomendaciónMues.FotoApli.
{{ formatFecha(visita.fecha) }}{{ visita.recomend }}{{ visita.muestras ? '✓' : ' ' }}{{ visita.foto ? '✓' : ' ' }}{{ visita.aplic ? '✓' : ' ' }}\\n
\\n
\\n

Valoracion final del asesoramiento :

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

Informes complementarios en PDF :

\\n \\\"Informe\\n \\\"Informe\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n \\n \\n \\n
\\n

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Visitas Ficha de visitas

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/22

\\n

FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2022.
\\n
\\n

\\n
\\n
\\n

\\n

El asesorado :

\\n

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

\\n

El asesor :

\\n

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

Area de actividad :

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

AGRARIA :

\\n
\\n Incorporación Jóvenes,\\n Modernización,\\n Otro\\n
\\n

FORESTAL :

\\n
\\n Forestal\\n
\\n

PYME :

\\n
\\n PYME\\n
\\n

Materia de consulta en actividad agraria :

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

TECNICA :

\\n
\\n Alim.Animal,\\n Sanidad Animal,\\n Manejo reproductivo,\\n Sanidad vegetal,
\\n Fertilización,\\n Suelos y riegos,\\n Seg. cultivos,\\n Agr. Precisión,
\\n Seg. económico,\\n Mejoras en cultivos,\\n Mig y adaptación al CC
\\n
\\n

NORMATIVA :

\\n
\\n RLG y BCAM (condicionalidad),\\n Greeening PAC,\\n Modern. E innovación explot,
\\n Directiva marco agua,\\n Gestión integrada plagas,\\n Seguridad laboral
\\n
\\n

OTRAS :

\\n
\\n Biodiversidad,\\n Protección del agua,\\n Cadenas cortas,\\n Producciones ecológicas
\\n
\\n

PYME :

\\n
\\n Resultados económicos y medioambientales,\\n
\\n

FORESTAL :

\\n
\\n Conserv habitats y fauna,\\n Conserv aves silvestres,\\n Directiva marco agua,
\\n Rendimiento economico y ambiental
\\n
\\n

Visitas :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaLocalidadMatr.HorasKm
{{ formatFecha(visita.fecha) }}{{ visita.loc }}{{ visita.matricula }}{{ visita.horas }}{{ visita.km }}\\n \\n \\n
TOTAL{{ model2.totalHoras}}{{ model2.totalKm }}\\n \\n
\\n

Recomendaciones :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaRecomendaciónMues.FotoApli.
{{ formatFecha(visita.fecha) }}{{ visita.recomend }}{{ visita.muestras ? '✓' : ' ' }}{{ visita.foto ? '✓' : ' ' }}{{ visita.aplic ? '✓' : ' ' }}\\n
\\n
\\n

Valoracion final del asesoramiento :

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

Informes complementarios en PDF :

\\n \\\"Informe\\n \\\"Informe\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n
En\\n \\n \\n a\\n \\n \\n
\\n \\n \\n \\n \\n
\\n

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

{{ 'System' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'System' | translate }}\\n
  4. \\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
\\n
\\n
\\n\"","export default \"\\n
\\n
\\n

{{title1}}

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

{{title2}} {{message}}

\\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"\\n\\n
\\n \\n
\\n \\n
\\n
{{ currentAudioTime | timeConversion}}
\\n
{{ totalAudioLength | timeConversion}}
\\n
\\n
\\n
\\n\\n
\\n\\n \\n
Loading....
\\n
No audio Found !
\\n\\n
\\n \\n
\\n\\n
\\n
\\n
\\n \\n
\\n
{{ currentAudioTime | timeConversion}}
\\n
{{ totalAudioLength | timeConversion}}
\\n
\\n
\\n \\n

{{selectedAudio?.title}}

\\n
\\n

{{selectedAudio?.title}}

\\n
\\n
\\n\\n \\n \\n \\n repeat-on\\n \\n \\n \\n\\n \\n \\n \\n repeat-off\\n \\n \\n \\n \\n\\n \\n \\n previous\\n \\n \\n \\n \\n\\n \\n \\n play\\n \\n \\n \\n\\n \\n \\n pause\\n \\n \\n \\n \\n \\n\\n \\n \\n next\\n \\n \\n \\n \\n\\n \\n\\n \\n
\\n \\n \\n \\n \\n \\n volume-high\\n \\n \\n \\n\\n \\n \\n mute\\n \\n \\n \\n \\n\\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n\"","export default \"\\n
\\n
\\n

{{data.title1}}

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

{{data.title2}}

\\n

{{data.message}}

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

{{value != null ? (value.creator.identifier == 'anonymous' ? value.creator.anonymousName : value.creator.displayName) : ''}}

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

{{'DOCUMENTOS' | translate}}

\\n \\n
\\n \\n \\n
{{d.title}}
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n {{ value != null && value.date != undefined ? getDate(value.date) : '' }}\\n
\\n\"","export default \"\\n
\\n \\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

{{ 'Contents' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Contents' | translate }}\\n
  4. \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n {{'Se están cargando los contenidos, es posible que lleve un tiempo' | translate}}\\n \\n \\n 1000\\\">\\n \\n \\n {{'Hay más de 1000 posts en la respuesta. Por favor utilice el filtro para limitar la búsqueda.' | translate }}\\n \\n \\n
\\n \\n
\\n
\\n 0 || postSelected != null\\\"\\n [uid]=\\\"postSelected != null && postSelected.uid != '' ? postSelected.uid : ' XXXXXXXXXXXX'\\\">\\n
\\n

1\\\" class=\\\"ch-card-title-selected\\\" style=\\\"flex:auto;\\\">{{selectedItemsList.length}} {{'posts seleccionados' | translate}}

\\n

\\n
\\n {{postSelected.type}}\\n {{statusText(postSelected.status)}}\\n {{'Destacado' | translate}}\\n
\\n

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

{{ 'Formularios' | translate }}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Formularios' | translate }}\\n
  4. \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n {{'Se están cargando los contenidos, es posible que lleve un tiempo' | translate}}\\n \\n \\n 1000\\\">\\n \\n {{'Hay más de 1000 posts en la respuesta. Por favor utilice el filtro para limitar la búsqueda.' | translate }}\\n \\n \\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n \\n
\\n
\\n\"","export default \"\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n\\n\\n\\n \\n \\n
\\n \\n
\\n\\n\\n
\\n\"","export default \"
\\n
\\n {{ value != null && value.publishedAt != undefined ? getDate(value.publishedAt) : '' }}\\n \\n \\n \\n \\n \\n
\\n \\n \\n

{{value != null ? (value.creator.identifier == 'anonymous' ? value.creator.anonymousName + ' ('+ value.creator.anonymousEmail + ')' : value.creator.displayName) : ''}}

\\n
\\n
\\n
\\n {{getDate(value.publishedAt)}}\\n
\\n\\n\\n \\n \\n \\n \\n\\n
\\n {{value.title}}\\n
\\n
\\n {{value.description}}\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n \\n \\n {{value.location.name}}\\n
\\n
\\n\\n \\n
\\n {{value.title}}\\n
\\n \\n\\n
\\n \\n
\\n
\\n \\n
\\n \\n
\\n {{value.description}}\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n \\n \\n {{value.location.name}}\\n
\\n
\\n\\n \\n \\n
\\n {{value.title}}\\n
\\n
\\n {{value.description}}\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n \\n \\n {{value.location.name}}\\n
\\n
\\n

{{'PUBLICACION' | translate}}

\\n
{{'Autor (año) :' | translate}}\\n {{value.authors}}\\n 0 \\\" > ({{value.year}})
\\n
Autor :{{value.authors}}
\\n
Año :{{value.year}}
\\n
{{'Publicación : ' | translate}}{{value.publication}}
\\n
\\n
\\n\\n \\n \\n
\\n {{value.title}}\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n \\n \\n {{value.location.name}}\\n
\\n
\\n\\n \\n \\n
\\n {{value.title}}\\n
\\n
\\n\\n \\n \\n
\\n
\\n
\\n {{value.title}}\\n
\\n
\\n {{value.description}}\\n
\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n {{value.location.name}}\\n
\\n \\n \\n {{value.location.name}}\\n
\\n
\\n
\\n

{{eventMonthText()}}

\\n

{{eventDayText()}}

\\n

{{eventYearText()}}

\\n
\\n
\\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n
?{{value.title}}
\\n \\n
\\n\\n \\n\\n
\\n \\n
\\n
\\n {{value.title}}\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n \\n\\n
\\n \\n
\\n
\\n {{value.title}}\\n
\\n
\\n
\\n \\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n \\n\\n \\n \\n
\\n

{{'FUENTE' | translate}}

\\n
{{'Fuente :' | translate}}{{value.sourceName}}
\\n
Url:{{value.url}}
\\n
\\n
\\n\\n

{{'DOCUMENTOS' | translate}}

\\n \\n
\\n \\n \\n
{{d.title}}
\\n
\\n
\\n
\\n
\\n\\n
\\n

{{ (value.type == 'question' ? 'RESPUESTAS' : 'COMENTARIOS') | translate }}

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

{{'COPIAR POSTS A LA BASE DE DATOS' | translate}}

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'Origen' | translate }}{{ 'Destino' | translate }}
{{f.name}}\\n \\n
\\n
\\n
\\n\\n
\\n

{{ messageTxt | async }}

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

{{'COPIAR POSTS EN OTRA ZONA' | translate}}

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

{{ messageTxt | async }}

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

{{'IMPORTAR EVENTOS DESDE FICHERO CSV (Excel)' | translate}}

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

{{'Formato del fichero CSV' | translate}}.

\\n

{{'El formato para importar los eventos procede de Google calendar. Pulse en el enlace inferior para acceder a una versión de ejemplo explicada.' |translate}}

\\n {{'Formato y ejemplo' | translate}}\\n
\\n \\n
\\n

{{'Caracteristias del fichero' |translate}}

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

{{'Datos de la importación' |translate}}

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

{{ messageTxt | async }}

\\n

{{ message2Txt | async }}

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

{{ errorTxt | async }}

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

{{'IMPORTAR POSTS DESDE RSS' | translate}}

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

{{ messageTxt | async }}

\\n

{{ message2Txt | async }}

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

{{ errorTxt | async }}

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

{{selectedComment != null ? (selectedComment.creator.identifier == 'anonymous' ? selectedComment.creator.anonymousName : selectedComment.creator.displayName) : ''}}

\\n
\\n
\\n
\\n {{'Creador : ' | translate}}\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n

SOURCE EDIT

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

{{'Datos generales del formulario' | translate}}

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

{{'Grupos de preguntas' | translate}}

\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n
\\n \\n \\n\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n\\n\\n \\n\\n
\\n
\\n\"","export default \"
\\n
\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n
\\n {{value.type}}\\n {{'Destacado' | translate}}\\n \\n {{'Usuario creador :' | translate}}\\n \\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n \\n\\n \\n \\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n
\\n \\n
\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n {{ 'Zones' | translate}}

\\n
    \\n
  1. \\n {{ 'Home' | translate }}\\n
  2. \\n
  3. \\n {{ 'Zones' | translate}}\\n
  4. \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n Tipo : \\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n \\n
\\n

{{selectedZone === null ? '' :model.name}}

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

{{sectionName | translate}}

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

{{list.name}}

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

{{title | translate}}\\n

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

{{'ELIMINAR ZONA' | translate}}\\n

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

{{'Se va a proceder a eliminar la lista :' | translate}} {{zoneName}}

\\n \\n \\n {{'Cuidado' | translate}} {{'Todos los contenidos de la zona y sus listas propias se eliminarán. Esta operación no es reversible' | translate}}\\n \\n
\\n
\\n \\n \\n
\\n
\\n\"","export default \"
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n {{ group }}\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n\\n\\n\\n
\\n\"","export default \"\\n\\n\\n\"","export default \"
\\n
\\n Version 31.1.1\\n
\\n
\\n CHIL.ME, CHIL.ORG, CHIL.APP © 2014-2025\\n
\\n
\\n\"","export default \"\\n
\\n\\n \\n \\n\\n \\n
\\n\\n \\n \\n\\n \\n \\n\\n \\n
\\n\\n
\\n \\n\\n
\\n\\n\"","export default \"\\n\\n\"","export default \"\\n
\\n\\n \\n
\\n\\n \\n \\n\\n \\n \\n\\n \\n
\\n\\n
\\n \\n\\n
\\n\\n\"","export default \"\\n\\n\\n\\n\\n\"","export default \"
\\n \\n
\\n \\n\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n

\\n Consultas Ficha de consulta

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Consultas\\n
  4. \\n
  5. \\n Consulta \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

\\n \\n \\n

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

FICHA DE CONSULTA
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n
\\n \\n \\n
\\n \\n \\n \\n {{item.name}}\\n \\n \\n {{item.name}}\\n \\n \\n
\\n

\\n

Solicitante :

\\n

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

\\n

Consulta :

\\n

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

Respuesta :

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

Tramitación :

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

\\n

\\n

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

\\n Contratos Contrato de asesoramiento

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Contratos\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/18

\\n

CONTRATO DE PRESTACIÓN DE SERVICIO DE ASESORAMIENTO EN EL MARCO DEL PROGRAMA DE DESARROLLO RURAL 2014-2020, PARA EL AÑO 2018.
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n


INTERVIENEN

\\n

De una parte:

\\n

\\n

El solicitante del servicio de asesoramiento:

\\n

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Y de otra :

\\n

El técnico asesor responsable de la prestación del servicio de asesoramiento:

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


\\n

\\n En calidad de técnico asesor de la entidad de asesoramiento: {{model.entidadname}}, \\n seleccionada por el Departamento de Desarrollo Rural y Sostenibilidad como prestadora de servicios de asesoramiento para titulares \\n de explotaciones agrarias y forestales y a las pyme de las zonas rurales por Resolución del Director General de Desarrollo Rural \\n de 30 de enero de 2018.

\\n

\\n


ACUERDAN

\\n

\\n PRIMERO. Área de actividad :

\\n El área de actividad en la que se prestará el servicio de asesoramiento objeto de este contrato será:
\\n

    \\n
  • AGRARIA : Incorporación Jóvenes : Modernización : Otro : \\n
  • \\n
  • FORESTAL : \\n
  • \\n
  • PYME : \\n
  • \\n
\\n

\\n SEGUNDO. Duración del contrato :

\\n El servicio de asesoramiento se prestará por parte del técnico asesor en un plazo que se inicia en la fecha de \\n la firma del presente contrato y hasta el 16 de noviembre de 2018.

\\n

\\n

\\n TERCERO. Importe del servicio :

\\n El importe del servicio de asesoramiento es de {{model.precio1}} EUROS, IVA incluído.

\\n

\\n

\\n CUARTO. Pago del servicio :

\\n\\n El destinatario del asesoramiento abonará en el plazo de __________ días contados a partir del día de la firma \\n del presente contrato, el 20 % del importe del servicio de asesoramiento indicado en el punto TERCERO anterior.
\\n El pago del precio estipulado en el punto anterior, se realizara mediante transferencia bancaria a la cuenta de \\n la entidad asesora. La entidad de asesoramiento le emitirá la correspondiente factura y la remitirá al \\n solicitante del servicio de asesoramiento.
\\n

\\n

\\n QUINTO. Obligaciones de los destinatarios de los servicios de asesoramiento :
\\n

    \\n
  • Facilitar al técnico asesor toda la documentación necesaria para la adecuada prestación del servicio.
  • \\n
  • El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado \\n en el punto TERCERO anterior: {{model.precio2}} EUROS
  • \\n
  • Asímismo, abonará los posibles servicios adicionales que pudiera conllevar la prestación del servicio.
  • \\n
  • Colaborar con la administración en sus labores de inspección y control así como a denunciar el \\n incumplimiento de las obligaciones y compromisos adquiridos por la entidad prestadora del servicio, \\n cuando tengan conocimiento del mismo.
  • \\n
  • El asesorado no podrá solicitar al técnico asesor ni asesoramiento ni colaboración \\n en la realización de acciones u omisiones fraudulentas.
  • \\n

\\n \\n

\\n SEXTO. Obligaciónes de la entidad prestadora de los servicios :

\\n

    \\n
  • Garantizar que el contenido del servicio de asesoramiento así como las reglas a las que debe ajustarse sean los recogidos en el anexo III de la ORDEN DRS/426/2018 de 27 de febrero, por la que se abre el plazo para la solicitud de servicios de asesoramiento agrario para los titulares de explotaciones agrarias y forestales y de pyme de las zonas rurales, \\n en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2018.
  • \\n
  • Asistir, a petición del asesorado, a las inspecciones que realicen los órganos competentes de aquellas \\n actividades que hayan sido objeto de asesoramiento.
  • \\n
  • Comprometerse a cumplir las obligaciones en relación a la prohibición de divulgar información o datos de carácter personal o individual derivados de la actividad de asesoramiento y que, en todo caso, esta información esté sujeta a lo dispuesto en el Reglamento (UE) 2016/679, del Parlamento europeo y del Consejo relativo a la protección de las personas fisicas en lo que respecta al \\n tratamiento de datos personales y a la libre circulación de estos datos y por el que se deroga la directiva 95/46/CE
  • \\n
  • Sin perjuicio de lo dispuesto en el apartado anterior, y de la debida separación de las funciones de asesoramiento con las funciones de control de las ayudas vinculadas a las explotaciones, de conformidad con el artículo 13.2 del Reglamento n º1306/2013, del Parlamento Europeo y del Consejo, de 17 de diciembre, será obligación del personal de asesoramiento, comunicar a las autoridades competentes las irregularidades o infracciones constatadas durante el desarrollo de la prestación y, en concreto, \\n la obligación de comunicar posibles infracciones penales (incluyendo delitos contra el medio ambiente).
  • \\n
  • Adoptar las medidas de protección y seguridad necesarias durante la ejecución del trabajo. \\n Serán de su responsabilidad los eventuales daños y perjuicios que pudieran ocasionarse en la ejecución del servicio contratado, a la Administración y a terceros y, por tanto, la Administración queda eximida de toda responsabilidad por los daños y perjuicios causados a terceros como consecuencia de aquellos.
  • \\n
\\n
\\n \\n

SÉPTIMO. Régimen del contrato :

\\n \\n La relación entre las entidades prestadoras del servicio de asesoramiento y los destinatarios \\n estará sujeta al derecho privado, sin perjuicio de la aplicación del derecho administrativo en relación \\n con las obligaciones y controles que tenga que realizar la Administración, ya sea directamente a la entidad \\n o indirectamente a los destinatarios.\\n

\\n

\\n\\n

Ambas partes declaran estar conformes con lo acordado en el presente contrato.

\\n \\n En la fecha y lugar al principio reseñados, se firma este contrato, en todas sus hojas, a un solo efecto.\\n

\\n

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

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Contratos Contrato de asesoramiento

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Contratos\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/2019

\\n

CONTRATO DE PRESTACIÓN DE SERVICIO DE ASESORAMIENTO EN EL MARCO DEL PROGRAMA DE DESARROLLO RURAL 2014-2020, PARA EL AÑO 2019.
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n


INTERVIENEN

\\n

De una parte:

\\n

\\n

El solicitante del servicio de asesoramiento:

\\n

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Y de otra :

\\n

El técnico asesor responsable de la prestación del servicio de asesoramiento:

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


\\n

\\n En calidad de técnico asesor de la entidad de asesoramiento: {{model.entidadname}}, \\n seleccionada por el Departamento de Desarrollo Rural y Sostenibilidad como prestadora de servicios de asesoramiento para titulares \\n de explotaciones agrarias y forestales y a las pyme de las zonas rurales por Resolución del Director General de Desarrollo Rural \\n de 30 de enero de 2018.

\\n

\\n


ACUERDAN

\\n

Suscribir el siguiente “Contrato de prestación de servicio de asesoramiento \\n en el marco del Programa de Desarrollo Rural 2014-2020, para el año 2019” \\n de acuerdo con lo establecido en la letra g) del punto 2 del anexo III de \\n la ORDEN DRS/1803/2018 de 31 de octubre, por la que se determina el procedimiento \\n y se abre el plazo para la solicitud de servicios de asesoramiento agrario para \\n los titulares de explotaciones agrarias y forestales y de Pymes de las zonas rurales, \\n en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2019, de acuerdo con lo siguiente:\\n

\\n

\\n PRIMERO. Área de actividad :

\\n El área de actividad en la que se prestará el servicio de asesoramiento objeto de este contrato será:
\\n

    \\n
  • AGRARIA : Incorporación Jóvenes : Modernización : Otro : \\n
  • \\n
  • FORESTAL : \\n
  • \\n
  • PYME : \\n
  • \\n
\\n

\\n SEGUNDO. Duración del contrato :

\\n El servicio de asesoramiento se prestará por parte del técnico asesor en un plazo que se inicia en la fecha de \\n la firma del presente contrato y hasta el 8 de noviembre de 2019.

\\n

\\n

\\n TERCERO. Importe del servicio :

\\n El importe del servicio de asesoramiento es de {{model.precio1}} EUROS, más IVA.

\\n

\\n

\\n CUARTO. Pago del servicio :

\\n El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado en el punto TERCERO anterior.
\\n El pago del precio estipulado en el punto anterior, se realizará por el procedimiento que establezca la entidad asesora que emitirá la correspondiente \\n factura y la enviará al solicitante del servicio de asesoramiento.
\\n

\\n

\\n QUINTO. Obligaciones de los destinatarios de los servicios de asesoramiento :
\\n

    \\n
  • Facilitar al técnico asesor toda la documentación necesaria para la adecuada prestación del servicio.
  • \\n
  • El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado \\n en el punto TERCERO anterior más el IVA que coresponda, lo que hace un total de: {{model.precio2}} \\n EUROS
  • \\n
  • Asímismo, abonará los posibles servicios adicionales que pudiera conllevar la prestación del servicio.
  • \\n
  • Colaborar con la administración en sus labores de inspección y control así como a denunciar el \\n incumplimiento de las obligaciones y compromisos adquiridos por la entidad prestadora del servicio, \\n cuando tengan conocimiento del mismo.
  • \\n
  • El asesorado no podrá solicitar al técnico asesor ni asesoramiento ni colaboración \\n en la realización de acciones u omisiones fraudulentas.
  • \\n

\\n \\n

\\n SEXTO. Obligaciónes de la entidad prestadora de los servicios :

\\n

    \\n
  • Garantizar que el contenido del servicio de asesoramiento así como las reglas a las que debe ajustarse sean los recogidos en el anexo III de la ORDEN DRS/1803/2018, de 31 de octubre, por la que se abre el plazo para la solicitud de servicios de asesoramiento agrario para los titulares de explotaciones agrarias y forestales y de pyme de las zonas rurales, en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2019.
  • \\n
  • Asistir, a petición del asesorado, a las inspecciones que realicen los órganos competentes de aquellas \\n actividades que hayan sido objeto de asesoramiento.
  • \\n
  • Comprometerse a cumplir las obligaciones en relación a la prohibición de divulgar información o datos de carácter personal o individual derivados de la actividad de asesoramiento y que, en todo caso, esta información esté sujeta a lo dispuesto en el Reglamento (UE) 2016/679, del Parlamento europeo y del Consejo relativo a la protección de las personas fisicas en lo que respecta al \\n tratamiento de datos personales y a la libre circulación de estos datos y por el que se deroga la directiva 95/46/CE
  • \\n
  • Sin perjuicio de lo dispuesto en el apartado anterior, y de la debida separación de las funciones de asesoramiento con las funciones de control de las ayudas vinculadas a las explotaciones, de conformidad con el artículo 13.2 del Reglamento n º1306/2013, del Parlamento Europeo y del Consejo, de 17 de diciembre, será obligación del personal de asesoramiento, comunicar a las autoridades competentes las irregularidades o infracciones constatadas durante el desarrollo de la prestación y, en concreto, \\n la obligación de comunicar posibles infracciones penales (incluyendo delitos contra el medio ambiente).
  • \\n
  • Adoptar las medidas de protección y seguridad necesarias durante la ejecución del trabajo. \\n Serán de su responsabilidad los eventuales daños y perjuicios que pudieran ocasionarse en la ejecución del servicio contratado, a la Administración y a terceros y, por tanto, la Administración queda eximida de toda responsabilidad por los daños y perjuicios causados a terceros como consecuencia de aquellos.
  • \\n
\\n
\\n \\n

SÉPTIMO. Régimen del contrato :

\\n \\n La relación entre las entidades prestadoras del servicio de asesoramiento y los destinatarios \\n estará sujeta al derecho privado, sin perjuicio de la aplicación del derecho administrativo en relación \\n con las obligaciones y controles que tenga que realizar la Administración, ya sea directamente a la entidad \\n o indirectamente a los destinatarios.\\n

\\n

\\n\\n

Ambas partes declaran estar conformes con lo acordado en el presente contrato.

\\n \\n En la fecha y lugar al principio reseñados, se firma este contrato, en todas sus hojas, duplicado, a un solo efecto.\\n

\\n

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

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Contratos Contrato de asesoramiento

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Contratos\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/2020

\\n

CONTRATO DE PRESTACIÓN DE SERVICIO DE ASESORAMIENTO EN EL MARCO DEL PROGRAMA DE DESARROLLO RURAL 2014-2020, PARA EL AÑO 2020.
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n


INTERVIENEN

\\n

De una parte:

\\n

\\n

El solicitante del servicio de asesoramiento:

\\n

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Y de otra :

\\n

El técnico asesor responsable de la prestación del servicio de asesoramiento:

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


\\n

\\n En calidad de técnico asesor de la entidad de asesoramiento: {{model.entidadname}}, \\n seleccionada por el Departamento de Desarrollo Rural y Sostenibilidad como prestadora de servicios de asesoramiento para titulares \\n de explotaciones agrarias y forestales y a las pyme de las zonas rurales por Resolución del Director General de Desarrollo Rural \\n de 30 de enero de 2018.

\\n

\\n


ACUERDAN

\\n

Suscribir el siguiente “Contrato de prestación de servicio de asesoramiento \\n en el marco del Programa de Desarrollo Rural 2014-2020, para el año 2020” \\n de acuerdo con lo establecido en la letra g) del punto 2 del anexo III de \\n la ORDEN AGM/1477/2019, de 18 de octubre, por la que se determina el procedimiento \\n y se abre el plazo para la solicitud de servicios de asesoramiento agrario para \\n los titulares de explotaciones agrarias y forestales y de Pymes de las zonas rurales, \\n en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2020, de acuerdo con lo siguiente:\\n

\\n

\\n PRIMERO. Área de actividad :

\\n El área de actividad en la que se prestará el servicio de asesoramiento objeto de este contrato será:
\\n

    \\n
  • AGRARIA : Incorporación Jóvenes : Modernización : Otro : \\n
  • \\n
  • FORESTAL : \\n
  • \\n
  • PYME : \\n
  • \\n
\\n

\\n SEGUNDO. Duración del contrato :

\\n El servicio de asesoramiento se prestará por parte del técnico asesor en un plazo que se inicia en la fecha de \\n la firma del presente contrato y hasta el 6 de noviembre de 2020.

\\n

\\n

\\n TERCERO. Importe del servicio :

\\n El importe del servicio de asesoramiento es de {{model.precio1}} EUROS, más IVA.

\\n

\\n

\\n CUARTO. Pago del servicio :

\\n El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado en el punto TERCERO anterior.
\\n El pago del precio estipulado en el punto anterior, se realizará por el procedimiento que establezca la entidad asesora que emitirá la correspondiente \\n factura y la enviará al solicitante del servicio de asesoramiento.
\\n

\\n

\\n QUINTO. Obligaciones de los destinatarios de los servicios de asesoramiento :
\\n

    \\n
  • Facilitar al técnico asesor toda la documentación necesaria para la adecuada prestación del servicio.
  • \\n
  • El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado \\n en el punto TERCERO anterior más el IVA que coresponda, lo que hace un total de: {{model.precio2}} \\n EUROS
  • \\n
  • Asímismo, abonará los posibles servicios adicionales que pudiera conllevar la prestación del servicio.
  • \\n
  • Colaborar con la administración en sus labores de inspección y control así como a denunciar el \\n incumplimiento de las obligaciones y compromisos adquiridos por la entidad prestadora del servicio, \\n cuando tengan conocimiento del mismo.
  • \\n
  • El asesorado no podrá solicitar al técnico asesor ni asesoramiento ni colaboración \\n en la realización de acciones u omisiones fraudulentas.
  • \\n

\\n \\n

\\n SEXTO. Obligaciónes de la entidad prestadora de los servicios :

\\n

    \\n
  • Garantizar que el contenido del servicio de asesoramiento así como las reglas a las que debe ajustarse sean los recogidos en el anexo III de la ORDEN AGM/1477/2019, de 18 de octubre, por la que se abre el plazo para la solicitud de servicios de asesoramiento agrario para los titulares de explotaciones agrarias y forestales y de pyme de las zonas rurales, en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2020.
  • \\n
  • Asistir, a petición del asesorado, a las inspecciones que realicen los órganos competentes de aquellas \\n actividades que hayan sido objeto de asesoramiento.
  • \\n
  • Comprometerse a cumplir las obligaciones en relación a la prohibición de divulgar información o datos de carácter personal o individual derivados de la actividad de asesoramiento y que, en todo caso, esta información esté sujeta a lo dispuesto en el Reglamento (UE) 2016/679, del Parlamento europeo y del Consejo relativo a la protección de las personas fisicas en lo que respecta al \\n tratamiento de datos personales y a la libre circulación de estos datos y por el que se deroga la directiva 95/46/CE
  • \\n
  • Sin perjuicio de lo dispuesto en el apartado anterior, y de la debida separación de las funciones de asesoramiento con las funciones de control de las ayudas vinculadas a las explotaciones, de conformidad con el artículo 13.2 del Reglamento n º1306/2013, del Parlamento Europeo y del Consejo, de 17 de diciembre, será obligación del personal de asesoramiento, comunicar a las autoridades competentes las irregularidades o infracciones constatadas durante el desarrollo de la prestación y, en concreto, \\n la obligación de comunicar posibles infracciones penales (incluyendo delitos contra el medio ambiente).
  • \\n
  • Adoptar las medidas de protección y seguridad necesarias durante la ejecución del trabajo. \\n Serán de su responsabilidad los eventuales daños y perjuicios que pudieran ocasionarse en la ejecución del servicio contratado, a la Administración y a terceros y, por tanto, la Administración queda eximida de toda responsabilidad por los daños y perjuicios causados a terceros como consecuencia de aquellos.
  • \\n
\\n
\\n \\n

SÉPTIMO. Régimen del contrato :

\\n \\n La relación entre las entidades prestadoras del servicio de asesoramiento y los destinatarios \\n estará sujeta al derecho privado, sin perjuicio de la aplicación del derecho administrativo en relación \\n con las obligaciones y controles que tenga que realizar la Administración, ya sea directamente a la entidad \\n o indirectamente a los destinatarios.\\n

\\n

\\n\\n

Ambas partes declaran estar conformes con lo acordado en el presente contrato.

\\n \\n En la fecha y lugar al principio reseñados, se firma este contrato, en todas sus hojas, duplicado, a un solo efecto.\\n

\\n

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

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Contratos Contrato de asesoramiento

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Contratos\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/2021

\\n

CONTRATO DE PRESTACIÓN DE SERVICIO DE ASESORAMIENTO EN EL MARCO DEL PROGRAMA DE DESARROLLO RURAL 2014-2020, PARA EL AÑO 2021.
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n


INTERVIENEN

\\n

De una parte:

\\n

\\n

El solicitante del servicio de asesoramiento:

\\n

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Y de otra :

\\n

El técnico asesor responsable de la prestación del servicio de asesoramiento:

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


\\n

\\n En calidad de técnico asesor de la entidad de asesoramiento: {{model.entidadname}}, \\n seleccionada por el Departamento de Desarrollo Rural y Sostenibilidad como prestadora de servicios de asesoramiento para titulares \\n de explotaciones agrarias y forestales y a las pyme de las zonas rurales por Resolución del Director General de Desarrollo Rural \\n de 30 de enero de 2018.

\\n

\\n


ACUERDAN

\\n

Suscribir el siguiente “Contrato de prestación de servicio de asesoramiento \\n en el marco del Programa de Desarrollo Rural 2014-2020, para el año 2021” \\n de acuerdo con lo establecido en la letra g) del punto 2 del anexo III de \\n la ORDEN AGM/1100/2020, de 21 de octubre, por la que se determina el procedimiento \\n y se abre el plazo para la solicitud de servicios de asesoramiento agrario para \\n los titulares de explotaciones agrarias y forestales y de Pymes de las zonas rurales, \\n en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2021, de acuerdo con lo siguiente:\\n

\\n

\\n PRIMERO. Área de actividad :

\\n El área de actividad en la que se prestará el servicio de asesoramiento objeto de este contrato será:
\\n

    \\n
  • AGRARIA : Incorporación Jóvenes : Modernización : Otro : \\n
  • \\n
  • FORESTAL : \\n
  • \\n
  • PYME : \\n
  • \\n
\\n

\\n SEGUNDO. Duración del contrato :

\\n El servicio de asesoramiento se prestará por parte del técnico asesor en un plazo que se inicia en la fecha de \\n la firma del presente contrato y hasta el 8 de noviembre de 2021.

\\n

\\n

\\n TERCERO. Importe del servicio :

\\n El importe del servicio de asesoramiento es de {{model.precio1}} EUROS, más IVA.

\\n

\\n

\\n CUARTO. Pago del servicio :

\\n El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado en el punto TERCERO anterior.
\\n El pago del precio estipulado en el punto anterior, se realizará por el procedimiento que establezca la entidad asesora que emitirá la correspondiente \\n factura y la enviará al solicitante del servicio de asesoramiento.
\\n

\\n

\\n QUINTO. Obligaciones de los destinatarios de los servicios de asesoramiento :
\\n

    \\n
  • Facilitar al técnico asesor toda la documentación necesaria para la adecuada prestación del servicio.
  • \\n
  • El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado \\n en el punto TERCERO anterior más el IVA que coresponda, lo que hace un total de: {{model.precio2}} \\n EUROS
  • \\n
  • Asímismo, abonará los posibles servicios adicionales que pudiera conllevar la prestación del servicio.
  • \\n
  • Colaborar con la administración en sus labores de inspección y control así como a denunciar el \\n incumplimiento de las obligaciones y compromisos adquiridos por la entidad prestadora del servicio, \\n cuando tengan conocimiento del mismo.
  • \\n
  • El asesorado no podrá solicitar al técnico asesor ni asesoramiento ni colaboración \\n en la realización de acciones u omisiones fraudulentas.
  • \\n

\\n \\n

\\n SEXTO. Obligaciónes de la entidad prestadora de los servicios :

\\n

    \\n
  • Garantizar que el contenido del servicio de asesoramiento así como las reglas a las que debe ajustarse sean los recogidos en el anexo III de la ORDEN AGM/1100/2020, de 21 de octubre, por la que se abre el plazo para la solicitud de servicios de asesoramiento agrario para los titulares de explotaciones agrarias y forestales y de pyme de las zonas rurales, en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2021.
  • \\n
  • Asistir, a petición del asesorado, a las inspecciones que realicen los órganos competentes de aquellas \\n actividades que hayan sido objeto de asesoramiento.
  • \\n
  • Comprometerse a cumplir las obligaciones en relación a la prohibición de divulgar información o datos de carácter personal o individual derivados de la actividad de asesoramiento y que, en todo caso, esta información esté sujeta a lo dispuesto en el Reglamento (UE) 2016/679, del Parlamento europeo y del Consejo relativo a la protección de las personas fisicas en lo que respecta al \\n tratamiento de datos personales y a la libre circulación de estos datos y por el que se deroga la directiva 95/46/CE
  • \\n
  • Sin perjuicio de lo dispuesto en el apartado anterior, y de la debida separación de las funciones de asesoramiento con las funciones de control de las ayudas vinculadas a las explotaciones, de conformidad con el artículo 13.2 del Reglamento n º1306/2013, del Parlamento Europeo y del Consejo, de 17 de diciembre, será obligación del personal de asesoramiento, comunicar a las autoridades competentes las irregularidades o infracciones constatadas durante el desarrollo de la prestación y, en concreto, \\n la obligación de comunicar posibles infracciones penales (incluyendo delitos contra el medio ambiente).
  • \\n
  • Adoptar las medidas de protección y seguridad necesarias durante la ejecución del trabajo. \\n Serán de su responsabilidad los eventuales daños y perjuicios que pudieran ocasionarse en la ejecución del servicio contratado, a la Administración y a terceros y, por tanto, la Administración queda eximida de toda responsabilidad por los daños y perjuicios causados a terceros como consecuencia de aquellos.
  • \\n
\\n
\\n \\n

SÉPTIMO. Régimen del contrato :

\\n \\n La relación entre las entidades prestadoras del servicio de asesoramiento y los destinatarios \\n estará sujeta al derecho privado, sin perjuicio de la aplicación del derecho administrativo en relación \\n con las obligaciones y controles que tenga que realizar la Administración, ya sea directamente a la entidad \\n o indirectamente a los destinatarios.\\n

\\n

\\n\\n

Ambas partes declaran estar conformes con lo acordado en el presente contrato.

\\n \\n En la fecha y lugar al principio reseñados, se firma este contrato, en todas sus hojas, duplicado, a un solo efecto.\\n

\\n

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

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Contratos Contrato de asesoramiento

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Contratos\\n
  4. \\n
  5. \\n Contrato de asesoramiento\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/2022

\\n

CONTRATO DE PRESTACIÓN DE SERVICIO DE ASESORAMIENTO EN EL MARCO DEL PROGRAMA DE DESARROLLO RURAL 2014-2020, PARA EL AÑO 2022.
\\n
\\n

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En\\n \\n \\n a\\n \\n \\n
\\n


INTERVIENEN

\\n

De una parte:

\\n

\\n

El solicitante del servicio de asesoramiento:

\\n

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Y de otra :

\\n

El técnico asesor responsable de la prestación del servicio de asesoramiento:

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


\\n

\\n En calidad de técnico asesor de la entidad de asesoramiento: {{model.entidadname}}, \\n seleccionada por el Departamento de Desarrollo Rural y Sostenibilidad como prestadora de servicios de asesoramiento para titulares\\n de explotaciones agrarias y forestales y a las pyme de las zonas rurales por Resolución del Director General de Desarrollo Rural\\n de 30 de enero de 2018.

\\n

\\n


ACUERDAN

\\n

Suscribir el siguiente “Contrato de prestación de servicio de asesoramiento\\n en el marco del Programa de Desarrollo Rural 2014-2020, para el año 2022”\\n de acuerdo con lo establecido en la letra g) del punto 2 del anexo III de\\n la ORDEN AGM/1486/2021, de 19 de octubre, por la que se determina el procedimiento\\n y se abre el plazo para la solicitud de servicios de asesoramiento agrario para\\n los titulares de explotaciones agrarias y forestales y de Pymes de las zonas rurales,\\n en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2022, de acuerdo con lo siguiente:\\n

\\n

\\n PRIMERO. Área de actividad :

\\n El área de actividad en la que se prestará el servicio de asesoramiento objeto de este contrato será:
\\n

    \\n
  • AGRARIA : Incorporación Jóvenes : Modernización : Otro : \\n
  • \\n
  • FORESTAL : \\n
  • \\n
  • PYME : \\n
  • \\n
\\n

\\n SEGUNDO. Duración del contrato :

\\n El servicio de asesoramiento se prestará por parte del técnico asesor en un plazo que se inicia en la fecha de\\n la firma del presente contrato y hasta el 8 de noviembre de 2022.

\\n

\\n

\\n TERCERO. Importe del servicio :

\\n El importe del servicio de asesoramiento es de {{model.precio1}} EUROS, más IVA.

\\n

\\n

\\n CUARTO. Pago del servicio :

\\n El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado en el punto TERCERO anterior.
\\n El pago del precio estipulado en el punto anterior, se realizará por el procedimiento que establezca la entidad asesora que emitirá la correspondiente\\n factura y la enviará al solicitante del servicio de asesoramiento.
\\n

\\n

\\n QUINTO. Obligaciones de los destinatarios de los servicios de asesoramiento :
\\n

    \\n
  • Facilitar al técnico asesor toda la documentación necesaria para la adecuada prestación del servicio.
  • \\n
  • El destinatario del asesoramiento abonará el 20 % del importe del servicio de asesoramiento indicado\\n en el punto TERCERO anterior más el IVA que coresponda, lo que hace un total de: {{model.precio2}}\\n EUROS
  • \\n
  • Asímismo, abonará los posibles servicios adicionales que pudiera conllevar la prestación del servicio.
  • \\n
  • Colaborar con la administración en sus labores de inspección y control así como a denunciar el\\n incumplimiento de las obligaciones y compromisos adquiridos por la entidad prestadora del servicio,\\n cuando tengan conocimiento del mismo.
  • \\n
  • El asesorado no podrá solicitar al técnico asesor ni asesoramiento ni colaboración\\n en la realización de acciones u omisiones fraudulentas.
  • \\n

\\n\\n

\\n SEXTO. Obligaciónes de la entidad prestadora de los servicios :

\\n

    \\n
  • Garantizar que el contenido del servicio de asesoramiento así como las reglas a las que debe ajustarse sean los recogidos en el anexo III de la ORDEN AGM/1486/2021, de 19 de octubre, por la que se abre el plazo para la solicitud de servicios de asesoramiento agrario para los titulares de explotaciones agrarias y forestales y de pyme de las zonas rurales, en el marco del Programa de Desarrollo Rural de Aragón 2014-2020, para 2022.
  • \\n
  • Asistir, a petición del asesorado, a las inspecciones que realicen los órganos competentes de aquellas\\n actividades que hayan sido objeto de asesoramiento.
  • \\n
  • Comprometerse a cumplir las obligaciones en relación a la prohibición de divulgar información o datos de carácter personal o individual derivados de la actividad de asesoramiento y que, en todo caso, esta información esté sujeta a lo dispuesto en el Reglamento (UE) 2016/679, del Parlamento europeo y del Consejo relativo a la protección de las personas fisicas en lo que respecta al\\n tratamiento de datos personales y a la libre circulación de estos datos y por el que se deroga la directiva 95/46/CE
  • \\n
  • Sin perjuicio de lo dispuesto en el apartado anterior, y de la debida separación de las funciones de asesoramiento con las funciones de control de las ayudas vinculadas a las explotaciones, de conformidad con el artículo 13.2 del Reglamento n º1306/2013, del Parlamento Europeo y del Consejo, de 17 de diciembre, será obligación del personal de asesoramiento, comunicar a las autoridades competentes las irregularidades o infracciones constatadas durante el desarrollo de la prestación y, en concreto,\\n la obligación de comunicar posibles infracciones penales (incluyendo delitos contra el medio ambiente).
  • \\n
  • Adoptar las medidas de protección y seguridad necesarias durante la ejecución del trabajo.\\n Serán de su responsabilidad los eventuales daños y perjuicios que pudieran ocasionarse en la ejecución del servicio contratado, a la Administración y a terceros y, por tanto, la Administración queda eximida de toda responsabilidad por los daños y perjuicios causados a terceros como consecuencia de aquellos.
  • \\n
\\n
\\n\\n

SÉPTIMO. Régimen del contrato :

\\n\\n La relación entre las entidades prestadoras del servicio de asesoramiento y los destinatarios\\n estará sujeta al derecho privado, sin perjuicio de la aplicación del derecho administrativo en relación\\n con las obligaciones y controles que tenga que realizar la Administración, ya sea directamente a la entidad\\n o indirectamente a los destinatarios.\\n

\\n

\\n\\n

Ambas partes declaran estar conformes con lo acordado en el presente contrato.

\\n\\n En la fecha y lugar al principio reseñados, se firma este contrato, en todas sus hojas, duplicado, a un solo efecto.\\n

\\n

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

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

\\n Solicitudes Formulario de Solicitud

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Solicitudes\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

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

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


\\n

\\n

ANEXO I

\\n \\n

Solicitud de servicios de\\n asesoramiento agrario para los titulares de explotaciones agrarias y forestales\\n y de PYME de las zonas rurales, en el marco del Programa de Desarrollo Rural de\\n Aragón 2014-2020, para 2018.
\\n

\\n
\\n

\\n \\n


\\n

\\n \\n

Datos del solicitante

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

En caso de representación, datos del representante

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

Domicilio a efectos de notificaciones y otros avisos

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

Domicilio de la explotación o PYME

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

\\n

DECLARA que cuantos datos constan en la\\n solicitud son ciertos y se compromete a facilitar a la Administración, en el\\n momento y en la forma en que ésta se lo indique, los datos y la\\n documentación, la documentación precisa para la resolución de su solicitud,\\n la cual declara estar en disposición de aportar.

\\n

SE COMPROMETE, en el caso de ser\\n seleccionado, a recibir el servicio de asesoramiento durante el tiempo de\\n duración del contrato derivado por parte de la entidad seleccionada, a\\n facilitar al técnico asesor los datos y la documentación necesaria para la\\n adecuada prestación del servicio, a someterse a los controles que la\\n Administración estime oportuno realizar con el fin de garantizar el correcto\\n funcionamiento del servicio de asesoramiento, incluidos los controles de\\n calidad y a facilitar a la Administración los datos y la documentación\\n necesaria para la correcta gestión de dicho servicio.

\\n

DOCUMENTACIÓN APORTADA junto a la presente solicitud. No\\n será preciso aportarla si ya fue presentada ante la Administración y no ha\\n sufrido modificaciones, debiéndose adjuntar en ese caso el anexo IV:

\\n

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

\\n En el caso de productores ecológicos o\\n productores que participen en programas de calidad de los alimentos,\\n certificado emitido por la autoridad competente que gestione el registro de\\n operadores de la figura de calidad diferenciada correspondiente, en el que se\\n indique dicha circunstancia. No será necesario aportar este certificado cuando\\n obre en poder de la Administración (C’alial, artesanos agroalimentarios e\\n IGP del vino).

\\n
\\n \\n

\\n En el caso de persona jurídica, copia de\\n las escrituras y/o estatutos registrados de la entidad solicitante, en su caso.

\\n
\\n \\n

\\n En el caso de persona jurídica, documento que acredite la representación

\\n
\\n \\n

\\n En el caso de persona jurídica que cumpla\\n la condición de joven agricultor, o mujer, según lo indicado en los puntos 9\\n y 10 del apartado noveno, relación de socios indicando su edad y sexo, si es\\n el caso, firmada por el representante de la entidad.\\n

\\n

Los datos personales\\n recogidos serán incorporados y tratados en el fichero “Sistema de las ayudas\\n de los Fondos europeos agrícolas gestionados por el Organismo Pagador de la\\n Comunidad Autónoma de Aragón”, cuya finalidad es la gestión y seguimiento\\n de las actividades de formación profesional y adquisición de competencias. El órgano responsable del fichero es la Secretaría General Técnica del Departamento de Desarrollo Rural y Sostenibilidad y la dirección donde el interesado podrá ejercer los derechos de acceso, rectificación, cancelación y oposición es Plaza San Pedro Nolasco, nº 7, 50071 Zaragoza (teléfono 976 714 000), lo cual se informa en cumplimiento del artículo 5 de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de datos de carácter personal. \\n

\\n

1. Marcar solo una de las 8 entidades de asesoramiento

\\n
\\n

- En ningún caso se podrán solicitar más\\n de dos serviciosde asesoramiento por solicitante.

\\n \\n

- Según el punto E.2 del PPT, para cada\\n área de actividad solo se puede solicitar un servicio de asesoramiento.

\\n \\n

- En caso de solicitar servicios de\\n asesoramiento a distintas entidades, que deberán corresponder a distintas\\n áreas de actividad, cumplimentar un anexo Ipara cada uno de los servicios de\\n asesoramiento que se solicita, indicando cual es el principal (2.1) y cuál el\\n segundo (2.2):

\\n

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

2. Área de asesoramiento en la que se solicita servicio de asesoramiento. Marcar con una X la que proceda.

\\n
\\n

- En caso de solicitar servicios de\\n asesoramiento en distintas áreas de actividad a la misma entidad, deberá\\n indicarlo en los cuadros inferiores marcando con una X el área de actividad en\\n la que está interesado en primer lugar (cuadro 2.1.) y en segundo lugar\\n (cuadro 2.2.).

\\n

- Modernización: seguimiento planes\\n aprobados últimos 5 años anteriores a la fecha de publicación de esta orden \\n

\\n
\\n

2.1. Asesoramiento principal ( solo se puede\\n marcar un área de actividad) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

2.2. Asesoramiento que se solicita en segundo lugar ( solo se puede marcar un área distinta de la marcada en 2.1.) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

3. Criterios de evaluación de las solicitudes. Marcar con una X el que proceda (*)

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

Características de la explotación o PYME

\\n

Características del titular de la explotación o\\n PYME

\\n

a.1.

\\n

a.2.

\\n

a.3.

\\n

a.4.

\\n

b.1.

\\n

b.2.

\\n

b.3. (DD/MM/AA)

\\n

b.4.

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


\\n

\\n
\\n

(*)a.1. Explotación agraria, forestal o PYME localizada en\\n zona con limitaciones naturales u otras limitaciones específicas.

\\n

a.2. Explotación agraria, forestal o PYME localizada en\\n zonas de la Red Natura 2000.

\\n

a.3. Explotación agraria calificada como prioritaria según\\n la Ley 19/1995 de modernización de explotaciones.

\\n

a.4. Explotación de titularidad compartida.

\\n

b.1. Que haya asumido compromisos agroambientales en PDR\\n 2014-2020.

\\n

b.2. Que sea un productor ecológico o participe en\\n programas de calidad de los alimentos.

\\n

b.3. Que sea agricultor joven o se haya resuelto su\\n incorporación a la actividad agraria en los últimos 5 años. En el caso de\\n personas jurídicas, deberá tener la condición de agricultor joven, al menos,\\n el 50 % de los socios/miembros.

\\n

b.4. Que sea mujer. En el caso de personas jurídicas,\\n deberá tener esta condición, al menos, el 50 % de los socios/miembros. Se\\n aportará relación de socios/miembros indicando el sexo.

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n


\\n

\\n \\n

Fdo: …………………………………………………………………………

\\n

DIRECTOR GENERAL DE DESARROLLO RURAL

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

\\n Solicitudes Formulario de Solicitud

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Solicitudes\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

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

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


\\n

\\n

ANEXO I

\\n \\n

Solicitud de servicios de\\n asesoramiento agrario para los titulares de explotaciones agrarias y forestales\\n y de PYME de las zonas rurales, en el marco del Programa de Desarrollo Rural de\\n Aragón 2014-2020, para 2019.
\\n

\\n
\\n

\\n \\n


\\n

\\n \\n

Datos del solicitante

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de Procedimiento Administrativo \\n común de las Administraciones Públicas\\n

\\n

En caso de representación, datos del representante

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de 1 de octubre\\n

\\n

Domicilio a efectos de notificaciones y otros avisos

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

Domicilio de la explotación o PYME

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

\\n

DECLARA que cuantos datos constan en la\\n solicitud son ciertos y se compromete a facilitar a la Administración, en el\\n momento y en la forma en que ésta se lo indique, los datos y la\\n documentación, la documentación precisa para la resolución de su solicitud,\\n la cual declara estar en disposición de aportar.

\\n

SE COMPROMETE, en el caso de ser\\n seleccionado, a recibir el servicio de asesoramiento durante el tiempo de\\n duración del contrato derivado por parte de la entidad seleccionada, a\\n facilitar al técnico asesor los datos y la documentación necesaria para la\\n adecuada prestación del servicio, a someterse a los controles que la\\n Administración estime oportuno realizar con el fin de garantizar el correcto\\n funcionamiento del servicio de asesoramiento, incluidos los controles de\\n calidad y a facilitar a la Administración los datos y la documentación\\n necesaria para la correcta gestión de dicho servicio.

\\n

DOCUMENTACIÓN APORTADA junto a la presente solicitud. No\\n será preciso aportarla si ya fue presentada ante la Administración y no ha\\n sufrido modificaciones, debiéndose adjuntar en ese caso el anexo IV:

\\n

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

\\n En el caso de productores ecológicos o\\n productores que participen en programas de calidad de los alimentos,\\n certificado emitido por la autoridad competente que gestione el registro de\\n operadores de la figura de calidad diferenciada correspondiente, en el que se\\n indique dicha circunstancia. No será necesario aportar este certificado cuando\\n obre en poder de la Administración (C’alial, artesanos agroalimentarios e\\n IGP del vino).

\\n
\\n \\n

\\n En el caso de persona jurídica, copia de\\n las escrituras y/o estatutos registrados de la entidad solicitante, en su caso.

\\n
\\n \\n

\\n En el caso de persona jurídica, documento que acredite la representación

\\n
\\n \\n

\\n En el caso de persona jurídica que cumpla\\n la condición de joven agricultor, o mujer, según lo indicado en los puntos 9\\n y 10 del apartado noveno, relación de socios indicando su edad y sexo, si es\\n el caso, firmada por el representante de la entidad.\\n

\\n

\\n El órgano responsable del tratamiento de los datos de carácter personal es la Dirección General \\n de Desarrollo Rural. Dichos datos serán tratados con la finalidad exclusiva de gestión de técnica \\n y administrativa de las solicitudes de subvención y ayudas prestadas ante el Departamento de \\n Desarrollo Rural y Sostenibilidad en materia de desarrollo rural. El tratamiento de los datos \\n se efectúa en cumplimiento de un interés legítimo del responsable. No se prevén cesiones de \\n los datos de carácter personal, sin perjuicio de las que prevea la legislación en materia de \\n protección de datos. Podrá ejercer sus derechos de acceso, rectificación, supresión y portabilidad \\n de sus datos, de limitación y oposición a su tratamiento, de conformidad con lo dispuesto en el \\n Reglamento General de Protección de Datos, ante la Dirección General de Desarrollo Rural, \\n dgdr@aragon.es. Podrá consultar información adicional y detallada en el Registro de Actividades \\n de Tratamiento de la Dirección General de Desarrollo Rural \\n “Registro de datos de carácter personal de ayudas gestionadas por el Departamento de \\n Desarrollo Rural y Sostenibilidad en materia de desarrollo rural”.

\\n

1. Marcar solo una de las 8 entidades de asesoramiento

\\n
\\n

- En ningún caso se podrán solicitar más\\n de dos serviciosde asesoramiento por solicitante.

\\n \\n

- Según el punto E.2 del PPT, para cada\\n área de actividad solo se puede solicitar un servicio de asesoramiento.

\\n \\n

- En caso de solicitar servicios de\\n asesoramiento a distintas entidades, que deberán corresponder a distintas\\n áreas de actividad, cumplimentar un anexo Ipara cada uno de los servicios de\\n asesoramiento que se solicita, indicando cual es el principal (2.1) y cuál el\\n segundo (2.2):

\\n

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

2. Área de asesoramiento en la que se solicita servicio de asesoramiento. Marcar con una X la que proceda.

\\n
\\n

- En caso de solicitar servicios de\\n asesoramiento en distintas áreas de actividad a la misma entidad, deberá\\n indicarlo en los cuadros inferiores marcando con una X el área de actividad en\\n la que está interesado en primer lugar (cuadro 2.1.) y en segundo lugar\\n (cuadro 2.2.).

\\n

- Modernización: seguimiento planes\\n aprobados últimos 5 años anteriores a la fecha de publicación de esta orden \\n

\\n
\\n

2.1. Asesoramiento principal ( solo se puede\\n marcar un área de actividad) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

2.2. Asesoramiento que se solicita en segundo lugar ( solo se puede marcar un área distinta de la marcada en 2.1.) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

3. Criterios de evaluación de las solicitudes. Marcar con una X el que proceda (*)

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

Características de la explotación o PYME

\\n

Características del titular de la explotación o\\n PYME

\\n

a.1.

\\n

a.2.

\\n

a.3.

\\n

a.4.

\\n

b.1.

\\n

b.2.

\\n

b.3. (DD/MM/AA)

\\n

b.4.

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


\\n

\\n
\\n

(*)a.1. Explotación agraria, forestal o PYME localizada en\\n zona con limitaciones naturales u otras limitaciones específicas.

\\n

a.2. Explotación agraria, forestal o PYME localizada en\\n zonas de la Red Natura 2000.

\\n

a.3. Explotación agraria calificada como prioritaria según\\n la Ley 19/1995 de modernización de explotaciones.

\\n

a.4. Explotación de titularidad compartida.

\\n

b.1. Que haya asumido compromisos agroambientales en PDR\\n 2014-2020.

\\n

b.2. Que sea un productor ecológico o participe en\\n programas de calidad de los alimentos.

\\n

b.3. Que sea agricultor joven o se haya resuelto su\\n incorporación a la actividad agraria en los últimos 5 años. En el caso de\\n personas jurídicas, deberá tener la condición de agricultor joven, al menos,\\n el 50 % de los socios/miembros.

\\n

b.4. Que sea mujer. En el caso de personas jurídicas,\\n deberá tener esta condición, al menos, el 50 % de los socios/miembros. Se\\n aportará relación de socios/miembros indicando el sexo.

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n


\\n

\\n \\n

Fdo: …………………………………………………………………………

\\n

DIRECTOR GENERAL DE DESARROLLO RURAL

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

\\n Solicitudes Formulario de Solicitud

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Solicitudes\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

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

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


\\n

\\n

ANEXO I

\\n\\n

Solicitud de servicios de\\n asesoramiento agrario para los titulares de explotaciones agrarias y forestales\\n y de PYME de las zonas rurales, en el marco del Programa de Desarrollo Rural de\\n Aragón 2014-2020, para 2020.
\\n

\\n
\\n

\\n\\n


\\n

\\n\\n

Datos del solicitante

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de Procedimiento Administrativo \\n común de las Administraciones Públicas\\n

\\n

En caso de representación, datos del representante

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de 1 de octubre\\n

\\n

Domicilio a efectos de notificaciones y otros avisos

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

Domicilio de la explotación o PYME

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

\\n

\\n DECLARA que cuantos datos constan en la solicitud son ciertos y se compromete a facilitar a la Administración, \\n en el momento y en la forma en que ésta se lo indique, los datos y la documentación precisa \\n para la resolución de su solicitud, la cual declara estar en disposición de aportar. \\n La persona jurídica solicitante declara, conforme al artículo 26 de la Ley 7/2018, de 28 de junio, \\n de igualdad de oportunidades entre mujeres y hombres, que no ha sido nunca objeto de sanción administrativa firme \\n ni de sentencia firme condenatoria por acciones u omisiones consideradas discriminatorias por la legislación vigente \\n por razón de género.\\n

SE COMPROMETE, en el caso de ser\\n seleccionado, a recibir el servicio de asesoramiento durante el tiempo de\\n duración del contrato derivado por parte de la entidad seleccionada, a\\n facilitar al técnico asesor los datos y la documentación necesaria para la\\n adecuada prestación del servicio, a someterse a los controles que la\\n Administración estime oportuno realizar con el fin de garantizar el correcto\\n funcionamiento del servicio de asesoramiento, incluidos los controles de\\n calidad y a facilitar a la Administración los datos y la documentación\\n necesaria para la correcta gestión de dicho servicio.

\\n

DOCUMENTACIÓN APORTADA junto a la presente solicitud. No\\n será preciso aportarla si ya fue presentada ante la Administración y no ha\\n sufrido modificaciones, debiéndose adjuntar en ese caso el anexo IV:

\\n

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

\\n En el caso de productores ecológicos o\\n productores que participen en programas de calidad de los alimentos,\\n certificado emitido por la autoridad competente que gestione el registro de\\n operadores de la figura de calidad diferenciada correspondiente, en el que se\\n indique dicha circunstancia. No será necesario aportar este certificado cuando\\n obre en poder de la Administración (C’alial, artesanos agroalimentarios e\\n IGP del vino).

\\n
\\n \\n

\\n En el caso de persona jurídica, copia de\\n las escrituras y/o estatutos registrados de la entidad solicitante, en su caso.

\\n
\\n \\n

\\n En el caso de persona jurídica, documento que acredite la representación de la persona física o jurídica.

\\n
\\n \\n

\\n En el caso de persona jurídica que cumpla\\n la condición de joven agricultor, o mujer, según lo indicado en los puntos 9\\n y 10 del apartado noveno, relación de socios indicando su edad y sexo, si es\\n el caso, firmada por el representante de la entidad.\\n

\\n

\\n El órgano responsable del tratamiento de los datos de carácter personal es la Dirección General \\n de Desarrollo Rural. Dichos datos serán tratados con el fin exclusivo de recoger los datos de \\n carácter personal de los solicitantes de las ayudas gestionadas por el Departamento en materia \\n de desarrollo rural. La licitud del tratamiento de sus datos es el ejercicio de un interés público \\n conforme al artículo 6.e) del Reglamento General de Protección de Datos y el artículo 8 de la \\n Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y Garantía de los \\n Derechos digitales. No se comunicarán datos de terceros, salvo obligación legal. \\n Podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante la \\n Dirección General de Desarrollo Rural, Plaza de San Pedro Nolasco n.º 7, 50071 Zaragoza, \\n email: dgdr@aragon.es. Podrá consultar información adicional y detallada en el Registro de Actividades de \\n Tratamiento del Gobierno de Aragón \\n “SISTEMA DE LAS AYUDAS GESTIONADAS POR EL DEPARTAMENTO DE AGRICULTURA, GANADERIA Y MEDIO AMBIENTE \\n EN MATERIA DE DESARROLLO RURAL”, \\n http://aplicaciones.aragon.es/notif_lopd_pub/\\\"http://aplicaciones.aragon.es/notif_lopd_pub/\\n

\\n

1. Marcar solo una de las 8 entidades de asesoramiento

\\n
\\n

- En ningún caso se podrán solicitar más\\n de dos serviciosde asesoramiento por solicitante.

\\n \\n

- Según el punto E.2 del PPT, para cada\\n área de actividad solo se puede solicitar un servicio de asesoramiento.

\\n \\n

- En caso de solicitar servicios de\\n asesoramiento a distintas entidades, que deberán corresponder a distintas\\n áreas de actividad, cumplimentar un anexo Ipara cada uno de los servicios de\\n asesoramiento que se solicita, indicando cual es el principal (2.1) y cuál el\\n segundo (2.2):

\\n

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

2. Área de asesoramiento en la que se solicita servicio de asesoramiento. Marcar con una X la que proceda.

\\n
\\n

- En caso de solicitar servicios de\\n asesoramiento en distintas áreas de actividad a la misma entidad, deberá\\n indicarlo en los cuadros inferiores marcando con una X el área de actividad en\\n la que está interesado en primer lugar (cuadro 2.1.) y en segundo lugar\\n (cuadro 2.2.).

\\n

- Modernización: seguimiento planes\\n aprobados últimos 5 años anteriores a la fecha de publicación de esta orden \\n

\\n
\\n

2.1. Asesoramiento principal ( solo se puede\\n marcar un área de actividad) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

2.2. Asesoramiento que se solicita en segundo lugar ( solo se puede marcar un área distinta de la marcada en 2.1.) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

3. Criterios de evaluación de las solicitudes. Marcar con una X el que proceda (*)

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

Características de la explotación o PYME

\\n

Características del titular de la explotación o\\n PYME

\\n

a.1.

\\n

a.2.

\\n

a.3.

\\n

a.4.

\\n

b.1.

\\n

b.2.

\\n

b.3. (DD/MM/AA)

\\n

b.4.

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


\\n

\\n
\\n

(*)a.1. Explotación agraria, forestal o PYME localizada en\\n zona con limitaciones naturales u otras limitaciones específicas.

\\n

a.2. Explotación agraria, forestal o PYME localizada en\\n zonas de la Red Natura 2000.

\\n

a.3. Explotación agraria calificada como prioritaria según\\n la Ley 19/1995 de modernización de explotaciones.

\\n

a.4. Explotación de titularidad compartida.

\\n

b.1. Que haya asumido compromisos agroambientales en PDR\\n 2014-2020.

\\n

b.2. Que sea un productor ecológico o participe en\\n programas de calidad de los alimentos.

\\n

b.3. Que sea agricultor joven o se haya resuelto su\\n incorporación a la actividad agraria en los últimos 5 años. En el caso de\\n personas jurídicas, deberá tener la condición de agricultor joven, al menos,\\n el 50 % de los socios/miembros.

\\n

b.4. Que sea mujer. En el caso de personas jurídicas,\\n deberá tener esta condición, al menos, el 50 % de los socios/miembros. Se\\n aportará relación de socios/miembros indicando el sexo.

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n


\\n

\\n \\n

Fdo: …………………………………………………………………………

\\n
\\n

DIRECTOR GENERAL DE DESARROLLO RURAL

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

\\n Solicitudes Formulario de Solicitud

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Solicitudes\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n

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

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


\\n

\\n

ANEXO I

\\n\\n

Solicitud de servicios de\\n asesoramiento agrario para los titulares de explotaciones agrarias y forestales\\n y de PYME de las zonas rurales, en el marco del Programa de Desarrollo Rural de\\n Aragón 2014-2020, para 2021.
\\n

\\n
\\n

\\n\\n


\\n

\\n\\n

Datos de la persona que solicita

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de Procedimiento Administrativo \\n común de las Administraciones Públicas\\n

\\n

En caso de representación, datos del representante

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

El solicitante autoriza que se comprueben los datos de identidad \\n a través de la D.G. de Policía a los efectos de esta solicitud. \\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015, \\n de 1 de octubre\\n

\\n

Domicilio a efectos de notificaciones y otros avisos

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

\\n

Domicilio de la explotación o PYME

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

\\n

\\n

\\n DECLARA que cuantos datos constan en la solicitud son ciertos y se compromete a facilitar a la Administración, \\n en el momento y en la forma en que ésta se lo indique, los datos y la documentación precisa \\n para la resolución de su solicitud, la cual declara estar en disposición de aportar. \\n La persona jurídica solicitante declara, conforme al artículo 26 de la Ley 7/2018, de 28 de junio, \\n de igualdad de oportunidades entre mujeres y hombres, que no ha sido nunca objeto de sanción administrativa firme \\n ni de sentencia firme condenatoria por acciones u omisiones consideradas discriminatorias por la legislación vigente \\n por razón de género.\\n

SE COMPROMETE, en el caso de ser\\n seleccionado, a recibir el servicio de asesoramiento durante el tiempo de\\n duración del contrato derivado por parte de la entidad seleccionada, a\\n facilitar al técnico asesor los datos y la documentación necesaria para la\\n adecuada prestación del servicio, a someterse a los controles que la\\n Administración estime oportuno realizar con el fin de garantizar el correcto\\n funcionamiento del servicio de asesoramiento, incluidos los controles de\\n calidad y a facilitar a la Administración los datos y la documentación\\n necesaria para la correcta gestión de dicho servicio.

\\n

DOCUMENTACIÓN APORTADA junto a la presente solicitud. No\\n será preciso aportarla si ya fue presentada ante la Administración y no ha\\n sufrido modificaciones, debiéndose adjuntar en ese caso el anexo IV:

\\n

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

\\n En el caso de productores ecológicos o\\n productores que participen en programas de calidad de los alimentos,\\n certificado emitido por la autoridad competente que gestione el registro de\\n operadores de la figura de calidad diferenciada correspondiente, en el que se\\n indique dicha circunstancia. No será necesario aportar este certificado cuando\\n obre en poder de la Administración (C’alial, artesanos agroalimentarios e\\n IGP del vino).

\\n
\\n \\n

\\n En el caso de persona jurídica, copia de\\n las escrituras y/o estatutos registrados de la entidad solicitante, en su caso.

\\n
\\n \\n

\\n En el caso de persona jurídica, documento que acredite la representación de la persona física o jurídica.

\\n
\\n \\n

\\n En el caso de persona jurídica que cumpla\\n la condición de joven agricultor, o mujer, según lo indicado en los puntos 9\\n y 10 del apartado noveno, relación de socios indicando su edad y sexo, si es\\n el caso, firmada por el representante de la entidad.\\n

\\n

\\n El responsable del tratamiento de tus datos personales es la Dirección General de Desarrollo Rural. \\n La finalidad de este tratamiento es recoger los datos de carácter personal de los solicitantes de las ayudas \\n gestionadas por el Departamento en materia de desarrollo rural. La legitimación para realizar el tratamiento \\n de datos nos la da el cumplimiento de una obligación legal. No vamos a comunicar tus datos personales a terceros \\n destinatarios salvo obligación legal. Podrás ejercer tus derechos de acceso, rectificación , supresión y \\n portabilidad de los datos o de limitación y oposición a su tratamiento, así como a no ser objeto de decisiones \\n individuales automatizadas a través de la sede electrónica de la Administración de la Comunidad Autónoma de Aragón \\n con los formularios normalizados disponibles. Puedes obtener información adicional en el Registro de Actividades \\n de tratamiento del Gobierno de Aragón, “SISTEMA DE AYUDAS EN MATERIA DE DESARROLLO RURAL” en el \\n siguiente enlace https://aplicaciones.aragon.es/notif_lopd_pub/details.action?fileId=131.\\n

\\n

1. Marcar solo una de las siguentes entidades de asesoramiento

\\n
\\n

- En ningún caso se podrán solicitar más\\n de dos serviciosde asesoramiento por solicitante.

\\n \\n

- Según el punto E.2 del PPT, para cada\\n área de actividad solo se puede solicitar un servicio de asesoramiento.

\\n \\n

- En caso de solicitar servicios de\\n asesoramiento a distintas entidades, que deberán corresponder a distintas\\n áreas de actividad, cumplimentar un anexo Ipara cada uno de los servicios de\\n asesoramiento que se solicita, indicando cual es el principal (2.1) y cuál el\\n segundo (2.2):

\\n

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

2. Área de asesoramiento en la que se solicita servicio de asesoramiento. Marcar con una X la que proceda.

\\n
\\n

- En caso de solicitar servicios de\\n asesoramiento en distintas áreas de actividad a la misma entidad, deberá\\n indicarlo en los cuadros inferiores marcando con una X el área de actividad en\\n la que está interesado en primer lugar (cuadro 2.1.) y en segundo lugar\\n (cuadro 2.2.).

\\n

- Modernización: seguimiento planes\\n aprobados últimos 5 años anteriores a la fecha de publicación de esta orden \\n

\\n
\\n

2.1. Asesoramiento principal ( solo se puede\\n marcar un área de actividad) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

2.2. Asesoramiento que se solicita en segundo lugar ( solo se puede marcar un área distinta de la marcada en 2.1.) :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n

3. Criterios de evaluación de las solicitudes. Marcar con una X el que proceda (*)

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

Características de la explotación o PYME

\\n

Características del titular de la explotación o\\n PYME

\\n

a.1.

\\n

a.2.

\\n

a.3.

\\n

a.4.

\\n

b.1.

\\n

b.2.

\\n

b.3. (DD/MM/AA)

\\n

b.4.

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


\\n

\\n
\\n

(*)a.1. Explotación agraria, forestal o PYME localizada en\\n zona con limitaciones naturales u otras limitaciones específicas.

\\n

a.2. Explotación agraria, forestal o PYME localizada en\\n zonas de la Red Natura 2000.

\\n

a.3. Explotación agraria calificada como prioritaria según\\n la Ley 19/1995 de modernización de explotaciones.

\\n

a.4. Explotación de titularidad compartida.

\\n

b.1. Que haya asumido compromisos agroambientales en PDR\\n 2014-2020.

\\n

b.2. Que sea un productor ecológico o participe en\\n programas de calidad de los alimentos.

\\n

b.3. Que sea agricultor joven o se haya resuelto su\\n incorporación a la actividad agraria en los últimos 5 años. En el caso de\\n personas jurídicas, deberá tener la condición de agricultor joven, al menos,\\n el 50 % de los socios/miembros.

\\n

b.4. Que sea mujer. En el caso de personas jurídicas,\\n deberá tener esta condición, al menos, el 50 % de los socios/miembros. Se\\n aportará relación de socios/miembros indicando el sexo.

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n


\\n

\\n \\n

Fdo: …………………………………………………………………………

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

DIRECTOR GENERAL DE DESARROLLO RURAL

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

\\n Solicitudes Formulario de Solicitud

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Solicitudes\\n
  4. \\n
  5. \\n Formulario de solicitud\\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n

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

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


\\n

\\n

ANEXO I

\\n\\n

Solicitud de servicios de\\n asesoramiento agrario para los titulares de explotaciones agrarias y forestales\\n y de PYME de las zonas rurales, en el marco del Programa de Desarrollo Rural de\\n Aragón 2014-2020, para 2022.
\\n

\\n
\\n

\\n\\n


\\n

\\n\\n

Datos de la persona que solicita

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

El solicitante autoriza que se comprueben los datos de identidad\\n a través de la D.G. de Policía a los efectos de esta solicitud.\\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015,\\n de Procedimiento Administrativo\\n común de las Administraciones Públicas\\n

\\n

En caso de representación, datos del representante

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

El solicitante autoriza que se comprueben los datos de identidad\\n a través de la D.G. de Policía a los efectos de esta solicitud.\\n En caso de NO autorizar deberá aportar copia del DNI (art 28.2. de la Ley 39/2015,\\n de 1 de octubre\\n

\\n

Domicilio a efectos de notificaciones y otros avisos

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

\\n

Domicilio de la explotación o PYME

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

\\n

\\n

\\n DECLARA que cuantos datos constan en la solicitud son ciertos y se compromete a facilitar a la Administración,\\n en el momento y en la forma en que ésta se lo indique, los datos y la documentación precisa\\n para la resolución de su solicitud, la cual declara estar en disposición de aportar.\\n La persona jurídica solicitante declara, conforme al artículo 26 de la Ley 7/2018, de 28 de junio,\\n de igualdad de oportunidades entre mujeres y hombres, que no ha sido nunca objeto de sanción administrativa firme\\n ni de sentencia firme condenatoria por acciones u omisiones consideradas discriminatorias por la legislación vigente\\n por razón de género.\\n

SE COMPROMETE, en el caso de ser\\n seleccionado, a recibir el servicio de asesoramiento durante el tiempo de\\n duración del contrato derivado por parte de la entidad seleccionada, a\\n facilitar al técnico asesor los datos y la documentación necesaria para la\\n adecuada prestación del servicio, a someterse a los controles que la\\n Administración estime oportuno realizar con el fin de garantizar el correcto\\n funcionamiento del servicio de asesoramiento, incluidos los controles de\\n calidad y a facilitar a la Administración los datos y la documentación\\n necesaria para la correcta gestión de dicho servicio.

\\n

DOCUMENTACIÓN APORTADA junto a la presente solicitud. No\\n será preciso aportarla si ya fue presentada ante la Administración y no ha\\n sufrido modificaciones, debiéndose adjuntar en ese caso el anexo IV:

\\n

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

\\n En el caso de productores ecológicos o\\n productores que participen en programas de calidad de los alimentos,\\n certificado emitido por la autoridad competente que gestione el registro de\\n operadores de la figura de calidad diferenciada correspondiente, en el que se\\n indique dicha circunstancia. No será necesario aportar este certificado cuando\\n obre en poder de la Administración (C’alial, artesanos agroalimentarios e\\n IGP del vino).

\\n
\\n \\n

\\n En el caso de persona jurídica, copia de\\n las escrituras y/o estatutos registrados de la entidad solicitante, en su caso.

\\n
\\n \\n

\\n En el caso de persona jurídica, documento que acredite la representación de la persona física o jurídica.

\\n
\\n \\n

\\n En el caso de persona jurídica que cumpla\\n la condición de joven agricultor, o mujer, según lo indicado en los puntos 9\\n y 10 del apartado noveno, relación de socios indicando su edad y sexo, si es\\n el caso, firmada por el representante de la entidad.\\n

\\n

\\n El responsable del tratamiento de tus datos personales es la Dirección General de Desarrollo Rural.\\n La finalidad de este tratamiento es recoger los datos de carácter personal de los solicitantes de las ayudas\\n gestionadas por el Departamento en materia de desarrollo rural. La legitimación para realizar el tratamiento\\n de datos nos la da el cumplimiento de una obligación legal. No vamos a comunicar tus datos personales a terceros\\n destinatarios salvo obligación legal. Podrás ejercer tus derechos de acceso, rectificación , supresión y\\n portabilidad de los datos o de limitación y oposición a su tratamiento, así como a no ser objeto de decisiones\\n individuales automatizadas a través de la sede electrónica de la Administración de la Comunidad Autónoma de Aragón\\n con los formularios normalizados disponibles. Puedes obtener información adicional en el Registro de Actividades\\n de tratamiento del Gobierno de Aragón, “SISTEMA DE AYUDAS EN MATERIA DE DESARROLLO RURAL” en el\\n siguiente enlace https://aplicaciones.aragon.es/notif_lopd_pub/details.action?fileId=131.\\n

\\n

1. Marcar solo una de las siguentes entidades de asesoramiento

\\n
\\n

- En ningún caso se podrán solicitar más\\n de dos serviciosde asesoramiento por solicitante.

\\n\\n

- Según el punto E.2 del PPT, para cada\\n área de actividad solo se puede solicitar un servicio de asesoramiento.

\\n\\n

- En caso de solicitar servicios de\\n asesoramiento a distintas entidades, que deberán corresponder a distintas\\n áreas de actividad, cumplimentar un anexo Ipara cada uno de los servicios de\\n asesoramiento que se solicita, indicando cual es el principal (2.1) y cuál el\\n segundo (2.2):

\\n

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

2. Área de asesoramiento en la que se solicita servicio de asesoramiento. Marcar con una X la que proceda.

\\n
\\n

- En caso de solicitar servicios de\\n asesoramiento en distintas áreas de actividad a la misma entidad, deberá\\n indicarlo en los cuadros inferiores marcando con una X el área de actividad en\\n la que está interesado en primer lugar (cuadro 2.1.) y en segundo lugar\\n (cuadro 2.2.).

\\n

- Modernización: seguimiento planes\\n aprobados últimos 5 años anteriores a la fecha de publicación de esta orden\\n

\\n
\\n

2.1. Asesoramiento principal ( solo se puede\\n marcar un área de actividad) :

\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n\\n

2.2. Asesoramiento que se solicita en segundo lugar ( solo se puede marcar un área distinta de la marcada en 2.1.) :

\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AGRARIA:\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n\\n

3. Criterios de evaluación de las solicitudes. Marcar con una X el que proceda (*)

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

Características de la explotación o PYME

\\n

Características del titular de la explotación o\\n PYME

\\n

a.1.

\\n

a.2.

\\n

a.3.

\\n

a.4.

\\n

b.1.

\\n

b.2.

\\n

b.3. (DD/MM/AA)

\\n

b.4.

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


\\n

\\n
\\n

(*)a.1. Explotación agraria, forestal o PYME localizada en\\n zona con limitaciones naturales u otras limitaciones específicas.

\\n

a.2. Explotación agraria, forestal o PYME localizada en\\n zonas de la Red Natura 2000.

\\n

a.3. Explotación agraria calificada como prioritaria según\\n la Ley 19/1995 de modernización de explotaciones.

\\n

a.4. Explotación de titularidad compartida.

\\n

b.1. Que haya asumido compromisos agroambientales en PDR\\n 2014-2020.

\\n

b.2. Que sea un productor ecológico o participe en\\n programas de calidad de los alimentos.

\\n

b.3. Que sea agricultor joven o se haya resuelto su\\n incorporación a la actividad agraria en los últimos 5 años. En el caso de\\n personas jurídicas, deberá tener la condición de agricultor joven, al menos,\\n el 50 % de los socios/miembros.

\\n

b.4. Que sea mujer. En el caso de personas jurídicas,\\n deberá tener esta condición, al menos, el 50 % de los socios/miembros. Se\\n aportará relación de socios/miembros indicando el sexo.

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
En\\n \\n \\n a\\n \\n \\n
\\n\\n


\\n

\\n\\n

Fdo: …………………………………………………………………………

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

DIRECTOR GENERAL DE DESARROLLO RURAL

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

\\n Tecnicos Ficha de Técnico

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Tecnicos\\n
  4. \\n
  5. \\n Ficha de Técnico\\n
  6. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n


\\n

\\n

FICHA DE TECNICO DE ASESORAMIENTO.
\\n
\\n

\\n
\\n
\\n

Datos básicos:

\\n

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

Entidad :

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

Contacto :

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

\\n Visitas Detalle de visita

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final\\n
  6. \\n
  7. \\n Detalle de visita \\n
  8. \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n Nº EXPEDIENTE {{model.nexp}}/18
\\n FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2018.
\\n

\\n

DETALLE DE VISITA

\\n
\\n
\\n

\\n

Fecha y localidad :

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

\\n

Horas y km incurridos :

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

\\n

Recomendación :

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

\\n

Opciones :

\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n Se han tomado muestras de laboratorio.\\n
\\n \\n \\n \\n Se adjuntan fotos de campo.\\n
\\n \\n \\n \\n Se ha aplicado la recomendación.\\n
\\n

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

\\n Visitas Ficha de visitas

\\n
    \\n
  1. \\n Home\\n
  2. \\n
  3. \\n Visitas\\n
  4. \\n
  5. \\n Ficha de visitas e informe final \\n
  6. \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n

Nº EXPEDIENTE {{model.nexp}}/18

\\n

FICHA DE VISITAS E INFORME FINAL DE ASESORAMIENTO 2018.
\\n
\\n

\\n
\\n
\\n

\\n

El asesorado :

\\n

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

\\n

El asesor :

\\n

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

Area de actividad :

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

AGRARIA :

\\n
\\n Incorporación Jóvenes, \\n Modernización, \\n Otro \\n
\\n

FORESTAL :

\\n
\\n Forestal\\n
\\n

PYME :

\\n
\\n PYME\\n
\\n

Materia de consulta en actividad agraria :

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

TECNICA :

\\n
\\n Alim.Animal, \\n Sanidad Animal, \\n Manejo reproductivo, \\n Sanidad vegetal,
\\n Fertilización, \\n Suelos y riegos, \\n Seg. cultivos, \\n Agr. Precisión,
\\n Seg. económico, \\n Mejoras en cultivos, \\n Mig y adaptación al CC
\\n
\\n

NORMATIVA :

\\n
\\n RLG y BCAM (condicionalidad), \\n Greeening PAC, \\n Modern. E innovación explot,
\\n Directiva marco agua, \\n Gestión integrada plagas, \\n Seguridad laboral
\\n
\\n

OTRAS :

\\n
\\n Biodiversidad, \\n Protección del agua, \\n Cadenas cortas, \\n Producciones ecológicas
\\n
\\n

PYME :

\\n
\\n Resultados económicos y medioambientales, \\n
\\n

FORESTAL :

\\n
\\n Conserv habitats y fauna, \\n Conserv aves silvestres, \\n Directiva marco agua,
\\n Rendimiento economico y ambiental
\\n
\\n

Visitas :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaLocalidadMatr.HorasKm
{{ formatFecha(visita.fecha) }}{{ visita.loc }}{{ visita.matricula }}{{ visita.horas }}{{ visita.km }}\\n \\n \\n
TOTAL{{ model2.totalHoras}}{{ model2.totalKm }}\\n \\n
\\n

Recomendaciones :

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
FechaRecomendaciónMues.FotoApli.
{{ formatFecha(visita.fecha) }}{{ visita.recomend }}{{ visita.muestras ? '✓' : ' ' }}{{ visita.foto ? '✓' : ' ' }}{{ visita.aplic ? '✓' : ' ' }}\\n
\\n

Valoracion final del asesoramiento :

\\n \\n \\n

\\n {{ model.valoracion.trim() }}\\n

\\n \\n \\n \\n \\n \\n \\n \\n \\n
En \\n \\n \\n a \\n \\n \\n
\\n \\n \\n \\n \\n
\\n

\\n El titular de la explotación\\n o representante legal\\n



\\n

Fdo: …………………………………………………………………………

\\n
\\n

\\n El técnico asesor\\n



\\n

Fdo: …………………………………………………………………………

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

IN+

\\n
\\n

Welcome to IN+

\\n

Perfectly designed and precisely prepared admin theme with over 50 pages with extra new web app views.\\n

\\n

Login in. To see it in action.

\\n
\\n
\\n \\n
\\n
\\n \\n
\\n \\n\\n Forgot password?\\n

Do not have an account?

\\n Create an account\\n
\\n

Inspinia we app framework base on Bootstrap 3 © 2014

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

\\n {{ 'HOME.Welcome | translate' }}\\n

\\n \\n {{ 'HOME.Descr | translate' }}\\n \\n
\\n
\\n
\\n
\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n})\nexport class AppComponent {\n\n constructor(public vcRef: ViewContainerRef) { }\n\n}\n","/*\n * Inspinia js helpers:\n *\n * correctHeight() - fix the height of main wrapper\n * detectBody() - detect windows size\n * smoothlyMenu() - add smooth fade in/out on navigation show/ide\n *\n */\n\ndeclare var jQuery:any;\n\nexport function correctHeight() {\n\n var pageWrapper = jQuery('#page-wrapper');\n var navbarHeight = jQuery('nav.navbar-default').height();\n var wrapperHeight = pageWrapper.height();\n\n if (navbarHeight > wrapperHeight) {\n pageWrapper.css(\"min-height\", navbarHeight + \"px\");\n }\n\n if (navbarHeight <= wrapperHeight) {\n if (navbarHeight < jQuery(window).height()) {\n pageWrapper.css(\"min-height\", jQuery(window).height() + \"px\");\n } else {\n pageWrapper.css(\"min-height\", navbarHeight + \"px\");\n }\n }\n\n if (jQuery('body').hasClass('fixed-nav')) {\n if (navbarHeight > wrapperHeight) {\n pageWrapper.css(\"min-height\", navbarHeight + \"px\");\n } else {\n pageWrapper.css(\"min-height\", jQuery(window).height() - 60 + \"px\");\n }\n }\n}\n\nexport function detectBody() {\n if (jQuery(document).width() < 769) {\n jQuery('body').addClass('body-small')\n } else {\n jQuery('body').removeClass('body-small')\n }\n}\n\nexport function smoothlyMenu() {\n if (!jQuery('body').hasClass('mini-navbar') || jQuery('body').hasClass('body-small')) {\n // Hide menu in order to smoothly turn on when maximize menu\n jQuery('#side-menu').hide();\n // For smoothly turn on menu\n setTimeout(\n function () {\n jQuery('#side-menu').fadeIn(400);\n }, 200);\n } else if (jQuery('body').hasClass('fixed-sidebar')) {\n jQuery('#side-menu').hide();\n setTimeout(\n function () {\n jQuery('#side-menu').fadeIn(400);\n }, 100);\n } else {\n // Remove all inline style from jquery fadeIn function to reset menu state\n jQuery('#side-menu').removeAttr('style');\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// import { HttpModule } from '@angular/http';\nimport { HttpClientModule } from '@angular/common/http';\nimport {RouterModule} from '@angular/router';\nimport {LocationStrategy, HashLocationStrategy} from '@angular/common';\nimport { AppComponent } from './app.component';\n// App views\nimport {AppviewsModule} from './views/appviews/appviews.module';\n// App modules/components\nimport { LayoutsModule } from './components/common/layouts/layouts.module';\nimport { ChilWebModule } from './chil/chilweb/chilweb.module';\nimport { ROUTES } from './app.routes';\nimport { ModalModule } from 'ngx-bootstrap/modal';\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n //HttpModule,\n HttpClientModule,\n LayoutsModule,\n AppviewsModule,\n ChilWebModule,\n RouterModule.forRoot(ROUTES),\n ModalModule.forRoot()\n ],\n providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}],\n exports: [ RouterModule ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n\n}\n","import {Routes} from '@angular/router';\n\nimport {BlankLayoutComponent} from './components/common/layouts/blankLayout.component';\nimport {BasicLayoutComponent} from './components/common/layouts/basicLayout.component';\n\nimport { ChLoginComponent } from './chil/login/ch-login/ch-login.component';\nimport { ChAppleCallbackComponent } from './chil/login/ch-apple-callback/ch-apple-callback.component';\n\nimport { CHAuthGuard } from 'app/chil/login/ch-auth.guard';\nimport { Error404Component } from 'app/chil/errors/error404/error404.component';\nimport { ChDatabaseEditorComponent } from 'app/chil/data/ch-databaseeditor/ch-databaseeditor.component';\nimport { ChDatatableBrowserComponent } from 'app/chil/data/ch-datatablebrowser/ch-datatablebrowser.component';\nimport { ChTableEditorComponent } from './chil/data/ch-table-editor/ch-table-editor.component';\nimport { SiasaSolicitudComponent } from './siasa/siasa-solicitud/siasa-solicitud.component';\nimport { SiasaSolicitud2019Component } from './siasa/siasa-solicitud2019/siasa-solicitud2019.component';\nimport { SiasaContratoComponent } from './siasa/siasa-contrato/siasa-contrato.component';\nimport { SiasaTecnicoComponent } from './siasa/siasa-tecnico/siasa-tecnico.component';\nimport { SiasaVisitaComponent } from './siasa/siasa-visita/siasa-visita.component';\nimport { SiasaVisitaDetalleComponent } from './siasa/siasa-visita-detalle/siasa-visita-detalle.component';\nimport { HomeviewComponent } from 'app/chil/chilweb/homeview/homeview.component';\nimport { ChContentRootComponent } from 'app/chil/wall/ch-contentroot/ch-contentroot.component';\nimport { ChCategoryBrowserComponent } from 'app/chil/categories/ch-category-browser/ch-category-browser.component';\nimport { ChEmail } from './chil/mail/ch-email/ch-email';\nimport { ChCategoryContentEditorComponent } from './chil/categories/ch-category-content-editor/ch-category-content-editor.component';\nimport { SiasaContrato2019Component } from './siasa/siasa-contrato2019/siasa-contrato2019.component';\nimport { ChListsBrowserComponent } from './chil/population/ch-lists-browser/ch-lists-browser.component';\nimport { ChPostsAnalyticsComponent } from './chil/analytics/ch-posts-analytics/ch-posts-analytics.component';\nimport { ChPageAnalyticsComponent } from './chil/analytics/ch-page-analytics/ch-page-analytics.component';\nimport { ChListsAnalyticsComponent } from './chil/analytics/ch-lists-analytics/ch-lists-analytics.component';\nimport { SiasaVisitaDetalle2019Component } from './chil/proyectos/siasa/siasa-visita-detalle2019/siasa-visita-detalle2019.component';\nimport { SiasaVisita2019Component } from './chil/proyectos/siasa/siasa-visita2019/siasa-visita2019.component';\nimport { ChCloudBrowserComponent } from './chil/cloud/ch-cloud-browser/ch-cloud-browser.component';\nimport { ChZoneBrowserComponent } from './chil/zone/ch-zone-browser/ch-zone-browser.component';\nimport { ChSystemConfigComponent } from './chil/system/ch-system-config/ch-system-config';\nimport { ChMobileConfComponent } from './chil/mobile/ch-mobile-conf-browser/ch-mobile-conf-browser';\n\nimport { ChCommerceConfigComponent } from './chil/comercio/ch-commerce-config/ch-commerce-config.component';\nimport { ChProductListComponent } from './chil/comercio/ch-product-list/ch-product-list.component';\n\nimport { InfopacConsultaComponent } from './infopac/infopac-consulta/infopac-consulta.component';\n\nimport { AgrovivaEntregaComponent } from './chil/proyectos/agroviva/agroviva-entrega/agroviva-entrega.component';\nimport { AgrovivaEntregaDetalleComponent } from './chil/proyectos/agroviva/agroviva-entrega-detalle/agroviva-entrega-detalle.component';\n\nimport { SiasaSolicitud2020Component } from './siasa/siasa-solicitud2020/siasa-solicitud2020.component';\nimport { SiasaContrato2020Component } from './siasa/siasa-contrato2020/siasa-contrato2020.component';\nimport { SiasaVisita2020Component } from './chil/proyectos/siasa/siasa-visita2020/siasa-visita2020.component';\nimport { SiasaVisitaDetalle2020Component } from './chil/proyectos/siasa/siasa-visita-detalle2020/siasa-visita-detalle2020.component';\n\nimport { SiasaSolicitud2021Component } from './siasa/siasa-solicitud2021/siasa-solicitud2021.component';\nimport { SiasaContrato2021Component } from './siasa/siasa-contrato2021/siasa-contrato2021.component';\n\nimport { SiasaSolicitud2022Component } from './siasa/siasa-solicitud2022/siasa-solicitud2022.component';\n\nimport { ChMailConfigComponent } from './chil/mail/ch-mail-config/ch-mail-config.component';\nimport { ChMailTemplatesComponent } from './chil/mail/ch-mail-templates/ch-mail-templates.component';\nimport { ChFormsRootComponent } from './chil/wall/ch-formsroot/ch-formsroot.component';\nimport { ChProductEditorComponent } from './chil/comercio/ch-product-editor/ch-product-editor.component';\nimport { ChOrderEditorComponent } from './chil/comercio/ch-order-editor/ch-order-editor.component';\nimport { ChOrderEditorDetailComponent } from './chil/comercio/ch-order-editor-detail/ch-order-editor-detail.component';\nimport { ChChannelListEditorComponent } from './chil/comercio/ch-channel-list-editor/ch-channel-list-editor.component';\nimport { SiasaVisita2021Component } from './chil/proyectos/siasa/siasa-visita2021/siasa-visita2021.component';\nimport { SiasaVisitaDetalle2021Component } from './chil/proyectos/siasa/siasa-visita-detalle2021/siasa-visita-detalle2021.component';\nimport { ChOrderBrowserComponent } from './chil/comercio/ch-order-browser/ch-order-browser.component';\nimport { ChInvoiceBrowserComponent } from './chil/comercio/ch-invoice-browser/ch-invoice-browser.component';\nimport { ChInvoiceEditorComponent } from './chil/comercio/ch-invoice-editor/ch-invoice-editor.component';\nimport { SiasaContrato2022Component } from './siasa/siasa-contrato2022/siasa-contrato2022.component';\nimport { SiasaVisitaDetalle2022Component } from './chil/proyectos/siasa/siasa-visita-detalle2022/siasa-visita-detalle2022.component';\nimport { SiasaVisita2022Component } from './chil/proyectos/siasa/siasa-visita2022/siasa-visita2022.component';\n\nimport { BugEditWindowComponent } from './chil/proyectos/depuracion/bug-edit-window/bug-edit-window.component';\n\nimport { ChWebDesignRootComponent } from './chil/design/ch-web-design-root/ch-web-design-root.component';\n\nimport { ChAccountAdminComponent } from './chil/account/ch-account-admin/ch-account-admin.component';\nimport { ChAccountAdminNomenuComponent } from './chil/account/ch-account-admin-nomenu/ch-account-admin-nomenu.component';\nimport { ChAccountMysitesComponent } from './chil/account/ch-account-mysites/ch-account-mysites.component';\nimport { ChChatgptMainComponent } from './chil/chatGPT/ch-chatgpt-main/ch-chatgpt-main.component';\nimport { ChActivtyAnalyticsComponent } from './chil/analytics/ch-activty-analytics/ch-activty-analytics.component';\nimport { ChChilAdminMasterComponent } from './chil/chiladmin/ch-chil-admin-master/ch-chil-admin-master';\nimport { ChChilAdminCopyWebsComponent } from './chil/chiladmin/ch-chil-admin-copy-webs/ch-chil-admin-copy-webs';\n\nexport const ROUTES: Routes = [\n // Main redirect\n {path: '', redirectTo: 'login', pathMatch: 'prefix'},\n //{path: '', redirectTo: '404', pathMatch: 'prefix'},\n //{path: '', redirectTo: 'home', pathMatch: 'full'},\n {path: '404', component: Error404Component},\n\n // App views\n {\n path: 'login', component: ChLoginComponent,\n },\n {\n path: ':sitename', component: BlankLayoutComponent,\n children: [\n { path: 'login', component: ChLoginComponent},\n { path: '', component: ChLoginComponent}\n ]\n },\n {\n path: ':sitename', component: BlankLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n {path: 'account-nomenu', component: ChAccountAdminNomenuComponent}\n ]\n },\n {\n path: ':sitename', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n {path: '', component: HomeviewComponent},\n {path: 'home', component: HomeviewComponent},\n {path: 'account', component: ChAccountAdminComponent},\n {path: 'mysites', component: ChAccountMysitesComponent},\n\n {path: 'dbeditor', component: ChDatabaseEditorComponent},\n {path: 'data/:tablename', component: ChDatatableBrowserComponent},\n {path: 'dbeditor/:tableid', component: ChTableEditorComponent},\n {path: 'contents/wall', component: ChContentRootComponent},\n {path: 'contents/wall/:uid', component: ChContentRootComponent},\n {path: 'contents/forms', component: ChFormsRootComponent},\n {path: 'contents/categories', component: ChCategoryBrowserComponent},\n {path: 'contents/categories/:uid', component: ChCategoryContentEditorComponent},\n {path: 'contents/email', component: ChEmail},\n {path: 'contents/population', component: ChListsBrowserComponent},\n {path: 'contents/population/:uid', component: ChListsBrowserComponent},\n {path: 'contents/zones', component: ChZoneBrowserComponent},\n {path: 'contents/cloud', component: ChCloudBrowserComponent},\n\n {path: 'mail/config', component: ChMailConfigComponent},\n {path: 'mail/templates', component: ChMailTemplatesComponent},\n\n {path: 'analytics/pages', component: ChPageAnalyticsComponent},\n {path: 'analytics/posts', component: ChPostsAnalyticsComponent},\n {path: 'analytics/lists', component: ChListsAnalyticsComponent},\n {path: 'analytics/activity', component: ChActivtyAnalyticsComponent},\n\n {path: 'commerce/config', component: ChCommerceConfigComponent},\n {path: 'commerce/products', component: ChProductListComponent},\n {path: 'commerce/channels', component: ChChannelListEditorComponent},\n\n {path: 'commerce/products/:uid', component: ChProductEditorComponent},\n {path: 'commerce/orders', component: ChOrderBrowserComponent},\n {path: 'commerce/order', component: ChOrderEditorComponent},\n {path: 'commerce/order/:uid', component: ChOrderEditorComponent},\n {path: 'commerce/order-detail', component: ChOrderEditorDetailComponent},\n {path: 'commerce/invoices', component: ChInvoiceBrowserComponent},\n {path: 'commerce/invoice', component: ChInvoiceEditorComponent},\n {path: 'commerce/invoice/:uid', component: ChInvoiceEditorComponent},\n {path: 'commerce/invoice-detail', component: ChOrderEditorDetailComponent},\n\n {path: 'design/web', component: ChWebDesignRootComponent},\n\n {path: 'mobile/config', component: ChMobileConfComponent},\n\n {path: 'config', component: ChSystemConfigComponent},\n\n {path: 'chatGPT/main', component: ChChatgptMainComponent},\n\n {path: 'chiladmin/master', component: ChChilAdminMasterComponent},\n {path: 'chiladmin/copywebs', component: ChChilAdminCopyWebsComponent},\n ]\n },\n {\n path: 'siasa1', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'solicitud', component: SiasaSolicitudComponent},\n { path: 'solicitud/:uid', component: SiasaSolicitudComponent},\n { path: 'contrato', component: SiasaContratoComponent},\n { path: 'contrato/:uid', component: SiasaContratoComponent},\n { path: 'tecnico', component: SiasaTecnicoComponent},\n { path: 'tecnico/:uid', component: SiasaTecnicoComponent},\n { path: 'visita', component: SiasaVisitaComponent},\n { path: 'visita/detalle', component: SiasaVisitaDetalleComponent},\n { path: 'visita/:uid', component: SiasaVisitaComponent}\n ]\n },\n {\n path: 'siasa2', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'solicitud', component: SiasaSolicitud2019Component},\n { path: 'solicitud/:uid', component: SiasaSolicitud2019Component},\n { path: 'contrato', component: SiasaContrato2019Component},\n { path: 'contrato/:uid', component: SiasaContrato2019Component},\n { path: 'tecnico', component: SiasaTecnicoComponent},\n { path: 'tecnico/:uid', component: SiasaTecnicoComponent},\n { path: 'visita', component: SiasaVisita2019Component},\n { path: 'visita/detalle', component: SiasaVisitaDetalle2019Component},\n { path: 'visita/:uid', component: SiasaVisita2019Component}\n ]\n },\n {\n path: 'siasa3', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'solicitud', component: SiasaSolicitud2020Component},\n { path: 'solicitud/:uid', component: SiasaSolicitud2020Component},\n { path: 'contrato', component: SiasaContrato2020Component},\n { path: 'contrato/:uid', component: SiasaContrato2020Component},\n { path: 'tecnico', component: SiasaTecnicoComponent},\n { path: 'tecnico/:uid', component: SiasaTecnicoComponent},\n { path: 'visita', component: SiasaVisita2020Component},\n { path: 'visita/detalle', component: SiasaVisitaDetalle2020Component},\n { path: 'visita/:uid', component: SiasaVisita2020Component}\n ]\n },\n {\n path: 'siasa4', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'solicitud', component: SiasaSolicitud2021Component},\n { path: 'solicitud/:uid', component: SiasaSolicitud2021Component},\n { path: 'contrato', component: SiasaContrato2021Component},\n { path: 'contrato/:uid', component: SiasaContrato2021Component},\n { path: 'tecnico', component: SiasaTecnicoComponent},\n { path: 'tecnico/:uid', component: SiasaTecnicoComponent},\n { path: 'visita', component: SiasaVisita2021Component},\n { path: 'visita/detalle', component: SiasaVisitaDetalle2021Component},\n { path: 'visita/:uid', component: SiasaVisita2021Component}\n\n ]\n },\n {\n path: 'siasa5', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'solicitud', component: SiasaSolicitud2022Component},\n { path: 'solicitud/:uid', component: SiasaSolicitud2022Component},\n { path: 'tecnico', component: SiasaTecnicoComponent},\n { path: 'tecnico/:uid', component: SiasaTecnicoComponent},\n { path: 'contrato', component: SiasaContrato2022Component},\n { path: 'contrato/:uid', component: SiasaContrato2022Component},\n { path: 'visita/detalle', component: SiasaVisitaDetalle2022Component},\n { path: 'visita/:uid', component: SiasaVisita2022Component}\n ]\n },\n {\n path: 'infopac', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'consulta', component: InfopacConsultaComponent},\n { path: 'consulta/:uid', component: InfopacConsultaComponent}\n ]\n },\n {\n path: 'depuracion', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'bug', component: BugEditWindowComponent},\n { path: 'bug/:uid', component: BugEditWindowComponent}\n ]\n },\n {\n path: 'agroviva', component: BasicLayoutComponent, canActivateChild: [CHAuthGuard],\n children: [\n { path: 'entrega', component: AgrovivaEntregaComponent},\n { path: 'entrega/detalle', component: AgrovivaEntregaDetalleComponent},\n { path: 'entrega/:uid', component: AgrovivaEntregaComponent}\n ]\n },\n // Handle all other routes\n {path: '**', redirectTo: '404', pathMatch: 'full'}\n];\n","export default \".ch-account-container {\\n position: relative;\\n}\\n.ch-account-container .ch-admin-config.ch-config-icon {\\n position: absolute;\\n top: 10px;\\n right: 10px;\\n}\\n.user-account-container {\\n padding: 20px;\\n padding-top: 0px;\\n max-width: 1000px;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.user-account-container .user-header {\\n aspect-ratio: 4/1;\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n position: relative;\\n padding: 30px;\\n}\\n.user-account-container .user-header .user-pic {\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n height: 70%;\\n aspect-ratio: 1/1;\\n border: solid white 2px;\\n}\\n.user-account-container .user-account-options {\\n margin-top: 10px;\\n}\\n.user-account-container .user-account-options .option-explanation {\\n padding: 10px;\\n font-size: 110%;\\n}\\n.user-account-container .user-account-options table.options-form {\\n width: 100%;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-logo {\\n width: 30px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-field-send {\\n width: 90px;\\n padding-top: 20px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-field-send > .ch-white-button-xs {\\n margin-top: 5px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-button {\\n width: 165px;\\n padding: 10px;\\n text-align: right;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-button > .ch-ok-button-md, .user-account-container .user-account-options table.options-form .account-validate-button .ch-delete-button-md, .user-account-container .user-account-options table.options-form .account-validate-button .ch-white-button-xs {\\n margin-top: 24px;\\n width: 100%;\\n margin-bottom: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hY2NvdW50L2NoLWFjY291bnQtYWRtaW4tbm9tZW51L2NoLWFjY291bnQtYWRtaW4tbm9tZW51LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2FjY291bnQvY2gtYWNjb3VudC1hZG1pbi1ub21lbnUvY2gtYWNjb3VudC1hZG1pbi1ub21lbnUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxrQkFBQTtBQ0RGO0FER0U7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0FDREo7QURNQTtFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQ0hGO0FES0U7RUFDRSxpQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtBQ0hKO0FES0k7RUFDRSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBQ0hOO0FETUU7RUFDRSxnQkFBQTtBQ0pKO0FETUk7RUFDRSxhQUFBO0VBQ0EsZUFBQTtBQ0pOO0FET0k7RUFDRSxXQUFBO0FDTE47QURPTTtFQUNFLFdBQUE7QUNMUjtBRFFNO0VBQ0UsV0FBQTtFQUNBLGlCQUFBO0FDTlI7QURRUTtFQUNFLGVBQUE7QUNOVjtBRFVNO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtBQ1JSO0FEVVM7RUFDQyxnQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtBQ1JWIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9hY2NvdW50L2NoLWFjY291bnQtYWRtaW4tbm9tZW51L2NoLWFjY291bnQtYWRtaW4tbm9tZW51LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4uY2gtYWNjb3VudC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNoLWFkbWluLWNvbmZpZy5jaC1jb25maWctaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuXG5cbi51c2VyLWFjY291bnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgLnVzZXItaGVhZGVyIHtcbiAgICBhc3BlY3QtcmF0aW86IDQgLyAxO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAudXNlci1waWMge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDcwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICBib3JkZXI6IHNvbGlkIHdoaXRlIDJweDtcbiAgICB9XG4gIH1cbiAgLnVzZXItYWNjb3VudC1vcHRpb25ze1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAub3B0aW9uLWV4cGxhbmF0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDExMCU7XG4gICAgfVxuXG4gICAgdGFibGUub3B0aW9ucy1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuYWNjb3VudC12YWxpZGF0ZS1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hY2NvdW50LXZhbGlkYXRlLWZpZWxkLXNlbmQge1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgPiAuY2gtd2hpdGUtYnV0dG9uLXhzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hY2NvdW50LXZhbGlkYXRlLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNjVweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgID4gLmNoLW9rLWJ1dHRvbi1tZCwgLmNoLWRlbGV0ZS1idXR0b24tbWQsIC5jaC13aGl0ZS1idXR0b24teHMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jaC1hY2NvdW50LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jaC1hY2NvdW50LWNvbnRhaW5lciAuY2gtYWRtaW4tY29uZmlnLmNoLWNvbmZpZy1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4udXNlci1hY2NvdW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItaGVhZGVyIHtcbiAgYXNwZWN0LXJhdGlvOiA0LzE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItaGVhZGVyIC51c2VyLXBpYyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiA3MCU7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXI6IHNvbGlkIHdoaXRlIDJweDtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4udXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1hY2NvdW50LW9wdGlvbnMgLm9wdGlvbi1leHBsYW5hdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTEwJTtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB0YWJsZS5vcHRpb25zLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB0YWJsZS5vcHRpb25zLWZvcm0gLmFjY291bnQtdmFsaWRhdGUtbG9nbyB7XG4gIHdpZHRoOiAzMHB4O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1maWVsZC1zZW5kIHtcbiAgd2lkdGg6IDkwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1maWVsZC1zZW5kID4gLmNoLXdoaXRlLWJ1dHRvbi14cyB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB0YWJsZS5vcHRpb25zLWZvcm0gLmFjY291bnQtdmFsaWRhdGUtYnV0dG9uIHtcbiAgd2lkdGg6IDE2NXB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB0YWJsZS5vcHRpb25zLWZvcm0gLmFjY291bnQtdmFsaWRhdGUtYnV0dG9uID4gLmNoLW9rLWJ1dHRvbi1tZCwgLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1idXR0b24gLmNoLWRlbGV0ZS1idXR0b24tbWQsIC51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyB0YWJsZS5vcHRpb25zLWZvcm0gLmFjY291bnQtdmFsaWRhdGUtYnV0dG9uIC5jaC13aGl0ZS1idXR0b24teHMge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { GroupAdmin, GroupInfo } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-account-admin-nomenu',\n templateUrl: './ch-account-admin-nomenu.component.html',\n styleUrls: ['./ch-account-admin-nomenu.component.scss']\n})\n\nexport class ChAccountAdminNomenuComponent implements OnInit {\n\n public groupAdmin: GroupAdmin = null;\n public groupInfo: GroupInfo = null;\n public groupHeader: string = '';\n public groupPic: string = '';\n\n constructor(private chGlobal: ChGlobalsService) {\n this.groupAdmin = this.chGlobal.getCurrentAdminProfile();\n this.groupInfo = this.chGlobal.getGroupInfo();\n this.groupHeader = this.chGlobal.correctImageURL(this.groupInfo.headerPictureUrl);\n this.groupPic = this.chGlobal.correctImageURL(this.groupInfo.pictureUrl);\n }\n\n ngOnInit() {\n }\n\n sendCode() {\n\n }\n\n sendValidatingEmail() {\n\n }\n\n resetPassword() {\n\n }\n\n suspendAccount() {\n\n }\n\n deleteAccount() {\n\n }\n\n\n}\n","export default \".ch-account-container {\\n position: relative;\\n}\\n.ch-account-container .ch-admin-config.ch-config-icon {\\n position: absolute;\\n top: 10px;\\n right: 10px;\\n}\\n.user-account-container {\\n padding: 20px;\\n padding-top: 0px;\\n max-width: 1000px;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.user-account-container .user-header {\\n aspect-ratio: 4/1;\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n position: relative;\\n padding: 30px;\\n}\\n.user-account-container .user-header .user-pic {\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n height: 70%;\\n aspect-ratio: 1/1;\\n border: solid white 2px;\\n}\\n.user-account-container .user-account-options {\\n margin-top: 10px;\\n}\\n.user-account-container .user-account-options .option-explanation {\\n padding: 10px;\\n font-size: 110%;\\n}\\n.user-account-container .user-account-options table.options-form {\\n width: 100%;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-logo {\\n width: 60px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-field-send {\\n width: 90px;\\n padding-top: 20px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-field-send > .ch-white-button-xs {\\n margin-top: 5px;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-button {\\n width: 265px;\\n padding: 10px;\\n text-align: right;\\n}\\n.user-account-container .user-account-options table.options-form .account-validate-button > .ch-ok-button-md, .user-account-container .user-account-options table.options-form .account-validate-button .ch-delete-button-md {\\n margin-top: 24px;\\n width: unset;\\n min-width: 150px;\\n margin-bottom: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hY2NvdW50L2NoLWFjY291bnQtYWRtaW4vY2gtYWNjb3VudC1hZG1pbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY2hpbC9hY2NvdW50L2NoLWFjY291bnQtYWRtaW4vY2gtYWNjb3VudC1hZG1pbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLGtCQUFBO0FDREY7QURHRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7QUNESjtBRE1BO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FDSEY7QURLRTtFQUNFLGlCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0FDSEo7QURLSTtFQUNFLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHVCQUFBO0FDSE47QURNRTtFQUNFLGdCQUFBO0FDSko7QURNSTtFQUNFLGFBQUE7RUFDQSxlQUFBO0FDSk47QURPSTtFQUNFLFdBQUE7QUNMTjtBRE9NO0VBQ0UsV0FBQTtBQ0xSO0FEUU07RUFDRSxXQUFBO0VBQ0EsaUJBQUE7QUNOUjtBRFFRO0VBQ0UsZUFBQTtBQ05WO0FEVU07RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0FDUlI7QURVUztFQUNDLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUNSViIsImZpbGUiOiJzcmMvYXBwL2NoaWwvYWNjb3VudC9jaC1hY2NvdW50LWFkbWluL2NoLWFjY291bnQtYWRtaW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5jaC1hY2NvdW50LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2gtYWRtaW4tY29uZmlnLmNoLWNvbmZpZy1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG5cblxuLnVzZXItYWNjb3VudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAudXNlci1oZWFkZXIge1xuICAgIGFzcGVjdC1yYXRpbzogNCAvIDE7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIC51c2VyLXBpYyB7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGhlaWdodDogNzAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgIGJvcmRlcjogc29saWQgd2hpdGUgMnB4O1xuICAgIH1cbiAgfVxuICAudXNlci1hY2NvdW50LW9wdGlvbnN7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIC5vcHRpb24tZXhwbGFuYXRpb24ge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICB9XG5cbiAgICB0YWJsZS5vcHRpb25zLWZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5hY2NvdW50LXZhbGlkYXRlLWxvZ28ge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgIH1cblxuICAgICAgLmFjY291bnQtdmFsaWRhdGUtZmllbGQtc2VuZCB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgICA+IC5jaC13aGl0ZS1idXR0b24teHMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFjY291bnQtdmFsaWRhdGUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI2NXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgPiAuY2gtb2stYnV0dG9uLW1kLCAuY2gtZGVsZXRlLWJ1dHRvbi1tZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNoLWFjY291bnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoLWFjY291bnQtY29udGFpbmVyIC5jaC1hZG1pbi1jb25maWcuY2gtY29uZmlnLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi51c2VyLWFjY291bnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1oZWFkZXIge1xuICBhc3BlY3QtcmF0aW86IDQvMTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG4udXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1oZWFkZXIgLnVzZXItcGljIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBoZWlnaHQ6IDcwJTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJvcmRlcjogc29saWQgd2hpdGUgMnB4O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi51c2VyLWFjY291bnQtY29udGFpbmVyIC51c2VyLWFjY291bnQtb3B0aW9ucyAub3B0aW9uLWV4cGxhbmF0aW9uIHtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxMTAlO1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1sb2dvIHtcbiAgd2lkdGg6IDYwcHg7XG59XG4udXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1hY2NvdW50LW9wdGlvbnMgdGFibGUub3B0aW9ucy1mb3JtIC5hY2NvdW50LXZhbGlkYXRlLWZpZWxkLXNlbmQge1xuICB3aWR0aDogOTBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG4udXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1hY2NvdW50LW9wdGlvbnMgdGFibGUub3B0aW9ucy1mb3JtIC5hY2NvdW50LXZhbGlkYXRlLWZpZWxkLXNlbmQgPiAuY2gtd2hpdGUtYnV0dG9uLXhzIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1idXR0b24ge1xuICB3aWR0aDogMjY1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVzZXItYWNjb3VudC1jb250YWluZXIgLnVzZXItYWNjb3VudC1vcHRpb25zIHRhYmxlLm9wdGlvbnMtZm9ybSAuYWNjb3VudC12YWxpZGF0ZS1idXR0b24gPiAuY2gtb2stYnV0dG9uLW1kLCAudXNlci1hY2NvdW50LWNvbnRhaW5lciAudXNlci1hY2NvdW50LW9wdGlvbnMgdGFibGUub3B0aW9ucy1mb3JtIC5hY2NvdW50LXZhbGlkYXRlLWJ1dHRvbiAuY2gtZGVsZXRlLWJ1dHRvbi1tZCB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIHdpZHRoOiB1bnNldDtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { GroupAdmin, GroupInfo } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-account-admin',\n templateUrl: './ch-account-admin.component.html',\n styleUrls: ['./ch-account-admin.component.scss']\n})\n\nexport class ChAccountAdminComponent implements OnInit {\n\n public groupAdmin: GroupAdmin = null;\n public groupInfo: GroupInfo = null;\n public groupHeader: string = '';\n public groupPic: string = '';\n\n constructor(private chGlobal: ChGlobalsService) {\n this.groupAdmin = this.chGlobal.getCurrentAdminProfile();\n this.groupInfo = this.chGlobal.getGroupInfo();\n this.groupHeader = this.chGlobal.correctImageURL(this.groupInfo.headerPictureUrl);\n this.groupPic = this.chGlobal.correctImageURL(this.groupInfo.pictureUrl);\n }\n\n ngOnInit() {\n }\n\n sendCode() {\n\n }\n\n sendValidatingEmail() {\n\n }\n\n resetPassword() {\n\n }\n\n suspendAccount() {\n\n }\n\n deleteAccount() {\n\n }\n\n\n}\n","export default \".list-actor-container {\\n width: 100%;\\n display: flex;\\n align-items: flex-start;\\n flex-wrap: wrap;\\n}\\n\\n.list-actor-card,\\n.list-actor-filler {\\n padding: 2px;\\n height: 70px;\\n width: 280px;\\n flex-grow: 1;\\n}\\n\\n.list-actor-card.compact,\\n.list-actor-filler.compact {\\n height: 40px;\\n width: 250px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hY2NvdW50L2NoLWFjY291bnQtbXlzaXRlcy9jaC1hY2NvdW50LW15c2l0ZXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvYWNjb3VudC9jaC1hY2NvdW50LW15c2l0ZXMvY2gtYWNjb3VudC1teXNpdGVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7QUNDRjs7QURFQTs7RUFHRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FDQUY7O0FERUU7O0VBQ0ksWUFBQTtFQUNBLFlBQUE7QUNDTiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvYWNjb3VudC9jaC1hY2NvdW50LW15c2l0ZXMvY2gtYWNjb3VudC1teXNpdGVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxpc3QtYWN0b3ItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5saXN0LWFjdG9yLWNhcmQsXG4ubGlzdC1hY3Rvci1maWxsZXJcbntcbiAgcGFkZGluZzogMnB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHdpZHRoOiAyODBweDtcbiAgZmxleC1ncm93OiAxO1xuXG4gICYuY29tcGFjdCB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgfVxufVxuIiwiLmxpc3QtYWN0b3ItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5saXN0LWFjdG9yLWNhcmQsXG4ubGlzdC1hY3Rvci1maWxsZXIge1xuICBwYWRkaW5nOiAycHg7XG4gIGhlaWdodDogNzBweDtcbiAgd2lkdGg6IDI4MHB4O1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubGlzdC1hY3Rvci1jYXJkLmNvbXBhY3QsXG4ubGlzdC1hY3Rvci1maWxsZXIuY29tcGFjdCB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDI1MHB4O1xufSJdfQ== */\"","import { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { ChActorCompact } from 'app/chil/actor/ch-actor';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChUserList } from 'app/chil/population/ch-user-list';\n\n@Component({\n selector: 'app-ch-account-mysites',\n templateUrl: './ch-account-mysites.component.html',\n styleUrls: ['./ch-account-mysites.component.scss']\n})\nexport class ChAccountMysitesComponent implements OnInit {\n\n private adminSites: Array = [];\n\n constructor(private chGlobal: ChGlobalsService, vcr: ViewContainerRef) {\n\n var tempSites : Array = [];\n chGlobal.initToasts(vcr);\n\n chGlobal.getActorManagedSites(chGlobal.getCurrentUser().uid)\n .then( (result) => {\n /*\n this.lists = Object.keys(result).map(function(key) {\n return result[key];\n });\n */\n if (result != null){\n tempSites = result;\n } else {\n tempSites = [];\n }\n console.log(result);\n chGlobal.getActorZoneManagedSites(chGlobal.getCurrentUser().uid)\n .then( (result) => {\n /*\n this.lists = Object.keys(result).map(function(key) {\n return result[key];\n });\n */\n console.log(result)\n this.adminSites = tempSites;\n if (result != null){\n result.forEach( (site) => {\n if (this.adminSites.findIndex((item) => item.uid === site.uid) === -1) {\n // If not found, push a new object with the desired properties\n this.adminSites.push(site);\n }\n });\n this.adminSites.sort( (a,b) => {return a.name.localeCompare(b.name); })\n }\n console.log(result);\n },\n error => {\n console.log(error);\n this.adminSites = tempSites;\n });\n });\n\n\n\n\n }\n\n ngOnInit() {\n\n\n\n\n }\n\n}\n","export default \":host {\\n padding: 2px;\\n height: 250px;\\n width: 280px;\\n flex-grow: 1;\\n position: relative;\\n}\\n\\n.ch-actor-card-button {\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n cursor: default;\\n border: none;\\n margin: 0px;\\n padding: 0px;\\n text-align: left;\\n}\\n\\n.ch-actor-card-box {\\n width: 100%;\\n height: 100%;\\n border: 1px solid #E7E7E7;\\n background-color: #FAFAFA;\\n}\\n\\n.ch-actor-card-box .ch-actor-card-header {\\n width: 100%;\\n height: 92px;\\n background-repeat: no-repeat;\\n background-size: cover;\\n position: relative;\\n}\\n\\n.ch-actor-card-box .ch-actor-card-header .ch-actor-card-icon {\\n width: 50px;\\n height: 50px;\\n position: absolute;\\n top: 15px;\\n left: 15px;\\n border-radius: 30px;\\n background-size: cover;\\n}\\n\\n.ch-actor-card-text {\\n margin: 5px;\\n text-align: center;\\n}\\n\\n.ch-actor-card-text .ch-actor-card-descr {\\n font-size: 90%;\\n font-style: italic;\\n}\\n\\n.ch-actor-card-action-buttons {\\n position: absolute;\\n bottom: 5px;\\n right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hY2NvdW50L2NoLXNpdGUtdmlldy9jaC1zaXRlLXZpZXcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvYWNjb3VudC9jaC1zaXRlLXZpZXcvY2gtc2l0ZS12aWV3LmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUNERjs7QURJQTtFQUNJLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QUNESjs7QURJQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkVnRnNCO0FEakYxQjs7QURHSTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FDRE47O0FER007RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0FDRFI7O0FEUUE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7QUNMRjs7QURRRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtBQ05KOztBRFVBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBQ1BGIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9hY2NvdW50L2NoLXNpdGUtdmlldy9jaC1zaXRlLXZpZXcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbjpob3N0IHtcbiAgcGFkZGluZzogMnB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICB3aWR0aDogMjgwcHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2gtYWN0b3ItY2FyZC1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jaC1hY3Rvci1jYXJkLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gICAgLmNoLWFjdG9yLWNhcmQtaGVhZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA5MnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5jaC1hY3Rvci1jYXJkLWljb24ge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgIH1cblxufVxuXG4uY2gtYWN0b3ItY2FyZC10ZXh0IHtcbiAgbWFyZ2luOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLmNoLWFjdG9yLWNhcmQtdGl0bGUge1xuICB9XG4gIC5jaC1hY3Rvci1jYXJkLWRlc2NyIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbn1cblxuLmNoLWFjdG9yLWNhcmQtYWN0aW9uLWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNXB4O1xuICByaWdodDogNXB4O1xufVxuXG4iLCI6aG9zdCB7XG4gIHBhZGRpbmc6IDJweDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDI4MHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNoLWFjdG9yLWNhcmQtYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jaC1hY3Rvci1jYXJkLWJveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFN0U3RTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG59XG4uY2gtYWN0b3ItY2FyZC1ib3ggLmNoLWFjdG9yLWNhcmQtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTJweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoLWFjdG9yLWNhcmQtYm94IC5jaC1hY3Rvci1jYXJkLWhlYWRlciAuY2gtYWN0b3ItY2FyZC1pY29uIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jaC1hY3Rvci1jYXJkLXRleHQge1xuICBtYXJnaW46IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNoLWFjdG9yLWNhcmQtdGV4dCAuY2gtYWN0b3ItY2FyZC1kZXNjciB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5jaC1hY3Rvci1jYXJkLWFjdGlvbi1idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgcmlnaHQ6IDVweDtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChActorCompact } from 'app/chil/actor/ch-actor';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-site-view',\n templateUrl: './ch-site-view.component.html',\n styleUrls: ['./ch-site-view.component.scss']\n})\n\nexport class ChSiteViewComponent implements OnInit {\n\n @Input() actor: ChActorCompact | null = null;\n @Input() clickeable: boolean = false;\n @Input() compact: boolean = false;\n @Input() itemSelected: boolean = false;\n\n @Output() onClick: EventEmitter = new EventEmitter();\n\n public groupHeader: string = '';\n public groupPic: string = '';\n\n constructor(private chGlobal: ChGlobalsService) { }\n\n ngOnInit() {\n\n if (this.actor != null) {\n this.groupHeader = this.chGlobal.correctImageURL(this.actor.headerPictureUrl);\n this.groupPic = this.chGlobal.correctImageURL(this.actor.pictureUrl );\n } else {\n this.groupHeader = \"\";\n this.groupPic = \"\";\n }\n\n }\n\n onWatchSite(){\n window.open(\"https://\" + this.actor.identifier + \".chil.me\", \"_blank\");\n }\n\n onAdminSite(){\n window.open(\"https://panel.chil.me/#/\" + this.actor.identifier, \"_blank\");\n }\n\n}\n","export default \":host{\\n width: 100%;\\n}\\n.ch-actor-box-body {\\n background-color: transparent;\\n padding: 3px;\\n display: inline-flex;\\n width: 100%;\\n height: 100%;\\n}\\n.ch-actor-box-texts {\\n width: 100%;\\n padding-left: 5px;\\n font-family: \\\"open sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 13px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n}\\n.ch-actor-box-texts p {\\n padding: 0px;\\n}\\n.ch-actor-box-name {\\n font-size: 110%;\\n margin: 0px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 170px;\\n}\\n.ch-actor-box-descr {\\n font-size: 80%;\\n opacity: 0.6;\\n margin: 0px;\\n margin-top: -2px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9hY3Rvci9jaC1hY3Rvci1ib3gvY2gtYWN0b3ItYm94LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0FBQ2Y7QUFDQTtJQUNJLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLHdFQUF3RTtJQUN4RSxlQUFlO0lBQ2YsYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7QUFDM0I7QUFDQTtJQUNJLFlBQVk7QUFDaEI7QUFDQTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxjQUFjO0lBQ2QsWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0I7QUFDcEIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2FjdG9yL2NoLWFjdG9yLWJveC9jaC1hY3Rvci1ib3guY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0e1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmNoLWFjdG9yLWJveC1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLmNoLWFjdG9yLWJveC10ZXh0cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwib3BlbiBzYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNoLWFjdG9yLWJveC10ZXh0cyBwIHtcbiAgICBwYWRkaW5nOiAwcHg7XG59XG4uY2gtYWN0b3ItYm94LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICBtYXJnaW46IDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWF4LXdpZHRoOiAxNzBweDtcbn1cbi5jaC1hY3Rvci1ib3gtZGVzY3Ige1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBtYXJnaW46IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xufSJdfQ== */\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-actor-box',\n template:\n `
\n \n
\n

{{displayName}}

\n

{{description}}

\n
\n
\n `,\n styleUrls: ['./ch-actor-box.component.css'],\n})\nexport class ChActorBoxComponent implements OnInit {\n\n @Input() height = 40;\n @Input() displayName = '';\n @Input() description = '';\n private _imageUrl = '';\n @Input()\n public get imageUrl() {\n return this._imageUrl;\n };\n public set imageUrl(val) {\n if (val.startsWith('default:')) { // No iconos por defecto nunca más!\n this._imageUrl = '';\n } else {\n this._imageUrl = val;\n }\n };\n @Input() uid = 'XXXXXXXXXXXX';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ChGlobalsService } from '../chilweb/ch-globals.service';\nimport { ChApiService } from '../api/ch-api.service';\nimport { ChActor } from './ch-actor';\nimport { CacheService, CacheStoragesEnum } from 'ng2-cache';\n\n@Injectable()\nexport class ChActorManagerService {\n\n private static singleton: ChActorManagerService = null;\n\n public static getInstance(): ChActorManagerService {\n return ChActorManagerService.singleton;\n }\n\n constructor(private chGlobal: ChGlobalsService, private api: ChApiService, private cacheService: CacheService) { }\n\n loadActorByName(name: string): Promise {\n const cacheId = 'ACTOR@' + name;\n if (this.cacheService.exists(cacheId)) {\n const value = this.cacheService.get(cacheId) as ChActor;\n // console.log( ' - DESDE LA CACHE ' + cacheId);\n return new Promise( (resolve) => { resolve(value); });\n } else {\n // console.log( ' - LEYENDOLO ' + name);\n return this.chGlobal.loadActorByName(name).then( (value) => {\n this.cacheService.set(cacheId, value);\n return value;\n });\n }\n }\n}\n","import { isNullOrUndefined } from \"util\";\n\nexport enum Gender {\n 'male', 'female', 'undef'\n}\n​​\nexport enum ActorType {\n 'user', 'email'\n}\n​​\nexport class ChActorCompact {\n /// ID. el identificador único del Actor\n public uid = '';\n /// gender. Género del actor\n public gender: Gender = Gender.male;\n /// type. Deberia tener una enumeración asociada\n public type: ActorType = ActorType.user;\n /// Nombre y apellidos, email\n public name = '';\n public lastName = '';\n public email = '';\n public displayName = '';\n public identifier = '';\n public description = '';\n\n public headerPictureUrl = '';\n public pictureUrl = '';\n public location: object | null = null;\n\n static genderFromString(genderStr: string) : Gender {\n switch (genderStr) {\n case 'male' :{\n return Gender.male;\n }\n case 'female' : {\n return Gender.female;\n }\n default :{\n return Gender.undef;\n }\n }\n }\n\n static typeFromString(typeStr: string) : ActorType {\n switch (typeStr) {\n case 'user' :{\n return ActorType.user;\n }\n case 'email' : {\n return ActorType.email;\n }\n default :{\n return ActorType.user;\n }\n }\n }\n\n static fromObject(origin : object) : ChActorCompact {\n\n const newActor = new ChActorCompact();\n newActor.uid = isNullOrUndefined(origin['uid']) ? '' : origin['uid'];\n newActor.gender = ChActorCompact.genderFromString(isNullOrUndefined(origin['gender']) ? 'male' : origin['gender']);\n newActor.type = ChActorCompact.typeFromString(isNullOrUndefined(origin['type']) ? 'user' : origin['type'] );\n newActor.name = isNullOrUndefined(origin['name']) ? '' : origin['name'];\n newActor.lastName = isNullOrUndefined(origin['lastName']) ? '' : origin['lastName'];\n newActor.email = isNullOrUndefined(origin['email']) ? '' : origin['email'];\n newActor.displayName = isNullOrUndefined(origin['displayName']) ? '' : origin['displayName'];\n newActor.identifier = isNullOrUndefined(origin['identifier']) ? '' : origin['identifier'];\n newActor.description = isNullOrUndefined(origin['description']) ? '' : origin['description'];\n newActor.headerPictureUrl = isNullOrUndefined(origin['headerPictureUrl']) ? '' : origin['headerPictureUrl'];\n newActor.pictureUrl = isNullOrUndefined(origin['pictureUrl']) ? '' : origin['pictureUrl'];\n newActor.location = isNullOrUndefined(origin['location']) ? null : origin['location'];\n return newActor;\n }\n}\n\nexport class ChActor {\n /// ID. el identificador único del Actor\n public id = 0; /// ID. el identificador único del Actor\n public uid = '';\n /// gender. Género del actor\n public gender: Gender = Gender.male;\n /// type. Deberia tener una enumeración asociada\n public type = 'user';\n /// facebookID.\n public facebookID = 0;\n /// facebookID.\n public lang = 'ES';\n /// Nombre y apellidos, email\n public name = '';\n public lastName = '';\n public email = '';\n /// fecha de nacimiento\n public birthDate: Date = new Date();\n /// Is, Interests, Skills\n public isArray: string[] = [];\n public interestsArray: string[] = [];\n public skillsArray: string[] = [];\n /// identificador, descripción y displayName\n public identifier = '';\n public description = '';\n public displayName = '';\n /// header, picture, etc\n public headerPictureUrl = '';\n public pictureUrl = '';\n /// Social profiles : HAY QUE IMPLEMENTARLO!!!\n public socialProfiles: any = null;\n /// Geolocalización\n public coordX = 0.0;\n public coordY = 0.0;\n public locationStr = '';\n /// Descriopcion amplia (EN HTML)\n public info = '';\n /// Url del actor\n public url = '';\n /// Telefono del actor\n public phone = '';\n /// Es administrador de CHIL\n public isCurrentUserManager = false;\n}\n","export default \".filter-table {\\n width: 100%;\\n}\\n.filter-table .filter-date {\\n max-width: 250px;\\n}\\n.filter-table .filter-button {\\n width: 120px;\\n padding-top: 24px;\\n padding-left: 3px;\\n}\\n.filter-table .filter-msg {\\n width: auto;\\n padding-bottom: 10px;\\n vertical-align: bottom;\\n padding-left: 10px;\\n}\\n.ch-cell.ch-cell-date,\\n.ch-cell.ch-cell-ip,\\n.ch-cell.ch-cell-short-string,\\n.ch-cell.ch-cell-string {\\n font-size: 12px;\\n text-transform: uppercase;\\n}\\n.row-create-content {\\n color: blue !important;\\n}\\n.row-delete-content {\\n color: red !important;\\n}\\n.row-modify-content {\\n color: green !important;\\n}\\n/*\\n.ch-cell.ch-cell-string {\\n vertical-align: middle;\\n font-size: 12px;\\n display: inline;\\n}\\n*/\\n/*\\n.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n line-height: 1.2;\\n font-size: 13px;\\n}\\n*/\\n/*\\n.left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n\\tpadding: 0.5em 0em;\\n}\\n\\n.dataTables_wrapper {\\n padding-bottom: 0px;\\n}\\n\\n.red {\\n background-color: #FFD5D5\\n}\\n\\n.blue {\\n background-color: #D5D5FF\\n}\\n\\n.green {\\n background-color: #D5FFD5\\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5\\n}\\n\\n.gray {\\n color: #C0C0C0\\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n\\tfont-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n\\tmargin-right: auto;\\n\\tmargin-left: auto;\\n\\t}\\n\\n.dropdown-menu {\\n\\tposition: absolute;\\n\\ttop: 100%;\\n\\tleft: 0;\\n\\tz-index: 1000;\\n\\tdisplay: none;\\n\\tfloat: left;\\n\\tmin-width: 20px;\\n\\tpadding: 5px 0;\\n\\tmargin: 2px 0 0;\\n\\tfont-size: 14px;\\n\\ttext-align: left;\\n\\tlist-style: none;\\n\\tbackground-color: #fff;\\n\\tbackground-clip: padding-box;\\n\\tborder: 1px solid #ccc;\\n\\tborder: 1px solid rgba(0, 0, 0, .15);\\n\\tborder-radius: 4px;\\n\\t-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n\\tbox-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n\\tborder-bottom: 1px solid lightgrey;\\n\\toverflow-x: hidden !important;\\n}\\n\\n.container {\\n\\theight:100%;\\n\\tmin-height:100%;\\n}\\n\\n.fill{\\n height:100%;\\n min-height:100%;\\n background-color:#990000;\\n padding:10px;\\n color:#efefef;\\n}\\n\\n.ch-posttype {\\n\\tfont-size: 9px;\\n\\tcolor: white;\\n\\ttext-transform: uppercase;\\n\\tbackground-color: #707070;\\n\\tpadding: 2px 4px;\\n}\\n\\n.ch-cell-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 200px;\\n}\\n\\n.ch-cell-long-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 400px;\\n}\\n\\n.ch-cell-short-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 200px;\\n}\\n\\n.ch-cell-date {\\n\\tfont-size: smaller;\\n\\ttext-align: center;\\n}\\n\\n.ch-cell-number{\\n\\twhite-space: pre;\\n\\ttext-align: right;\\n}\\n\\n.ch-post {\\n\\tbackground-color: $post-bk\\n}\\n\\n.ch-post-post {\\n\\tbackground-color: $post-post-bk\\n}\\n\\n.ch-post-news {\\n\\tbackground-color: $post-news-bk\\n}\\n\\n.ch-post-document {\\n\\tbackground-color: $post-docu-bk\\n}\\n\\n.ch-post-question {\\n\\tbackground-color: $post-question-bk\\n}\\n\\n.ch-post-event {\\n\\tbackground-color: $post-event-bk\\n}\\n\\n.ch-post-image {\\n\\tbackground-color: $post-image-bk\\n}\\n\\n.ch-post-form {\\n\\tbackground-color: $post-form-bk\\n}\\n\\n.ch-post-link {\\n\\tbackground-color: $post-link-bk\\n}\\n\\n\\n.ch-status-txt {\\n\\tfont-size: smaller;\\n}\\n\\n.ch-status-published {\\n\\tcolor: $post-published\\n}\\n\\n.ch-status-not-published {\\n\\tcolor: $post-published;\\n}\\n\\n.ch-status-waiting {\\n\\tcolor: $post-waiting\\n}\\n\\n.ch-status-draft {\\n\\tcolor: $post-draft\\n}\\n\\n.ch-status-nopub-a {\\n\\tcolor: $post-nopub-a\\n}\\n\\n.ch-status-nopub-b {\\n\\tcolor: $post-nopub-b\\n}\\n\\n.ch-status-nopub-c {\\n\\tcolor: $post-nopub-c\\n}\\n\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hbmFseXRpY3MvY2gtYWN0aXZ0eS1hbmFseXRpY3MvY2gtYWN0aXZ0eS1hbmFseXRpY3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvYW5hbHl0aWNzL2NoLWFjdGl2dHktYW5hbHl0aWNzL2NoLWFjdGl2dHktYW5hbHl0aWNzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsV0FBQTtBQ0RGO0FER0U7RUFDRSxnQkFBQTtBQ0RKO0FER0U7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtBQ0RKO0FER0U7RUFDRSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FDREo7QURLQTs7OztFQUtFLGVBQUE7RUFDQSx5QkFBQTtBQ0hGO0FES0E7RUFDRSxzQkFBQTtBQ0ZGO0FESUE7RUFDRSxxQkFBQTtBQ0RGO0FER0E7RUFDRSx1QkFBQTtBQ0FGO0FERUE7Ozs7OztDQUFBO0FBUUE7Ozs7O0NBQUE7QUFPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUEiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2FuYWx5dGljcy9jaC1hY3RpdnR5LWFuYWx5dGljcy9jaC1hY3RpdnR5LWFuYWx5dGljcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLmZpbHRlci10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5maWx0ZXItZGF0ZSB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgfVxuICAuZmlsdGVyLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICB9XG4gIC5maWx0ZXItbXNnIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuXG4uY2gtY2VsbC5jaC1jZWxsLWRhdGUsXG4uY2gtY2VsbC5jaC1jZWxsLWlwLFxuLmNoLWNlbGwuY2gtY2VsbC1zaG9ydC1zdHJpbmcsXG4uY2gtY2VsbC5jaC1jZWxsLXN0cmluZ1xue1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucm93LWNyZWF0ZS1jb250ZW50IHtcbiAgY29sb3I6IGJsdWUgIWltcG9ydGFudFxufVxuLnJvdy1kZWxldGUtY29udGVudCB7XG4gIGNvbG9yOiByZWQgIWltcG9ydGFudFxufVxuLnJvdy1tb2RpZnktY29udGVudCB7XG4gIGNvbG9yOiBncmVlbiAhaW1wb3J0YW50XG59XG4vKlxuLmNoLWNlbGwuY2gtY2VsbC1zdHJpbmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiovXG5cbi8qXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuKi9cblxuLypcbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENVxufVxuXG4uYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRlxufVxuXG4uZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUZGRDVcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENVxufVxuXG4uZ3JheSB7XG4gICAgY29sb3I6ICNDMEMwQzBcbn1cblxuLnNlbGVjdGVkIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVENUQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3dpbmRleCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXIge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cbi5kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtaW4td2lkdGg6IDIwcHg7XG5cdHBhZGRpbmc6IDVweCAwO1xuXHRtYXJnaW46IDJweCAwIDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTUpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNzUpO1xuXHRib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIC5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xuXHRvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmNvbnRhaW5lciB7XG5cdGhlaWdodDoxMDAlO1xuXHRtaW4taGVpZ2h0OjEwMCU7XG59XG5cbi5maWxse1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1pbi1oZWlnaHQ6MTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM5OTAwMDA7XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIGNvbG9yOiNlZmVmZWY7XG59XG5cbi5jaC1wb3N0dHlwZSB7XG5cdGZvbnQtc2l6ZTogOXB4O1xuXHRjb2xvcjogd2hpdGU7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5jaC1jZWxsLXN0cmluZyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uY2gtY2VsbC1sb25nLXN0cmluZyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uY2gtY2VsbC1zaG9ydC1zdHJpbmcge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmNoLWNlbGwtZGF0ZSB7XG5cdGZvbnQtc2l6ZTogc21hbGxlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2gtY2VsbC1udW1iZXJ7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2gtcG9zdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWJrXG59XG5cbi5jaC1wb3N0LXBvc3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1wb3N0LWJrXG59XG5cbi5jaC1wb3N0LW5ld3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1uZXdzLWJrXG59XG5cbi5jaC1wb3N0LWRvY3VtZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZG9jdS1ia1xufVxuXG4uY2gtcG9zdC1xdWVzdGlvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LXF1ZXN0aW9uLWJrXG59XG5cbi5jaC1wb3N0LWV2ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZXZlbnQtYmtcbn1cblxuLmNoLXBvc3QtaW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1pbWFnZS1ia1xufVxuXG4uY2gtcG9zdC1mb3JtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZm9ybS1ia1xufVxuXG4uY2gtcG9zdC1saW5rIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtbGluay1ia1xufVxuXG5cbi5jaC1zdGF0dXMtdHh0IHtcblx0Zm9udC1zaXplOiBzbWFsbGVyO1xufVxuXG4uY2gtc3RhdHVzLXB1Ymxpc2hlZCB7XG5cdGNvbG9yOiAkcG9zdC1wdWJsaXNoZWRcbn1cblxuLmNoLXN0YXR1cy1ub3QtcHVibGlzaGVkIHtcblx0Y29sb3I6ICRwb3N0LXB1Ymxpc2hlZDtcbn1cblxuLmNoLXN0YXR1cy13YWl0aW5nIHtcblx0Y29sb3I6ICRwb3N0LXdhaXRpbmdcbn1cblxuLmNoLXN0YXR1cy1kcmFmdCB7XG5cdGNvbG9yOiAkcG9zdC1kcmFmdFxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWEge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItYVxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWIge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItYlxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWMge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItY1xufVxuXG4qL1xuIiwiLmZpbHRlci10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZpbHRlci10YWJsZSAuZmlsdGVyLWRhdGUge1xuICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuLmZpbHRlci10YWJsZSAuZmlsdGVyLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMjBweDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xufVxuLmZpbHRlci10YWJsZSAuZmlsdGVyLW1zZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uY2gtY2VsbC5jaC1jZWxsLWRhdGUsXG4uY2gtY2VsbC5jaC1jZWxsLWlwLFxuLmNoLWNlbGwuY2gtY2VsbC1zaG9ydC1zdHJpbmcsXG4uY2gtY2VsbC5jaC1jZWxsLXN0cmluZyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnJvdy1jcmVhdGUtY29udGVudCB7XG4gIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZGVsZXRlLWNvbnRlbnQge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctbW9kaWZ5LWNvbnRlbnQge1xuICBjb2xvcjogZ3JlZW4gIWltcG9ydGFudDtcbn1cblxuLypcbi5jaC1jZWxsLmNoLWNlbGwtc3RyaW5nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4qL1xuLypcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4qL1xuLypcbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENVxufVxuXG4uYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRlxufVxuXG4uZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUZGRDVcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENVxufVxuXG4uZ3JheSB7XG4gICAgY29sb3I6ICNDMEMwQzBcbn1cblxuLnNlbGVjdGVkIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVENUQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3dpbmRleCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXIge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cbi5kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtaW4td2lkdGg6IDIwcHg7XG5cdHBhZGRpbmc6IDVweCAwO1xuXHRtYXJnaW46IDJweCAwIDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTUpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNzUpO1xuXHRib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIC5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xuXHRvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmNvbnRhaW5lciB7XG5cdGhlaWdodDoxMDAlO1xuXHRtaW4taGVpZ2h0OjEwMCU7XG59XG5cbi5maWxse1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1pbi1oZWlnaHQ6MTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM5OTAwMDA7XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIGNvbG9yOiNlZmVmZWY7XG59XG5cbi5jaC1wb3N0dHlwZSB7XG5cdGZvbnQtc2l6ZTogOXB4O1xuXHRjb2xvcjogd2hpdGU7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5jaC1jZWxsLXN0cmluZyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uY2gtY2VsbC1sb25nLXN0cmluZyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uY2gtY2VsbC1zaG9ydC1zdHJpbmcge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmNoLWNlbGwtZGF0ZSB7XG5cdGZvbnQtc2l6ZTogc21hbGxlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2gtY2VsbC1udW1iZXJ7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2gtcG9zdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWJrXG59XG5cbi5jaC1wb3N0LXBvc3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1wb3N0LWJrXG59XG5cbi5jaC1wb3N0LW5ld3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1uZXdzLWJrXG59XG5cbi5jaC1wb3N0LWRvY3VtZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZG9jdS1ia1xufVxuXG4uY2gtcG9zdC1xdWVzdGlvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LXF1ZXN0aW9uLWJrXG59XG5cbi5jaC1wb3N0LWV2ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZXZlbnQtYmtcbn1cblxuLmNoLXBvc3QtaW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1pbWFnZS1ia1xufVxuXG4uY2gtcG9zdC1mb3JtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtZm9ybS1ia1xufVxuXG4uY2gtcG9zdC1saW5rIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtbGluay1ia1xufVxuXG5cbi5jaC1zdGF0dXMtdHh0IHtcblx0Zm9udC1zaXplOiBzbWFsbGVyO1xufVxuXG4uY2gtc3RhdHVzLXB1Ymxpc2hlZCB7XG5cdGNvbG9yOiAkcG9zdC1wdWJsaXNoZWRcbn1cblxuLmNoLXN0YXR1cy1ub3QtcHVibGlzaGVkIHtcblx0Y29sb3I6ICRwb3N0LXB1Ymxpc2hlZDtcbn1cblxuLmNoLXN0YXR1cy13YWl0aW5nIHtcblx0Y29sb3I6ICRwb3N0LXdhaXRpbmdcbn1cblxuLmNoLXN0YXR1cy1kcmFmdCB7XG5cdGNvbG9yOiAkcG9zdC1kcmFmdFxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWEge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItYVxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWIge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItYlxufVxuXG4uY2gtc3RhdHVzLW5vcHViLWMge1xuXHRjb2xvcjogJHBvc3Qtbm9wdWItY1xufVxuXG4qLyJdfQ== */\"","\nimport { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterViewInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport * as moment from 'moment';\nimport { ResizedEvent } from 'angular-resize-event';\nimport { templateJitUrl } from '@angular/compiler';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n selector: 'app-ch-activty-analytics',\n templateUrl: './ch-activty-analytics.component.html',\n styleUrls: ['./ch-activty-analytics.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChActivtyAnalyticsComponent implements OnInit, AfterViewInit {\n\n private siteName = '';\n @ViewChild('tableDom', { static: false}) tableDom: ElementRef;\n @ViewChild('tableContainer', { static: false}) tableContainer: ElementRef;\n\n // Filtros\n private postTypeFilter = { post: true, news: true, event: true, document: true,\n question: true, form: true, link: true, image: true,\n publi: true, theme: true, test: true, postbox: true,\n\n toArray(): Array {\n const temp: string[] = [];\n if ( this.post ) { temp.push('post'); };\n if ( this.news ) { temp.push('news'); };\n if ( this.event ) { temp.push('event'); };\n if ( this.document ) { temp.push('document'); };\n if ( this.question ) { temp.push('question'); };\n if ( this.form ) { temp.push('form'); };\n if ( this.link ) { temp.push('link'); };\n if ( this.image ) { temp.push('image'); };\n if ( this.publi ) { temp.push('publi'); };\n if ( this.theme ) { temp.push('theme'); };\n if ( this.test ) { temp.push('test'); };\n if ( this.postbox ) { temp.push('postbox'); };\n return temp;\n }\n };\n\n private from = '';\n private to = '';\n private categoryFilter = [];\n private isRunning = false;\n\n private results = [];\n private nPosts = 0;\n private nVisits = 0;\n private nDownloads = 0;\n private resultsVisibles = false;\n\n private columnArray: string[] = ['Date', 'Ip', 'User', 'Descr', 'Action', 'Result'];\n\n private columnsDef: Array = [\n {targets: 0, width: '20%', title: 'Date', label: 'Date', visible: true, sType: this.setColumnType('SmallDateTime'),\n render: this.renderFunction('DateTime'), bSortable: false},\n {targets: 1, width: '10%', title: 'ip', label: 'Ip', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('Ip'), bSortable: false},\n {targets: 2, width: '20%', title: 'User', label: 'User', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('string'), bSortable: false},\n {targets: 3, width: '30%', title: 'Descr', label: 'Descr', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('string'), bSortable: false},\n {targets: 4, width: '15%', title: 'Action', label: 'Action', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('Action'), bSortable: false},\n {targets: 5, width: '5%', title: 'Result', label: 'Result', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('Result'), bSortable: false},\n ];\n\n private dtOptions: any = {\n deferRender: true,\n scrollY: '70uv',\n scrollX: true,\n responsive: true,\n bPaginate: false,\n\n pagingType: 'simple_numbers',\n pageLength: 25,\n dom: '<t>',\n columns: this.columnsDef,\n language: this.chGlobal.getTableMessagesTranslated(),\n autoWidth: false,\n // paging : false,\n buttons: {\n buttons: [\n {\n extend: 'copyHtml5', text: ' ' + this.chGlobal.translateStr('Copiar'),\n className: 'btn btn-primary', exportOptions: { columns: ':visible' }\n }\n ],\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) {\n\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n }\n\n ngOnInit() {\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n const nRowsInScreen = Math.floor((screenHeight - 280) / 40);\n\n //this.dtOptions.pageLength = nRowsInScreen;\n }\n\n ngAfterViewInit() {\n this.initDataTable();\n this.search();\n }\n\n search() {\n if (this.isRunning) {\n return;\n }\n\n this.isRunning = true;\n this.reset();\n //console.log(this.postTypeFilter.toArray());\n this.chGlobal.showRunningWindow('Leyendo datos ...');\n this.chGlobal.getActivityLog(null, this.from, this.to)\n .then ( (values: object[]) => {\n values.forEach( (v) => { this.results.push(v); });\n\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessageWithParams(MessageType.success, 'Datos leidos',\n '%1 filas leidas', [this.results.length.toString()]);\n\n\n const rows: object[] = this.results.map( (r) => {\n const temp = [\n r.date,\n r.userIpEnc,\n isNullOrUndefined(r.user) ? r.userEmail : r.user.displayName,\n r.more,\n r.action,\n r.result\n ]\n\n return temp;\n });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.isRunning = false;\n },\n (error: any) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n this.isRunning = false;\n },\n ).catch (error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n this.isRunning = false;\n })\n\n /*\n const flujoDatos = this.chGlobal.getPostAnalytics(null, this.from, this.to,\n this.categoryFilter.map( v => v.uid ), this.postTypeFilter.toArray(), true )\n .subscribe(\n (values: object[]) => {\n values.forEach( (v) => { this.results.push(v); });\n\n // const rows: object[] = values.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n // $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.chGlobal.showRunningWindowWithParams( '%1 entradas leidas ...', [this.results.length.toString()]);\n },\n (error: any) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n flujoDatos.unsubscribe();\n this.isRunning = false;\n },\n () => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessageWithParams(MessageType.success, 'Datos leidos',\n '%1 filas leidas', [this.results.length.toString()]);\n flujoDatos.unsubscribe();\n\n this.recalculate();\n const rows: object[] = this.results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.isRunning = false;\n\n // console.log(this.results);\n }\n ); */\n this.resetTable();\n }\n\n reset() {\n this.resultsVisibles = false;\n this.results = [];\n }\n\n // ******************************************\n // GESTION DE LA TABLA DE DATOS\n //\n // ******************************************\n\n resizeTable(event: ResizedEvent) {\n // const newWidth = event.newWidth;\n // const newHeight = event.newHeight;\n // console.log(' NUEVO ALTO : ' + (event.newHeight - 90).toString());\n }\n\n initDataTable() {\n $(this.tableDom.nativeElement).DataTable( this.dtOptions );\n }\n\n resetTable() {\n $(this.tableDom.nativeElement).DataTable().clear();\n $(this.tableDom.nativeElement).DataTable().destroy();\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n /*\n if (this.results.length > 0) {\n const rows: object[] = this.results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n } */\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n renderFunction(type: string): any {\n\n const actionClass = function(action: string) {\n switch (action) {\n case 'CREATE_CONTENT':\n return \"row-create-content\";\n case 'MODIFY_CONTENT':\n return \"row-modify-content\";\n case 'DELETE_CONTENT':\n case 'REMOVE_CONTENT':\n return \"row-delete-content\";\n default:\n return ''\n }\n }\n\n switch (type) {\n case 'DateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '';\n } else {\n return '
' + moment(data).format(\"DD.MM.YYYY HH:mm\") + '
';\n //return '
' + moment(data).format(\"DD.MM.YYYY HH:mm\") + '
';\n }\n };\n case 'Ip':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + data.trim() + '
';\n\n };\n case 'Action':\n return function (data: any, _type: any, row: any, meta: any) {\n switch(data.trim()) {\n case 'CREATE_CONTENT':\n return '
' +\n '' +\n ' CREATE CONTENT' +\n '
';\n case 'DELETE_CONTENT':\n case 'REMOVE_CONTENT':\n return '
' +\n '' +\n ' DELETE CONTENT' +\n '
';\n case 'MODIFY_CONTENT':\n return '
' +\n '' +\n ' MODIFY CONTENT' +\n '
';\n default :\n return '
' +\n '' +\n ' ' + data.trim() +\n '
';\n }\n };\n case 'LongString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n case 'Result':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n }\n }\n\n classRowAction(action: string | undefined): string {\n switch(action) {\n\n default:\n return '';\n }\n }\n}\n","import { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterViewInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { MessageType } from '../../chilweb/ch-globals-def';\nimport { ChDatatableComponent } from '../../libs/ch-datatable/ch-datatable.component';\nimport { ResizedEvent } from 'angular-resize-event';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-lists-analytics',\n templateUrl: './ch-lists-analytics.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class ChListsAnalyticsComponent implements OnInit, AfterViewInit {\n\n @ViewChild('tableList', { static: false}) datatable: ChDatatableComponent;\n private siteName = '';\n private results = [];\n\n private totalPopulation = 0;\n private totalEmail = 0;\n private totalMale = 0;\n private totalFemale = 0;\n private totalOther = 0;\n private nListas = 0;\n private nEntradas = 0;\n\n private tableHeight = '300';\n\n private columnArray: string[] = ['uid', 'name', 'zoenName', 'emailCount', 'maleCount', 'femaleCount',\n 'otherCount', 'totalCount' ];\n\n private columnsDef: Array = [\n {targets: 0, width: '0%', title: 'uid', label: 'uid', visible: false, sType: ChDatatableComponent.setColumnType('string'),\n render: ChDatatableComponent.renderFunction('string'), bSortable: true},\n {targets: 1, width: '30%', title: 'Nombre', label: 'name', visible: true, sType: ChDatatableComponent.setColumnType('string'),\n render: ChDatatableComponent.renderFunction('string'), bSortable: true},\n {targets: 2, width: '20%', title: 'Zona', label: 'zoneName', visible: true, sType: ChDatatableComponent.setColumnType('string'),\n render: ChDatatableComponent.renderFunction('PostZone'), bSortable: true},\n {targets: 4, width: '10%', title: 'U.Email', label: 'emailCount', visible: true, sType: ChDatatableComponent.setColumnType('Int'),\n render: ChDatatableComponent.renderFunction('InfoIndex'), bSortable: true},\n {targets: 5, width: '10%', title: 'Hombres', label: 'maleCount', visible: true, sType: ChDatatableComponent.setColumnType('Int'),\n render: ChDatatableComponent.renderFunction('InfoIndex'), bSortable: true},\n {targets: 6, width: '10%', title: 'Mujeres', label: 'femaleCount', visible: true, sType: ChDatatableComponent.setColumnType('Int'),\n render: ChDatatableComponent.renderFunction('InfoIndex'), bSortable: true},\n {targets: 7, width: '10%', title: 'Otros', label: 'otherCount', visible: true, sType: ChDatatableComponent.setColumnType('Int'),\n render: ChDatatableComponent.renderFunction('InfoIndex'), bSortable: true},\n {targets: 7, width: '10%', title: 'Total', label: 'totalCount', visible: true, sType: ChDatatableComponent.setColumnType('Int'),\n render: ChDatatableComponent.renderFunction('InfoIndex'), bSortable: true}\n ];\n\n private dtOptions: any = {\n deferRender: true,\n scrollY: 390,\n scrollCollapse: true,\n scrollX: '50%',\n responsive: true,\n bPaginate: false,\n\n pagingType: 'simple_numbers',\n pageLength: -1,\n dom: '<t>',\n columns: this.columnsDef,\n language: ChDatatableComponent.spanishTranslation,\n autoWidth: false,\n // paging : false,\n buttons: {\n buttons: [\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-primary', exportOptions: { columns: ':visible' }\n }\n ],\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n // Configuración del pie chart\n private piedata = {};\n private pieoptions = {\n responsive: false,\n title: {\n display: false,\n text: 'Población por tipo'\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: true\n }\n };\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) {\n\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this.datatable.initDataTable();\n this.loadData();\n }\n\n loadData() {\n this.chGlobal.showRunningWindow( ' Leyendo datos...');\n this.chGlobal.getListAnalytics()\n .then ( (result) => {\n console.log(result);\n const rowTotal = result.find((r) => { return r['uid'] === ''; });\n result.forEach( (r) => {\n r['totalCount'] = r['emailCount'] + r['maleCount'] + r['femaleCount'] + r['otherCount'];\n if (r['uid'] !== '') {\n this.results.push(r);\n }\n });\n this.recalculate(rowTotal, this.results);\n this.chGlobal.hideRunningWindow();\n },\n (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n }\n );\n }\n\n recalculate(total: object, lists: Array) {\n\n this.totalEmail = total['emailCount'];\n this.totalMale = total['maleCount'];\n this.totalFemale = total['femaleCount'];\n this.totalOther = total['otherCount'];\n this.totalPopulation = this.totalEmail + this.totalMale + this.totalFemale + this.totalOther;\n this.nListas = lists.length;\n this.nEntradas = lists.reduce( (valorAnterior, element) => {\n return valorAnterior + element['totalCount']; }, 0);\n\n this.datatable.addValues(lists);\n\n this.piedata = {\n labels: ['EMAIL', 'HOMBRE', 'MUJER', 'OTROS'],\n datasets: [{\n label: 'Población',\n backgroundColor: ['#684C96', '#4A5796', '#B34E5D', '#538D3F'],\n data: [this.totalEmail, this.totalMale, this.totalFemale, this.totalOther]\n }]\n };\n }\n\n onTableResized(event: ResizedEvent) {\n // const newWidth = event.newWidth;\n // const newHeight = event.newHeight;\n // this.tableHeight = (event.newHeight - 100).toString();\n // console.log(' NUEVO ALTO : ' + (event.newHeight - 100).toString());\n }\n}\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 50px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hbmFseXRpY3MvY2gtcGFnZS1hbmFseXRpY3MvY2gtcGFnZS1hbmFseXRpY3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvYW5hbHl0aWNzL2NoLXBhZ2UtYW5hbHl0aWNzL2NoLXBhZ2UtYW5hbHl0aWNzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0ksaUJBQUE7QUNGSjs7QURJQTtFQUNJLGdCQUFBO0FDREo7O0FESUE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxvRUFiUztFQWNULG9CQWJZO0VBY1osZ0JBQUE7QUNESjs7QURHQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9FQXZCUztBQ3VCYjs7QURFQTtFQUNJLGdCQUFBO0VBQ0Esb0VBM0JTO0VBNEJULGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0NKOztBREVBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9FQXZDUztFQXdDVCxlQUFBO0VBQ0EsZ0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvYW5hbHl0aWNzL2NoLXBhZ2UtYW5hbHl0aWNzL2NoLXBhZ2UtYW5hbHl0aWNzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi50aXRsZSB7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRiYXNpYy1zcGFjaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG4uc3ViLXRpdGxle1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xufVxuLmJvZHktc3ViLXRpdGxle1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uYnRue1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogOTBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xufSIsImltZyB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4uYm9keSB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi50aXRsZSB7XG4gIGZvbnQtc2l6ZTogNzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAxNHB4O1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG4uc3ViLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmJvZHktc3ViLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uYnRuIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xufSJdfQ== */\"","import { Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-page-analitics',\n templateUrl: './ch-page-analytics.component.html',\n styleUrls: ['./ch-page-analytics.component.scss']\n})\n\nexport class ChPageAnalyticsComponent implements OnInit {\n piedata = {};\n pieoptions = {};\n\n uid1 = '';\n uid2 = '';\n\n foto = {\n 'name': '9788416734948.jpg',\n 'slug': '9788416734948jpg',\n 'type': 'image',\n 'format': 'jpg',\n 'preview': {\n 'url': 'https://chilmedia.org/v2/file-preview/04f422f9-e0b8-4fa0-98bb-f9c16c2fd4eb.jpg',\n 'width': 573,\n 'height': 950\n },\n 'contentUrl': '/download-file/04f422f9-e0b8-4fa0-98bb-f9c16c2fd4eb',\n 'size': 843595,\n 'isShared': false,\n 'title': '9788416734948',\n 'likesCount': 0,\n 'commentsCount': 0,\n 'date': '2019-05-28T03:18:00.067',\n 'uid': 'JOQ1ZSZ46770'\n };\n\n documentdoc = {\n 'name': 'DOC0001.pdf',\n 'slug': 'doc0001pdf',\n 'description': 'Prueba PDF Exterma',\n 'type': 'document',\n 'format': 'pdf',\n 'preview': {\n 'url': 'https://chilmedia.org/v2/file-preview/4ecc2188-d88c-4b3e-949f-f21c04bdd2e7.jpg',\n 'width': 500,\n 'height': 375\n },\n 'contentUrl': 'http://chil.me/download-file/4ecc2188-d88c-4b3e-949f-f21c04bdd2e7',\n 'size': 2967222,\n 'isShared': false,\n 'title': 'DOC0001.pdf',\n 'likesCount': 0,\n 'commentsCount': 0,\n 'date': '2019-05-30T14:40:35.757',\n 'uid': 'VYL6ZSBH13J3'\n };\n\n richtext = 'Esto es una prueba. Sólo una prueba Está claro?';\n fecha = Date.parse('2019-05-30T14:40:35.757');\n //fecha = '2019-05-30T14:40:35.757';\n\n constructor(private vcr: ViewContainerRef, private chGlobal: ChGlobalsService) {\n\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n }\n\n ngOnInit() {\n this.piedata = {\n datasets: [{\n label: 'Scatter Dataset',\n data: [{\n x: -10,\n y: 0\n }, {\n x: 0,\n y: 10\n }, {\n x: 10,\n y: 5\n }]\n }]\n };\n\n this.pieoptions = {responsive: false,\n scales: {\n xAxes: [{\n type: 'linear',\n position: 'bottom'\n }]\n }\n};\n }\n}\n","export default \"/*\\n.left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n\\tpadding: 0.5em 0em;\\n}\\n\\n.dataTables_wrapper {\\n padding-bottom: 0px;\\n}\\n\\n.red {\\n background-color: #FFD5D5 \\n}\\n\\n.blue {\\n background-color: #D5D5FF \\n}\\n\\n.green {\\n background-color: #D5FFD5 \\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5 \\n}\\n\\n.gray {\\n color: #C0C0C0 \\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n\\tfont-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n\\tmargin-right: auto;\\n\\tmargin-left: auto;\\n\\t}\\n\\n.dropdown-menu {\\n\\tposition: absolute;\\n\\ttop: 100%;\\n\\tleft: 0;\\n\\tz-index: 1000;\\n\\tdisplay: none;\\n\\tfloat: left;\\n\\tmin-width: 20px;\\n\\tpadding: 5px 0;\\n\\tmargin: 2px 0 0;\\n\\tfont-size: 14px;\\n\\ttext-align: left;\\n\\tlist-style: none;\\n\\tbackground-color: #fff;\\n\\tbackground-clip: padding-box;\\n\\tborder: 1px solid #ccc;\\n\\tborder: 1px solid rgba(0, 0, 0, .15);\\n\\tborder-radius: 4px;\\n\\t-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n\\tbox-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n\\tborder-bottom: 1px solid lightgrey;\\n\\toverflow-x: hidden !important;\\n}\\n\\n.container {\\n\\theight:100%;\\n\\tmin-height:100%;\\n}\\n\\n.fill{\\n height:100%;\\n min-height:100%;\\n background-color:#990000;\\n padding:10px;\\n color:#efefef;\\n}\\n\\n.ch-posttype {\\n\\tfont-size: 9px;\\n\\tcolor: white;\\n\\ttext-transform: uppercase;\\n\\tbackground-color: #707070;\\n\\tpadding: 2px 4px;\\n}\\n\\n.ch-cell-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 200px;\\n}\\n\\n.ch-cell-long-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 400px;\\n}\\n\\n.ch-cell-short-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 200px;\\n}\\n\\n.ch-cell-date {\\n\\tfont-size: smaller;\\n\\ttext-align: center;\\n}\\n\\n.ch-cell-number{\\n\\twhite-space: pre;\\n\\ttext-align: right;\\n}\\n\\n.ch-post {\\n\\tbackground-color: $post-bk\\n}\\n\\n.ch-post-post {\\n\\tbackground-color: $post-post-bk\\n}\\n\\n.ch-post-news {\\n\\tbackground-color: $post-news-bk\\n}\\n\\n.ch-post-document {\\n\\tbackground-color: $post-docu-bk\\n}\\n\\n.ch-post-question {\\n\\tbackground-color: $post-question-bk\\n}\\n\\n.ch-post-event {\\n\\tbackground-color: $post-event-bk\\n}\\n\\n.ch-post-image {\\n\\tbackground-color: $post-image-bk\\n}\\n\\n.ch-post-form {\\n\\tbackground-color: $post-form-bk\\n}\\n\\n.ch-post-link {\\n\\tbackground-color: $post-link-bk\\n}\\n\\n\\n.ch-status-txt {\\n\\tfont-size: smaller;\\n}\\n\\n.ch-status-published {\\n\\tcolor: $post-published\\n}\\n\\n.ch-status-not-published {\\n\\tcolor: $post-published;\\n}\\n\\n.ch-status-waiting {\\n\\tcolor: $post-waiting\\n}\\n\\n.ch-status-draft {\\n\\tcolor: $post-draft\\n}\\n\\n.ch-status-nopub-a {\\n\\tcolor: $post-nopub-a\\n}\\n\\n.ch-status-nopub-b {\\n\\tcolor: $post-nopub-b\\n}\\n\\n.ch-status-nopub-c {\\n\\tcolor: $post-nopub-c\\n}\\n\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9hbmFseXRpY3MvY2gtcG9zdHMtYW5hbHl0aWNzL2NoLXBvc3RzLWFuYWx5dGljcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUEiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2FuYWx5dGljcy9jaC1wb3N0cy1hbmFseXRpY3MvY2gtcG9zdHMtYW5hbHl0aWNzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4vKlxuLmxlZnQtbWFyZ2luLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcblx0cGFkZGluZzogMC41ZW0gMGVtO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4ucmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZENUQ1IFxufVxuXG4uYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRiBcbn1cblxuLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVGRkQ1IFxufVxuXG4ueWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRUQ1O1xufVxuXG4ub3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFQkQ1IFxufVxuXG4uZ3JheSB7XG4gICAgY29sb3I6ICNDMEMwQzAgXG59XG5cbi5zZWxlY3RlZCB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVENSAhaW1wb3J0YW50O1xufVxuXG4ucm93aW5kZXgge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmRhdGFUYWJsZXNfc2Nyb2xsSGVhZElubmVyIHtcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxuXG4uZHJvcGRvd24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbG9hdDogbGVmdDtcblx0bWluLXdpZHRoOiAyMHB4O1xuXHRwYWRkaW5nOiA1cHggMDtcblx0bWFyZ2luOiAycHggMCAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjE1KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcblx0Ym94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNzUpO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcblx0b3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWluZXIge1xuXHRoZWlnaHQ6MTAwJTtcblx0bWluLWhlaWdodDoxMDAlO1xufVxuXG4uZmlsbHtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtaW4taGVpZ2h0OjEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojOTkwMDAwO1xuICAgIHBhZGRpbmc6MTBweDtcbiAgICBjb2xvcjojZWZlZmVmO1xufVxuXG4uY2gtcG9zdHR5cGUge1xuXHRmb250LXNpemU6IDlweDtcblx0Y29sb3I6IHdoaXRlO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MDcwO1xuXHRwYWRkaW5nOiAycHggNHB4O1xufVxuXG4uY2gtY2VsbC1zdHJpbmcge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmNoLWNlbGwtbG9uZy1zdHJpbmcge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmNoLWNlbGwtc2hvcnQtc3RyaW5nIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5jaC1jZWxsLWRhdGUge1xuXHRmb250LXNpemU6IHNtYWxsZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNoLWNlbGwtbnVtYmVye1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNoLXBvc3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1ia1xufVxuXG4uY2gtcG9zdC1wb3N0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtcG9zdC1ia1xufVxuXG4uY2gtcG9zdC1uZXdzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtbmV3cy1ia1xufVxuXG4uY2gtcG9zdC1kb2N1bWVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWRvY3UtYmtcbn1cblxuLmNoLXBvc3QtcXVlc3Rpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1xdWVzdGlvbi1ia1xufVxuXG4uY2gtcG9zdC1ldmVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWV2ZW50LWJrXG59XG5cbi5jaC1wb3N0LWltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtaW1hZ2UtYmtcbn1cblxuLmNoLXBvc3QtZm9ybSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWZvcm0tYmtcbn1cblxuLmNoLXBvc3QtbGluayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWxpbmstYmtcbn1cblxuXG4uY2gtc3RhdHVzLXR4dCB7XG5cdGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxuLmNoLXN0YXR1cy1wdWJsaXNoZWQge1xuXHRjb2xvcjogJHBvc3QtcHVibGlzaGVkXG59XG5cbi5jaC1zdGF0dXMtbm90LXB1Ymxpc2hlZCB7XG5cdGNvbG9yOiAkcG9zdC1wdWJsaXNoZWQ7XG59XG5cbi5jaC1zdGF0dXMtd2FpdGluZyB7XG5cdGNvbG9yOiAkcG9zdC13YWl0aW5nXG59XG5cbi5jaC1zdGF0dXMtZHJhZnQge1xuXHRjb2xvcjogJHBvc3QtZHJhZnRcbn1cblxuLmNoLXN0YXR1cy1ub3B1Yi1hIHtcblx0Y29sb3I6ICRwb3N0LW5vcHViLWFcbn1cblxuLmNoLXN0YXR1cy1ub3B1Yi1iIHtcblx0Y29sb3I6ICRwb3N0LW5vcHViLWJcbn1cblxuLmNoLXN0YXR1cy1ub3B1Yi1jIHtcblx0Y29sb3I6ICRwb3N0LW5vcHViLWNcbn1cblxuKi8iXX0= */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterViewInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport * as moment from 'moment';\nimport { ResizedEvent } from 'angular-resize-event';\n\nconst spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n};\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-posts-analytics',\n templateUrl: './ch-posts-analytics.component.html',\n styleUrls: ['./ch-posts-analytics.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChPostsAnalyticsComponent implements OnInit, AfterViewInit {\n\n private siteName = '';\n @ViewChild('tableDom', { static: false}) tableDom: ElementRef;\n @ViewChild('tableContainer', { static: false}) tableContainer: ElementRef;\n\n // Filtros\n private postTypeFilter = { post: true, news: true, event: true, document: true,\n question: true, form: true, link: true, image: true,\n publi: true, theme: true, test: true, postbox: true,\n\n toArray(): Array {\n const temp: string[] = [];\n if ( this.post ) { temp.push('post'); };\n if ( this.news ) { temp.push('news'); };\n if ( this.event ) { temp.push('event'); };\n if ( this.document ) { temp.push('document'); };\n if ( this.question ) { temp.push('question'); };\n if ( this.form ) { temp.push('form'); };\n if ( this.link ) { temp.push('link'); };\n if ( this.image ) { temp.push('image'); };\n if ( this.publi ) { temp.push('publi'); };\n if ( this.theme ) { temp.push('theme'); };\n if ( this.test ) { temp.push('test'); };\n if ( this.postbox ) { temp.push('postbox'); };\n return temp;\n }\n };\n\n private from = '';\n private to = '';\n private categoryFilter = [];\n private isRunning = false;\n\n private results = [];\n private nPosts = 0;\n private nVisits = 0;\n private nDownloads = 0;\n private resultsVisibles = false;\n\n // Opciones y datos del gráfico de tarta\n private piedata = {};\n private pieoptions = {\n responsive: false,\n title: {\n display: false,\n text: 'Tipos de post'\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: true\n }\n };\n\n // Opciones y datos del grafico scatter\n private scatterdata = {};\n private scatteroptions = {\n responsive: false,\n title: {\n display: false,\n text: 'Histográma de visitas'\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: true\n },\n scales: {\n xAxes: [{\n type: 'linear',\n position: 'bottom'\n }]\n }\n}\n\n private columnArray: string[] = ['uid', 'type', 'status', 'zoneName', 'createdAt', 'title',\n 'visitsCount', 'downloadsCount'];\n\n private columnsDef: Array = [\n {targets: 0, width: '0%', title: 'uid', label: 'uid', visible: false, sType: this.setColumnType('string'),\n render: this.renderFunction('string'), bSortable: true},\n {targets: 1, width: '10%', title: 'Tipo', label: 'Tipo', visible: true, sType: this.setColumnType('PostType'),\n render: this.renderFunction('PostType'), bSortable: true},\n {targets: 2, width: '10%', title: 'Status', label: 'Status', visible: true, sType: this.setColumnType('Status'),\n render: this.renderFunction('Status'), bSortable: true},\n {targets: 3, width: '15%', title: 'Zona', label: 'Zona', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('PostZone'), bSortable: true},\n {targets: 4, width: '10%', title: 'Creación', label: 'Creación', visible: true, sType: this.setColumnType('SmallDateTime'),\n render: this.renderFunction('SmallDateTime'), bSortable: true},\n {targets: 5, width: '35%', title: 'Título', label: 'Título', visible: true, sType: this.setColumnType('LongString'),\n render: this.renderFunction('LongString'), bSortable: true},\n {targets: 6, width: '10%', title: 'Visitas', label: 'Visitas', visible: true, sType: this.setColumnType('Int'),\n render: this.renderFunction('InfoIndex'), bSortable: true},\n {targets: 7, width: '10%', title: 'Descargas', label: 'Descargas', visible: true, sType: this.setColumnType('Int'),\n render: this.renderFunction('InfoIndex'), bSortable: true}\n ];\n\n private dtOptions: any = {\n deferRender: true,\n scrollY: 360,\n scrollCollapse: true,\n scrollX: '50%',\n responsive: true,\n bPaginate: false,\n\n pagingType: 'simple_numbers',\n pageLength: -1,\n dom: '<t>',\n columns: this.columnsDef,\n language: spanishTranslation,\n autoWidth: false,\n // paging : false,\n buttons: {\n buttons: [\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-primary', exportOptions: { columns: ':visible' }\n }\n ],\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) {\n\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this.initDataTable();\n }\n\n search() {\n if (this.isRunning) {\n return;\n }\n\n this.isRunning = true;\n this.reset();\n //console.log(this.postTypeFilter.toArray());\n this.chGlobal.showRunningWindow('Leyendo datos ...');\n const flujoDatos = this.chGlobal.getPostAnalytics( this.chGlobal.getGroupInfo().uid, null, this.from, this.to,\n this.categoryFilter.map( v => v.uid ), this.postTypeFilter.toArray(), true )\n .subscribe(\n (values: object[]) => {\n values.forEach( (v) => { this.results.push(v); });\n\n // const rows: object[] = values.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n // $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.chGlobal.showRunningWindowWithParams( '%1 entradas leidas ...', [this.results.length.toString()]);\n },\n (error: any) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n flujoDatos.unsubscribe();\n this.isRunning = false;\n },\n () => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessageWithParams(MessageType.success, 'Datos leidos',\n '%1 filas leidas', [this.results.length.toString()]);\n flujoDatos.unsubscribe();\n\n this.recalculate();\n const rows: object[] = this.results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.isRunning = false;\n\n // console.log(this.results);\n }\n );\n this.resetTable();\n }\n\n reset() {\n this.resultsVisibles = false;\n this.nPosts = 0;\n this.nVisits = 0;\n this.nDownloads = 0;\n this.results = [];\n this.piedata = {\n labels: ['POST', 'NEWS', 'EVENT', 'DOCUMENT', 'QUESTION', 'FORM', 'LINK', 'IMAGE', 'PUBLI', 'THEME', 'TEST', 'POSTBOX' ],\n datasets: [{\n label: 'Tipos de post',\n backgroundColor: ['#684C96', '#4A5796', '#B34E5D', '#538D3F', '#C29C5C', '#797979', '#559193', '#7F7E38',\n '#B34EA1', '#457A99', '#CF766D', '#9F9609' ],\n data: []\n }]\n };\n this.scatterdata = {\n labels: ['POST', 'NEWS', 'EVENT', 'DOCUMENT', 'QUESTION', 'FORM', 'LINK', 'IMAGE', 'PUBLI', 'THEME', 'TEST', 'POSTBOX'],\n datasets: [{\n label: 'Scatter Dataset',\n data: []}\n ]\n };\n }\n\n async recalculate() {\n const chartData = {\n labels: ['POST', 'NEWS', 'EVENT', 'DOCUMENT', 'QUESTION', 'FORM', 'LINK', 'IMAGE', 'PUBLI', 'THEME', 'TEST', 'POSTBOX'],\n datasets: [{\n label: 'Tipos de post',\n backgroundColor: ['#684C96', '#4A5796', '#B34E5D', '#538D3F', '#C29C5C', '#797979', '#559193', '#7F7E38',\n '#B34EA1', '#457A99', '#CF766D', '#9F9609' ],\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n }]\n };\n\n const scatterdata = {\n labels: ['POST', 'NEWS', 'EVENT', 'DOCUMENT', 'QUESTION', 'FORM', 'LINK', 'IMAGE', 'PUBLI', 'THEME', 'TEST', 'POSTBOX'],\n datasets: [{\n label: 'Scatter Dataset',\n data: [],\n backgroundColor: '#684C96'}\n ]\n };\n\n const scatterpoints: Array = [];\n\n this.nPosts = this.results.length;\n this.nVisits = 0;\n this.nDownloads = 0;\n this.results.forEach( (p) => {\n const visits = p.visitsCount !== undefined && p.visitsCount !== null ? Number(p.visitsCount) : 0;\n this.nVisits += visits;\n this.nDownloads += p.downloadsCount !== undefined && p.downloadsCount !== null ? Number(p.downloadsCount) : 0;\n switch ( p.type) {\n case 'post':\n chartData.datasets[0].data[0]++; break;\n case 'news':\n chartData.datasets[0].data[1]++; break;\n case 'event':\n chartData.datasets[0].data[2]++; break;\n case 'document':\n chartData.datasets[0].data[3]++; break;\n case 'question':\n chartData.datasets[0].data[4]++; break;\n case 'form':\n chartData.datasets[0].data[5]++; break;\n case 'link':\n chartData.datasets[0].data[6]++; break;\n case 'image':\n chartData.datasets[0].data[7]++; break;\n case 'publi':\n chartData.datasets[0].data[8]++; break;\n case 'theme':\n chartData.datasets[0].data[9]++; break;\n case 'test':\n chartData.datasets[0].data[10]++; break;\n case 'postbox':\n chartData.datasets[0].data[11]++; break;\n }\n // Inserta el dato scatter enn su orden\n // scatterdata.datasets[0].data.push({x: index, y: downloads});\n scatterpoints.push(visits);\n });\n this.resultsVisibles = true;\n this.piedata = chartData;\n await scatterpoints.sort( (a: number, b: number) => {return b - a; });\n // console.log(scatterpoints);\n const n = scatterpoints.length;\n scatterdata.datasets[0].data = scatterpoints.map( (value, index) => {\n return {x: index, y: value};\n });\n this.scatterdata = scatterdata;\n }\n\n\n // ******************************************\n // GESTION DE LA TABLA DE DATOS\n //\n // ******************************************\n\n resizeTable(event: ResizedEvent) {\n // const newWidth = event.newWidth;\n // const newHeight = event.newHeight;\n // console.log(' NUEVO ALTO : ' + (event.newHeight - 90).toString());\n }\n\n initDataTable() {\n $(this.tableDom.nativeElement).DataTable( this.dtOptions );\n }\n\n resetTable() {\n $(this.tableDom.nativeElement).DataTable().clear();\n $(this.tableDom.nativeElement).DataTable().destroy();\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n /*\n if (this.results.length > 0) {\n const rows: object[] = this.results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n } */\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n renderFunction(type: string): any {\n switch (type) {\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '';\n } else {\n return '
' + moment(data).format('l') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n (data === null ? ' ' : (' ' + data.toString()).substr(-12)) + '
';\n };\n case 'InfoIndex':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n (data === null ? ' ' : (' ' + data.toString()).substr(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + ('00000' + data).slice(-5) + '
';\n };\n case 'PostType':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n '' + String(data) + '' +\n '
';\n };\n case 'Status':\n return function (data: any, _type: any, row: any, meta: any) {\n switch(data.trim()) {\n case 'Waiting for approval':\n case 'waiting_for_approval':\n return '
' +\n '' +\n ' WAITING' +\n '
';\n case 'Draft':\n case 'draft':\n return '
' +\n '' +\n ' DRAFT' +\n '
';\n case 'Published':\n case 'published':\n return '
' +\n '' +\n ' PUBLISHED' +\n '
';\n case 'Not published A':\n case 'no_published_a':\n return '
' +\n '' +\n ' NO PUB A' +\n '
';\n case 'Not published B':\n case 'no_published_b':\n return '
' +\n '' +\n ' NO PUB B' +\n '
';\n case 'Not published C':\n case 'no_published_c':\n return '
' +\n '' +\n ' NO PUB C' +\n '
';\n }\n };\n case 'LongString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n case 'PostZone':\n case 'ShortString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n }\n }\n\n}\n","import { map } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { ChZoneCompact } from '../zone/ch-zone';\nimport { ChFamiliaCategoria, ChCategoria } from '../categories/ch-categoria';\nimport { ChUserList } from '../population/ch-user-list';\nimport { GroupInfo, GroupSEO } from '../chilweb/ch-globals-def';\nimport * as moment from 'moment';\nimport { SystemConst } from 'systemConst';\nimport { ChChannelListEditorComponent } from '../comercio/ch-channel-list-editor/ch-channel-list-editor.component';\nimport { CHDistributionChannel, CHDistributionChannelType } from '../comercio/ch-distribution-channel';\nimport { ChGeoLocation, ChGeoLocationExtended } from '../location/ch-geo-location';\nimport { Observable } from 'rxjs';\nimport { ChCommentCommand, ChPostCommand } from '../post/ch-post-command';\nimport { ChActorCompact } from '../actor/ch-actor';\nimport { GoogleClientData } from '../login/ch-google-client-data';\nimport { isNullOrUndefined } from 'util';\n\n////////////////////////////////////////////\n//\n// Clases de utilidad\n//\n////////////////////////////////////////////\n\n/**\n * Clase con las opciones para subir un fichero a\n * la nube\n */\nexport class ChfileOptions {\n folderUid?: string;\n filename?: string;\n filedescr?: string;\n subdirname?: string;\n}\n\n////////////////////////////////////////////\n\n\n@Injectable()\nexport class ChApiService {\n\n static baseUrl2 = SystemConst.chilApi2;\n static apiIdent = SystemConst.internalApiIdent;\n\n constructor(private http: HttpClient) {\n // console.log(' SERVICE CONSTRUCTION : ChApiService');\n }\n\n // ***************************************************************************************\n //\n // UTILIDADES\n //\n // ***************************************************************************************\n //\n //\n\n convertToHttpParameters(base: object): HttpParams {\n moment.locale('es');\n let result = new HttpParams();\n const keys = Object.keys(base);\n\n keys.forEach(k => {\n const value = base[k];\n if (typeof value.getMonth === 'function') { // Mira si es una fecha\n result = result.append(k, moment(value).format('YYYY-MM-DD'));\n } else if (Array.isArray(value)) {\n let tempStr: string = null;\n value.forEach(i => {\n tempStr = tempStr == null ? String(i) : tempStr + ',' + String(i);\n });\n if (tempStr != null) {\n result = result.append(k, tempStr);\n }\n } else {\n result = result.append(k, String(value));\n }\n });\n\n return result;\n }\n\n /**\n * Lee un fichero de texto\n * @param url url del fichero incluyendo el prefijo http, etc.\n */\n loadStringFile(url: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/http/get-text/' + this.utoa(url, true);\n\n return this.http.get(urlReq, {responseType: \"text\"}).toPromise();\n }\n\n /**\n * Lee los datos de un video de youtube\n * @param youTubeId el id del video youtube\n */\n loadYouTubeVideoInfo(youTubeId: string): Promise {\n const urlReq: string = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=' +\n youTubeId +'&key=AIzaSyDgZoVZLfcj9MsGrtwBUmp-y2QlNvjskpM'\n return this.http.get(urlReq, {responseType: \"text\"}).toPromise();\n }\n\n /**\n * Lee un fichero de texto\n * @param url url del fichero incluyendo el prefijo http, etc.\n */\n loadBinaryFile(url: string): Observable {\n const urlReq: string = ChApiService.baseUrl2 + '/http/get-binary/' + this.utoa(url, true);\n\n return this.http.get(urlReq, {responseType: \"blob\"});\n }\n\n // ***************************************************************************************\n //\n // ENCODING & DECODING ciertas cabeceras\n //\n // ***************************************************************************************\n //\n\n\n isEncoded(data: string) : boolean {\n return data.substr(0,9) == '_ENCODED_';\n }\n /**\n * ASCII to Unicode (decode Base64 to original data)\n * @param {string} b64\n * @return {string}\n */\n atou(b64: string) : string {\n try {\n if (b64 == undefined || b64 == null) {\n return '';\n } else if (this.isEncoded(b64)) {\n return decodeURIComponent(atob( b64.substr(9, b64.length - 9) ));\n } else {\n return decodeURIComponent(b64);\n }\n } catch (e) {\n // console.log(\" *** ERROR DE DECODIFICACION : \" + e);\n // console.log(b64);\n return b64;\n }\n\n }\n\n /**\n * Unicode to ASCII (encode data to Base64)\n * @param {string} data\n * @return {string}\n */\n utoa(data: string, force : boolean = false) : string {\n try {\n // console.log(\" ENCODING : \" + data);\n if (data == undefined || data == null || data == '') {\n return data;\n } else if ( force || (data.length > 255 && !this.isEncoded(data))) {\n //console.log(data);\n const temp = '_ENCODED_' + btoa(encodeURIComponent((' ' + data).slice(1)));\n //console.log(data);\n return temp;\n } else {\n //console.log(data);\n const temp = encodeURIComponent((' ' + data).slice(1));\n //console.log(data);\n return temp;\n }\n } catch (e) {\n console.log(\" *** ERROR DE CODIFICACION : \" + e);\n console.log(data);\n return data;\n }\n }\n\n\n // ***************************************************************************************\n //\n // FUNCIONES BASICS DE INICIALIZACION Y AUTORIZACIÖN\n //\n // ***************************************************************************************\n //\n //\n\n /**\n * Devuelve el bearer para acceder a las funciones del Api\n * a partir del token\n * @param token Access token devuelto en el login\n */\n getAccessBearer(token: string): string {\n return 'Bearer ' + token;\n }\n /**\n * Devuelve el codigo de ientificacion del api que garantiza que la llamada es legítima\n */\n getApiIdentification(): string {\n return ChApiService.apiIdent;\n }\n /**\n * Efectúa el login llamando al API.\n * Devuelve un código de resultado\n * EVOLVE: Moverlo a la nueva API\n * @param username Nombre de usuario\n * @param password Passwwrd de usuario\n */\n loginUser(username: string, password: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/login';\n const header = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http.post(urlReq,\n {\n username: username,\n password: password\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response.body);\n return response.body;\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n\n }\n /**\n * Efectúa el login llamando al API en base a unos datos de Google.\n * Devuelve un código de resultado\n * EVOLVE: Moverlo a la nueva API\n * @param username Nombre de usuario\n * @param password Passwwrd de usuario\n */\n loginUserGoogle(googleData: GoogleClientData): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/googleLogin';\n const header = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http.post(urlReq, {googleData: googleData},\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response.body);\n return response.body;\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n /**\n * Efectúa el logout\n * EVOLVE: Moverlo a la nueva API\n */\n logout() {\n }\n /**\n * Lee los datos de un actor\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param uid uid del usuario o nombre (CUIDADO!). Si es null devuelve los datos del usuario activo\n */\n loadActor(token: string, uid?: string): Promise {\n\n let urlReq = '';\n if (uid !== null) {\n urlReq = ChApiService.baseUrl2 + '/actor/' + uid + '/data';\n } else {\n urlReq = ChApiService.baseUrl2 + '/actor/me/data';\n }\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n\n return this.http.get(urlReq, { headers: header }).toPromise();\n }\n /**\n * devuelve la información de un grupo a partir de su nombre\n * @param groupName Nombre del grupo: 'RICA','aprogip', etc\n */\n loadGroupInfo(groupName: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupName;\n return this.http.get(urlReq, { observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n /**\n * devuelve la información de SEO de un grupo\n * @param token Token de autorización\n * @param groupUid Identificador único del grupo\n */\n loadGroupSEO(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/seo';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n /**\n * devuelve la información de SEO de un grupo\n * @param token Token de autorización\n * @param groupUid Identificador único del grupo\n */\n loadGroupAdmin(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/admin';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n updateGroupSEO(token: string, groupSEO: object): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/update-seo';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n console.log(groupSEO);\n return this.http.post(urlReq, groupSEO,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n updateGroupAdmin(token: string, groupAdmin: object): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/update-admin';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n return this.http.post(urlReq, groupAdmin,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n // TODO: Crear la funcion de actualizar profile\n updateGroupProfile(token: string, group: GroupInfo): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/update-profile';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, group,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n /**\n * Devuelve el array de autorizaciones del actor actual en un grupo\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param groupUid Grupo para el que se solicitan los datos de autorización\n */\n getGroupCurrentUserAuth(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/globalAuthorization';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n /**\n * Devuelve als listas en las que está presente el usuario activo\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param groupUid Grupo para el que se solicitan las listas\n */\n getGroupCurrentUserLists(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/currentUserLists';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n /**\n * Devuelve als listas en las que está presente el usuario activo\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param groupUid Grupo para el que se solicitan las listas\n */\n getActorManagedSites(token: string, groupUid: string): Promise> {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/managed-sites';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = result.body;\n if (Array.isArray(body)) {\n const newValues = body.map( r => { return ChActorCompact.fromObject(r)}).sort( (a,b) => { return a.displayName.localeCompare(b.displayName)});\n return newValues;\n } else {\n return null;\n }\n },\n error => {\n console.log(error)\n return null;\n }))\n .toPromise();\n }\n\n /**\n * Devuelve als listas en las que está presente el usuario activo\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param groupUid Grupo para el que se solicitan las listas\n */\n getActorZoneManagedSites(token: string, groupUid: string): Promise> {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/zone-managed-sites';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = result.body;\n if (Array.isArray(body)) {\n const newValues = body.map( r => { return ChActorCompact.fromObject(r)}).sort( (a,b) => { return a.displayName.localeCompare(b.displayName)});\n return newValues;\n } else {\n return null;\n }\n },\n error => {\n console.log(error)\n return null;\n }))\n .toPromise();\n }\n /**\n * Función que genera un UID desde un ID y un TIPO dado\n * TODO: esta función no debe estar aquí. Se trata de que no se manejen más\n * ids en el sistema. Se incluye únicamente por útilidad mientras se está desarrollando\n * @param id id que se quiere convertir en uid\n * @param tipo String con el tipo de datos de que se trata\n */\n getUID(id: number, tipo: string): Promise {\n // console.log(urlReq);\n return new Promise((resolve, reject) => {\n if (id <= 0) {\n resolve('');\n } else {\n const urlReq: string = ChApiService.baseUrl2 + '/id/encode?id=' + String(id) + '&type=' + tipo;\n const header = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n this.http.get(urlReq, { headers: header, observe: 'response', responseType: 'text' })\n .toPromise()\n .then(\n value => {\n resolve(value.body);\n },\n reason => {\n reject(reason);\n }\n );\n }\n });\n }\n\n /**\n * Función que genera un ID desde un UID y un TIPO dado\n * TODO: esta función no debe estar aquí. Se trata de que no se manejen más\n * ids en el sistema. Se incluye únicamente por útilidad mientras se está desarrollando\n * @param uid id que se quiere convertir en uid\n * @param tipo String con el tipo de datos de que se trata\n */\n getID(uid: string, tipo: string): Promise {\n return new Promise((resolve, reject) => {\n if (uid == undefined || uid == null || uid == '') {\n resolve(0);\n } else {\n const urlReq: string = ChApiService.baseUrl2 + '/id/decode?uid=' + uid + '&type=' + tipo;\n const header = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n this.http.get(urlReq, { headers: header, observe: 'response', responseType: 'text' })\n .toPromise()\n .then(\n value => {\n resolve(parseInt(value.body));\n },\n reason => {\n reject(reason);\n }\n );\n\n }\n });\n }\n ////////////////////////////////////////////////\n //\n // ZONAS\n // ------------------\n //\n ////////////////////////////////////////////////\n /**\n * Devuelve las zonas de un grupo\n * EVOLVE: Moverlo a la nueva API\n * @param token Token de autorización\n * @param groupUid UID del grupo\n */\n getGroupZones(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + String(groupUid) + '/zones';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as ChZoneCompact;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n /**\n * Devuelve la configuración de una zona\n * @param token Token de autorización\n * @param groupUid UID del grupo\n * @param zoneUid UID de la zona\n */\n getZoneConfig(token: string, groupUid: string, zoneUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/zone/' + String(groupUid) + '/' + String(zoneUid) + '/conf';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n try {\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n return body;\n }))\n .toPromise();\n } catch (e) {\n return new Promise((resolve, reject) => { reject(e.toString()); });\n }\n }\n\n addZone(token: string, groupUid: string, zone: ChZoneCompact): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/zones/add-zone';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, zone,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n updateZone(token: string, zone: ChZoneCompact): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/zone/update-zone';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, zone,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n /**\n * Borra una zona de un grupo\n * @param token Token de autorización\n * @param groupUid UID del grupo\n * @param zoneUid UID de la zona\n */\n deleteZone(token: string, groupUid: string, zoneUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/zone/' + String(groupUid) + '/' + String(zoneUid) + '/remove';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n null,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n ////////////////////////////////////////////////\n //\n // CATEGORIAS\n // ------------------\n //\n ////////////////////////////////////////////////\n /**\n * Devuelve las categorias del grupo organizadas en familias\n * @param groupUid UID del grupo\n */\n getGroupCategories(token: string, groupUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + String(groupUid) + '/categories';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as ChFamiliaCategoria;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n updateCategoryFamily(token: string, family: ChFamiliaCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/update-group';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n uid: family.uid,\n name: family.name,\n color: family.color\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n // console.log(error);\n return false;\n }))\n .toPromise();\n\n }\n\n addCategoryFamily(token: string, groupUid: string, family: ChFamiliaCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/categories/add-group';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n name: family.name,\n color: family.color\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n deleteCategoryFamily(token: string, family: ChFamiliaCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/' + family.uid + '/remove-group';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n addCategory(token: string, groupUid: string, categoria: ChCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + groupUid + '/categories/add-category';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n name: categoria.name,\n tags: categoria.tags,\n color: categoria.color,\n use: categoria.use,\n familyUid: categoria.group !== undefined ? categoria.group.uid : ''\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n\n deleteCategory(token: string, category: ChCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/' + category.uid + '/remove-category';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n updateCategory(token: string, category: ChCategoria): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/update-category';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n uid: category.uid,\n name: category.name,\n tags: category.tags,\n color: category.color,\n use: category.use,\n familyUid: category.group !== undefined && category.group !== null ? category.group.uid : ''\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n\n }\n\n getContenstOfCategory(token: string, categoryId: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/' + String(categoryId) + '/contents';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as object;\n });\n // console.log(bodyArray);\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n addObjectToCategory(token: string, catUid: string, objectUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/add-object-to-category';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n catUid: catUid,\n objectUid: objectUid,\n objectType: 44\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n removeObjectToCategory(token: string, catUid: string, objectUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/category/remove-object-to-category';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n catUid: catUid,\n objectUid: objectUid,\n objectType: 44\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n ////////////////////////////////////////////////\n //\n // ANALITICAS\n // ------------------\n //\n ////////////////////////////////////////////////\n\n getPostAnalytics(token: string, groupUid: string, pageIndex: number, pageLength: number,\n zoneUid?: string, from?: string, to?: string,\n categories?: Array, types?: Array, includeZones?: Boolean, includeNotPublished?: Boolean): Promise> {\n // Los parametros de búsqueda como un string codificado.\n // Recordemos que segun el standar HTTP en un Get no debe\n // haber body (aunque hay gente que lo usa)\n const searchConditions = {\n pageIndex: pageIndex, pageLength: pageLength,\n zoneUid: zoneUid, from: from, to: to,\n categories: categories, types: types,\n includeZones: includeZones,\n includeNotPublished: includeNotPublished\n };\n const params = new HttpParams().set('where', encodeURIComponent(JSON.stringify(searchConditions)));\n\n const urlReq: string = ChApiService.baseUrl2 + '/analytics/' + String(groupUid) + '/posts';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response', params: params }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as ChFamiliaCategoria;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n getListAnalytics(token: string, groupUid: string): Promise> {\n\n const urlReq: string = ChApiService.baseUrl2 + '/analytics/' + String(groupUid) + '/lists';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body } as Array;\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as ChFamiliaCategoria;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n // ***************************************************************************************\n //\n // SISTEMA DE FICHEROS\n //\n // ***************************************************************************************\n //\n //\n\n // tslint:disable-next-line:member-ordering\n static fileExtension(fname: string): string {\n // tslint:disable-next-line:no-bitwise\n return fname.slice((fname.lastIndexOf('.') - 1 >>> 0) + 2);\n }\n\n /*\n\n // Vieja version que incluia el filename, filedesde, forlderuid, subdir, etc. en el body\n\n addFile(token: string, groupUid: string, file: File, options?: ChfileOptions): Promise {\n const urlReq = ChApiService.baseUrl2 + '/file/add';\n const filename = options && options.filename ? options.filename + '.' + ChApiService.fileExtension(file.name) : file.name;\n const filedescr = options && options.filedescr ? options.filedescr : '';\n const folderUid = options && options.folderUid ? options.folderUid : '';\n const subdir = options && options.subdirname ? options.subdirname : '';\n\n return new Promise ( (resolve,reject) => {\n this.getID(folderUid,'FILE'). then ((folderid) => {\n console.log(folderid);\n const header = new HttpHeaders()\n // .set('Content-Type', 'multipart/form-data') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n // console.log(file);\n const formData = new FormData();\n formData.append('File', file, file.name);\n formData.append('Name', filename);\n formData.append('Description', filedescr);\n formData.append('FolderId', folderid.toString());\n\n if (options && options.subdirname) {\n formData.append('subdir', options.subdirname);\n }\n\n return this.http.post(urlReq, formData,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n if (response.status !== 200 || response.ok !== true) {\n return null;\n } else {\n return resolve(response.body);\n }\n },\n (error) => {\n console.log(error);\n return reject(error);\n }\n )\n .catch((error) => {\n console.log(error);\n return reject(error);\n });\n },\n (error) => {\n console.log(error);\n return reject(error);\n })\n });\n }\n */\n\n /**\n * Esta nueva version incluye los datso administrativos : goupid, filename, filedescr, etc. En\n * la cabecera (header) no en el cuerpo (formdata). el servicio peoxy en el servidor node.js\n * ha sido modificado para reflejar esto mismo.\n *\n * desgraciadamente hay que adoptar esta solcuion para usar alli (node.js) el proxy multer que nos lleva al servidor original y\n * decodificar alli los Uid's\n *\n * @param token\n * @param groupUid\n * @param file\n * @param options\n * @returns\n */\n addFile(token: string, groupUid: string, file: File, options?: ChfileOptions): Promise {\n const urlReq = ChApiService.baseUrl2 + '/file/add';\n const filename = options && options.filename ? options.filename + '.' + ChApiService.fileExtension(file.name) : file.name;\n const filedescr = options && options.filedescr ? options.filedescr : '';\n const folderUid = options && options.folderUid ? options.folderUid : '';\n const subdir = options && options.subdirname ? options.subdirname : undefined;\n\n const header = new HttpHeaders()\n // .set('Content-Type', 'multipart/form-data') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token))\n .set('Name', this.utoa(filename))\n .set('Description', this.utoa(filedescr))\n .set('GroupUid', groupUid)\n .set('FolderUid', folderUid);\n\n if (subdir) {\n header.set('Subdir', folderUid);\n }\n // console.log(file);\n const formData = new FormData();\n formData.append('File', file, file.name);\n formData.append('Name', filename);\n formData.append('Description', filedescr);\n formData.append('folderUid', folderUid);\n if (subdir) {\n formData.append('subdir', subdir);\n }\n\n\n return this.http.post(urlReq, formData,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n //console.log('addFile. Success');\n //console.log(response);\n if (response.status !== 200 || response.ok !== true) {\n return null;\n } else {\n return response.body;\n }\n },\n (error) => {\n console.log('addFile. Error');\n console.log(error);\n return null;\n }\n )\n .catch((error) => {\n console.log('addFile. Exception');\n console.log(error);\n return null;\n });\n }\n\n addLinkFile(token: string, folderUid: string, name: string, description: string, url: string,\n previewImageUrl?: string, includePreview?: boolean, embed?: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/file/add-link/to/' + String(folderUid);\n // console.log(urlReq);\n const header = new HttpHeaders()\n // .set('Content-Type', 'multipart/form-data') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n return this.http.post(urlReq,\n {\n name: name,\n description: description,\n url: url,\n previewImageUrl: previewImageUrl,\n includePreview: includePreview,\n embed: embed\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'] as string;\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n getRootFolder(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/actor/' + groupUid + '/rootfolder';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getFolder(token: string, folderUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/folder/' + folderUid + '/files';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n addFolder(token: string, parentUid: string, name: string, description: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/folder/add';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n name: name,\n description: description,\n parentUid: parentUid\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n getFile(token: string, fileUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/file/' + fileUid;\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n getFileFromContent(token: string, contentUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/fileFromContent/' + contentUid;\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n removeFile(token: string, fileUid: string, folderUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/file/' + fileUid + '/remove/' + folderUid;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n // ***************************************************************************************\n //\n // GESTION DE LISTAS\n //\n // ***************************************************************************************\n //\n //\n\n\n\n searchUsersByName(token: string, searchText: string): Promise> {\n\n const urlReq: string = ChApiService.baseUrl2 + '/actor/find-by-name/' + searchText;\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n return result.body;\n },\n error => {\n return [];\n }))\n .toPromise();\n }\n\n\n getManagers(token: string, groupUid: string): Promise> {\n\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + String(groupUid) + '/admins';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const managers = result.body;\n return managers;\n /*\n const body = { ...result.body };\n const actors = body.members.map(function (item) {\n return item.actor;\n });\n return actors;\n */\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n addManager(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/add-admin/' + actorUid ;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n\n removeManager(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/remove-admin/' + actorUid ;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n getFollowers(token: string, groupUid: string): Promise> {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + String(groupUid) + '/followers';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as object;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n addFollower(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/add-follower/' + actorUid ;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n removeFollower(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/remove-follower/' + actorUid ;\n //console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n\n\n getFollowing(token: string, groupUid: string): Promise> {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + String(groupUid) + '/following';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n const bodyArray = Object.keys(body).map(function (key) {\n return body[key] as object;\n });\n return bodyArray;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n addFollowing(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/add-following/' + actorUid ;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n removeFollowing(token: string, groupUid: string, actorUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/actor/' + groupUid + '/remove-following/' + actorUid ;\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n getListMembers(token: string, listUid: string): Promise> {\n\n const urlReq: string = ChApiService.baseUrl2 + '/list/' + String(listUid) + '/members';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n const actors = body.members.map(function (item) {\n return item.actor;\n });\n /*\n const bodyArray = Object.keys(body).map(function(key) {\n return body[key] as ChFamiliaCategoria;\n });\n */\n return actors;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n addListMember(token: string, listUid: string, actorUid: string, nombre: string, email: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/list/' + listUid + '/add-member';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n actorUid: actorUid,\n name: nombre,\n email: email\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n removeListMember(token: string, listUid: string, actorUid: string, email: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/list/' + listUid + '/remove-member';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n actorUid: actorUid,\n email: email\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n }\n\n\n /*\n const bearer = req.headers.authorization;\n const listId = idlib.decode( req.params.listUid, idlib.ObjType.LIST );\n const listName = req.body.listName;\n const description = req.body.description;\n const visibility = req.body.visibility;\n const membershipType = req.body.membershipType;\n const zoneUid = req.body.zoneUid;\n */\n\n updateList(token: string, list: ChUserList): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/list/' + list.uid + '/update';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n listName: list.name,\n description: list.description,\n visibility: list.visibility,\n membershipType: list.membershipType,\n zoneUid: list.zoneUid\n },\n { headers: header, observe: 'response' }).pipe(\n map(result => {\n // console.log(result);\n return true;\n },\n error => {\n console.log(error);\n return false;\n }))\n .toPromise();\n\n }\n\n createList(token: string, groupUid: string, list: ChUserList): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/list/add';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n groupUid: groupUid,\n listName: list.name,\n description: list.description,\n visibility: list.visibility,\n membershipType: list.membershipType,\n zoneUid: list.zoneUid\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return response.body['uid'].toString();\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n deleteList(token: string, list: ChUserList): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/list/' + list.uid + '/remove';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n null,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n\n }\n\n // ***************************************************************************************\n //\n // GESTION DE POSTS Y COMENTARIOS\n //\n // ***************************************************************************************\n //\n //\n\n getPost(token: string, postUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/posts/' + postUid;\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n //console.log(body)\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n addPost(token: string, postCommand: ChPostCommand) : Promise {\n const urlReq = ChApiService.baseUrl2 + '/posts/add';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, postCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n updatePost(token: string, postUid: string, postCommand: ChPostCommand): Promise {\n console.log(postCommand)\n const urlReq: string = ChApiService.baseUrl2 + '/posts/' + postUid + '/update';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, postCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n\n }\n\n copyPost(token: string, postUid: string, hostUid: string, zoneUid: string, authorUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/posts/' + postUid + '/copy';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {\n hostUid: hostUid,\n zoneUid: zoneUid,\n authorUid: authorUid\n },\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n deletePost(token: string, postUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/posts/' + postUid + '/remove';\n // console.log(urlReq);\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {},\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n getPostComments(token: string, postUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/post/' + postUid + '/comments';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n addComment(token: string, commentCommand: ChCommentCommand) : Promise {\n const urlReq = ChApiService.baseUrl2 + '/comment/add';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, commentCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return response.body['uid'];\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n updateComment(token: string, commentUid: string, commentCommand: ChCommentCommand): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/comment/' + commentUid + '/update';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq, commentCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n // console.log(response);\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n\n }\n\n deleteComment(token: string, commentUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/comment/' + commentUid + '/remove';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n null,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n getPostData(token: string, postUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/post/' + postUid + '/data';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n // ***************************************************************************************\n //\n // GESTION DE PAGINAS WEB\n //\n // ***************************************************************************************\n //\n //\n\n getSitePages(token: string, groupUid: string): Promise> {\n const urlReq = ChApiService.baseUrl2 + '/group/' + groupUid + '/pages';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n // console.log(body)\n return Object.keys(body).map(key => body[key]);\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n downloadSite(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/group/' + groupUid + '/downloadsite';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq,\n { responseType: 'blob',\n headers: header, observe: 'response' }).pipe(\n\n map(result => {\n //console.log(result);\n //console.log(result.headers.get('content-disposition'))\n //console.log(result.headers.get('content-type'))\n const filename = result.headers.get('content-disposition').split(';')[1].split('=')[1].replace(/\\\"/g, '')\n return {\n filename: filename,\n data: result.body\n };\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n resetSite(token: string, hostUid: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + hostUid + '/resetSite';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n null,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n createPage(token: string, hostUid: string,\n name: string, title: string, slug: string,\n status: number, templateUid: string | undefined\n ): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + hostUid + '/createPage';\n const pageCommand = {\n name : name,\n title: title,\n slug: slug,\n status: status,\n templateUid: templateUid\n };\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n pageCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n const newpageUid : String = response.body['pageUid'];\n return newpageUid;\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n createWebResource(token: string, hostUid: string,\n name: string, type: string, content: string\n ): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/group/' + hostUid + '/createWebResource';\n const wrCommand = {\n name : name,\n type: type,\n content: content\n };\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n wrCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n const newWrUid : String = response.body['wrUid'];\n return newWrUid;\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n updatePageContent(token: string, pageUid: string, body: string): Promise {\n const urlReq: string = ChApiService.baseUrl2 + '/page/' + pageUid + '/updateContent';\n const bodyCommand = {\n body : body\n };\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json') // 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n bodyCommand,\n { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n // ***************************************************************************************\n //\n // GESTION DE LAS APPS\n //\n // ***************************************************************************************\n //\n //\n\n getAppStartup(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/startup';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getAppConfig(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/savedconfig';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n createApp(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/initApp';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n null, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return true;\n // return body;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n updateAppStatus(token: string, groupUid: string, status: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/statusupdate';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { status: status }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n updateAppStartup(token: string, groupUid: string, startup: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/startupupdate';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { startup: startup }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n updateAppConfig(token: string, groupUid: string, config: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/configupdate';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { config: config }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n publishAppConfig(token: string, groupUid: string, config: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mobile/' + groupUid + '/configpublish';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { config: config }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n // ***************************************************************************************\n //\n // GESTION DEL CORREO\n //\n // ***************************************************************************************\n //\n //\n\n updateMailConfig(token: string, groupUid: string, config: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mail/' + groupUid + '/updateconfig';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { config: config }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n getMailConfig(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/mail/' + groupUid + '/config';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n sendMail(groupUid: string, type: string, origin: string, destination: string, title: string, content: string, more: string): Promise {\n\n const mail = {\n uid: groupUid,\n type: type,\n origin: origin,\n destination: destination,\n title: title,\n content: content,\n more: more\n };\n\n const urlReq = ChApiService.baseUrl2 + '/mail/' + groupUid + '/send';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getApiIdentification());\n return this.http.post(urlReq,\n { mail: mail }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n\n }\n\n\n // ***************************************************************************************\n //\n // GESTION DEL ECOMMERCE\n //\n // ***************************************************************************************\n //\n //\n\n getCommerceTypes(): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/types';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getCommerceTypeOptions(typeUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/type/' + typeUid + '/type-options';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n updateCommerceConfig(token: string, groupUid: string, config: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/updateconfig';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n\n //console.log(JSON.stringify(config))\n return this.http.post(urlReq,\n { config: config }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n updateCommerceConfigNfactura(token: string, groupUid: string, nFactura: number): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/updateconfignfactura';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n\n //console.log(JSON.stringify(config))\n return this.http.post(urlReq,\n { nFactura: nFactura }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n getCommerceConfig(token: string, groupUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/config';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n //console.log(JSON.stringify(body));\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getCommerceProducts(groupUid: string, filter: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/products';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n const params = this.convertToHttpParameters(filter);\n return this.http.get(urlReq, { headers: header, observe: 'response', params: params }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getCommerceProduct(productUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/product/' + productUid;\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n createCommerceProduct(token: string, groupUid: string, product: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/create-product';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { product: product }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n console.log(body)\n return isNullOrUndefined(body['uid']) ? '' : body['uid'] as string;\n },\n error => {\n console.log(error)\n return '';\n }))\n .toPromise();\n }\n\n updateCommerceProduct(token: string, groupUid: string, product: object): Promise {\n const urlReq = ChApiService.baseUrl2 + '/product/' + product['uid'] + '/update';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { product: product }, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n removeCommerceProduct(token: string, productUid: string): Promise {\n const urlReq = ChApiService.baseUrl2 + '/product/' + productUid + '/remove';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n {}, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n return true;\n },\n error => {\n return false;\n }))\n .toPromise();\n }\n\n\n\n getDistributionChannels(groupUid: string): Promise> {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/distribution-channels';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n return this.http.get(urlReq, { headers: header, observe: 'response'}).pipe(\n map(result => {\n const body = { ...result.body };\n return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n\n /*\n return new Promise(resolve => {\n setTimeout(() => {\n const temp: Array = [];\n for (var i = 0; i < 20; i++) {\n const newItem = new CHDistributionChannel();\n\n newItem.uid = 'PRUEBA' + i;\n newItem.type = CHDistributionChannelType[Object.keys(CHDistributionChannelType)[Math.floor(Math.random() * 4)]];\n newItem.active = Math.random() > 0.5 ? true : false;\n newItem.ownerUid = groupUid;\n newItem.name = \"Punto de prueba \" + i;\n newItem.description = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\";\n newItem.tfn1 = '678 ' + 7892345 + i * 234;\n newItem.tfn1 = '6729 ' + 3455345 + i * 214;\n newItem.email = 'test1@chil.org';\n newItem.location = new ChGeoLocationExtended(39.7689300 + 0.5 * (Math.random() - 0.5), -4.9400200 + 0.5 * (Math.random() - 0.5), 'Punto de prueba ' + i, 'place');\n\n newItem.services.buy = Math.random() > 0.3;\n newItem.services.service = Math.random() > 0.3;\n newItem.services.receive = Math.random() > 0.3;\n\n temp.push(newItem);\n }\n resolve(temp);\n }\n , 3000);\n });\n */\n }\n\n\n createDistributionChannel(token: string, groupUid: string, newChannel: CHDistributionChannel): Promise {\n const urlReq = ChApiService.baseUrl2 + '/commerce/' + groupUid + '/create-distribution-channel';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n return this.http.post(urlReq,\n { channel: newChannel }, { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return response.body['uid'].toString();\n },\n (error) => {\n console.log(error);\n return '';\n }\n )\n .catch((error) => {\n console.log(error);\n return '';\n });\n }\n\n updateDistributionChannel(token: string, channel: CHDistributionChannel): Promise {\n //console.log('Remove distribution channel')\n const urlReq = ChApiService.baseUrl2 + '/distribution-channel/' + channel.uid + '/update';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n //console.log(header)\n return this.http.post(urlReq,\n { channel: channel }, { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n\n removeDistributionChannel(token: string, channelUid: string): Promise {\n console.log('Remove distribution channel')\n const urlReq = ChApiService.baseUrl2 + '/distribution-channel/' + channelUid + '/remove';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n //console.log(header);\n return this.http.post(urlReq, {}, { headers: header, observe: 'response' }).toPromise()\n .then((response) => {\n return true;\n },\n (error) => {\n console.log(error);\n return false;\n }\n )\n .catch((error) => {\n console.log(error);\n return false;\n });\n }\n /*\n public uid = '';\n public type : CHDistributionChannelType = CHDistributionChannelType.courier;\n public active = true;\n // Datos básicos\n public ownerUid = '';\n public name = '';\n public description = '';\n public tfn1 = ''\n public tfn2 = ''\n public email = ''\n public direccion = ''\n public loc = ''\n public dp = ''\n public country = 'ES'\n public location: ChGeoLocation = new ChGeoLocation(0, 0, '', 'place');\n // Servicios\n public services : {\n service: false,\n buy: false,\n receive: false\n };\n public scope : {\n local: boolean,\n province: boolean,\n country: boolean,\n international: boolean\n } = {\n local: false,\n province: false,\n country: false,\n international: false\n };\n public cost : {\n local: CHDistributionCosts ,\n province: CHDistributionCosts,\n country: CHDistributionCosts,\n international: CHDistributionCosts\n } = {\n local: new CHDistributionCosts() ,\n province: new CHDistributionCosts(),\n country: new CHDistributionCosts(),\n international: new CHDistributionCosts()\n };\n public time : {\n local: CHDistributionTime ,\n province: CHDistributionTime,\n country: CHDistributionTime,\n international: CHDistributionTime\n } = {\n local: new CHDistributionTime() ,\n province: new CHDistributionTime(),\n country: new CHDistributionTime(),\n international: new CHDistributionTime()\n };\n // communication\n public commEmail = true;\n public commWhatsapp = true;\n */\n\n getChatGPTEnvironment(token: string, groupUid: string): Promise {\n console.log('Get ChatGPT environment')\n const urlReq = ChApiService.baseUrl2 + '/chatGPT/' + groupUid + '/environment';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n\n return this.http.get(urlReq, { headers: header, observe: 'response' }).pipe(\n map(result => {\n const body = { ...result.body };\n // Realmente no llega un array. Hay que convertirlo\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n getTranslation(text: string, lang: string): Promise {\n return new Promise((resolve, reject) => {\n if (text == undefined || text == null || text == '' ||\n lang == undefined || lang == null || lang == '' ) {\n reject('Bad data');\n } else {\n const urlReq = ChApiService.baseUrl2 + '/translate?lang=' + lang + '&text=' + encodeURIComponent(text);\n const header = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n this.http.get(urlReq, { headers: header, observe: 'response', responseType: 'text' })\n .toPromise()\n .then(\n value => {\n //console.log(\" > TRASLATE \" + lang + \" FROM : \" + text + \" TO : \" + value.body)\n resolve(value.body);\n },\n reason => {\n resolve('$$_' + text + '_$$');\n }\n );\n }\n });\n }\n\n\n getActivityLog(token: string, hostUid: string, zoneUid: string | null, from: string | null, to: string | null): Promise> {\n const urlReq = ChApiService.baseUrl2 + '/security/log';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Authorization', this.getAccessBearer(token));\n\n const params = this.convertToHttpParameters({hostUid: hostUid});\n return this.http.get(urlReq, { headers: header, observe: 'response', params: params }).pipe(\n map(result => {\n const body : Array = result.body;\n\n return body;\n // return body;\n },\n error => {\n return null;\n }))\n .toPromise();\n }\n\n\n\n\n};\n","function getValueFrom(obj: object, field: string, defvalue: any): any {\n if (obj === undefined || obj === null) {\n return defvalue;\n }\n const val = obj[field];\n if (val === undefined || val === null) {\n return defvalue;\n }\n return val;\n }\n\n /**\n * Clase que encapsula una categoria\n */\n export class ChCategoria {\n uid = '';\n name = '';\n tags = '';\n use = 'public';\n slug = '';\n color = NaN;\n group? = { uid: '', name: '', color: 0 };\n newuid = '';\n\n constructor( ref?: object ) {\n this.uid = getValueFrom(ref, 'uid', '');\n this.name = getValueFrom(ref, 'name', '');\n this.tags = getValueFrom(ref, 'tags', '');\n this.use = getValueFrom(ref, 'use', 'public');\n this.slug = getValueFrom(ref, 'slug', '');\n this.color = getValueFrom(ref, 'color', 0);\n this.group = getValueFrom(ref, 'group', { uid: '', name: '', color: NaN });\n\n this.newuid = '';\n }\n\n public clone() : ChCategoria {\n var temp = new ChCategoria();\n temp.uid = this.uid;\n temp.name = this.name;\n temp.tags = this.tags;\n temp.use = this.use;\n temp.slug = this.slug;\n temp.color = this.color;\n temp.group = this.group;\n temp.newuid = '';\n\n return temp;\n }\n }\n\n export class ChFamiliaCategoria {\n uid = '';\n name = '';\n slug = '';\n color = NaN;\n categories: ChCategoria[] = [];\n newuid = '';\n\n constructor( ref?: object ) {\n this.uid = getValueFrom(ref, 'uid', '');\n this.name = getValueFrom(ref, 'name', '');\n this.slug = getValueFrom(ref, 'slug', '');\n this.color = getValueFrom(ref, 'color', 0);\n this.categories = [];\n this.newuid = '';\n }\n\n public clone() : ChFamiliaCategoria {\n var temp = new ChFamiliaCategoria();\n temp.uid = this.uid;\n temp.name = this.name;\n temp.slug = this.slug;\n temp.color = this.color;\n temp.newuid = '';\n\n this.categories.forEach( c => {\n temp.categories.push(c.clone());\n });\n\n return temp;\n }\n\n static addCategory(family: ChFamiliaCategoria, category: ChCategoria) {\n if (family === undefined || category === undefined) {\n return;\n } else {\n if (!ChFamiliaCategoria.isCategoryIn(family, category)) {\n family.categories.push(category);\n category.group = { uid: family.uid, name: family.name, color: family.color };\n }\n }\n };\n\n static removeCategory(family: ChFamiliaCategoria, category: ChCategoria) {\n const index = family.categories.findIndex((cat) => { return cat.uid === category.uid; });\n if (index > -1) {\n family.categories.splice(index, 1);\n category.group = { uid: '', name: '', color: 0 };\n }\n }\n\n static isCategoryIn(family: ChFamiliaCategoria, category: ChCategoria): boolean {\n if (family === undefined || category === undefined) {\n return false;\n } else {\n return family.categories.findIndex((cat) => { return cat.uid === category.uid; }) > -1;\n }\n }\n\n\n }\n","export default \"::ng-deep .ng2-tag-input.foundation-theme {\\n display: block;\\n flex-direction: row;\\n flex-wrap: wrap;\\n position: relative;\\n cursor: text;\\n border-bottom: 0px transparent;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme:focus {\\n outline: 0;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--dropping {\\n opacity: 0.7;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--loading {\\n border: none;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme .ng2-tags-container {\\n flex-wrap: wrap;\\n display: flex;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n font-weight: 200;\\n color: #676a6c;\\n border-radius: 12px;\\n height: 20px;\\n line-height: 19px;\\n background: #efefef;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n overflow: hidden;\\n outline: 0;\\n cursor: pointer;\\n position: relative;\\n padding-left: 17px;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(.readonly):not(.tag--editing):focus {\\n background: #c9c9c9;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(.readonly):not(.tag--editing):active {\\n background: #c9c9c9;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover {\\n background: #c9c9c9;\\n color: #676a6c;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.readonly {\\n cursor: default;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.readonly:focus, ::ng-deep .ng2-tag-input.foundation-theme tag:focus {\\n outline: 0;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.tag--editing {\\n cursor: text;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon {\\n text-align: right;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon path {\\n fill: #676a6c;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon svg {\\n vertical-align: bottom;\\n height: 34px;\\n}\\n.tags-input__tag {\\n display: inline-block;\\n margin-bottom: 7px;\\n margin-right: 7px;\\n padding: 6px 10px;\\n border-radius: 14px;\\n cursor: pointer;\\n border: 1px solid lightgray;\\n}\\n.nav .label, .ibox .label {\\n font-size: 12px;\\n}\\n.ibox-title h5 {\\n white-space: nowrap;\\n width: 80%;\\n overflow: hidden;\\n}\\n.ibox-title.title-empty-category {\\n padding-top: 5px;\\n padding-right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jYXRlZ29yaWVzL2NoLWNhdGVnb3J5LWJyb3dzZXIvY2gtY2F0ZWdvcnktYnJvd3Nlci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL25vZGVfbW9kdWxlcy9uZ3gtY2hpcHMvY29yZS9zdHlsZXMvY29yZS9fbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2NoaWwvY2F0ZWdvcmllcy9jaC1jYXRlZ29yeS1icm93c2VyL2NoLWNhdGVnb3J5LWJyb3dzZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBO0VDN0JJLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQU9BLFlBQUE7RUFFQSw4QkFBQTtBQ05KO0FEVUk7RUFDSSxVQUFBO0FDUlI7QURXSTtFQUNJLFlBQUE7QUNUUjtBRG9CSTtFQUNJLFlBQUE7QUNsQlI7QURxQkk7RUFDSSxZQUFBO0VBQ0EsbUJBQUE7QUNuQlI7QUQwQkk7RUFDSSxlQUFBO0VBQ0EsYUFBQTtBQ3hCUjtBRlVBO0VDeUJJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFHQSxnQkFBQTtFQUlBLGNBQUE7RUFDQSxtQkFBQTtFQU9BLFlBQUE7RUFDQSxpQkFBQTtFQUVBLG1CQUFBO0VBRUEseUJBQUE7S0FBQSxzQkFBQTtNQUFBLHFCQUFBO1VBQUEsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RURqREEsa0JBQUE7QUVNSjtBRDZDSTtFQUNJLG1CQUFBO0FDM0NSO0FEZ0RJO0VBQ0ksbUJBQUE7QUM5Q1I7QURtREk7RUFDSSxtQkFBQTtFQUNBLGNBQUE7QUNqRFI7QURxREk7RUFDSSxlQUFBO0FDbkRSO0FEc0RJO0VBRUksVUFBQTtBQ3JEUjtBRHdESTtFQUdJLFlBQUE7QUN4RFI7QUZ0QkE7RUM0R0ksaUJBQUE7QUNsRko7QURvRkk7RUFDSSxhQUFBO0FDbEZSO0FEcUZJO0VBQ0ksc0JBQUE7RUFDQSxZQUFBO0FDbkZSO0FGNUJBO0VBQ0kscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSwyQkFBQTtBRStCSjtBRjVCQTtFQUNJLGVBQUE7QUUrQko7QUY1QkE7RUFDSSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtBRStCSjtBRjVCQTtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7QUUrQkoiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NhdGVnb3JpZXMvY2gtY2F0ZWdvcnktYnJvd3Nlci9jaC1jYXRlZ29yeS1icm93c2VyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9uZ3gtY2hpcHMvY29yZS9zdHlsZXMvY29yZS9fY29yZS5zY3NzXCI7XG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3NcIjtcblxuJGZvdW5kYXRpb24tcHJpbWFyeTogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcbiRmb3VuZGF0aW9uLXByaW1hcnktZGFyazogZGFya2VuKCRmb3VuZGF0aW9uLXByaW1hcnksIDE1JSk7XG5cbiRmb3VuZGF0aW9uLXRoZW1lOiAoXG4gICAgY29udGFpbmVyLWJvcmRlci1ib3R0b206IDBweCB0cmFuc3BhcmVudFxuKTtcblxuJGZvdW5kYXRpb24tdGFnLXRoZW1lOiAoXG4gICAgZm9udC13ZWlnaHQ6IDIwMCxcbiAgICBiYWNrZ3JvdW5kOiAkZm91bmRhdGlvbi1wcmltYXJ5LFxuICAgIGJhY2tncm91bmQtZm9jdXNlZDogJGZvdW5kYXRpb24tcHJpbWFyeS1kYXJrLFxuICAgIGJhY2tncm91bmQtYWN0aXZlOiAkZm91bmRhdGlvbi1wcmltYXJ5LWRhcmssXG4gICAgYmFja2dyb3VuZC1ob3ZlcjogJGZvdW5kYXRpb24tcHJpbWFyeS1kYXJrLFxuXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLFxuICAgIGNvbG9yLWhvdmVyOiAkdGV4dC1jb2xvcixcblxuICAgIGJvcmRlci1yYWRpdXM6IDEycHgsXG4gICAgaGVpZ2h0OiAyMHB4ICxcbiAgICBsaW5lLWhlaWdodDogMTlweFxuICAgICk7XG5cbiRmb3VuZGF0aW9uLWljb24tdGhlbWU6IChcbiAgICBmaWxsOiAkdGV4dC1jb2xvcixcbiAgICBmaWxsLWZvY3VzOiAkdGV4dC1jb2xvciBcbik7XG5cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHtcbiAgICBAaW5jbHVkZSB0YWctaW5wdXQtdGhlbWUoJGZvdW5kYXRpb24tdGhlbWUpO1xufVxuXG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkZm91bmRhdGlvbi10YWctdGhlbWUpO1xuICAgIHBhZGRpbmctbGVmdDogMTdweDtcbn1cblxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnIGRlbGV0ZS1pY29uIHtcbiAgICBAaW5jbHVkZSBpY29uLXRoZW1lKCRmb3VuZGF0aW9uLWljb24tdGhlbWUpO1xufVxuXG5cbi50YWdzLWlucHV0X190YWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xufVxuXG4ubmF2IC5sYWJlbCwgLmlib3ggLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi5pYm94LXRpdGxlIGg1IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlib3gtdGl0bGUudGl0bGUtZW1wdHktY2F0ZWdvcnkge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xufSIsIkBtaXhpbiB0YWctaW5wdXQtdGhlbWUoJHRoZW1lKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdGhlbWUsIHRyYW5zaXRpb24pO1xuXG4gICAgcGFkZGluZzogbWFwLWdldCgkdGhlbWUsICdjb250YWluZXItcGFkZGluZycpO1xuICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJHRoZW1lLCAnY29udGFpbmVyLWhlaWdodCcpO1xuXG4gICAgY3Vyc29yOiB0ZXh0O1xuXG4gICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlbWUsICdjb250YWluZXItYm9yZGVyLWJvdHRvbScpO1xuICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHRoZW1lLCAnYm94LXNoYWRvdycpO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHRoZW1lLCAnYm9yZGVyLXJhZGl1cycpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJi5uZzItdGFnLWlucHV0LS1kcm9wcGluZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG5cbiAgICAmLm5nMi10YWctaW5wdXQtLWZvY3VzZWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbnRhaW5lci1ib3JkZXItYm90dG9tLWZvY3VzZWQnKTtcbiAgICB9XG5cbiAgICAmLm5nMi10YWctaW5wdXQtLWludmFsaWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbnRhaW5lci1ib3JkZXItYm90dG9tLWludmFsaWQnKTtcbiAgICB9XG5cbiAgICAmLm5nMi10YWctaW5wdXQtLWxvYWRpbmcge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5uZzItdGFnLWlucHV0LS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbnRhaW5lci1tYXJnaW4nKTtcbiAgICB9XG5cbiAgICAubmcyLXRhZ3MtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbn1cblxuQG1peGluIGVycm9yLW1lc3NhZ2UoJHRoZW1lKSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCR0aGVtZSwgJ2Vycm9yLW1lc3NhZ2UtZm9udC1zaXplJyk7XG4gICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCAnZXJyb3ItbWVzc2FnZS1jb2xvcicpO1xuICAgIG1hcmdpbjogbWFwLWdldCgkdGhlbWUsICdlcnJvci1tZXNzYWdlLW1hcmdpbicpO1xufVxuXG5AbWl4aW4gdGFnLXRoZW1lKCR0aGVtZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBmb250LWZhbWlseTogbWFwLWdldCgkdGhlbWUsICdmb250LWZhbWlseScpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2ZvbnQtd2VpZ2h0Jyk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCR0aGVtZSwgJ2ZvbnQtc2l6ZScpO1xuICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCR0aGVtZSwgJ2xldHRlci1zcGFjaW5nJyk7XG5cbiAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsICdjb2xvcicpO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHRoZW1lLCAnYm9yZGVyLXJhZGl1cycpO1xuXG4gICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdGhlbWUsICd0cmFuc2l0aW9uJyk7XG5cbiAgICBtYXJnaW46IG1hcC1nZXQoJHRoZW1lLCAnbWFyZ2luJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkdGhlbWUsICdwYWRkaW5nJyk7XG5cbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHRoZW1lLCAnaGVpZ2h0Jyk7XG4gICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHRoZW1lLCAnbGluZS1oZWlnaHQnKTtcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCAnYmFja2dyb3VuZCcpO1xuXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOm5vdCgucmVhZG9ubHkpOm5vdCgudGFnLS1lZGl0aW5nKTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCAnYmFja2dyb3VuZC1mb2N1c2VkJyk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbG9yLWZvY3VzZWQnKTtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkdGhlbWUsICdib3gtc2hhZG93Jyk7XG4gICAgfVxuXG4gICAgJjpub3QoLnJlYWRvbmx5KTpub3QoLnRhZy0tZWRpdGluZyk6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsICdiYWNrZ3JvdW5kLWFjdGl2ZScpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsICdjb2xvci1hY3RpdmUnKTtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkdGhlbWUsICdib3gtc2hhZG93Jyk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZvY3VzKTpub3QoLnRhZy0tZWRpdGluZyk6bm90KDphY3RpdmUpOm5vdCgucmVhZG9ubHkpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsICdiYWNrZ3JvdW5kLWhvdmVyJyk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbG9yLWhvdmVyJyk7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHRoZW1lLCAnYm94LXNoYWRvdycpO1xuICAgIH1cblxuICAgICYucmVhZG9ubHkge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJi5yZWFkb25seTpmb2N1cyxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmLnRhZy0tZWRpdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCAnYmFja2dyb3VuZC1lZGl0aW5nJyk7XG4gICAgICAgIGJvcmRlcjogbWFwLWdldCgkdGhlbWUsICdib3JkZXItZWRpdGluZycpO1xuICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdGFnLWlucHV0LWZvcm0tdGhlbWUoJHRoZW1lKSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBib3JkZXI6IG1hcC1nZXQoJHRoZW1lLCAnaW5wdXQtYm9yZGVyJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkdGhlbWUsICdpbnB1dC1wYWRkaW5nJyk7XG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2lucHV0LWhlaWdodCcpO1xuXG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCR0aGVtZSwgJ2lucHV0LWZvbnQtc2l6ZScpO1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCR0aGVtZSwgJ2ZvbnQtZmFtaWx5Jyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkPXRydWVdIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbn1cblxuQG1peGluIGljb24tdGhlbWUoJHRoZW1lKSB7XG4gICAgd2lkdGg6IG1hcC1nZXQoJHRoZW1lLCAnd2lkdGgnKTtcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHRoZW1lLCAnaGVpZ2h0Jyk7XG4gICAgdHJhbnNpdGlvbjogbWFwLWdldCgkdGhlbWUsICd0cmFuc2l0aW9uJyk7XG4gICAgZGlzcGxheTogbWFwLWdldCgkdGhlbWUsICdkaXNwbGF5Jyk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogbWFwLWdldCgkdGhlbWUsICdmaWxsJyk7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgIH1cbn1cblxuQG1peGluIGljb24tdGhlbWUtZm9jdXNlZCgkdGhlbWUpIHtcbiAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogbWFwLWdldCgkdGhlbWUsICdmaWxsLWZvY3VzJyk7XG4gICAgfVxufVxuIiwiOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogdGV4dDtcbiAgYm9yZGVyLWJvdHRvbTogMHB4IHRyYW5zcGFyZW50O1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUubmcyLXRhZy1pbnB1dC0tZHJvcHBpbmcge1xuICBvcGFjaXR5OiAwLjc7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZS5uZzItdGFnLWlucHV0LS1sb2FkaW5nIHtcbiAgYm9yZGVyOiBub25lO1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUubmcyLXRhZy1pbnB1dC0tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSAubmcyLXRhZ3MtY29udGFpbmVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGNvbG9yOiAjNjc2YTZjO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMTdweDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZzpub3QoLnJlYWRvbmx5KTpub3QoLnRhZy0tZWRpdGluZyk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnOm5vdCgucmVhZG9ubHkpOm5vdCgudGFnLS1lZGl0aW5nKTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnOm5vdCg6Zm9jdXMpOm5vdCgudGFnLS1lZGl0aW5nKTpub3QoOmFjdGl2ZSk6bm90KC5yZWFkb25seSk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xuICBjb2xvcjogIzY3NmE2Yztcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZy5yZWFkb25seSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZy5yZWFkb25seTpmb2N1cywgOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZy50YWctLWVkaXRpbmcge1xuICBjdXJzb3I6IHRleHQ7XG59XG5cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZyBkZWxldGUtaWNvbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnIGRlbGV0ZS1pY29uIHBhdGgge1xuICBmaWxsOiAjNjc2YTZjO1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnIGRlbGV0ZS1pY29uIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGhlaWdodDogMzRweDtcbn1cblxuLnRhZ3MtaW5wdXRfX3RhZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xufVxuXG4ubmF2IC5sYWJlbCwgLmlib3ggLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uaWJveC10aXRsZSBoNSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiA4MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pYm94LXRpdGxlLnRpdGxlLWVtcHR5LWNhdGVnb3J5IHtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufSJdfQ== */\"","import { Component, OnInit, ViewContainerRef, TemplateRef, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';\nimport { trigger, state, style, transition, animate, group } from '@angular/animations';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { MessageType } from '../../chilweb/ch-globals-def';\n\nimport { ChFamiliaCategoria, ChCategoria } from 'app/chil/categories/ch-categoria';\n\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\n// tslint:disable-next-line:max-line-length\nimport { ChFamilyCategoryEditorWindowComponent } from 'app/chil/categories/ch-family-category-editor-window/ch-family-category-editor-window.component';\nimport { ChCategoryEditorWindowComponent } from '../ch-category-editor-window/ch-category-editor-window.component';\n\n\n@Component({\n selector: 'app-ch-category-browser',\n templateUrl: './ch-category-browser.component.html',\n styleUrls: ['./ch-category-browser.component.scss'],\n animations: [\n trigger('itemAnim', [\n transition(':leave', [\n group([\n animate(300, style({ transform: 'translateX(-40px)', opacity: 0}))\n ])\n ])\n ])\n ]\n})\n\nexport class ChCategoryBrowserComponent implements OnInit {\n\n form: FormGroup;\n items = [];\n familiaCategorias: ChFamiliaCategoria[] = null;\n siteName = '';\n item = [];\n _blocked = false;\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) {\n\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n this.familiaCategorias = chGlobal.getGroupCategories();\n // this.familiaCategorias[0].categories.unshift( new ChCategoria( { uid: 'SINCATEGORIA', name: 'Sin categorizar', use: 'virtual'}));\n // console.log(this.familiaCategorias);\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n\n this.form = new FormBuilder().group({\n chips: [['chip'], []]\n });\n }\n\n ngOnInit() {\n }\n\n public onSelect(item) {\n if (!this.blocked()) {\n // console.log('tag selected: value is :' + item.name);\n // console.log(' ir a : ' + './#/' + this.siteName + '/contents/categories/' + item.uid);\n window.location.href = './#/' + this.siteName + '/contents/categories/' + item.uid;\n } else {\n this.freeSelect();\n }\n }\n\n blockSelect() {\n this._blocked = true;\n }\n\n freeSelect() {\n this._blocked = false;\n }\n\n blocked(): boolean {\n return this._blocked;\n }\n\n public onDelete(categoria) {\n this.blockSelect();\n this.chGlobal.showConfirmDialog('BORRAR CATEGORÍA',\n '¿Está seguro de querer borrar la categoría ' + categoria.name + '?',\n 'Los contenidos referenciados por ella no serán borrados.',\n () => { this.borrarCategoria(categoria); },\n 'Borrar', 'Cancelar');\n }\n\n borrarCategoria(categoria) {\n this.chGlobal.deleteCategory(categoria)\n .then( (result) => {\n this.chGlobal.showMessage(MessageType.success, 'Categoría borrada',\n 'La categoría ' + categoria.name + ' Ha sido borrada.');\n },\n (rejected) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser borrada del grupo.');\n }\n )\n .catch( (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser borrada del grupo.');\n });\n }\n\n private editFamily(catFamily: ChFamiliaCategoria ) {\n // console.log('EDIT CAT FAMILY : ' + catFamily.name);\n if (catFamily === null) { // Esto es porque vamos a crear una nueva\n catFamily = new ChFamiliaCategoria();\n }\n ChFamilyCategoryEditorWindowComponent.show(catFamily,\n { initialState : {\n data : {\n title: catFamily.uid !== '' ? 'Editar familia de categorías' : 'Nueva familia de categorías',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n private removeFamily(catFamily: ChFamiliaCategoria ) {\n if (catFamily.categories.length > 0) {\n this.chGlobal.showMessage(MessageType.warning, 'Borrar familia',\n 'La familia ' + catFamily.name +\n ' no puede ser eliminada mientras contenga categorías. Borre primero las categorías y luego la familia');\n } else {\n this.chGlobal.deleteCategoryFamily(catFamily);\n }\n }\n\n private newCategory( family: ChFamiliaCategoria) {\n const category = new ChCategoria();\n category.group = { uid: family.uid, name: family.name, color: family.color };\n ChCategoryEditorWindowComponent.show(category,\n { initialState : {\n data : {\n title: category.uid !== '' ? 'Editar categoría' : 'Nueva categorías',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n private showNoCategory() {\n if (!this.blocked()) {\n // console.log('tag selected: value is :' + item.name);\n // console.log(' ir a : ' + './#/' + this.siteName + '/contents/categories/' + item.uid);\n window.location.href = './#/' + this.siteName + '/contents/categories/none';\n } else {\n this.freeSelect();\n }\n }\n\n private showEverything() {\n if (!this.blocked()) {\n // console.log('tag selected: value is :' + item.name);\n // console.log(' ir a : ' + './#/' + this.siteName + '/contents/categories/' + item.uid);\n window.location.href = './#/' + this.siteName + '/contents/categories/all';\n } else {\n this.freeSelect();\n }\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY2F0ZWdvcmllcy9jaC1jYXRlZ29yeS1jb250ZW50LWNvcHktd2luZG93L2NoLWNhdGVnb3J5LWNvbnRlbnQtY29weS13aW5kb3cuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { BehaviorSubject} from 'rxjs';\nimport { MessageType, OpResult } from 'app/chil/chilweb/ch-globals-def';\nimport { ChCategoria } from '../ch-categoria';\n\n\n@Component({\n selector: 'app-ch-category-content-copy-window',\n templateUrl: './ch-category-content-copy-window.component.html',\n styleUrls: ['./ch-category-content-copy-window.component.css']\n})\nexport class ChCategoryContentCopyWindowComponent implements OnInit {\n private static passData: Array = null;\n private static passCategoria: ChCategoria = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n\n private entries: Array = null;\n private insertedRows = 0;\n private categoria: ChCategoria = null;\n private messageTxt: BehaviorSubject = new BehaviorSubject('');\n private progressAdv: BehaviorSubject = new BehaviorSubject(0);\n private categories: Array = [];\n private catTarget: ChCategoria = null;\n\n\n public static show(category: ChCategoria, data: Array, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChCategoryContentCopyWindowComponent.passCategoria = category;\n ChCategoryContentCopyWindowComponent.passData = data;\n ChCategoryContentCopyWindowComponent.callback = callback != null ? callback : () => {};\n ChCategoryContentCopyWindowComponent.modalRef = service.showModalWindow(this, config);\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChCategoryContentCopyWindowComponent.modalRef);\n if (executeCallback) {\n ChCategoryContentCopyWindowComponent.callback();\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {}\n\n ngOnInit() {\n // Por alguna razon si no se hace asi se iguala a undefined al poco rato\n this.entries = ChCategoryContentCopyWindowComponent.passData;\n this.categoria = ChCategoryContentCopyWindowComponent.passCategoria;\n if (this.entries.length === 1) {\n this.messageTxt.next('1 entrada seleccionada');\n } else {\n this.messageTxt.next(String(this.entries.length) + ' entradas seleccionadas');\n }\n this.categories = this.getCategories();\n //console.log(this);\n }\n\n confirm() {\n ChCategoryContentCopyWindowComponent.hide(true);\n }\n\n decline() {\n ChCategoryContentCopyWindowComponent.hide(false);\n }\n\n getCategories(): Array {\n const temp: Array = [];\n const chGlobal: ChGlobalsService = ChGlobalsService.getInstance();\n chGlobal.getGroupCategories().forEach( (family) => {\n const fname = family.name.trim().toUpperCase();\n family.categories.forEach( (cat) => {\n if (cat.uid !== this.categoria.uid) {\n temp.push( { uid: cat.uid, name: fname === '' ? cat.name : fname + ': ' + cat.name});\n }\n });\n });\n return temp;\n }\n\n exportValues() {\n //console.log('CATTARGET :' + this.catTarget.name + '(' + this.catTarget.uid + ')');\n //console.log(this);\n\n if (this.catTarget === null) {\n return;\n }\n\n if (this.entries == undefined || this.entries == null || this.entries.length == 0) {\n return;\n }\n // console.log('EXPORTANDO ENTRADAS' );\n // console.log(this.data);\n\n this.insertedRows = 0;\n this.progressAdv.next(0);\n\n this.chGlobal.showRunningWindowWithParams( 'Copiando %1 entradas...', [String(this.entries.length)]);\n const promises: Array> = [];\n let rechazados = 0;\n let insertados = 0;\n const total: number = this.entries.length;\n const catUid = this.catTarget.uid;\n let chain: Promise = null;\n\n // Definición de las promesas a utilizar\n const newPromise = function(chGlobal: ChGlobalsService, value: string) {\n // console.log(' * EXPORTANDO :' + value);\n return chGlobal.addObjectToCategory(catUid, value);\n };\n\n const endPromise = function( chGlobal: ChGlobalsService, messageTxt: BehaviorSubject,\n progressAdv: BehaviorSubject) {\n chGlobal.hideRunningWindow();\n window['angularComponentRef'].component.rowsImportedInBd = true;\n if (rechazados === 0) {\n chGlobal.showMessage(MessageType.success,\n 'Orden ejecutada', String(insertados) + ' entradas copiadas.');\n } else {\n chGlobal.showMessage(MessageType.warning,\n 'Orden ejecutada', String(insertados) + ' entradas copiadas. ' +\n String(rechazados) + ' rechazadas.');\n }\n messageTxt.next(String(insertados) + ' entradas copiadas.');\n progressAdv.next(100);\n };\n\n this.entries.forEach( (value, index ) => {\n const chGlobal = this.chGlobal;\n const messageTxt = this.messageTxt;\n const progressAdv = this.progressAdv;\n\n // Comienzo del encadenamiento\n if (chain === null) {\n chain = newPromise(chGlobal, value);\n } else {\n chain = chain\n .then(\n (newval) => {\n insertados++;\n chGlobal.showRunningWindowWithParams( 'Entrada %1 (%2) copiada...', [String(index), String(total)]);\n messageTxt.next('Entrada ' + String(index) + ' copiada.');\n progressAdv.next(index * 100 / total);\n return newPromise(chGlobal, value);\n },\n (reason) => {\n rechazados++;\n console.log(reason);\n chGlobal.showMessage(MessageType.warning,\n 'Entrada rechazada', 'Entrada ' + String(index) + ' (' + String(total) + ') rechazada...');\n return newPromise(chGlobal, value);\n }\n )\n .catch( (error) => {\n rechazados++;\n console.log(error);\n chGlobal.showMessage(MessageType.warning,\n 'Entrada rechazada', 'Entrada ' + String(index) + ' (' + String(total) + ') rechazada...');\n return newPromise(chGlobal, value);\n });\n }\n });\n\n chain.then(\n (newval) => { insertados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv); },\n (reason) => { rechazados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv); }\n )\n .catch( error => {\n console.log(error);\n rechazados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv);\n });\n }\n\n}\n","export default \"/*\\n@import \\\"src/assets/styles/imports/_variables\\\";\\n\\n.left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n\\tpadding: 0.5em 0em;\\n}\\n\\n.dataTables_wrapper {\\n padding-bottom: 0px;\\n}\\n\\n.red {\\n background-color: #FFD5D5 \\n}\\n\\n.blue {\\n background-color: #D5D5FF \\n}\\n\\n.green {\\n background-color: #D5FFD5 \\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5 \\n}\\n\\n.gray {\\n color: #C0C0C0 \\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n\\tfont-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n\\tmargin-right: auto;\\n\\tmargin-left: auto;\\n\\t}\\n\\n.dropdown-menu {\\n\\tposition: absolute;\\n\\ttop: 100%;\\n\\tleft: 0;\\n\\tz-index: 1000;\\n\\tdisplay: none;\\n\\tfloat: left;\\n\\tmin-width: 20px;\\n\\tpadding: 5px 0;\\n\\tmargin: 2px 0 0;\\n\\tfont-size: 14px;\\n\\ttext-align: left;\\n\\tlist-style: none;\\n\\tbackground-color: #fff;\\n\\tbackground-clip: padding-box;\\n\\tborder: 1px solid #ccc;\\n\\tborder: 1px solid rgba(0, 0, 0, .15);\\n\\tborder-radius: 4px;\\n\\t-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n\\tbox-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n\\tborder-bottom: 1px solid lightgrey;\\n\\toverflow-x: hidden !important;\\n}\\n\\n.container {\\n\\theight:100%;\\n\\tmin-height:100%;\\n}\\n\\n.fill{\\n height:100%;\\n min-height:100%;\\n background-color:#990000;\\n padding:10px;\\n color:#efefef;\\n}\\n\\n.ch-posttype {\\n\\tfont-size: 9px;\\n\\tcolor: white;\\n\\ttext-transform: uppercase;\\n\\tbackground-color: #707070;\\n\\tpadding: 2px 4px;\\n}\\n\\n.ch-cell-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 200px;\\n}\\n\\n.ch-cell-long-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 400px;\\n}\\n\\n.ch-cell-short-string {\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tmax-width: 100px;\\n}\\n\\n.ch-cell-date {\\n\\tfont-size: smaller;\\n\\ttext-align: center;\\n}\\n\\n.ch-post {\\n\\tbackground-color: $post-bk\\n}\\n\\n.ch-post-post {\\n\\tbackground-color: $post-post-bk\\n}\\n\\n.ch-post-news {\\n\\tbackground-color: $post-news-bk\\n}\\n\\n.ch-post-document {\\n\\tbackground-color: $post-docu-bk\\n}\\n\\n.ch-post-question {\\n\\tbackground-color: $post-question-bk\\n}\\n\\n.ch-post-event {\\n\\tbackground-color: $post-event-bk\\n}\\n\\n.ch-post-image {\\n\\tbackground-color: $post-image-bk\\n}\\n\\n.ch-post-form {\\n\\tbackground-color: $post-form-bk\\n}\\n\\n.ch-post-link {\\n\\tbackground-color: $post-link-bk\\n}\\n\\n\\n.ch-status-txt {\\n\\tfont-size: smaller;\\n}\\n\\n.ch-status-published {\\n\\tcolor: $post-published\\n}\\n\\n.ch-status-not-published {\\n\\tcolor: $post-published;\\n}\\n\\n.ch-status-waiting {\\n\\tcolor: $post-waiting\\n}\\n\\n.ch-status-draft {\\n\\tcolor: $post-draft\\n}\\n\\n.ch-status-nopub-a {\\n\\tcolor: $post-nopub-a\\n}\\n\\n.ch-status-nopub-b {\\n\\tcolor: $post-nopub-b\\n}\\n\\n.ch-status-nopub-c {\\n\\tcolor: $post-nopub-c\\n}\\n\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jYXRlZ29yaWVzL2NoLWNhdGVnb3J5LWNvbnRlbnQtZWRpdG9yL2NoLWNhdGVnb3J5LWNvbnRlbnQtZWRpdG9yLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQSIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY2F0ZWdvcmllcy9jaC1jYXRlZ29yeS1jb250ZW50LWVkaXRvci9jaC1jYXRlZ29yeS1jb250ZW50LWVkaXRvci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENSBcbn1cblxuLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RkYgXG59XG5cbi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENSBcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENSBcbn1cblxuLmdyYXkge1xuICAgIGNvbG9yOiAjQzBDMEMwIFxufVxuXG4uc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RDUgIWltcG9ydGFudDtcbn1cblxuLnJvd2luZGV4IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuLmRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTAwMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1pbi13aWR0aDogMjBweDtcblx0cGFkZGluZzogNXB4IDA7XG5cdG1hcmdpbjogMnB4IDAgMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyZXk7XG5cdG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyIHtcblx0aGVpZ2h0OjEwMCU7XG5cdG1pbi1oZWlnaHQ6MTAwJTtcbn1cblxuLmZpbGx7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWluLWhlaWdodDoxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6Izk5MDAwMDtcbiAgICBwYWRkaW5nOjEwcHg7XG4gICAgY29sb3I6I2VmZWZlZjtcbn1cblxuLmNoLXBvc3R0eXBlIHtcblx0Zm9udC1zaXplOiA5cHg7XG5cdGNvbG9yOiB3aGl0ZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0YmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDtcblx0cGFkZGluZzogMnB4IDRweDtcbn1cblxuLmNoLWNlbGwtc3RyaW5nIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5jaC1jZWxsLWxvbmctc3RyaW5nIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5jaC1jZWxsLXNob3J0LXN0cmluZyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDEwMHB4O1xufVxuXG4uY2gtY2VsbC1kYXRlIHtcblx0Zm9udC1zaXplOiBzbWFsbGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jaC1wb3N0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtYmtcbn1cblxuLmNoLXBvc3QtcG9zdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LXBvc3QtYmtcbn1cblxuLmNoLXBvc3QtbmV3cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LW5ld3MtYmtcbn1cblxuLmNoLXBvc3QtZG9jdW1lbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1kb2N1LWJrXG59XG5cbi5jaC1wb3N0LXF1ZXN0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvc3QtcXVlc3Rpb24tYmtcbn1cblxuLmNoLXBvc3QtZXZlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1ldmVudC1ia1xufVxuXG4uY2gtcG9zdC1pbWFnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3N0LWltYWdlLWJrXG59XG5cbi5jaC1wb3N0LWZvcm0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1mb3JtLWJrXG59XG5cbi5jaC1wb3N0LWxpbmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zdC1saW5rLWJrXG59XG5cblxuLmNoLXN0YXR1cy10eHQge1xuXHRmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbi5jaC1zdGF0dXMtcHVibGlzaGVkIHtcblx0Y29sb3I6ICRwb3N0LXB1Ymxpc2hlZFxufVxuXG4uY2gtc3RhdHVzLW5vdC1wdWJsaXNoZWQge1xuXHRjb2xvcjogJHBvc3QtcHVibGlzaGVkO1xufVxuXG4uY2gtc3RhdHVzLXdhaXRpbmcge1xuXHRjb2xvcjogJHBvc3Qtd2FpdGluZ1xufVxuXG4uY2gtc3RhdHVzLWRyYWZ0IHtcblx0Y29sb3I6ICRwb3N0LWRyYWZ0XG59XG5cbi5jaC1zdGF0dXMtbm9wdWItYSB7XG5cdGNvbG9yOiAkcG9zdC1ub3B1Yi1hXG59XG5cbi5jaC1zdGF0dXMtbm9wdWItYiB7XG5cdGNvbG9yOiAkcG9zdC1ub3B1Yi1iXG59XG5cbi5jaC1zdGF0dXMtbm9wdWItYyB7XG5cdGNvbG9yOiAkcG9zdC1ub3B1Yi1jXG59XG5cbiovIl19 */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterViewInit,\n ChangeDetectorRef, ViewEncapsulation, NgZone} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ChCategoria, ChFamiliaCategoria } from '../ch-categoria';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { MessageType, OpResult } from 'app/chil/chilweb/ch-globals-def';\nimport * as moment from 'moment';\nimport { ChCategoryContentCopyWindowComponent } from '../ch-category-content-copy-window/ch-category-content-copy-window.component';\nimport { ChPost, ChPostReference } from 'app/chil/post/ch-post';\nimport { Console } from 'console';\nimport { NgFormSelectorWarning } from '@angular/forms';\nimport { ChWorkPanelComponent } from 'app/chil/dynpanel/ch-workpanel/ch-workpanel.component';\n\nconst spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n};\n@Component({\n selector: 'app-ch-category-content-editor',\n templateUrl: './ch-category-content-editor.component.html',\n styleUrls: ['./ch-category-content-editor.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChCategoryContentEditorComponent implements OnInit, AfterViewInit {\n\n private categoria: ChCategoria = null;\n private catuid: string = '';\n private model: ChCategoria = null;\n private siteName = '';\n dtOptions: any = {};\n dtOptions2: any = {};\n tableInitiated = false;\n rows : object[] = [];\n columnsDef: Array = [];\n columnArray: string[] = [];\n\n private familias : Array<{uid: string, name: string, color: number}> | null = null;\n private postSelected : ChPost | null = null;\n\n @ViewChild('fillArea', { static: false}) area: ElementRef;\n @ViewChild(ChForm, { static: false}) form: ChForm;\n @ViewChild('tableDom', { static: false}) tableDom: ElementRef;\n @ViewChild('itemsPanel', { static: false}) public itemsPanel: ChWorkPanelComponent;\n\n constructor(private route: ActivatedRoute,\n private translate: TranslateService, private chGlobal: ChGlobalsService, vcr: ViewContainerRef,\n private router: Router, private modalService: BsModalService, private cdRef: ChangeDetectorRef,\n private _ngZone: NgZone) {\n\n this.catuid = this.route.snapshot.params.uid;\n if (this.catuid == 'all' || this.catuid == 'none') {\n this.categoria = null;\n } else {\n this.categoria = chGlobal.getCategory(this.catuid);\n }\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n chGlobal.initToasts(vcr);\n window['angularComponentRef'] = { component: this, zone: _ngZone };\n\n this.familias = this.chGlobal.getGroupCategories().map ( (family) => {\n return { uid: family.uid, name: family.name, color: family.color };\n });\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n if (this.categoria != null) {\n this.model = new ChCategoria(this.categoria); // JSON.parse(JSON.stringify(this.categoria));\n this.form.value = this.model;\n this.cdRef.detectChanges();\n }\n\n this.initDataTable();\n }\n\n onResize(event: any) {\n // console.log(event.target.innerWidth + ', ' + event.target.innerHeight);\n this.area.nativeElement.style.height = (event.target.innerHeight - 120) + 'px';\n // console.log(this.area);\n }\n\n\n deleteCategory() {\n this.chGlobal.showConfirmDialog('BORRAR CATEGORÍA',\n '¿Está seguro de querer borrar la categoría ' + this.categoria.name + '?',\n 'Los contenidos referenciados por ella no serán borrados.',\n () => { this.deleteCategoryFinal(); },\n 'Borrar', 'Cancelar');\n }\n\n deleteCategoryFinal() {\n this.chGlobal.deleteCategory(this.categoria)\n .then( (result) => {\n this.chGlobal.showMessage(MessageType.success, 'Categoría borrada',\n 'La categoría ' + this.categoria.name + ' Ha sido borrada.');\n this.router.navigate(['../../categories'], { relativeTo: this.route });\n },\n (rejected) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser borrada del grupo.');\n }\n )\n .catch( (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser borrada del grupo.');\n });\n }\n\n saveCategory() {\n if (this.validate(this.model)) {\n const oldFamilyUid = this.categoria.group !== undefined && this.categoria.group !== null ? this.categoria.group.uid : '';\n this.updateData(this.model);\n this.chGlobal.updateCategory(this.categoria, oldFamilyUid)\n .then( (value) => { // Acepted\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Categoría guardada',\n 'La categoría ' + this.model['name'].trim() + ' Ha sido guardada');\n\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n );\n }\n }\n\n validate(model: object): Boolean {\n if (model['name'].trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'La categoría no puede tener un nombre vacío');\n return false;\n }\n return true;\n }\n\n updateData(model: ChCategoria) {\n this.categoria.name = model['name'].trim();\n this.categoria.tags = model['tags'];\n this.categoria.color = model['color'];\n this.categoria.use = model['use'];\n this.categoria.group = model['group'];\n\n }\n\n // ******************************************\n // GESTION DE LA TABLA DE DATOS\n //\n // ******************************************\n\n initDataTable() {\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n const tableHeight = Math.floor(screenHeight - 340);\n // console.log(tableHeight)\n\n this.columnsDef = [\n {targets: 0, width: '0%', title: 'uid', label: 'uid', visible: false, sType: this.setColumnType('string'),\n render: this.renderFunction('string'), bSortable: true},\n {targets: 1, width: '10%', title: this.chGlobal.translateStr('Tipo'), label: 'Tipo', visible: true, sType: this.setColumnType('PostType'),\n render: this.renderFunction('PostType'), bSortable: true},\n {targets: 2, width: '15%', title: this.chGlobal.translateStr('Status'), label: 'Status', visible: true, sType: this.setColumnType('Status'),\n render: this.renderFunction('Status'), bSortable: true},\n {targets: 3, width: '15%', title: this.chGlobal.translateStr('Zona'), label: 'Zona', visible: true, sType: this.setColumnType('string'),\n render: this.renderFunction('PostZone'), bSortable: true},\n {targets: 4, width: '10%', title: this.chGlobal.translateStr('Creación'), label: this.chGlobal.translateStr('Creación'), visible: true, sType: this.setColumnType('SmallDateTime'),\n render: this.renderFunction('SmallDateTime'), bSortable: true},\n {targets: 5, width: '50%', title: this.chGlobal.translateStr('Título'), label: 'Título', visible: true, sType: this.setColumnType('LongString'),\n render: this.renderFunction('LongString'), bSortable: true}\n ];\n\n this.columnArray = ['uid', 'type', 'status', 'zoneName', 'createdAt', 'title'];\n\n this.dtOptions = {\n\n deferRender: true,\n scrollY: tableHeight, //750,\n scrollCollapse: true,\n scrollX: '50%',\n responsive: true,\n bPaginate: false,\n\n pagingType: 'simple_numbers',\n pageLength: -1,\n dom: '<\"row\"Bf><t>',\n columns: this.columnsDef,\n language: spanishTranslation,\n autoWidth: false,\n // paging : false,\n buttons: {\n buttons: this.getTableButtons(),\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n const table = $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n const me = this;\n table.on( 'select', function ( e, dt, type, indexes ) {\n if ( type === 'row' ) {\n me.selectRow(indexes[0]);\n }\n } );\n\n this.loadData();\n }\n\n selectRow(index: number) {\n const contentUid = this.rows[index][0];\n\n this.itemsPanel.isWorking = true;\n this.chGlobal.getPost(contentUid).then( value => {\n this.postSelected = value;\n this.itemsPanel.isWorking = false;\n },\n error => {\n this.postSelected = null;\n console.log(error);\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El post no ha podido ser leido');\n this.itemsPanel.isWorking = false;;\n });\n\n\n }\n\n loadData() {\n if (this.catuid == 'all') {\n /*\n this.chGlobal.showRunningWindow('Leyendo todas las filas...');\n\n this.chGlobal.loadAllContents()\n .then( (results) => {\n const rows: object[] = results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().destroy();\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n this.chGlobal.hideRunningWindow();\n },\n (reject) => {\n console.log(reject);\n this.chGlobal.hideRunningWindow();\n }\n )\n .catch ((error) => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n });\n\n this.chGlobal.showRunningWindow('Leyendo filas...');\n const flujoDatos = this.chGlobal.getPostAnalytics('', null, null, [], [], false )\n .subscribe(\n (values: ChPostReference[]) => {\n // values.forEach( (v) => { this.itemsList.push(v); });\n console.log(values)\n // const rows: object[] = values.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n // $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n\n this.chGlobal.showRunningWindow( values.length.toString() + ' filas leidas ...');\n },\n (error: any) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n flujoDatos.unsubscribe();\n },\n () => {\n flujoDatos.unsubscribe();\n this.chGlobal.hideRunningWindow();\n setTimeout(() => {\n this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success, 'Datos leidos',\n // this.itemsList.length.toString() + ' filas leidas');\n //this.gridItemsInit();\n //this.recalculate();\n }, 250);\n }\n );\n */\n } else if (this.catuid == 'none') {\n this.chGlobal.showRunningWindow('Leyendo filas...');\n this.chGlobal.loadContentsOfCategory(this.categoria)\n .then( (results) => {\n this.rows = results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().destroy();\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n $(this.tableDom.nativeElement).DataTable().rows.add(this.rows).draw();\n this.chGlobal.hideRunningWindow();\n },\n (reject) => {\n console.log(reject);\n this.chGlobal.hideRunningWindow();\n }\n )\n .catch ((error) => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n });\n } else {\n this.chGlobal.showRunningWindow('Leyendo filas...');\n this.chGlobal.loadContentsOfCategory(this.categoria)\n .then( (results) => {\n this.rows = results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().destroy();\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n $(this.tableDom.nativeElement).DataTable().rows.add(this.rows).draw();\n this.chGlobal.hideRunningWindow();\n },\n (reject) => {\n console.log(reject);\n this.chGlobal.hideRunningWindow();\n }\n )\n .catch ((error) => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n });\n }\n }\n\n reLoadData() {\n $(this.tableDom.nativeElement).DataTable().clear();\n this.loadData();\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'string'; // 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n }\n\n renderFunction(type: string): any {\n switch (type) {\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '';\n } else {\n return '
' + moment(data).format('YYYY-MM-DD') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' + data).slice(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + ('00000' + data).slice(-5) + '
';\n };\n case 'PostType':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n '' + String(data) + '' +\n '
';\n };\n case 'Status':\n return function (data: any, _type: any, row: any, meta: any) {\n switch (data.trim()) {\n case 'Waiting for approval':\n case 'waiting_for_approval':\n return '
' +\n '' +\n ' WAITING' +\n '
';\n case 'Draft':\n case 'draft':\n return '
' +\n '' +\n ' DRAFT' +\n '
';\n case 'Published':\n case 'published':\n return '
' +\n '' +\n ' PUBLISHED' +\n '
';\n case 'Not published A':\n case 'no_published_a':\n return '
' +\n '' +\n ' NO PUB A' +\n '
';\n case 'Not published B':\n case 'no_published_b':\n return '
' +\n '' +\n ' NO PUB B' +\n '
';\n case 'Not published C':\n case 'no_published_c':\n return '
' +\n '' +\n ' NO PUB C' +\n '
';\n }\n };\n case 'LongString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n case 'PostZone':\n case 'ShortString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n }\n }\n\n getTableButtons(): any {\n const buttons = [\n {\n extend: 'copyHtml5', text: ' ' + this.chGlobal.translateStr('Copiar'),\n className: 'btn btn-primary', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'selected', text: ' ' + this.chGlobal.translateStr('Copiar a'),\n className: 'btn btn-primary',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openCopyWindow();\n },\n enabled: true,\n config: this\n },\n {\n extend: 'selected', text: '' + this.chGlobal.translateStr(' Eliminar'),\n className: 'btn btn-danger',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.deleteContents();\n },\n enabled: true,\n config: this\n },\n ];\n return buttons;\n }\n\n // ******************************************\n // GESTION DE LA TABLA DE DATOS\n //\n // ******************************************\n\n openCopyWindow() {\n const table = $(this.tableDom.nativeElement).DataTable();\n const rowsData = table.rows({ selected: true }).data();\n const data: Array = rowsData.map((r) => { return r[0]; }).toArray();\n\n ChCategoryContentCopyWindowComponent.show(\n this.categoria,\n data,\n {\n class: '',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { }\n );\n\n }\n\n deleteContents() {\n const table = $(this.tableDom.nativeElement).DataTable();\n const rowsData = table.rows({ selected: true }).data();\n const data: Array = rowsData.map((r) => { return r[0]; }).toArray();\n\n this.chGlobal.showConfirmDialog('BORRAR ENTRADAS DE CONTENIDO',\n '¿Está seguro de querer borrar ' + String(data.length) + ' entradas de la categoría ' +\n this.categoria.name + '?',\n 'Los contenidos en sí no serán borrados. Unicamente sus enlaces con la categoría.',\n () => { this.deleteContentsFinal(data); },\n 'Borrar', 'Cancelar');\n }\n\n deleteContentsFinal(data: Array) {\n\n if (data.length === 0) {\n return;\n }\n //console.log('BORRANDO ENTRADAS' );\n //console.log(data);\n\n this.chGlobal.showRunningWindow('Borrando ' + String(data.length) + ' entradas...');\n\n const promises: Array> = [];\n let rechazados = 0;\n let borrados = 0;\n const total: number = data.length;\n const catUid = this.categoria.uid;\n let chain: Promise = null;\n\n // Definición de las promesas a utilizar\n const newPromise = function(chGlobal: ChGlobalsService, value: string) {\n //console.log(' * BORRANDO :' + value);\n return chGlobal.removeObjectToCategory(catUid, value);\n };\n\n const endPromise = function( chGlobal: ChGlobalsService) {\n chGlobal.hideRunningWindow();\n window['angularComponentRef'].component.rowsImportedInBd = true;\n if (rechazados === 0) {\n chGlobal.showMessage(MessageType.success,\n 'Orden ejecutada', String(borrados) + ' entradas borradas.');\n } else {\n chGlobal.showMessage(MessageType.warning,\n 'Orden ejecutada', String(borrados) + ' entradas borradas. ' +\n String(rechazados) + ' rechazadas.');\n }\n };\n\n data.forEach( (value, index ) => {\n const chGlobal = this.chGlobal;\n\n // Comienzo del encadenamiento\n if (chain === null) {\n chain = newPromise(chGlobal, value);\n } else {\n chain = chain\n .then(\n (newval) => {\n borrados++;\n chGlobal.showRunningWindow('Entrada ' + String(index) + ' (' + String(total) + ') borrada...');\n return newPromise(chGlobal, value);\n },\n (reason) => {\n rechazados++;\n console.log(reason);\n chGlobal.showMessage(MessageType.warning,\n 'Entrada rechazada', 'Entrada ' + String(index) + ' (' + String(total) + ') rechazada...');\n return newPromise(chGlobal, value);\n }\n )\n .catch( (error) => {\n rechazados++;\n console.log(error);\n chGlobal.showMessage(MessageType.warning,\n 'Entrada rechazada', 'Entrada ' + String(index) + ' (' + String(total) + ') rechazada...');\n return newPromise(chGlobal, value);\n });\n }\n });\n\n chain.then(\n (newval) => { borrados++; endPromise(this.chGlobal); this.reLoadData(); },\n (reason) => { rechazados++; endPromise(this.chGlobal); this.reLoadData(); }\n )\n .catch( error => {\n console.log(error);\n rechazados++; endPromise(this.chGlobal); this.reLoadData();\n });\n }\n\n\n private statusText(raw: string) : string {\n return raw.replace(/_/g, ' ');\n }\n\n private getTypeClass(prefix: string, itemType: string): string {\n return (prefix + '-' + itemType);\n }\n\n}\n","\nimport { Component, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChCategoria, ChFamiliaCategoria } from '../ch-categoria';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-category-editor-window',\n templateUrl: './ch-category-editor-window.component.html',\n // styleUrls: ['./ch-category-editor-window.component.scss']\n styleUrls: ['../../forms/forms.scss']\n})\n\nexport class ChCategoryEditorWindowComponent implements OnInit, AfterViewInit {\n\n private static passCategory: ChCategoria = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private title: String = '';\n private buttonText: String = '';\n\n private familias : Array<{uid: string, name: string, color: number}> | null = null;\n\n currCategory: ChCategoria | null = null;\n familiaCategorias: ChFamiliaCategoria[] | null = null;\n model: ChCategoria | null = null;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(category: ChCategoria, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChCategoryEditorWindowComponent.passCategory = category;\n ChCategoryEditorWindowComponent.modalRef = service.showModalWindow(this, config);\n ChCategoryEditorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChCategoryEditorWindowComponent.modalRef);\n if (executeCallback) {\n ChCategoryEditorWindowComponent.callback();\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n }\n\n ngOnInit() {\n this.familias = this.chGlobal.getGroupCategories().map ( (family) => {\n return { uid: family.uid, name: family.name, color: family.color };\n });\n\n this.currCategory = ChCategoryEditorWindowComponent.passCategory;\n if (this.currCategory.uid !== '') {\n this.title = this.chGlobal.translateStr('EDITAR CATEGORÍA');\n this.buttonText = this.chGlobal.translateStr('Aceptar');\n } else {\n this.title = this.chGlobal.translateStr('NUEVA CATEGORÍA');\n this.buttonText = this.chGlobal.translateStr('Crear');\n }\n }\n\n ngAfterViewInit() {\n this.model = JSON.parse(JSON.stringify(this.currCategory));\n this.form.value = this.model;\n }\n\n confirm() {\n // console.log(this.model);\n if (this.validate(this.model)) {\n if (this.model.uid !== '') {\n\n // LA Categoria existe con anterioridad\n this.chGlobal.updateCategory(this.model, this.currCategory.group !== null ? this.currCategory.group.uid : '')\n .then( (value) => { // Acepted\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Categoría guardada',\n 'La categoría ' + this.model['name'].trim() + ' Ha sido guardada');\n ChCategoryEditorWindowComponent.hide(true);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n );\n\n } else {\n\n // La categoria es nueva\n this.chGlobal.addCategory(this.chGlobal.getGroupInfo().uid, this.model)\n .then( (value) => { // Acepted\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Categoría creada',\n 'La categoría ' + this.model['name'].trim() + ' Ha sido creada');\n ChCategoryEditorWindowComponent.hide(true);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n );\n }\n }\n }\n\n decline() {\n ChCategoryEditorWindowComponent.hide(false);\n }\n\n validate(model: object): Boolean {\n if (model['name'].trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'La categoría no puede tener un nombre vacío');\n return false;\n }\n return true;\n }\n\n updateData(model: ChCategoria) {\n this.currCategory.name = model['name'].trim();\n this.currCategory.color = model['color'];\n this.currCategory.use = model['use'];\n this.currCategory.group = model['group'];\n }\n\n}\n","import { OnInit, Component, AfterViewInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChFamiliaCategoria } from '../ch-categoria';\nimport { ChForm } from '../../forms/ch-form/ch-form';\nimport { MessageType } from '../../chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-family-category-editor-window',\n templateUrl: './ch-family-category-editor-window.component.html',\n styleUrls: ['../../forms/forms.scss']\n})\nexport class ChFamilyCategoryEditorWindowComponent implements OnInit, AfterViewInit {\n\n private static passFamily: ChFamiliaCategoria = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChFamilyCategoryEditorWindowComponent = null;\n\n private currFamily: ChFamiliaCategoria = null;\n private model: ChFamiliaCategoria = null;\n private title: String = '';\n private buttonText: String = '';\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(family: ChFamiliaCategoria, config?: ModalOptions, callback?: Function ) {\n ChFamilyCategoryEditorWindowComponent.passFamily = family;\n ChFamilyCategoryEditorWindowComponent.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChFamilyCategoryEditorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n if (executeCallback) {\n ChFamilyCategoryEditorWindowComponent.callback();\n }\n ChGlobalsService.getInstance().hideModalWindow(ChFamilyCategoryEditorWindowComponent.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n ChFamilyCategoryEditorWindowComponent.currentWindow = this;\n }\n\n ngOnInit() {\n this.currFamily = ChFamilyCategoryEditorWindowComponent.passFamily;\n if (this.currFamily.uid !== '') {\n this.title = this.chGlobal.translateStr('EDITAR FAMILIA DE CATEGORIAS');\n this.buttonText = this.chGlobal.translateStr('Aceptar');\n } else {\n this.title = this.chGlobal.translateStr('NUEVA FAMILIA DE CATEGORIAS');\n this.buttonText = this.chGlobal.translateStr('Crear');\n }\n }\n\n ngAfterViewInit() {\n this.model = JSON.parse(JSON.stringify(this.currFamily));\n this.form.value = this.model;\n }\n\n confirm() {\n if (this.validate(this.model)) {\n if (this.model.uid !== '') {\n\n // LA familia de categorias existe con anterioridad\n\n // this.chGlobal.showRunningWindow('Grabando familia de categorías...');\n this.chGlobal.updateCategoryFamily(this.model)\n .then( (value) => { // Acepted\n // this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Familia guardada',\n 'La familia ' + this.model['name'].trim() + ' Ha sido guardada');\n this.updateData(this.model);\n ChFamilyCategoryEditorWindowComponent.hide(true);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Las modificaciones no han podido ser guardadas en la base de datos.');\n }\n },\n (value) => { // Rejected\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Las modificaciones no han podido ser guardadas en la base de datos.');\n }\n );\n } else {\n\n // La familia de categorías es nueva\n // this.chGlobal.showRunningWindow('Creando la familia de categorías...');\n this.chGlobal.addCategoryFamily(this.chGlobal.getGroupInfo().uid, this.model)\n .then( (value) => { // Acepted\n // this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Familia creada',\n 'La familia ' + this.model['name'].trim() + ' Ha sido creada');\n ChFamilyCategoryEditorWindowComponent.hide(true);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La familia no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La familia no ha podido ser guardada en la base de datos.');\n }\n );\n }\n\n\n }\n }\n\n decline() {\n ChFamilyCategoryEditorWindowComponent.hide(false);\n }\n\n validate(model: object): Boolean {\n if (model['name'].trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'La familia de categorías no puede tener un nombre vacío');\n return false;\n }\n return true;\n }\n\n updateData(model: ChFamiliaCategoria) {\n this.currFamily.name = model['name'].trim();\n this.currFamily.color = model['color'];\n }\n\n}\n","import { isNullOrUndefined } from \"util\";\n\nconst refOrDefault = function(ref, attrName, defaultValue) {\n return isNullOrUndefined(ref) || isNullOrUndefined(ref[attrName]) ? defaultValue : ref[attrName]\n}\n\nexport class ChChatGPTEnvironment {\n\n // localizacion e identidad\n hostUid : string = '';\n zoneUid : string = '';\n\n models : ChChatGPTModel[] = []\n\n constructor(ref?: object, originEncoded?: boolean) {\n\n this.hostUid = refOrDefault(ref,'hostUid','');\n this.zoneUid = refOrDefault(ref,'zoneUid','');\n\n if (isNullOrUndefined(ref) || isNullOrUndefined(ref['models']) || !Array.isArray(ref['models'])) {\n this.models =[]\n } else {\n const refModel = ref['models']\n this.models = refModel.map(item => new ChChatGPTModel(item));\n }\n }\n}\n\n\nexport class ChChatGPTModel {\n\n modelUid : string = '';\n name : string = '';\n\n constructor(ref?: object, originEncoded?: boolean) {\n this.modelUid = refOrDefault(ref,'modelUid','');\n this.name = refOrDefault(ref,'name','');\n\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY2hhdEdQVC9jaC1jaGF0Z3B0LWNvbmZpZy13aW5kb3cvY2gtY2hhdGdwdC1jb25maWctd2luZG93LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ch-chatgpt-config-window',\n templateUrl: './ch-chatgpt-config-window.component.html',\n styleUrls: ['./ch-chatgpt-config-window.component.scss']\n})\nexport class ChChatgptConfigWindowComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \".ch-combo-box.ng-select.ng-select-single {\\n flex-grow: 1;\\n max-width: 100%;\\n}\\n\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container {\\n min-height: 30px;\\n font-size: 16px;\\n font-weight: bold;\\n padding: 5px;\\n width: 100%;\\n height: 100%;\\n color: #416ED9;\\n background-color: #FAFAFA;\\n border-color: #E7E7E7;\\n border-style: solid;\\n border-width: 1px;\\n border-radius: 3;\\n box-shadow: none;\\n}\\n\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container .ng-value-container {\\n padding-left: 0px;\\n}\\n\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container .ng-select.ng-select-single {\\n height: 30px;\\n}\\n\\n.ng-select.ch-combo-box.ch-panelborder ::ng-deep .ng-select-container {\\n border-color: #E7E7E7 !important;\\n}\\n\\n.ng-select.ch-combo-box.ng-select-single ::ng-deep .ng-select-container {\\n height: 30px;\\n}\\n\\n.ng-select.ch-combo-box.ng-select-single ::ng-deep .ng-value-container .ng-placeholder {\\n color: LightBlue;\\n}\\n\\n.ch-right-combo-new {\\n margin-left: 4px;\\n margin-top: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: transparent;\\n color: #676a6c;\\n}\\n\\n.ch-right-combo-new:hover {\\n background-color: #f09b00;\\n color: #EFEFEF;\\n}\\n\\n.ch-right-combo-delete {\\n margin-left: 4px;\\n margin-top: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: transparent;\\n color: #676a6c;\\n}\\n\\n.ch-right-combo-delete:hover {\\n background-color: red;\\n color: #EFEFEF;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jaGF0R1BUL2NoLWNoYXRncHQtbWFpbi9jaC1jaGF0Z3B0LW1haW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvY2hhdEdQVC9jaC1jaGF0Z3B0LW1haW4vY2gtY2hhdGdwdC1tYWluLmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDRSxZQUFBO0VBQ0EsZUFBQTtBQ1JGOztBRFdBO0VBRUUsZ0JBQUE7RUFDQSxlRW9KNEI7RUZuSjVCLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0VtSm1CO0VGbEpuQix5QkVzRW9CO0VGckVwQixxQkU4RTZCO0VGN0U3QixtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBQ1RGOztBRFlFO0VBQ0ksaUJBQUE7QUNWTjs7QURhRTtFQUNJLFlBQUE7QUNYTjs7QURlQTtFQUNFLGdDQUFBO0FDWkY7O0FEZUE7RUFDRSxZQUFBO0FDWkY7O0FEZUE7RUFDRSxnQkUwSGdCO0FEdElsQjs7QURlQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsNkJBQUE7RUFDQSxjRVdtQjtBRHZCckI7O0FEZUE7RUFDRSx5QkVFYztFRkRkLGNFRWlCO0FEZG5COztBRGVBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSw2QkFBQTtFQUNBLGNFSG1CO0FEVHJCOztBRGVBO0VBQ0UscUJFSmE7RUZLYixjRVppQjtBREFuQiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY2hhdEdQVC9jaC1jaGF0Z3B0LW1haW4vY2gtY2hhdGdwdC1tYWluLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtQ09NQk8tQk9YXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4uY2gtY29tYm8tYm94Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94IDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAge1xuXG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdWJwYW5lbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMztcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuXG4gIC5uZy12YWx1ZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIH1cblxuICAubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94LmNoLXBhbmVsYm9yZGVyIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlciAhaW1wb3J0YW50XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94Lm5nLXNlbGVjdC1zaW5nbGUgOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyICAge1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94Lm5nLXNlbGVjdC1zaW5nbGUgOjpuZy1kZWVwIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVyICB7XG4gIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xufVxuXG4uY2gtcmlnaHQtY29tYm8tbmV3IHtcbiAgbWFyZ2luLWxlZnQ6NHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvcjtcbn1cblxuLmNoLXJpZ2h0LWNvbWJvLW5ldzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBjb2xvcjogJHByaW1hcnktY29sb3ItYmtcbn1cblxuLmNoLXJpZ2h0LWNvbWJvLWRlbGV0ZSB7XG4gIG1hcmdpbi1sZWZ0OjRweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG59XG5cbi5jaC1yaWdodC1jb21iby1kZWxldGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVsZXRlLWNvbG9yO1xuICBjb2xvcjogJHByaW1hcnktY29sb3ItYmtcbn1cbiIsIi5jaC1jb21iby1ib3gubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3ggOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogIzQxNkVEOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiAjRTdFN0U3O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94IDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveCA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIHtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1wYW5lbGJvcmRlciA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNFN0U3RTcgIWltcG9ydGFudDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3gubmctc2VsZWN0LXNpbmdsZSA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94Lm5nLXNlbGVjdC1zaW5nbGUgOjpuZy1kZWVwIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IExpZ2h0Qmx1ZTtcbn1cblxuLmNoLXJpZ2h0LWNvbWJvLW5ldyB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMjJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjc2YTZjO1xufVxuXG4uY2gtcmlnaHQtY29tYm8tbmV3OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOWIwMDtcbiAgY29sb3I6ICNFRkVGRUY7XG59XG5cbi5jaC1yaWdodC1jb21iby1kZWxldGUge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY3NmE2Yztcbn1cblxuLmNoLXJpZ2h0LWNvbWJvLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgY29sb3I6ICNFRkVGRUY7XG59IiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChChatGPTEnvironment, ChChatGPTModel } from '../ChChatGPTEnvironment';\n\n@Component({\n selector: 'app-ch-chatgpt-main',\n templateUrl: './ch-chatgpt-main.component.html',\n styleUrls: ['./ch-chatgpt-main.component.scss']\n})\nexport class ChChatgptMainComponent implements OnInit {\n\n constructor(private chGlobal: ChGlobalsService) { }\n\n private chatGPT : ChChatGPTEnvironment = new ChChatGPTEnvironment();\n private selModelUid : String = '';\n private model : ChChatGPTModel | null = null;\n private isWorking : boolean = false;\n\n ngOnInit() {\n this.isWorking = true;\n this.chGlobal.getChatGPTEnvironment().then(\n value => {\n this.chatGPT = value;\n this.isWorking = false;\n },\n error => {\n console.log('ERROR loading ChatGPTEnvironment')\n this.chatGPT = new ChChatGPTEnvironment();\n this.isWorking = false;\n }\n )\n }\n\n setValue(event:any) {\n this.model = event\n }\n\n configModel() {\n console.log(\"config.model!!\")\n }\n}\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n\\n.ch-bigbutton.chil-admin {\\n border: 1px solid #5ABEBE;\\n background-color: lightblue;\\n padding: 10px;\\n margin: 20px;\\n font-size: 18px;\\n cursor: pointer;\\n}\\n\\n.ch-bigbutton.chil-admin > img {\\n margin: 0px;\\n width: 60px;\\n height: 60px;\\n}\\n\\n.ch-bigbutton.chil-admin:hover {\\n background-color: white;\\n}\\n\\n.info-label {\\n margin-left: 50px;\\n font-size: 18px;\\n color: darkblue;\\n}\\n\\n.ch-zone-check-area {\\n max-height: 200px;\\n overflow-y: scroll;\\n margin-right: 20px;\\n margin-left: 25px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jaGlsYWRtaW4vY2gtY2hpbC1hZG1pbi1jb3B5LXdlYnMvY2gtY2hpbC1hZG1pbi1jb3B5LXdlYnMuc2NzcyIsInNyYy9hcHAvY2hpbC9jaGlsYWRtaW4vY2gtY2hpbC1hZG1pbi1jb3B5LXdlYnMvY2gtY2hpbC1hZG1pbi1jb3B5LXdlYnMuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0ksaUJBQUE7QUNKSjs7QURNQTtFQUNJLGlCQUFBO0FDSEo7O0FETUE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxvRUFiUztFQWNULG9CQWJZO0VBY1osZ0JBQUE7QUNISjs7QURLQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9FQXZCUztBQ3FCYjs7QURJQTtFQUNJLGdCQUFBO0VBQ0Esb0VBM0JTO0VBNEJULGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0RKOztBRElBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9FQXZDUztFQXdDVCxlQUFBO0VBQ0EsZ0JBQUE7QUNESjs7QURLQTtFQUNFLHlCQUFBO0VBQ0EsMkJFdUlvQztFRnRJcEMsYUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBQ0ZGOztBRElFO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FDRko7O0FES0U7RUFDRSx1QkFBQTtBQ0hKOztBRE9BO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBQ0pGOztBRE9BO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUNKRiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY2hpbGFkbWluL2NoLWNoaWwtYWRtaW4tY29weS13ZWJzL2NoLWNoaWwtYWRtaW4tY29weS13ZWJzLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbiRiYXNpYy1mb250OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRiYXNpYy1zcGFjaW5nOiAxNHB4O1xuXG5pbWd7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG59XG4uYm9keXtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJhc2ljLXNwYWNpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cbi5zdWItdGl0bGV7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG59XG4uYm9keS1zdWItdGl0bGV7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG57XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG5cblxuLmNoLWJpZ2J1dHRvbi5jaGlsLWFkbWluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNoaWwtbWFuYWdlbWVudC1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gID4gaW1nIHtcbiAgICBtYXJnaW46MHB4O1xuICAgIHdpZHRoOjYwcHg7XG4gICAgaGVpZ2h0OjYwcHhcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbi5pbmZvLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IGRhcmtibHVlO1xufVxuXG4uY2gtem9uZS1jaGVjay1hcmVhIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMjVweDtcbn1cbiIsImltZyB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4uYm9keSB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICBmb250LXNpemU6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLnN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ib2R5LXN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLmNoLWJpZ2J1dHRvbi5jaGlsLWFkbWluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVBQkVCRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNoLWJpZ2J1dHRvbi5jaGlsLWFkbWluID4gaW1nIHtcbiAgbWFyZ2luOiAwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG4uY2gtYmlnYnV0dG9uLmNoaWwtYWRtaW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmluZm8tbGFiZWwge1xuICBtYXJnaW4tbGVmdDogNTBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogZGFya2JsdWU7XG59XG5cbi5jaC16b25lLWNoZWNrLWFyZWEge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","import { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { ChActorCompact } from 'app/chil/actor/ch-actor';\nimport { ChCategoria, ChFamiliaCategoria } from 'app/chil/categories/ch-categoria';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChPostReference } from 'app/chil/post/ch-post';\nimport { ChPostCommand } from 'app/chil/post/ch-post-command';\nimport { ChZoneCompact } from 'app/chil/zone/ch-zone';\nimport { BehaviorSubject } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { isNull, isNullOrUndefined } from 'util';\n\n\nclass ContentCopied {\n oldUid: string = '';\n newUid: string = '';\n\n constructor(oldUid: string, newUid: string) {\n this.oldUid = oldUid;\n this.newUid = newUid;\n }\n}\n\n@Component({\n selector: 'app-ch-chil-admin-copy-webs',\n templateUrl: './ch-chil-admin-copy-webs.html',\n styleUrls: ['./ch-chil-admin-copy-webs.scss']\n})\nexport class ChChilAdminCopyWebsComponent implements OnInit {\n\n private adminSites: Array = [];\n private origin: ChActorCompact | null = null\n private destination: ChActorCompact | null = null\n\n private familiasCategorias: ChFamiliaCategoria[] = [];\n private zones: ChZoneCompact[] = [];\n private zonesSelected: Boolean[] = [];\n\n private itemsList: Array = [];\n\n private importLists : Boolean = true;\n private importZones : Boolean = true;\n private importCategories : Boolean = true;\n private importContents : Boolean = true;\n\n private categoryPrefix: string = '';\n private newCategoryContents: string = '';\n\n private zoneCopied: BehaviorSubject = new BehaviorSubject('0');\n private catCopied: BehaviorSubject = new BehaviorSubject('0');\n private postsCopied: BehaviorSubject = new BehaviorSubject('0');\n\n private zonesCreated : string[] = [];\n private catFamCreated : ChFamiliaCategoria[] = [];\n private catCreated : ChCategoria[] = [];\n private targetCategory : ChCategoria | null = null;\n private postsCreated : ContentCopied[] = [];\n\n private postTypeFilter = { post: true, news: true, event: true, document: true,\n question: true, form: true, page: true, link: true, image: true,\n publi: true, theme: true, test: true, postbox: true,\n\n toArray(): Array {\n const temp: string[] = [];\n if ( this.post ) { temp.push('post'); };\n if ( this.news ) { temp.push('news'); };\n if ( this.event ) { temp.push('event'); };\n if ( this.document ) { temp.push('document'); };\n if ( this.question ) { temp.push('question'); };\n if ( this.form ) { temp.push('form'); };\n if ( this.link ) { temp.push('link'); };\n if ( this.image ) { temp.push('image'); };\n if ( this.publi ) { temp.push('publi'); };\n if ( this.theme ) { temp.push('theme'); };\n if ( this.page ) { temp.push('page'); };\n if ( this.test ) { temp.push('test'); };\n if ( this.postbox ) { temp.push('postbox'); };\n return temp;\n },\n\n toString(): string {\n const typesArray = this.toArray();\n if (typesArray.length == 13) {\n return '';\n } else {\n var temp = '';\n typesArray.forEach((t) =>{\n temp += (temp != '' ? ',' :'') + t;\n })\n return temp;\n }\n },\n\n reset() {\n this.post = true;\n this.news = true;\n this.event = true;\n this.document = true;\n this.question = true;\n this.form = true;\n this.link = true;\n this.image = true;\n this.publi = true;\n this.theme = true;\n this.page = true;\n this.test = true;\n this.postbox = true;\n },\n\n fromString(typesStr: string ) {\n if (typesStr == '') {\n this.post = true;\n this.news = true;\n this.event = true;\n this.document = true;\n this.question = true;\n this.form = true;\n this.link = true;\n this.image = true;\n this.publi = true;\n this.theme = true;\n this.page = true;\n this.test = true;\n this.postbox = true;\n return;\n }\n this.post = false;\n this.news = false;\n this.event = false;\n this.document = false;\n this.question = false;\n this.form = false;\n this.link = false;\n this.image = false;\n this.publi = false;\n this.theme = false;\n this.page = false;\n this.test = false;\n this.postbox = false;\n\n const typesArray = typesStr.split(',');\n\n typesArray.forEach((t) =>{\n if (t == 'post') this.post = true;\n else if (t == 'news') this.news = true;\n else if (t == 'event') this.event = true;\n else if (t == 'document') this.document = true;\n else if (t == 'question') this.question = true;\n else if (t == 'form') this.form = true;\n else if (t == 'link') this.link = true;\n else if (t == 'image') this.image = true;\n else if (t == 'publi') this.publi = true;\n else if (t == 'theme') this.theme = true;\n else if (t == 'page') this.page = true;\n else if (t == 'test') this.test = true;\n else if (t == 'postbox') this.postbox = true;\n })\n }\n\n };\n\n private dateFrom : Date | null = null; //new Date(Date.now() - 365 * 24 * 60 * 60 * 1000);\n private dateTo : Date | null = null;\n private categoryFilter = [];\n\n constructor(private chGlobal: ChGlobalsService, vcr: ViewContainerRef) {\n chGlobal.initToasts(vcr);\n\n }\n\n ngOnInit() {\n this.loadWebs();\n }\n\n reset() {\n this.familiasCategorias = [];\n this.zones = [];\n\n this.itemsList = [];\n\n this.importLists = true;\n this.importZones = true;\n this.zonesSelected = [];\n this.importCategories = true;\n this.importContents = true;\n\n this.categoryPrefix = '';\n this.newCategoryContents = '';\n\n this.postsCreated = [];\n\n }\n\n loadWebs() {\n this.chGlobal.showRunningWindow(\"Leyendo webs...\", true);\n this.chGlobal.getActorManagedSites(this.chGlobal.getCurrentUser().uid)\n .then( (result) => {\n if (result != null){\n this.adminSites = result;\n } else {\n this.adminSites = [];\n }\n this.adminSites.sort( (a,b) => {return a.name.localeCompare(b.name); })\n console.log(this.adminSites);\n this.chGlobal.hideRunningWindow()\n this.chGlobal.showMessage(MessageType.success, \"Webs leidas\", \"Se han leido \" + this.adminSites.length + \" webs.\", 4000, true);\n });\n\n }\n\n private async copy() {\n console.log(this.origin);\n console.log(this.destination);\n\n if (this.origin == null || this.destination == null) {\n this.chGlobal.showMessage(MessageType.error, \"No configurado\", \"El origen o el destino no están configurados adecuadamente\", 4000, true);\n return;\n }\n\n\n\n if (this.importContents) {\n await this.loadPosts();\n }\n\n if (this.importLists) {\n await this.copyLists();\n }\n if (this.importZones) {\n await this.copyZones();\n }\n if (this.importCategories || this.newCategoryContents != '') {\n await this.copyCategories();\n }\n\n if (this.importContents) {\n await this.copyContents();\n }\n }\n\n private async revert() {\n\n await this.revertContents()\n await this.revertCategories()\n await this.revertZones();\n await this.revertLists()\n\n }\n\n private loadOrigin() {\n this.reset();\n\n this.chGlobal.showRunningWindow(\"Leyendo zonas...\", true);\n this.chGlobal.loadGroupZones(this.origin!.uid).then(\n (value) => {\n this.zones = value;\n this.zonesSelected = new Array(this.zones.length).fill(false);\n this.zonesSelected[0] = true;\n console.log(this.zones);\n this.chGlobal.showRunningWindow(\"Leyendo categorias...\", true);\n return this.chGlobal.loadGroupCategories(this.origin!.uid);\n },\n (error) => {\n console.log('Load Zones');\n console.log(error);\n this.zones = [];\n this.chGlobal.showRunningWindow(\"Leyendo categorias...\", true);\n return this.chGlobal.loadGroupCategories(this.origin!.uid);\n }\n ).then(\n (value) => {\n this.familiasCategorias = value;\n console.log(this.familiasCategorias);\n this.chGlobal.hideRunningWindow()\n },\n (error) => {\n console.log('Load Categorias');\n console.log(error);\n this.familiasCategorias = [];\n this.chGlobal.hideRunningWindow()\n }\n )\n }\n\n\n private isRunning = false;\n\n// ----------------------------------------------------------------------\n// ZONAS\n private async copyZones() {\n if (this.isRunning) {\n return;\n }\n\n this.isRunning = true;\n this.zonesCreated = [];\n this.chGlobal.showRunningWindow( 'Copiando zonas ...', true);\n\n for(let i= 1; i< this.zones.length; i++){\n console.log(this.zones[i].zoneUid)\n let zone : ChZoneCompact | null = await this.chGlobal.getZone(this.origin!.uid, this.zones[i].zoneUid);\n if (zone != null && this.zonesSelected[i] && (isNullOrUndefined(zone.newUid) || zone.newUid == '')) { // No ha sido creado previamente\n console.log(zone);\n zone.description = this.origin!.name;\n zone.permissions = [];\n zone.lists = [];\n let newZoneUid : String | null = await this.chGlobal.createZone(this.destination!.uid, zone);\n if (newZoneUid != null) {\n zone.newUid = newZoneUid.toString();\n this.zones[i].newUid = newZoneUid.toString();\n console.log(newZoneUid)\n this.zonesCreated.push(newZoneUid.toString());\n this.zoneCopied.next(String(this.zonesCreated.length))\n }\n\n }\n }\n this.chGlobal.hideRunningWindow();\n console.log(this.zoneCopied);\n this.isRunning = false;\n }\n\n private async revertZones() {\n if (this.isRunning) {\n return;\n }\n this.chGlobal.showRunningWindow( 'Borrando zonas ...', true);\n this.isRunning = true;\n var nZones = this.zonesCreated.length;\n for(let i= 0; i< this.zonesCreated.length; i++){\n if (await this.chGlobal.deleteZone(this.destination!.uid, this.zonesCreated[i])) {\n nZones--;\n const originalZone = this.zones.find(z => z.newUid == this.zonesCreated[i]);\n if (!isNullOrUndefined(originalZone)) {\n originalZone.newUid = '';\n }\n this.zoneCopied.next(String(nZones))\n }\n }\n this.chGlobal.hideRunningWindow();\n this.zonesCreated = [];\n this.isRunning = false;\n }\n\n private searchNewZone(zoneUid: string) : string | null {\n for(let i= 0; i< this.zones.length; i++) {\n if (this.zones[i].zoneUid == zoneUid) {\n return this.zones[i].newUid;\n }\n }\n return null;\n }\n\n\n\n // ----------------------------------------------------------------------\n // CATEGORIAS\n private async copyCategories() {\n if (this.isRunning) {\n return;\n }\n if (this.catCreated.length > 0) { // Ya se han creado las categorias\n console.log( '* CATEGORIES ALREADY CREATED ');\n return;\n }\n\n console.log( '* COPYING CATEGORIES ');\n this.chGlobal.showRunningWindow( 'Copiando categorias ...', true);\n this.isRunning = true;\n this.catFamCreated = [];\n this.catCreated = [];\n this.targetCategory = null;\n var nCats = 0;\n\n // Primero la categoria de agrupacion\n if (this.newCategoryContents != '' && this.targetCategory == null) {\n var newCategoria1 = new ChCategoria()\n newCategoria1.name = this.newCategoryContents;\n newCategoria1.use = 'private';\n\n if (await this.chGlobal.addCategory( this.destination!.uid, newCategoria1)) {\n this.catCreated.push(newCategoria1);\n this.targetCategory = newCategoria1;\n nCats++;\n this.catCopied.next(String(nCats));\n }\n }\n if (this.importCategories) {\n console.log(this.familiasCategorias);\n for(let i=0; i< this.familiasCategorias.length; i++) {\n if (this.familiasCategorias[i].uid != '' &&\n (isNullOrUndefined(this.familiasCategorias[i].newuid) || this.familiasCategorias[i].newuid == '' ) ) {\n let newFamilia = new ChFamiliaCategoria(this.familiasCategorias[i]);\n newFamilia.name = this.categoryPrefix + newFamilia.name;\n newFamilia.uid = '';\n\n if (await this.chGlobal.addCategoryFamily( this.destination!.uid, newFamilia)) {\n this.catFamCreated.push(newFamilia);\n this.familiasCategorias[i].newuid = newFamilia.uid;\n nCats++;\n this.catCopied.next(String(nCats));\n console.log(this.familiasCategorias[i]);\n\n for(let j=0; j< this.familiasCategorias[i].categories.length; j++) {\n if (this.familiasCategorias[i].categories[j].uid != '' &&\n (isNullOrUndefined(this.familiasCategorias[i].categories[j].newuid) || this.familiasCategorias[i].categories[j].newuid == '' )) {\n let newCategoria2 = new ChCategoria(this.familiasCategorias[i].categories[j]);\n newCategoria2.uid = '';\n newCategoria2.name = this.categoryPrefix + newCategoria2.name;\n newCategoria2.group = { uid: newFamilia.uid, name: '', color: 0 };\n\n if (await this.chGlobal.addCategory( this.destination!.uid, newCategoria2)) {\n this.familiasCategorias[i].categories[j].newuid = newCategoria2.uid;\n console.log(this.familiasCategorias[i].categories[j]);\n this.catCreated.push(newCategoria2);\n nCats++;\n this.catCopied.next(String(nCats));\n }\n }\n }\n }\n }\n }\n }\n\n\n this.chGlobal.hideRunningWindow();\n this.isRunning = false;\n }\n\n private async revertCategories() {\n if (this.isRunning) {\n return;\n }\n this.isRunning = true;\n this.chGlobal.showRunningWindow( 'Borrando categorias ...', true);\n\n var nCats = this.catFamCreated.length + this.catCreated.length;\n for(let i=0; i< this.catCreated.length; i++) {\n if (await this.chGlobal.deleteCategory(this.catCreated[i])) {\n nCats--;\n this.catCopied.next(String(nCats));\n }\n }\n this.catCreated = [];\n\n for(let i=0; i< this.catFamCreated.length; i++) {\n if (await this.chGlobal.deleteCategoryFamily(this.catFamCreated[i])) {\n nCats--;\n this.catCopied.next(String(nCats));\n }\n }\n\n this.catFamCreated = [];\n\n this.chGlobal.hideRunningWindow();\n this.isRunning = false;\n }\n\n private searchNewCategory(catUid: string) : ChCategoria | null {\n for(let i= 0; i< this.familiasCategorias.length; i++)\n for(let j= 0; j< this.familiasCategorias[i].categories.length; j++)\n if (this.familiasCategorias[i].categories[j].uid == catUid) {\n return this.familiasCategorias[i].categories[j]\n }\n\n return null;\n }\n\n calcCatNumber() : Number {\n var total = 0;\n this.familiasCategorias.forEach( f => {\n total += f.categories.length;\n total++;\n })\n return total;\n }\n\n\n\n // ----------------------------------------------------------------------\n // CONTENTS\n\n private async loadPosts() {\n if (this.isRunning) {\n return;\n }\n this.isRunning = true;\n\n this.chGlobal.showRunningWindow( 'Leyendo datos ...', true);\n var zonesUid : string[] = [];\n\n for(let i= 0; i< this.zones.length; i++) {\n if (i == 0 && this.zonesSelected[i]) {\n zonesUid.push(null);\n } else if (this.zonesSelected[i]) {\n zonesUid.push(this.zones[i].zoneUid);\n }\n }\n console.log(this.zones)\n console.log(zonesUid)\n\n for(let i= 0; i< zonesUid.length; i++) {\n const newItems = await this.loadPostsZone(zonesUid[i]);\n newItems.forEach( (v) => {\n if (!this.postIsLoaded(v.uid)) {\n this.itemsList.push(v);\n } else {\n console.log('* ITEM ALREADY LOADED ' + v.uid);\n }\n });\n }\n\n this.isRunning = false;\n\n setTimeout(() => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessageWithParams(MessageType.success, 'Datos leidos',\n '%1 filas leidas', [this.itemsList.length.toString()]);\n }, 250);\n\n this.recalculate();\n\n }\n\n private postIsLoaded(uid: string) : boolean {\n const found = this.itemsList.find((element) => element.uid == uid);\n return !isNullOrUndefined(found);\n }\n\n private async loadPostsZone(zoneUID? : string) : Promise {\n\n return new Promise((resolve, reject) => {\n var newValues : ChPostReference[] = [];\n const flujoDatos = this.chGlobal.getPostAnalytics(this.origin!.uid, zoneUID,\n this.dateFrom == null? '' : this.dateFrom.toISOString(),\n this.dateTo == null? '' : this.dateTo.toISOString(),\n this.categoryFilter.map( v => v.uid ), this.postTypeFilter.toArray(), false, true )\n .subscribe(\n (values: ChPostReference[]) => { // Next\n values.forEach( (v) => { newValues.push(v); });\n this.chGlobal.showRunningWindowWithParams( '%1 entradas leidas ...', [String(this.itemsList.length)]);\n },\n (error: any) => { // Error\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n flujoDatos.unsubscribe();\n resolve(newValues);\n },\n () => { //Complete\n flujoDatos.unsubscribe();\n resolve(newValues);\n }\n );\n });\n\n }\n\n private recalculate() {\n if (this.itemsList.length >0) {\n console.log(this.itemsList[0])\n console.log(this.itemsList[this.itemsList.length-1])\n }\n\n }\n\n private contentCopied(uid: string) : boolean {\n const found = this.postsCreated.find((element) => element.oldUid === uid);\n return found != undefined;\n }\n\n private async copyContents() {\n if (this.isRunning) {\n return;\n }\n this.isRunning = true;\n this.chGlobal.showRunningWindow( 'Copiando contenidos ...', true);\n\n var nCont = 0;\n for(let i=0; i< this.itemsList.length; i++) {\n\n if (this.contentCopied(this.itemsList[i].uid)) {\n console.log('* CONTENT ALREADY COPIED ' + this.itemsList[i].uid);\n continue;\n } else {\n console.log('* COPY CONTENT ' + this.itemsList[i].uid);\n }\n\n let post = await this.chGlobal.getPost(this.itemsList[i].uid)\n post.host.uid = this.destination!.uid;\n post.creator.uid = this.destination!.uid;\n if (post.zone != null) {\n const newZoneUid = this.searchNewZone(post.zone.uid);\n if (newZoneUid == null || newZoneUid == '' ) {\n post.zone.uid = null;\n console.log(' - ZONE UNKONWN' + post.zone.uid);\n continue;\n } else {\n console.log(' - ZONE ' + post.zone.uid + \" -> \" + newZoneUid);\n post.zone.uid = newZoneUid;\n }\n }\n\n post.categories.forEach( c=> {\n const category = this.searchNewCategory(c.uid)\n if (category != null && category.newuid != '') {\n c.uid = category.newuid;\n }\n })\n if (this.targetCategory != null) {\n post.categories.push(this.targetCategory)\n }\n\n var postCommand = new ChPostCommand();\n\n postCommand.loadFromNewPost(post);\n\n const newPostUid = await this.chGlobal.addPost(this.destination!.uid, postCommand.zoneUid,\n this.destination!.uid, postCommand);\n if (newPostUid != null) {\n nCont++;\n this.postsCopied.next(String(nCont));\n const newContent = new ContentCopied(this.itemsList[i].uid, newPostUid)\n console.log(' - COPIED' + this.itemsList[i].uid + ' -> ' + newPostUid);\n this.postsCreated.push(newContent);\n }\n }\n\n this.chGlobal.hideRunningWindow();\n this.isRunning = false;\n }\n\n private async revertContents() {\n if (this.isRunning) {\n return;\n }\n this.isRunning = true;\n this.chGlobal.showRunningWindow( 'Borrando contenidos ...', true);\n var nPosts = this.postsCreated.length;\n for(let i=0; i< this.postsCreated.length; i++) {\n if (await this.chGlobal.deletePost(this.postsCreated[i].newUid)) {\n nPosts--;\n this.postsCopied.next(String(nPosts));\n }\n }\n\n this.postsCreated = [];\n this.itemsList = [];\n\n this.chGlobal.hideRunningWindow();\n this.isRunning = false;\n }\n\n\n\n\n\n\n\n private async copyLists() {\n\n\n\n }\n\n\n private async revertLists() {\n\n\n\n }\n}\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n\\n.ch-bigbutton.chil-admin {\\n border: 1px solid #5ABEBE;\\n background-color: lightblue;\\n padding: 10px;\\n margin: 20px;\\n font-size: 18px;\\n cursor: pointer;\\n}\\n\\n.ch-bigbutton.chil-admin > img {\\n margin: 0px;\\n width: 60px;\\n height: 60px;\\n}\\n\\n.ch-bigbutton.chil-admin:hover {\\n background-color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jaGlsYWRtaW4vY2gtY2hpbC1hZG1pbi1tYXN0ZXIvY2gtY2hpbC1hZG1pbi1tYXN0ZXIuc2NzcyIsInNyYy9hcHAvY2hpbC9jaGlsYWRtaW4vY2gtY2hpbC1hZG1pbi1tYXN0ZXIvY2gtY2hpbC1hZG1pbi1tYXN0ZXIuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0ksaUJBQUE7QUNKSjs7QURNQTtFQUNJLGlCQUFBO0FDSEo7O0FETUE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxvRUFiUztFQWNULG9CQWJZO0VBY1osZ0JBQUE7QUNISjs7QURLQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9FQXZCUztBQ3FCYjs7QURJQTtFQUNJLGdCQUFBO0VBQ0Esb0VBM0JTO0VBNEJULGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0RKOztBRElBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9FQXZDUztFQXdDVCxlQUFBO0VBQ0EsZ0JBQUE7QUNESjs7QURLQTtFQUNFLHlCQUFBO0VBQ0EsMkJFdUlvQztFRnRJcEMsYUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBQ0ZGOztBRElFO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FDRko7O0FES0U7RUFDRSx1QkFBQTtBQ0hKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jaGlsYWRtaW4vY2gtY2hpbC1hZG1pbi1tYXN0ZXIvY2gtY2hpbC1hZG1pbi1tYXN0ZXIuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAkYmFzaWMtc3BhY2luZztcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuLnN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbn1cbi5ib2R5LXN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0bntcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuXG4uY2gtYmlnYnV0dG9uLmNoaWwtYWRtaW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hpbC1tYW5hZ2VtZW50LWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnM7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgPiBpbWcge1xuICAgIG1hcmdpbjowcHg7XG4gICAgd2lkdGg6NjBweDtcbiAgICBoZWlnaHQ6NjBweFxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cbiIsImltZyB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4uYm9keSB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICBmb250LXNpemU6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLnN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ib2R5LXN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLmNoLWJpZ2J1dHRvbi5jaGlsLWFkbWluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVBQkVCRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNoLWJpZ2J1dHRvbi5jaGlsLWFkbWluID4gaW1nIHtcbiAgbWFyZ2luOiAwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG4uY2gtYmlnYnV0dG9uLmNoaWwtYWRtaW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","\nimport { Component, OnInit, } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-ch-chil-admin-master',\n templateUrl: './ch-chil-admin-master.html',\n styleUrls: ['./ch-chil-admin-master.scss']\n})\nexport class ChChilAdminMasterComponent implements OnInit {\n\n constructor(private chGlobal: ChGlobalsService, private route: ActivatedRoute, private router: Router) {\n\n }\n\n ngOnInit() {\n\n }\n\n private gotoCopywebs(event) {\n this.router.navigate(['../copywebs'], {relativeTo: this.route});\n }\n\n}\n","\nimport * as moment from 'moment';\n\nexport class ChEncoder {\n\n public static isEncoded(data: string) : boolean {\n return data.substr(0,9) == '_ENCODED_';\n }\n /**\n * ASCII to Unicode (decode Base64 to original data)\n * @param {string} b64\n * @return {string}\n */\n public static atou(b64: string) : string {\n try {\n if (b64 == undefined || b64 == null) {\n return '';\n } else if (this.isEncoded(b64)) {\n return decodeURIComponent(atob( b64.substr(9, b64.length - 9) ));\n } else {\n return decodeURIComponent(b64);\n }\n } catch (e) {\n // console.log(\" *** ERROR DE DECODIFICACION : \" + e);\n // console.log(b64);\n return b64;\n }\n\n }\n\n /**\n * Unicode to ASCII (encode data to Base64)\n * @param {string} data\n * @return {string}\n */\n public static utoa(data: string) : string {\n try {\n // console.log(\" ENCODING : \" + data);\n if (data == undefined || data == null || data == '') {\n return data;\n } else if (data.length > 255 && !this.isEncoded(data)) {\n //console.log(data);\n const temp = '_ENCODED_' + btoa(encodeURIComponent((' ' + data).slice(1)));\n //console.log(data);\n return temp;\n } else {\n //console.log(data);\n const temp = encodeURIComponent((' ' + data).slice(1));\n //console.log(data);\n return temp;\n }\n } catch (e) {\n console.log(\" *** ERROR DE CODIFICACION : \" + e);\n console.log(data);\n return data;\n }\n }\n\n public static encodeObject(base: object, cloneObject : boolean): object {\n // Codificar los textos largos para evitar problemas de caracteres etc\n // console.log(\" *** ENCODING : \" + JSON.stringify(base));\n if (Array.isArray(base)) {\n const target = cloneObject ? new Array(base.length) : base;\n for (var i = 0; i < base.length; i++) {\n const baseVal = base[i];\n if (baseVal == undefined || baseVal == null) {\n // console.log(\" \" + i + \" : ---\");\n target[i] = baseVal;\n } else if (baseVal instanceof Date) {\n target[i] = baseVal; //encodeURIComponent(baseVal.toISOString());\n } else {\n // console.log(\" \" + i + \" : \" + (typeof baseVal).toUpperCase() + \" - \" + baseVal.length);\n switch (typeof baseVal) {\n case 'string':\n target[i] = this.utoa(baseVal);\n break;\n case 'object':\n target[i] = this.encodeObject(baseVal, cloneObject);\n break;\n default:\n target[i] = baseVal;\n }\n }\n }\n return target;\n } else {\n const target = cloneObject ? {} : base;\n const dataKeys = Object.keys(base);\n // console.log(dataKeys);\n dataKeys.forEach( key => {\n const baseVal = base[key];\n if (baseVal == undefined || baseVal == null) {\n // console.log(\" \" + key + \" : ---\");\n target[key] = baseVal;\n } else if (baseVal instanceof Date) {\n target[key] = baseVal; //encodeURIComponent(baseVal.toISOString());\n } else {\n // console.log(\" \" + key + \" : \" + (typeof baseVal).toUpperCase() + \" - \" + baseVal.length);\n switch (typeof baseVal) {\n case 'string':\n // console.log(\" STRING : \" + baseVal.length);\n target[key] = this.utoa(baseVal);\n break;\n case 'object':\n target[key] = this.encodeObject(baseVal, cloneObject);\n break;\n default:\n target[key] = baseVal;\n }\n }\n })\n //console.log(\" *** ENCODED! : \" + JSON.stringify(target));\n return target;\n }\n }\n\n public static decodeObject(encoded: object, cloneObject : boolean): object {\n // Codificar los textos largos para evitar problemas de caracteres etc\n // console.log(\" *** DECODING : \" + JSON.stringify(encoded));\n if (Array.isArray(encoded)) {\n const target = cloneObject ? new Array(encoded.length) : encoded;\n for (var i = 0; i < encoded.length; i++) {\n const baseVal = encoded[i];\n if (baseVal == undefined || baseVal == null) {\n // console.log(\" \" + i + \" : ---\");\n target[i] = baseVal;\n } else if (baseVal instanceof Date) {\n target[i] = baseVal;\n } else {\n // console.log(\" \" + i + \" : \" + (typeof baseVal).toUpperCase() + \" - \" + baseVal.length);\n switch (typeof baseVal) {\n case 'string':\n target[i] = this.atou(baseVal);\n break;\n case 'object':\n target[i] = this.decodeObject(baseVal, cloneObject);\n break;\n default:\n target[i] = baseVal;\n }\n }\n }\n return target;\n } else {\n const target = cloneObject ? {} : encoded;\n const dataKeys = Object.keys(encoded);\n // console.log(dataKeys);\n dataKeys.forEach( key => {\n const baseVal = encoded[key];\n if (baseVal == undefined || baseVal == null) {\n //console.log(\" \" + key + \" : ---\");\n target[key] = baseVal;\n } else if (baseVal instanceof Date) {\n target[key] = baseVal;\n } else {\n // console.log(\" \" + key + \" : \" + (typeof baseVal).toUpperCase() + \" - \" + baseVal.length);\n switch (typeof baseVal) {\n case 'string':\n //console.log(\" STRING : \" + baseVal.length);\n target[key] = this.atou(baseVal);\n break;\n case 'object':\n target[key] = this.decodeObject(baseVal, cloneObject);\n break;\n default:\n target[key] = baseVal;\n }\n }\n })\n // console.log(\" *** DECODED! : \" + JSON.stringify(target));\n return target;\n }\n }\n\n public static dateToString(date: Date) : string {\n return moment(date).format('YYYY-MM-DDTHH:mm:ss');\n }\n\n}\n","// ***************************************************************************************\n//\n// Estructuras globales\n//\n// ***************************************************************************************\n//\n//\n\n/**\n * Enumeración con los tipos de mensaje que se consideran.\n * En principio solo error, warning y success\n */\n export enum MessageType {\n error = 1 ,\n warning = 2,\n success = 3\n}\n/**\n * Enumeración con los diferentes códigos de resultado de las funciones\n * de red\n */\nexport enum OpResult {\n OK = 0,\n NET_ERROR = 1,\n LOGIN_FAILS = 2,\n NO_AUTHORIZED = 3,\n USER_DATA_INVALID = 4,\n NO_AUTH_TOKEN = 5,\n FILE_ERROR = 6\n}\n/**\n * PRIVADO\n * Interface resultado del login\n */\nexport interface LoginResult {\n access_token: string;\n token_type: string;\n expires_in: number;\n refresh_token: string;\n}\n// ***************************************************************************************\n//\n// Estructuras globales. GRUPO\n//\n// ***************************************************************************************\n//\n//\n/**\n * Información del grupo que se está editando en el panel de control.\n * Esta información se lee en el login y se almacena en una variable\n * global\n */\nexport interface GroupInfo {\n id: number;\n uid: string;\n identifier: string;\n displayName: string;\n name: string;\n description: string;\n pictureUrl: string;\n pictureMediaUid: string;\n keywords: string[];\n headerPictureUrl: string;\n headerPictureMediaUid: string;\n faviconUrl: string;\n faviconUid: string;\n phone: string;\n email: string;\n info: string;\n lang: string;\n type: string;\n location: {\n name: string,\n latitude: number,\n longitude: number\n };\n}\n\n\nexport interface GroupSEO {\n uid: string;\n idgAnalytics: string;\n domain: string;\n automaticRobot: boolean;\n robotTxt: string;\n automaticSitemap: boolean;\n sitemap: string;\n sitemapIndex: string;\n }\n\n export interface GroupAdmin {\n uid: string;\n adminWebPage: string;\n adminOptions: object;\n}\n","import { Injectable, ViewContainerRef, TemplateRef, SystemJsNgModuleLoaderConfig } from '@angular/core';\nimport { ToastrService, ActiveToast, ToastContainerDirective } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ChApiService, ChfileOptions } from '../api/ch-api.service';\nimport { ChActor, ChActorCompact, Gender, ActorType } from '../actor/ch-actor';\nimport { ChZoneCompact, ChZoneRef, PermissionsType } from '../zone/ch-zone';\nimport { ChDataManagerService } from '../../chil/data/ch-datamanager.service';\nimport { Observable, Subscriber } from 'rxjs';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChFamiliaCategoria, ChCategoria } from '../categories/ch-categoria';\nimport { MessageType, GroupInfo, LoginResult, OpResult, GroupSEO, GroupAdmin } from './ch-globals-def';\nimport { ChSmallDialogComponent } from '../utils/ch-small-dialog/ch-small-dialog.component';\nimport { ChilSystemGlobalService } from '../../chilsystem/CHSistema/chilsystem-global.service';\nimport { ChImageZoomDialogComponent } from '../images/ch-image-zoom-dialog/ch-image-zoom-dialog.component';\nimport { ChilSystemExternal } from '../../chilsystem/CHSistema/chilsystem-external';\nimport { ChDataTable } from '../data/ch-datatable';\nimport { ChFolder, ChFileCompact } from '../cloud/ch-file';\nimport { ChUserList } from '../population/ch-user-list';\nimport { ChPostReference, ChPost, ChHostRef } from '../post/ch-post';\nimport { ChCommentCommand, ChPostCommand } from '../post/ch-post-command';\nimport { isNullOrUndefined } from 'util';\nimport { EmailConfig } from '../mail/ch-mail-def';\nimport { SystemConst } from 'systemConst';\nimport { CHProduct, CHProductFeature, CHProductType } from '../comercio/ch-product';\nimport { CHDistributionChannel } from '../comercio/ch-distribution-channel';\nimport { ChMobileStatus, ChMobileConfig } from '../mobile/ch-mobile-conf';\nimport { ChEncoder } from './ch-encoder';\nimport { ChNewFolderWindowComponent } from '../cloud/ch-new-folder-window/ch-new-folder-window.component';\nimport { ChPageRef } from '../design/ch-page-ref';\nimport { ChChatGPTEnvironment } from '../chatGPT/ChChatGPTEnvironment';\nimport { Router, UrlSegment, UrlTree } from '@angular/router';\n\nimport * as lsCache from \"lscache\"\nimport { GoogleClientData } from '../login/ch-google-client-data';\nimport { timeout } from 'rxjs/operators';\n\n\n/**\n * Enumeración con tipos de campo para ser validados\n */\nexport enum FieldType { email, phone };\n\n@Injectable()\nexport class ChGlobalsService implements ChilSystemExternal {\n\n /*\n private static showImagesFunction = (image: HTMLImageElement) => {\n console.log(' - IMAGE ZOOM');\n console.log(image);\n ChImageZoomDialogComponent.show(image, 'Texto de prueba image zoom', null, null);\n }\n */\n\n private static singleton: ChGlobalsService = null;\n\n public static getInstance(): ChGlobalsService {\n return ChGlobalsService.singleton;\n }\n\n constructor(private toastr: ToastrService ,\n private translate: TranslateService,\n private cookie: CookieService,\n private api: ChApiService,\n private database: ChDataManagerService,\n private modalservice: BsModalService,\n private chilsystem: ChilSystemGlobalService,\n private router: Router) {\n ChGlobalsService.singleton = this;\n // Servicio de zoom de imágenes\n this.chilsystem.setExternalService( this as ChilSystemExternal);\n }\n\n // ***************************************************************************************\n //\n // Utilidades diversas\n //\n // ***************************************************************************************\n //\n public isURL(str: string) : boolean {\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\n return !!pattern.test(str);\n }\n\n public toColor(num: number) : string {\n num >>>= 0;\n var b = num & 0xFF,\n g = (num & 0xFF00) >>> 8,\n r = (num & 0xFF0000) >>> 16,\n a = ( (num & 0xFF000000) >>> 24 ) / 255 ;\n //return \"rgba(\" + [r, g, b, a].join(\",\") + \")\";\n return \"rgb(\" + [r, g, b].join(\",\") + \")\";\n }\n\n public getMonthName(index: number, longName: boolean) : string {\n\n const longNames = [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\",\n \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"];\n const shorthNames = [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\",\n \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"\n ];\n if (index<0 || index > 11) {\n return \"ERROR (0-11)\";\n } else {\n if (longName) {\n return longNames[index];\n } else {\n return shorthNames[index];\n }\n }\n }\n\n public deepClone(origin: object): object {\n try {\n return JSON.parse(JSON.stringify(origin));\n } catch (e) {\n console.log(\"Parse error \" + e);\n return {};\n }\n }\n\n /**\n * ASCII to Unicode (decode Base64 to original data)\n * @param {string} b64\n * @return {string}\n */\n public atou ( b64: string) : string {\n return ChEncoder.atou(b64);\n }\n /**\n * Unicode to ASCII (encode data to Base64)\n * @param {string} data\n * @return {string}\n */\n public utoa(data: string) : string {\n return ChEncoder.utoa(data);\n }\n\n\n public async getDataFromClipBoard(event: ClipboardEvent): Promise | null {\n const isIEorEdge = /msie\\s|trident\\/|edge\\//i.test(window.navigator.userAgent);\n const isChrome = /Chrome/.test(navigator.userAgent);\n const isFirefox = /Mozilla/.test(navigator.userAgent) && /Firefox/.test(navigator.userAgent);\n /*\n console.log(navigator.userAgent)\n console.log(\"E∂ge : \" +isIEorEdge)\n console.log(\"Chrome : \" +isChrome)\n console.log(\"Firefox : \" +isFirefox)\n */\n if (!isNullOrUndefined(event) && isIEorEdge) {\n console.log('Read clipboard from Unknown/Edge')\n event.preventDefault();\n event.stopPropagation();\n const data = event.clipboardData || window['clipboardData'];\n const clipboardData = data.getData('text');\n return clipboardData.toString()\n } else if (!isNullOrUndefined(event) && isChrome) {\n console.log('Read clipboard from Chrome y others')\n event.preventDefault();\n event.stopPropagation();\n return navigator.clipboard.readText();\n //return (event.originalEvent || event).clipboardData.getData('text/plain');\n } else if (isFirefox) {\n console.log('Read clipboard from Firefox')\n if (isNullOrUndefined(event)) {\n if (navigator.clipboard != undefined) {\n console.log(navigator.clipboard )\n event.preventDefault();\n event.stopPropagation();\n return navigator.clipboard.readText();\n }\n } else {\n /*\n const data = event['data'] || event['originalEvent'].clipboardData\n console.log(data)\n if (isNullOrUndefined(data) || isNullOrUndefined(data.getData('text/html')) ) {\n return null;\n } else {\n event.preventDefault();\n event.stopPropagation();\n return data.getData('text/html');\n }*/\n\n // Lo mejor es dejar que el navegador haga el trabajo\n return null;\n }\n } else {\n console.log('Read clipboard from others')\n event.preventDefault();\n event.stopPropagation();\n\n if (!isNullOrUndefined(event['originalEvent'])) {\n const originalEvent = event['originalEvent'] as ClipboardEvent;\n const htmlData = originalEvent.clipboardData.getData('text/html');\n if (!isNullOrUndefined(htmlData) && htmlData != '') {\n return htmlData;\n }\n const strData = originalEvent.clipboardData.getData('text/plain');\n if (!isNullOrUndefined(strData) && strData != '') {\n return strData;\n }\n }\n return navigator.clipboard.readText();\n }\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELATIVAS AL INTERFAZ ChilSystemExternal\n //\n // ***************************************************************************************\n //\n public zoomImage(image: Blob, label: string, callback?: () => void) {\n ChImageZoomDialogComponent.show(this.modalservice, image, label);\n }\n\n // ***************************************************************************************\n //\n // Carga y gestion de servicios genéricos HTTP\n //\n // ***************************************************************************************\n //\n\n public checkUrl(urlStr: string) : boolean {\n var url : URL;\n //console.log(urlStr);\n try {\n url = new URL(urlStr);\n } catch ( error) {\n //console.log(error);\n return false;\n }\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n }\n\n public loadHTMLFile(urlReq: string): Promise {\n return new Promise((resolve, reject) => {\n this.api.loadStringFile(urlReq).then(\n value => {\n const parser = new DOMParser();\n var doc = parser.parseFromString(value, 'text/html');\n //console.log(doc);\n resolve(doc);\n },\n reaason => {\n reject(reaason);\n }\n )\n });\n }\n\n public loadYouTubeVideoInfo(youtubeId: string): Promise {\n return new Promise((resolve, reject) => {\n this.api.loadYouTubeVideoInfo(youtubeId).then(\n value => {\n try {\n let result = JSON.parse(value)\n let result2 = result['items'][0]['snippet']\n resolve(result2);\n } catch (exception) {\n reject(exception);\n }\n\n },\n reason => {\n reject(reason);\n }\n )\n });\n }\n\n public loadBinaryFile(urlReq: string): Observable {\n return this.api.loadBinaryFile(urlReq);\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LOS MENSAJES EN PANTALLA (TOASTR) Y\n // LAS VENTANAS MODALES\n //\n // ***************************************************************************************\n //\n //\n\n /**\n * Corrige una referencia de imagen de chil para devolver una direccion url/http válida\n * @param pictureURL CHIL url de la imagen\n * @param width Ancho de la imagen deseada (o vacio si no)\n * @param height Alto de la imagen deseada (o vacio si no)\n */\n correctImageURL(pictureURL: string | null | undefined, width?: number, height?: number): string {\n\n const base_imageUrl = SystemConst.base_imageUrl;\n const imgURL = base_imageUrl + '/v2/media/';\n const defaultURL = base_imageUrl + '/images/';\n const facebookURL = 'https://graph.facebook.com/'; // {0}/picture?width={1}&height={2}&type=normal\";\n /*\n var imgURLBAsic = base_imageUrl;\n var userDefaultPicMale = base_imageUrl + '/images/male.jpg?w=226&h=226&mode=crop&anchor=topcenter&scale=both';\n var userDefaultPicFemale = base_imageUrl + '/images/female.jpg?w=226&h=226&mode=crop&anchor=topcenter&scale=both';\n */\n\n if (isNullOrUndefined(pictureURL) || pictureURL == '') {\n return '';\n }\n\n\n let entire_picture_url = '';\n let endUrl: String;\n if (width != null && height != null) {\n endUrl = '.jpg?w=' + String(width) + '&h=' + String(height) + '&mode=crop&scale=both';\n } else {\n endUrl = '.jpg';\n }\n const arrUrl = pictureURL.split('://');\n const media = base_imageUrl + '/';\n const facebookTemp = '/picture?width=226&height=226&type=normal';\n\n switch (arrUrl[0]) {\n case 'default':\n entire_picture_url = defaultURL + arrUrl[1] + endUrl;\n break;\n case 'avatar':\n entire_picture_url = imgURL + arrUrl[1] + endUrl;\n break;\n case 'header':\n entire_picture_url = imgURL + arrUrl[1] + endUrl;\n break;\n case 'media':\n entire_picture_url = media + arrUrl[1] + endUrl;\n break;\n case 'facebook':\n entire_picture_url = facebookURL + arrUrl[1] + facebookTemp;\n break;\n case 'http':\n case 'https':\n if (pictureURL.startsWith(base_imageUrl) && width != null && height != null ) {\n entire_picture_url = pictureURL + '?w=' + String(width) + '&h=' + String(height) + '&mode=crop&scale=both';\n } else {\n entire_picture_url = pictureURL;\n }\n break;\n default:\n entire_picture_url = pictureURL;\n break;\n }\n return entire_picture_url;\n }\n\n /**\n * Es obligatorio llamar a esta función para inicializar el servicio de\n * Toastr asociada a una ventana.\n * En teoría debe ser llamado solo una vez por el componente de mayor nivel dentro de la ventana\n * @param vcr ViewContainerRef obtenido en la ventana\n */\n initToasts(vcr: ViewContainerRef) {\n // this.toastr.setRootViewContainerRef(vcr);\n this.toastr.overlayContainer = new ToastContainerDirective(vcr.element);\n }\n\n /**\n * Muestra la Toastr de un mensaje, de diferentes grados de importancia.\n *\n * NOTE: Los mensajes se traducen automaticamente SIEMPRE. Es necesario disponer\n * de las traducciones en los ficheros i18 correspondientes.\n *\n * @param type Tipo de mensaje de tipo MessageType: error,warning,success\n * @param header Cabecera del mensaje\n * @param message Texto del mensaje\n * @param time Tiempo en que el mensaje se va a mostrar antes de desaparecer\n */\n showMessage(type: MessageType, header: string, message: string, time?: number, noTranslate?: boolean) {\n // console.log('SHOW! ' + header);\n const h = noTranslate === undefined || noTranslate === false ? this.translate.instant(header) : header;\n const m = noTranslate === undefined || noTranslate === false ? this.translate.instant(message) : message;\n switch ( type ) {\n case MessageType.error:\n this.toastr.error(m, h,\n {timeOut: time ? time : 4000, tapToDismiss: false});\n break;\n case MessageType.warning:\n this.toastr.warning(m, h,\n {timeOut: time ? time : 3000, tapToDismiss: false});\n break;\n case MessageType.success:\n this.toastr.success(m, h,\n {timeOut: time ? time : 1000, tapToDismiss: false});\n break;\n }\n }\n\n showMessageWithParams(type: MessageType, header: string, message: string,\n params: Array, time?: number, noTranslate?: boolean) {\n // console.log('SHOW! ' + header);\n const h = noTranslate === undefined || noTranslate === false ? this.translate.instant(header) : header;\n var m = noTranslate === undefined || noTranslate === false ? this.translate.instant(message) : message;\n\n for (let i = 0; i < params.length; i++) {\n const token = '%' + String(i+1);\n m = m.replace(token, params[i])\n }\n\n switch ( type ) {\n case MessageType.error:\n this.toastr.error(m, h,\n {timeOut: time ? time : 4000, tapToDismiss: false});\n break;\n case MessageType.warning:\n this.toastr.warning(m, h,\n {timeOut: time ? time : 3000, tapToDismiss: false});\n break;\n case MessageType.success:\n this.toastr.success(m, h,\n {timeOut: time ? time : 1000, tapToDismiss: false});\n break;\n }\n}\n /**\n * La ventana que indica que se está ejecutando algo\n */\n // tslint:disable-next-line:member-ordering\n private runningToast: ActiveToast = null;\n /**\n * A veces esnecesario apagar la ventana nada mas formada\n */\n // tslint:disable-next-line:member-ordering\n private hideRunningToastInmediatly = false;\n /**\n * Muestra la ventana que indica que se esta ejecutando algo\n * @param message mensaje de la ventana de ejecutar\n */\n async showRunningWindow(message: string, noTranslate?: boolean) {\n this.hideRunningToastInmediatly = false;\n\n const m = noTranslate === undefined || noTranslate === false ? this.translate.instant(message) : message;\n\n if (this.runningToast !== null) {\n this.runningToast.message = m;\n } else {\n const t = await this.toastr.info(m, '', {timeOut: 100000});\n\n if (this.hideRunningToastInmediatly) {\n this.toastr.remove(t.toastId);\n this.runningToast = null;\n this.hideRunningToastInmediatly = false;\n } else {\n this.runningToast = t;\n }\n\n }\n }\n\n /**\n * Muestra la ventana que indica que se esta ejecutando algo\n * @param message mensaje de la ventana de ejecutar\n */\n async showRunningWindowWithParams(message: string, params: Array, noTranslate?: boolean) {\n this.hideRunningToastInmediatly = false;\n var m = noTranslate === undefined || noTranslate === false ? this.translate.instant(message) : message;\n\n for (let i = 0; i < params.length; i++) {\n const token = '%' + String(i+1);\n m = m.replace(token, params[i])\n }\n\n if (this.runningToast !== null) {\n this.runningToast.message = m;\n } else {\n const t = await this.toastr.info(m, '', {timeOut: 100000});\n\n if (this.hideRunningToastInmediatly) {\n this.toastr.remove(t.toastId);\n this.runningToast = null;\n this.hideRunningToastInmediatly = false;\n } else {\n this.runningToast = t;\n }\n\n }\n }\n /**\n * Oculta la ventana que muestra que algo se ejecuta\n */\n hideRunningWindow() {\n if (this.runningToast != null) {\n this.toastr.remove(this.runningToast.toastId);\n this.runningToast = null;\n } else {\n this.hideRunningToastInmediatly = true;\n }\n }\n /**\n * Indica si está abierta (o abriendose) una ventana modal\n */\n private _isModalOpen = false;\n isModalOpen() { return this._isModalOpen; }\n /**\n * Abre una ventana modal para preguntar o lo que sea\n * @param template Template de la ventana modal incluyendo los botones y los eventos de accion\n * @param config Objeto que contiene el estado inicial\n */\n showModalWindow(content: string | TemplateRef | any, config?: ModalOptions): BsModalRef {\n this._isModalOpen = true;\n return this.modalservice.show(content, config);\n }\n /**\n * Cierra una ventana modal abierta\n * @param modalWindow Ventana modal abierta\n */\n hideModalWindow(modalWindow: BsModalRef) {\n modalWindow.hide();\n this._isModalOpen = false;\n }\n /**\n * Abre una ventana de diálogo para confirmar algo\n * @param title Título de la ventana\n * @param body Texto del cuerpo\n * @param confirm Función para ejecutar en caso de confirmación\n * @param decline Función para ejecutar en caso de cancelación\n * @param okText Texto del botoón de confirmar\n * @param cancelTxt Texto del botón de cancelar\n */\n showConfirmDialog(title1: string, title2: string, message: string, confirm?: Function,\n okTxt?: string, cancelTxt?: string) {\n ChSmallDialogComponent.show( this.modalservice,\n { initialState : {\n data : { title1: title1,\n title2: title2,\n message: message,\n okTxt: okTxt,\n cancelTxt: cancelTxt\n }\n },\n class: 'ch-modal',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n confirm);\n }\n\n\n showConfirmDialogPromise(title1: string, title2: string, message: string,\n okTxt?: string, cancelTxt?: string) : Promise {\n return new Promise( resolve => {\n ChSmallDialogComponent.showPromise( this.modalservice,\n { initialState : {\n data : { title1: title1,\n title2: title2,\n message: message,\n okTxt: okTxt,\n cancelTxt: cancelTxt\n }\n },\n class: 'ch-modal',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n resolve);\n });\n}\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LA CONFIGURACION Y LOS COOKIES\n //\n // ***************************************************************************************\n //\n //\n\n //\n // TODO: Hacer que el sistema de cookies dependa del nombre de grupo como domínio:\n // rica, aprogip, launio, etc. de foprma que los valores se guarden individualmente\n // para cada uno\n //\n\n /**\n * Guarda un elemento de configuración, normalmente en las cookies\n * @param tag Etiqueta de configuración\n * @param value Valor a guardar\n */\n configSaveItem(tag: string, value: string) {\n this.cookie.set(tag, value);\n }\n /**\n * devuelve un elemento de configuración, normalmente en las cookies\n * @param tag Etiqueta de configuración\n */\n configGetItem(tag: string): string {\n return this.cookie.get(tag);\n }\n /**\n * Indica si la etiqueta existe en lad configuración, normalmente\n * en las cookies\n * @param tag Etiqueta de configuración\n */\n configCheckItem(tag: string): boolean {\n return this.cookie.check(tag);\n }\n /**\n * Elimina una entrada de los registros de configuración\n * @param tag Etiqueta de configuración a ser elminada\n */\n configRemoveItem(tag: string) {\n this.cookie.delete(tag);\n }\n /**\n * Información del grupo\n */\n // tslint:disable-next-line:member-ordering\n private groupInfo: GroupInfo | null = null;\n // tslint:disable-next-line:member-ordering\n public static siasaUid = '6W2KZNJVLYK3';\n // tslint:disable-next-line:member-ordering\n public static siasa2019Uid = 'L3VZZND2LO5K';\n // tslint:disable-next-line:member-ordering\n public static siasa2020Uid = '6W2KZNFB3J74';\n // tslint:disable-next-line:member-ordering\n public static siasa2021Uid = 'ZMLRZNCD0NPO';\n // tslint:disable-next-line:member-ordering\n public static siasa2022Uid = 'N1XVZNARJ7X1';\n // tslint:disable-next-line:member-ordering\n public static infopacUid = '1YVNZNC6N89X';\n // tslint:disable-next-line:member-ordering\n public static agrovivaUid = 'YLO7ZNRRQXWL';\n\n /**\n * Fija el valor de la variable de información de grupo\n * @param groupInfo\n * Valor de la variable de información de grupo\n */\n setGroupInfo(groupInfo: GroupInfo | null) {\n this.groupInfo = groupInfo;\n }\n /**\n * Devuelve el valor de la variable de información de grupo\n */\n getGroupInfo(): GroupInfo | null {\n return this.groupInfo;\n }\n /**\n * devuelve la etiqueta de grupo tal y como aparece en la URL\n */\n getGrouplabel(): string | undefined {\n if ( isNullOrUndefined(this.groupInfo) ) {\n return undefined;\n } else {\n return this.groupInfo.identifier;\n }\n }\n /**\n * Actualiza el perfil de un grupo\n */\n updateGroupProfile(group: GroupInfo): Promise {\n const tempGroup : GroupInfo = this.deepClone(group) as GroupInfo;\n\n // Codificar el texto largo de la configuración\n if (tempGroup['info']) { tempGroup['info'] = this.utoa(tempGroup['info']); }\n tempGroup.uid = this.getGroupInfo().uid;\n\n // console.log(tempGroup)\n return this.api.updateGroupProfile(this.getAuthToken(), tempGroup).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n\n actorTypeIsGroup( actorType : string) : boolean {\n //console.log(actorType)\n return actorType == 'blog' || actorType == 'web_site' || actorType == 'group';\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LA INICIALIZACION Y EL LOGIN\n //\n // ***************************************************************************************\n //\n\n /**\n * Información de autorización y el usuario activo\n */\n // tslint:disable-next-line:member-ordering\n private authData: LoginResult = null;\n // tslint:disable-next-line:member-ordering\n private authToken = '';\n // tslint:disable-next-line:member-ordering\n private currentUser: ChActor | null = null;\n // tslint:disable-next-line:member-ordering\n private currentAdminProfile : GroupAdmin = null;\n // tslint:disable-next-line:member-ordering\n private hasManagerAuth = false;\n // tslint:disable-next-line:member-ordering\n private loginRedirect = '';\n /**\n * Guarda una direccion para redireccionar despues del login\n * @param redirect dirección a redireccionar despues del login\n */\n public setLoginRedirect(redirect: string) {\n this.loginRedirect = redirect\n }\n /**\n * deveulve el valor almacenado para redirigir, poniendo en blanco el registro\n * @returns el valor de la redirección\n */\n public getLoginRedirect() {\n const redirect = this.loginRedirect ;\n this.loginRedirect = '';\n return redirect;\n }\n/**\n * Redirije hacia una nueva URL, modificandola en funcion del usuario activo\n * @param newPath Nueva URL\n * @returns\n */\npublic redirectURL(newPath: string) {\n\n //console.log(\"ROUTE : \" + newPath);\n const urlTree : UrlTree = this.router.parseUrl(newPath);\n if (this.getCurrentUser() != null ) //&& this.chGlobal.currentUserIsManager())\n {\n if (urlTree.root.children.primary.segments[0].toString() == 'login') {\n urlTree.root.children.primary.segments[0].path = this.getGroupInfo().identifier;\n //console.log('Redirect to : ' + urlTree.toString())\n }\n } else {\n urlTree.root.children.primary.segments = [\n urlTree.root.children.primary.segments[0],\n new UrlSegment('login', {})\n ]\n //console.log('Redirect to : ' + urlTree.toString())\n this.setLoginRedirect(newPath);\n }\n this.router.navigateByUrl(urlTree);\n}\n\n /**\n * Devuelve el token de autorización.\n * Si el token que esta en meoria está vacio, primero intenta leerlo\n * de la configuración (cookie). Si existe, lo actualiza y si no, lo devuelve\n * en blanco\n */\n private getAuthToken(): string {\n if (this.authToken === '') {\n const savedToken = this.configGetItem('token');\n if (savedToken != null && savedToken !== '') {\n this.authToken = savedToken;\n return this.authToken;\n } else {\n return '';\n }\n } else {\n return this.authToken;\n }\n }\n /**\n * Verifica que el token de autorización existe y es válido\n */\n private checkAuthToken(): boolean {\n return (this.getAuthToken() !== '');\n }\n /**\n * Fija el token de autorización\n * @param token Nuevo token\n */\n private setAuth(loginData: LoginResult) {\n this.authData = loginData;\n this.authToken = loginData.access_token;\n this.configSaveItem('token', loginData.access_token);\n }\n /**\n * Resetea el token de autorización\n */\n resetAuth() {\n this.configRemoveItem('token');\n this.authData = null;\n this.currentUser = null;\n this.hasManagerAuth = false;\n this.authToken = '';\n this.currentAdminProfile = null;\n }\n /**\n * Devuelve el usuario activo\n */\n getCurrentUser(): ChActor | null {\n return this.currentUser;\n }\n /**\n * Devuelve el usuario activo\n */\n getCurrentAdminProfile(): GroupAdmin {\n return this.currentAdminProfile;\n }\n /**\n * Devuelve el usuario activo\n */\n setCurrentAdminProfile(value : GroupAdmin) {\n this.currentAdminProfile.adminWebPage = value.adminWebPage.slice();\n\n if ( isNullOrUndefined(this.currentAdminProfile) ) {\n this.currentAdminProfile.adminOptions = {};\n }\n if ( isNullOrUndefined(value.adminOptions['backAdminColor']) ) {\n this.currentAdminProfile.adminOptions['backAdminColor'] = 0xFFFFFF;\n } else {\n this.currentAdminProfile.adminOptions['backAdminColor'] = value.adminOptions['backAdminColor'];\n }\n\n this.updateGroupAdmin( this.currentAdminProfile );\n }\n\n /**\n * indica si es chilmanager\n */\n isChilManager(): boolean {\n return this.currentUser !== null && this.currentUser.identifier === 'chilmanager';\n }\n /**\n * Fija el usuario activo\n * @param actor Nuevo valor del actor\n */\n private setCurrentUser(actor: ChActor) {\n this.currentUser = actor;\n }\n /**\n * Indica si el usuario activo es manager\n * del grupo\n */\n currentUserIsManager(): boolean {\n return this.isChilManager() || this.hasManagerAuth;\n }\n /**\n * Indica si el usuario activo es manager de alguna de las zonas del grupo\n * del grupo\n */\n currentUserIsZoneManager(): boolean {\n for (let i = 0; i < this.getGroupZones().length; i++) {\n if (this.zoneIsManagedByCurrentUser(this.zones[i])) {\n return true;\n }\n }\n return false;\n}\n\nzoneIsManagedByCurrentUser( zone: ChZoneCompact) : boolean {\n if ( ChGlobalsService.getInstance().currentUserIsManager()) {\n return true;\n } else {\n return zone.permissions.includes(PermissionsType.admin)\n }\n}\n/**\n * Fija el valor del indicador de manager\n * @param isManager Indica si el usuario activo es manager del grupo\n */\n private setCurrentUserIsManager(isManager: boolean) {\n this.hasManagerAuth = isManager;\n }\n /**\n * Devuelve la información de un grupo a partir de su nombre\n * @param groupName Nombre del grupo: 'RICA','aprogip', etc\n */\n loadGroupInfo(groupName: string): Promise {\n return this.api.loadGroupInfo(groupName);\n }\n\n /**\n * Efectua los procedimientos de login en el sistema:\n *\n * 0. Resetear la información de usuario anterior\n * 1. Verificar usuario y password y pedir token de autorización\n * 2. Obtener los datos del usuario logeado\n * 3. Leer las autorizaciones del usuario en el sitio\n *\n * @param username Nombre de usuario\n * @param password Password de usuario\n */\n async login(username: string, password: string): Promise {\n //\n // 0. Reset\n this.resetAuth();\n //\n // 1. Validr usuario y obtener el token\n const loginData: LoginResult = await this.api.loginUser(username, password);\n if (loginData === null) {\n return Promise.resolve(OpResult.LOGIN_FAILS);\n }\n\n this.setAuth(loginData);\n\n return this.authLogin();\n }\n\n /**\n * Efectua los procedimientos de login en el sistema:\n *\n * 0. Resetear la información de usuario anterior\n * 1. Verificar usuario y password y pedir token de autorización\n * 2. Obtener los datos del usuario logeado\n * 3. Leer las autorizaciones del usuario en el sitio\n *\n * @param googleData Datos de usuario de Google\n */\n async googleLogin(googleData: GoogleClientData): Promise {\n //\n // 0. Reset\n this.resetAuth();\n //\n // 1. Validar usuario y obtener el token\n const loginData: LoginResult = await this.api.loginUserGoogle(googleData);\n if (loginData === null) {\n return Promise.resolve(OpResult.LOGIN_FAILS);\n }\n\n this.setAuth(loginData);\n\n return this.authLogin();\n }\n /**\n * Intentaa realizar un login automático a partir del\n * token almacenado en la configuración (normalmente en las cookies).\n * Si este no existe o algo sale mal, devuelve un mensaje de error.\n *\n * Pasos :\n *\n * 0. Comprobar que existe el token\n * 2. Obtener los datos del usuario\n * 3. Leer las autorizaciones del usuario en el sitio\n *\n * NOTE: Esta función tambien se llama desde login como segunda parte del proceso para evitar\n * duplicidades\n */\n async authLogin(): Promise {\n //\n // 0. Comprobar que existe el token\n\n if (!this.checkAuthToken()) {\n return Promise.resolve(OpResult.NO_AUTH_TOKEN);\n }\n //\n // 2. Leer los datos del usuario\n const userData: ChActor = await this.loadMe();\n if (userData == null) {\n return Promise.resolve(OpResult.USER_DATA_INVALID);\n }\n this.setCurrentUser(userData);\n\n //\n // 2.5 Si el grupo no esta definido, el mismo usuario es el grupo\n if (this.getGroupInfo() == null ) {\n\n const groupInfo = await this.loadGroupInfo(userData.identifier)\n if (groupInfo != null) {\n this.setGroupInfo(groupInfo)\n } else {\n return Promise.resolve(OpResult.USER_DATA_INVALID);\n }\n }\n\n // 3. Leer autorizaciones\n const temp = await this.getGroupCurrentUserAuth(this.getGroupInfo().uid);\n const authorizations: Array = ChGlobalsService.objToArray(temp);\n\n if (authorizations === null || !Array.isArray(authorizations)) {\n return Promise.resolve(OpResult.USER_DATA_INVALID);\n }\n const manageEntry = authorizations.find( x => { return x === 'manage'; } );\n this.setCurrentUserIsManager( manageEntry != null);\n // loadDataEnvironment()\n if (this.getAuthToken() === '') {\n return Promise.resolve(OpResult.NO_AUTH_TOKEN);\n }\n //\n // 4. Leer zonas\n return this.loadGroupZones(this.getGroupInfo().uid).then(\n (value) => {\n this.zones = value;\n //console.log(this.zones);\n return this.loadGroupCategories(this.getGroupInfo().uid);\n },\n (error) => {\n console.log('Load Zones');\n console.log(error);\n this.zones = [];\n return this.loadGroupCategories(this.getGroupInfo().uid);\n }\n ).then(\n (value) => {\n this.familiasCategorias = value;\n return this.loadDataEnvironment(this.getGroupInfo().uid, this.getAuthToken());\n },\n (error) => {\n console.log('Load Categorias');\n console.log(error);\n this.familiasCategorias = [];\n return this.loadDataEnvironment(this.getGroupInfo().uid, this.getAuthToken());\n }\n ).then(\n (value) => {\n return this.loadGroupAdmin(this.getGroupInfo().uid, this.getAuthToken());\n },\n (error) => {\n console.log('Load Data environment');\n console.log(error);\n return this.loadGroupAdmin(this.getGroupInfo().uid, this.getAuthToken());\n }\n ).then(\n (value) => {\n this.currentAdminProfile = value;\n return this.loadAppStartup();\n },\n (error) => {\n this.currentAdminProfile = null;\n console.log('Load Admin Profile');\n console.log(error);\n return this.loadAppStartup();\n }\n );\n }\n\n /**\n * Realiza el logout del usuario activo\n */\n logout() {\n this.resetAuth();\n this.resetDatabase();\n this.resetZones();\n this.resetCategories();\n this.api.logout();\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES COMPLEMENTARIAS DE LENGUAJE. AUNQUE SON REDUNDANTRS CON TranslateService\n //\n // ***************************************************************************************\n //\n\n private _lang = '';\n private _rtl = false;\n\n static rtlLangs = [\n 'ae',\t/* Avestan */\n 'ar', /* 'العربية', Arabic */\n 'arc', /* Aramaic */\n 'bcc', /* 'بلوچی مکرانی', Southern Balochi */\n 'bqi', /* 'بختياري', Bakthiari */\n 'ckb', /* 'Soranî / کوردی', Sorani */\n 'dv', /* Dhivehi */\n 'fa', /* 'فارسی', Persian */\n 'glk', /* 'گیلکی', Gilaki */\n 'he', /* 'עברית', Hebrew */\n 'ku', /* 'Kurdî / كوردی', Kurdish */\n 'mzn', /* 'مازِرونی', Mazanderani */\n 'nqo', /* N'Ko */\n 'pnb', /* 'پنجابی', Western Punjabi */\n 'prs', /* 'دری', Darī */\n 'ps', /* 'پښتو', Pashto, */\n 'sd', /* 'سنڌي', Sindhi */\n 'ug', /* 'Uyghurche / ئۇيغۇرچە', Uyghur */\n 'ur', /* 'اردو', Urdu */\n 'yi' /* 'ייִדיש', Yiddish */\n ];\n\n isRtlLang(lang: string) : boolean {\n return ChGlobalsService.rtlLangs.includes(lang);\n }\n\n rtlLang() : boolean {\n return this._rtl;\n }\n\n setLang(lang: string,save: boolean) {\n this.translate.setDefaultLang(lang);\n this.translate.use(lang);\n this._rtl = this.isRtlLang(lang);\n if (save) {\n this.configSaveItem('lang',lang);\n }\n lsCache.flush();\n }\n\n getLang() : string {\n return this.translate.getDefaultLang();\n }\n\n translateStr(message : string) : string {\n return this.translate.instant(message);\n }\n\n getTranslation(text: string): Promise {\n return this.api.getTranslation(text, this.translate.currentLang);\n }\n\n translateStrWithParams(message: string, params: Array) {\n var m = this.translate.instant(message);\n\n for (let i = 0; i < params.length; i++) {\n const token = '%' + String(i+1);\n m = m.replace(token, params[i])\n }\n return m;\n }\n\n initTranslation() {\n this.translate.addLangs(['es', 'ca', 'en', 'fr', 'fa', 'ru']);\n // this language will be used as a fallback when a translation isn't found in the current language\n //this.translate.setDefaultLang('fa');\n\n // the lang to use, if the lang isn't available, it will use the current loader to get them\n if (this.configCheckItem('lang')) {\n this.setLang(this.configGetItem('lang'), false)\n } else {\n this.setLang('en', false)\n }\n\n }\n\n getTableMessagesTranslated() : object {\n\n return {\n 'sProcessing': this.translateStr('Procesando...'),\n 'sLengthMenu': this.translateStr('Mostrar _MENU_ registros'),\n 'sZeroRecords': this.translateStr('No se encontraron resultados'),\n 'sEmptyTable': this.translateStr('Ningún dato disponible en esta tabla'),\n 'sInfo': this.translateStr('Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros'),\n 'sInfoEmpty': this.translateStr('Mostrando registros del 0 al 0 de un total de 0 registros'),\n 'sInfoFiltered': this.translateStr('(filtrado de un total de _MAX_ registros)'),\n 'sInfoPostFix': '',\n 'sSearch': this.translateStr('Buscar :'),\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': this.translateStr('Cargando...'),\n 'oPaginate': {\n 'sFirst': this.translateStr('Primero'),\n 'sLast': this.translateStr('Último'),\n 'sNext': this.translateStr('Siguiente'),\n 'sPrevious': this.translateStr('Anterior')\n },\n 'oAria': {\n 'sSortAscending': this.translateStr(': Activar para ordenar la columna de manera ascendente'),\n 'sSortDescending': this.translateStr(': Activar para ordenar la columna de manera descendente')\n },\n 'select': {\n 'rows': {\n '_': this.translateStr('%d filas seleccionadas'),\n '0': this.translateStr('Pulse sobre una fila para seleccionar'),\n '1': this.translateStr('Solo 1 fila selecionada')\n }\n }\n };\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON VALIDACION DE CIERTOS CAMPOS DE DATOS\n //\n // ***************************************************************************************\n //\n\n\n validateField(value: string, type: FieldType): boolean {\n switch (type) {\n case FieldType.email:\n const emailFilter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;\n return emailFilter.test(value);\n default:\n return false;\n }\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LA COMUNICACION CON EL API DE CHIL PARA\n // SOLICITAR Y ACTUALIZAR DATOS\n //\n // ***************************************************************************************\n //\n /**\n * Lee los datos del usuario activo\n */\n loadMe(): Promise {\n return new Promise( (resolve, reject) => {\n if (!this.checkAuthToken()) {\n reject('Blanck user');\n } else {\n this.api.loadActor(this.getAuthToken(), null)\n .then( (actor) => {\n // console.log(actor);\n resolve(actor);\n },\n err => {\n reject('Actor not loaded');\n });\n }\n });\n }\n\n /**\n * Lee los datos del actor por su nombre\n * @param name nombre del actor\n */\n loadActorByName(name: string): Promise {\n return new Promise( (resolve, reject) => {\n if (!this.checkAuthToken()) {\n reject('Blank user');\n } else {\n this.api.loadActor(this.getAuthToken(), name)\n .then( (actor) => {\n // console.log(actor);\n resolve(actor);\n },\n err => {\n reject('Actor not loaded');\n });\n }\n });\n }\n /**\n * Lee los datos de SEO de un grupo\n */\n loadGroupSEO(groupUid: string): Promise {\n return new Promise( (resolve, reject) => {\n if (!this.checkAuthToken()) {\n reject('Blanck user');\n } else {\n this.api.loadGroupSEO(this.getAuthToken(), groupUid)\n .then( (groupSEO) => {\n // console.log(actor);\n // Decodificar las cadenas\n groupSEO.robotTxt = isNullOrUndefined(groupSEO.robotTxt) || groupSEO.robotTxt.trim() === '' ? null : atob(groupSEO.robotTxt);\n groupSEO.sitemap = isNullOrUndefined(groupSEO.sitemap) || groupSEO.sitemap.trim() === ''? null : atob(groupSEO.sitemap);\n groupSEO.sitemapIndex = isNullOrUndefined(groupSEO.sitemapIndex) || groupSEO.sitemapIndex.trim() === ''? null : atob(groupSEO.sitemapIndex);\n resolve(groupSEO);\n },\n err => {\n reject('SEO not loaded');\n });\n }\n });\n }\n\n /**\n * Lee los datos de SEO de un grupo\n */\n loadGroupAdmin(groupUid: string, token: string): Promise {\n return new Promise( (resolve, reject) => {\n if (!this.checkAuthToken()) {\n reject('Blanck user');\n } else {\n this.api.loadGroupAdmin(token, groupUid)\n .then( (groupAdmin) => {\n if ( !isNullOrUndefined(groupAdmin.adminWebPage) && groupAdmin.adminWebPage != '') {\n groupAdmin.adminWebPage = this.atou(groupAdmin.adminWebPage);\n } else {\n groupAdmin.adminWebPage = '

Bienvenido al nuevo panel de control de Chil

Es un componente particularmente crítico en nuestra evolución y estamos poniendo todo nuestro esfuerzo en hacerlo perfecto
';\n }\n if ( isNullOrUndefined(groupAdmin.adminOptions)) {\n groupAdmin.adminOptions = {};\n }\n if ( isNullOrUndefined(groupAdmin.adminOptions['backAdminColor'])) {\n groupAdmin.adminOptions['backAdminColor'] = 0xFFFFFF;\n }\n resolve(groupAdmin);\n },\n err => {\n reject('Admin not loaded');\n });\n }\n });\n }\n\n\n updateGroupSEO(groupSEO: object): Promise {\n const codSEO = JSON.parse(JSON.stringify(groupSEO));\n codSEO.robotTxt = isNullOrUndefined(codSEO.robotTxt) ? null : btoa(codSEO.robotTxt);\n codSEO.sitemap = isNullOrUndefined(codSEO.sitemap) ? null : btoa(codSEO.sitemap);\n codSEO.sitemapIndex = isNullOrUndefined(codSEO.sitemapIndex) ? null : btoa(codSEO.sitemapIndex);\n\n return this.api.updateGroupSEO(this.getAuthToken(), codSEO);\n }\n\n updateGroupAdmin(groupAdmin: GroupAdmin): Promise {\n const codAdmin: GroupAdmin = JSON.parse(JSON.stringify(groupAdmin));\n if (codAdmin.adminWebPage != '') {\n codAdmin.adminWebPage = this.utoa(groupAdmin.adminWebPage);\n }\n if ( isNullOrUndefined(codAdmin.adminOptions['backAdminColor'])) {\n codAdmin.adminOptions['backAdminColor'] = 0xFFFFFF;\n }\n return this.api.updateGroupAdmin(this.getAuthToken(), codAdmin);\n }\n /**\n * Lee las autorizaciones del usuario activo en un grupo dado\n * @param groupUid uid del grupo de la atorizaciones\n */\n getGroupCurrentUserAuth(groupUid: string): Promise {\n if (!this.checkAuthToken()) {\n return new Promise( (resolve, reject) => { reject('Usuario no iniciado!!'); } );\n };\n return this.api.getGroupCurrentUserAuth(this.getAuthToken(), groupUid);\n }\n /**\n * Lee las listas a las que pertenece el usuario en un grupo dado\n * @param groupUid uid del grupo al que pertenecen las listas\n */\n getGroupCurrentUserLists(groupUid: string): Promise {\n if (!this.checkAuthToken()) {\n return new Promise( (resolve, reject) => { reject('Usuario no iniciado!!'); });\n }\n return this.api.getGroupCurrentUserLists(this.getAuthToken(), groupUid);\n }\n /**\n * Lee los grupos administrados por un usuario dado\n * @param groupUid uid del grupo al que pertenecen las listas\n */\n getActorManagedSites(groupUid: string): Promise>{\n if (!this.checkAuthToken()) {\n return new Promise( (resolve, reject) => { reject('Usuario no iniciado!!'); });\n }\n return this.api.getActorManagedSites(this.getAuthToken(), groupUid);\n }\n\n /**\n * Lee los grupos administrados por un usuario dado\n * @param groupUid uid del grupo al que pertenecen las listas\n */\n getActorZoneManagedSites(groupUid: string): Promise>{\n if (!this.checkAuthToken()) {\n return new Promise( (resolve, reject) => { reject('Usuario no iniciado!!'); });\n }\n return this.api.getActorZoneManagedSites(this.getAuthToken(), groupUid);\n }\n /**\n * Encapsula un id en un UUid\n * @param id id a encapsular\n * @param tipo Tipo de objeto\n */\n getUID(id: number, tipo: string): Promise {\n return this.api.getUID(id, tipo);\n }\n /**\n * Encapsula un id en un UUid\n * @param id id a encapsular\n * @param tipo Tipo de objeto\n */\n getID(uid: string, tipo: string): Promise {\n return this.api.getID(uid, tipo);\n }\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON EL ENTORNO DE DATOS\n //\n // ***************************************************************************************\n //\n /**\n * Variable que indica si la base de datos ha sido leida\n */\n // tslint:disable-next-line:member-ordering\n private databaseLoaded = false;\n /**\n * Indica si la base de datos ha sido leida o no\n */\n isDatabaseLoaded(): boolean {\n return this.databaseLoaded;\n }\n /**\n * Resetea la base de datos\n */\n resetDatabase() {\n this.databaseLoaded = false;\n this.database.resetDatabaseInfo();\n }\n /**\n * Inicializa la estructura de la base de datos, cargando remotamente\n * sus componentes\n */\n loadDataEnvironment(groupId: string, token: string ): Promise {\n this.databaseLoaded = true;\n return this.database.loadDatabaseInfo(groupId, token) as Promise;\n }\n /**\n * Devuelve las tablas de la base de datos\n */\n getDatabaseTables(): ChDataTable[] {\n return this.database.getDatabaseTables();\n }\n /**\n * Devuelve la tabla cuyo nombre es el indicado\n * @param tableName Nombre de la tabla\n */\n getTable(tableName: string): ChDataTable {\n return this.database.getDatabaseTables().find( table => table.name === tableName);\n }\n /**\n * Devuelve la tabla cuyo id es el indicado\n * @param tableId Id de la tabla\n */\n getTableFromId(tableId: string): ChDataTable {\n return this.database.getDatabaseTables().find( table => table.tableId === tableId);\n }\n /**\n * Borra una serie de registros de una tabla de datos\n * @param tableName Nombre de la tabla en la base de datos\n * @param rowuid Uid de la fila\n */\n deleteTableRow(tableUid: string, rowuid: string): Promise {\n return this.database.deleteTableRow(this.getGroupInfo\n ().uid, tableUid, rowuid , this.getAuthToken()) as Promise;\n }\n /**\n * Borra los registros de una tabla.\n * Si la tabla tiene datos dependientes del usuario y este no es un administrador, borra\n * solo los datos del usuario\n * @param tableName Nombre de la tabla en la base de datos\n */\n deleteTableAll(tableUid: string): Promise {\n return this.database.deleteTableAll(this.getGroupInfo\n ().uid, tableUid, this.getAuthToken()) as Promise;\n }\n /**\n * Devuelve las filas de una tabla en forma de observable\n * @param tableUid Uid de la tabla\n * @param whereCondition Condición de filtrado\n */\n getTableRows(tableUid: string, whereCondition: any): Observable> {\n return this.database.loadTableData(this.getGroupInfo().uid, tableUid, this.getAuthToken(),\n whereCondition, this.getCurrentUser().uid, this.currentUserIsManager());\n }\n /**\n * Salva la definición de una tabla en la base de datos\n * @param tableUid Uid de la tabla a salvar\n */\n saveTableConfig(tableUid: string, data: any): Promise {\n if (!this.checkAuthToken()) {\n throw new Error('Usuario no iniciado!!');\n }\n return this.database.saveTableConfig(this.getGroupInfo().uid, tableUid, data, this.getAuthToken()) as Promise;\n }\n\n createTableConfig(data: any): Promise {\n if (!this.checkAuthToken()) {\n throw new Error('Usuario no iniciado!!');\n }\n\n const promise = new Promise((resolve, reject) => {\n this.database.insertTableConfig(this.getGroupInfo().uid, data, this.getAuthToken())\n .then ((value) => {\n // console.log(value);\n return resolve(OpResult.OK);\n },\n (rejected) => {\n console.log(rejected);\n return resolve(OpResult.NET_ERROR);\n }\n );\n });\n return promise;\n }\n\n saveTableRow(tableUid: string, data: any, rowuid?: string) {\n // console.log(\"GUARDAR :\"+rowuid)\n if (rowuid !== null && rowuid !== undefined) {\n // console.log('Actualizar '+tableUid+' : '+rowuid);\n return this.database.updateTableRow(this.getGroupInfo\n ().uid, tableUid, rowuid, this.getAuthToken(), data);\n } else {\n // console.log('Insertar '+tableUid)\n return this.database.insertTableRow(this.getGroupInfo\n ().uid, tableUid, this.getAuthToken(), data);\n }\n }\n\n /**\n * Obtiene los campos calculados a partir los scripts de cada uno de ellos\n * usando data como origen\n * @param tableUid uid de la tabla\n * @param data juego de datos inicial: CUIDADO!! Si es un juego incompleto los campos no se calcularán bien\n * @param rowuid uid de la fila (no es necesaria realmente)\n */\n calculateFields(tableUid: string, data: any, rowuid?: string) {\n this.database.calculateFields(tableUid, data, rowuid);\n }\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LAS ZONAS\n //\n // ***************************************************************************************\n //\n /**\n * Variable que indica si la base de datos ha sido leida\n */\n // tslint:disable-next-line:member-ordering\n private zonesLoaded = false;\n private globalSelectedZoneUid = '';\n // tslint:disable-next-line:member-ordering\n private zones: ChZoneCompact[] = [];\n /**\n * Elimina las zonas del grupo (asociado al logout)\n */\n resetZones() {\n this.zones = [];\n this.globalSelectedZoneUid = '';\n }\n /**\n * Carga las zonas del grupo, incluyendo las estadísticas del mismo\n * @param groupUid Grupo para el que se solicitan las listas\n */\n loadGroupZones(groupUid: string): Promise {\n if ( !this.checkAuthToken()) {\n throw( new Error('Usuario no iniciado!!'));\n }\n return this.api.getGroupZones(this.getAuthToken(), groupUid)\n .then (values => {\n const temp =\n new Promise( (resolve, reject) => {\n resolve(values.map(v => { return new ChZoneCompact().cast(v); })); });\n return temp;\n });\n }\n /**\n * Devuelve las zonas del grupo\n */\n getGroupZones(): ChZoneCompact[] {\n return this.zones;\n }\n /**\n * Selecciona globalmente una zona a traves de su UID\n * @param zoneUid UID de la zona a seleccionar, que debe estar entre las cargadas. NO SE VERIFICA\n */\n setGlobalZoneSelectUid(zoneUid: string) {\n this.globalSelectedZoneUid = zoneUid;\n }\n\n getGlobalZoneSelectUid() : string {\n return this.globalSelectedZoneUid;\n }\n /**\n * Carga las configuración completa de una zona, incluyendo las autorizaciones\n * @param groupUid Grupo para el que se solicitan las listas\n */\n getZone(groupUid: string, zoneUid: string): Promise {\n if ( !this.checkAuthToken()) {\n throw( new Error('Usuario no iniciado!!'));\n }\n try {\n return this.api.getZoneConfig(this.getAuthToken(), groupUid, zoneUid)\n .then( value => {\n const temp =\n new Promise( (resolve, reject) => {\n const newZone = new ChZoneCompact().cast(value);\n if (newZone.metadata && newZone.metadata['webPage']) { newZone.metadata['webPage'] = this.database.atou(newZone.metadata['webPage']); }\n if (newZone.metadata && newZone.metadata['underheader']) { newZone.metadata['underheader'] = this.database.atou(newZone.metadata['underheader']); }\n resolve( newZone );\n });\n return temp;\n });\n } catch (e) {\n return new Promise( (resolve, reject) => { reject( e.toString()); });\n }\n }\n\n getLoadedZone(zoneUid: string): ChZoneCompact | undefined {\n return this.zones.find( zone => zone.hostUid == this.getGroupInfo().uid && zone.zoneUid == zoneUid );\n }\n\n\n deleteZone(groupUid: string, zoneUid: string): Promise {\n return this.api.deleteZone(this.getAuthToken(), groupUid, zoneUid).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n console.log(error);\n return false;\n }\n );\n }\n\n createZone(groupUid: string, zone: ChZoneCompact): Promise {\n const tempZone= new ChZoneCompact().cast(this.deepClone(zone));\n // Codificar el texto largo de la configuración\n if (tempZone.metadata && tempZone.metadata['webPage']) { tempZone.metadata['webPage'] = this.database.utoa(tempZone.metadata['webPage']); }\n if (tempZone.metadata && tempZone.metadata['underheader']) { tempZone.metadata['underheader'] = this.database.utoa(tempZone.metadata['underheader']); }\n\n return this.api.addZone(this.getAuthToken(), groupUid, tempZone).then(\n (result: String) => {\n return result;\n },\n error => {\n console.log(error);\n return '';\n }\n );\n }\n\n updateZone(zone: ChZoneCompact): Promise {\n\n const tempZone= new ChZoneCompact().cast(this.deepClone(zone));\n\n // Codificar el texto largo de la configuración\n if (tempZone.metadata && tempZone.metadata['webPage']) { tempZone.metadata['webPage'] = this.database.utoa(tempZone.metadata['webPage']); }\n if (tempZone.metadata && tempZone.metadata['underheader']) { tempZone.metadata['underheader'] = this.database.utoa(tempZone.metadata['underheader']); }\n\n return this.api.updateZone(this.getAuthToken(), tempZone).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n console.log(error);\n return false;\n }\n );\n }\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LAS CATEGORIAS\n //\n // ***************************************************************************************\n //\n // tslint:disable-next-line:member-ordering\n private categoriesLoaded = false;\n // tslint:disable-next-line:member-ordering\n private familiasCategorias: ChFamiliaCategoria[] = [];\n /**\n * Elimina las zonas del grupo (asociado al logout)\n */\n resetCategories() {\n this.familiasCategorias = [];\n }\n /**\n * Carga las categorias del grupo ordenadas en familias.\n * @param groupUid UID del grupo\n */\n loadGroupCategories(groupUid: string): Promise {\n return this.api.getGroupCategories(this.getAuthToken(), groupUid) as Promise;\n }\n /**\n * Devuelve las zonas del grupo\n */\n getGroupCategories(): ChFamiliaCategoria[] {\n return this.familiasCategorias;\n }\n\n getCategory(uid: string): ChCategoria | null {\n for (let i = 0; i < this.familiasCategorias.length; i++) {\n const familia = this.familiasCategorias[i];\n for (let j = 0; j < familia.categories.length; j++) {\n const cat = familia.categories[j];\n // console.log( cat.uid + ' : ' + cat.name);\n if (cat.uid === uid) {\n // console.log( 'Bien!!');\n return cat;\n }\n }\n }\n return null;\n }\n\n getCategoryByName(name: string): ChCategoria | null {\n const nameLow = name.toLowerCase()\n for (let i = 0; i < this.familiasCategorias.length; i++) {\n const familia = this.familiasCategorias[i];\n for (let j = 0; j < familia.categories.length; j++) {\n const cat = familia.categories[j];\n // console.log( cat.uid + ' : ' + cat.name);\n if (cat.name.toLowerCase() === nameLow) {\n // console.log( 'Bien!!');\n return cat;\n }\n }\n }\n return null;\n }\n\n getCategoryFamily(uid: string): ChFamiliaCategoria {\n if (uid === undefined || uid === null) {\n return this.familiasCategorias.find((cat) => { return cat.uid === ''; });\n } else {\n return this.familiasCategorias.find((cat) => { return cat.uid === uid; });\n }\n }\n\n updateCategoryFamily(familia: ChFamiliaCategoria): Promise {\n return this.api.updateCategoryFamily(this.getAuthToken(), familia);\n }\n\n addCategoryFamily(groupUid: string, familia: ChFamiliaCategoria): Promise {\n return this.api.addCategoryFamily(this.getAuthToken(), groupUid, familia)\n .then(\n (nuevoUid: string) => {\n if (nuevoUid !== '') {\n // console.log(' NUEVO UID ' + nuevoUid);\n familia.uid = nuevoUid;\n this.familiasCategorias.push(familia);\n return true;\n } else {\n console.log(' ERROR UID VACIO');\n return false;\n }\n\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return false;\n }\n );\n }\n\n deleteCategoryFamily(familia: ChFamiliaCategoria): Promise {\n return this.api.deleteCategoryFamily(this.getAuthToken(), familia)\n .then(\n (result: Boolean) => {\n if (result) {\n const index = this.familiasCategorias.indexOf(familia);\n if (index > -1) {\n this.familiasCategorias.splice(index, 1);\n }\n }\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n addCategory(groupUid: string, category: ChCategoria): Promise {\n console.log(category)\n return this.api.addCategory(this.getAuthToken(), groupUid, category)\n .then(\n (nuevoUid: string) => {\n if (nuevoUid !== '') {\n // console.log(' NUEVO UID ' + nuevoUid);\n category.uid = nuevoUid;\n const familia = this.getCategoryFamily( category.group !== undefined ? category.group.uid : '');\n ChFamiliaCategoria.addCategory(familia, category);\n // console.log(familia);\n return true;\n } else {\n console.log(' ERROR UID VACIO');\n return false;\n }\n\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return false;\n }\n );\n }\n\n deleteCategory(categoria: ChCategoria): Promise {\n return this.api.deleteCategory(this.getAuthToken(), categoria)\n .then(\n (result: Boolean) => {\n if (result) {\n if (categoria.group !== undefined) {\n const familia = this.getCategoryFamily(categoria.group.uid);\n ChFamiliaCategoria.removeCategory(familia, categoria);\n }\n }\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n updateCategory(category: ChCategoria, oldFamilyUid: string): Promise {\n return this.api.updateCategory(this.getAuthToken(), category).then(\n (result: Boolean) => {\n if (result && oldFamilyUid !== category.group.uid) {\n const familiaOld = this.getCategoryFamily(oldFamilyUid);\n const familiaNew = this.getCategoryFamily( category.group !== undefined ? category.group.uid : '');\n ChFamiliaCategoria.removeCategory(familiaOld, category);\n ChFamiliaCategoria.addCategory(familiaNew, category);\n }\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n loadContentsOfCategory(category: ChCategoria): Promise {\n return this.api.getContenstOfCategory(this.getAuthToken(), category.uid) as Promise;\n }\n\n addObjectToCategory(catUid: string, objectUid: string): Promise {\n return this.api.addObjectToCategory(this.getAuthToken(), catUid, objectUid);\n }\n\n removeObjectToCategory(catUid: string, objectUid: string): Promise {\n return this.api.removeObjectToCategory(this.getAuthToken(), catUid, objectUid);\n }\n\n // ***************************************************************************************\n //\n // ANALITICAS\n //\n // ***************************************************************************************\n //\n\n getPostAnalytics(hostUid: string, zoneUid?: string, from?: string, to?: string,\n categories?: Array, types?: Array, includeZones?: Boolean, includeNotPublished?: Boolean): Observable> {\n let pageIndex = 0;\n const pageLenght = 1000;\n\n const iteration = (observer: Subscriber, value: object[]) => {\n // console.log(value)\n observer.next( value.map( v => { return new ChPostReference(v); }));\n if (value.length < pageLenght) {\n observer.complete();\n } else {\n pageIndex++;\n console.log('ITERACION : ' + pageIndex.toString());\n this.api.getPostAnalytics(this.getAuthToken(), hostUid,\n pageIndex, pageLenght,\n zoneUid, from, to, categories, types, includeZones)\n .then (\n (newValue: object[]) => { iteration(observer, newValue); },\n (reason: any) => { observer.error(reason); }\n );\n }\n };\n\n const newObservable = new Observable>( observer => {\n console.log('ITERACION : ' + pageIndex.toString());\n this.api.getPostAnalytics(this.getAuthToken(), hostUid,\n pageIndex, pageLenght,\n zoneUid, from, to, categories, types, includeZones, includeNotPublished).then (\n (value: object[]) => { iteration(observer, value); },\n (reason: any) => {\n observer.error(reason);\n }\n );\n }\n );\n\n if ( !this.checkAuthToken()) {\n throw( new Error('Usuario no iniciado!!'));\n } else {\n return newObservable;\n }\n }\n\n getListAnalytics(): Promise> {\n if ( !this.checkAuthToken()) {\n throw( new Error('Usuario no iniciado!!'));\n }\n return this.api.getListAnalytics(this.getAuthToken(), this.getGroupInfo().uid) as Promise;\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES DE UTILIDAD\n //\n // ***************************************************************************************\n //\n /**\n * Devuelve un array con los valores que hay dentro del objeto\n * @param target objeto compuesto o en forma de claves [key, value]\n */\n // tslint:disable-next-line:member-ordering\n static objToArray(target: any, columnNames?: string[]): Array {\n if (target === null || target === undefined || Array.isArray(target) || (typeof target !== 'object')) {\n return target;\n } else if (columnNames !== null && columnNames !== undefined) {\n const result = columnNames.map( key => {\n return target[key] !== null && target[key] !== undefined ? target[key] : null ; }\n );\n return result;\n } else {\n return Object.keys(target).map( key => { return target[key]; } ) ;\n }\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON EL PASO DE INFORMACIÓN ENTRE PANTALLA\n //\n // ***************************************************************************************\n //\n /**\n * Stack de datos para ser pasados de una ventana a otra\n */\n // tslint:disable-next-line:member-ordering\n private dataStack: any[] = [];\n /**\n * Introduce datos en el stack de paso\n * @param data datos a ser introducidos en el stack\n */\n pushData(data: any) {\n this.dataStack.push(data);\n }\n /**\n * Extrae el ultimo elemento del stack\n */\n popData(): any {\n return this.dataStack.pop();\n }\n /**\n * Devuelve el ultimo elemento del stack sin extraerlo\n */\n getData(): any {\n if (this.dataStack.length === 0) {\n return null;\n } else {\n return this.dataStack[this.dataStack.length - 1];\n }\n }\n\n // ***************************************************************************************\n //\n // GESTION DE FICHEROS\n //\n // ***************************************************************************************\n //\n\n addFile(file: File, options?: ChfileOptions): Promise {\n return this.api.addFile(this.getAuthToken(), this.getGroupInfo().uid, file, options)\n .then(\n (newFile: Object) => {\n return newFile;\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n /**\n * Cra un fichero a partir de una url, copiando sus contendidos\n *\n * @param folderUid\n * @param name\n * @param description\n * @param url\n * @param previewImageUrl\n * @param includePreview\n * @param embed\n * @returns Sevuelve el uid del nuevo fichero creado\n */\n addLinkFile(folderUid: string, name: string, description: string, url: string,\n previewImageUrl?: string, includePreview?: boolean, embed?: string): Promise {\n /// Es necesario codificar loa textos para que lleguen a destino\n return this.api.addLinkFile(this.getAuthToken(), folderUid,\n name, description, url, previewImageUrl, includePreview, embed)\n .then(\n (newFile: Object) => {\n return newFile;\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n getUserRootFolder(): Promise {\n return this.api.getRootFolder(this.getAuthToken(), this.getCurrentUser().uid) // this.getGroupInfo().uid)\n .then(\n (rawFolder: Object) => {\n return ChFolder.folderFromObject(rawFolder);\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n getGroupRootFolder(): Promise {\n return this.api.getRootFolder(this.getAuthToken(), this.getGroupInfo().uid) // this.getGroupInfo().uid)\n .then(\n (rawFolder: Object) => {\n return ChFolder.folderFromObject(rawFolder);\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n getFolder(uid: string): Promise {\n return this.api.getFolder(this.getAuthToken(), uid)\n .then(\n (rawFolder: Object) => {\n return ChFolder.folderFromObject(rawFolder);\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n addFolder(parentUid: string, name: string, description: string): Promise {\n return this.api.addFolder(this.getAuthToken(), parentUid, name, description)\n .then(\n (nuevoUid: string) => {\n if (nuevoUid !== '') {\n return ChFolder.folderFromObject( { uid: nuevoUid, name: name, description: description});\n } else {\n console.log(' ERROR UID VACIO');\n return null;\n }\n\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n getFile(uid: string): Promise {\n return this.api.getFile(this.getAuthToken(), uid)\n .then(\n (rawFile: Object) => {\n // console.log(rawFile)\n return ChFileCompact.fileFromObject(rawFile);\n // Cargar el contenido\n /*\n if (rawFile['ok'] == true) {\n return ChFileCompact.fileFromObject(rawFile['file']);\n } else {\n console.log(rawFile['error']);\n return null;\n }*/\n },\n error => {\n console.log('getFile : ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n getFileFromContent(contentUid: string): Promise {\n return this.api.getFileFromContent(this.getAuthToken(), contentUid)\n .then(\n (rawFile: Object) => {\n //console.log(rawFile)\n return ChFileCompact.fileFromObject(rawFile);\n /*\n if (rawFile['ok'] == true) {\n return ChFileCompact.fileFromObject(rawFile['file']);\n } else {\n console.log(rawFile['error']);\n return null;\n }*/\n },\n error => {\n console.log('getFile : ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n deleteFile(uid: string, folderUid: string): Promise {\n return this.api.removeFile(this.getAuthToken(), uid, folderUid);\n }\n // ***************************************************************************************\n //\n // GESTION DE LISTAS\n //\n // ***************************************************************************************\n //\n\n searchUsersByName(searchText: string): Promise> {\n return this.api.searchUsersByName(this.getAuthToken(), searchText).then((values) => {\n\n const newArray: Array = [];\n\n values.forEach((value, index) => {\n const newActor = new ChActorCompact();\n newActor.uid = value['uid'];\n newActor.displayName = value['displayName'];\n newActor.identifier = value['identifier'];\n newActor.pictureUrl = value['pictureUrl'];\n\n newArray.push(newActor);\n });\n\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n /**\n * Devuelve los administradores de un grupo\n * @param listUid Uid de la lista\n */\n getManagers(): Promise> {\n return this.api.getManagers(this.getAuthToken(), this.getGroupInfo().uid).then((values) => {\n\n const newArray: Array = [];\n //console.log(values)\n values.forEach((value, index) => {\n const newActor = new ChActorCompact();\n newActor.uid = value['uid'];\n /// gender. Género del actor\n newActor.gender = Gender[value['gender'] as string];\n /// type. Deberia tener una enumeración asociada\n newActor.type = ActorType[value['type'] as string];\n /// Nombre y apellidos, email\n newActor.name = value['name'];\n newActor.lastName = value['lastName'];\n newActor.email = value['email'];\n newActor.displayName = value['displayName'];\n newActor.identifier = value['identifier'];\n newActor.description = value['description'];\n newActor.headerPictureUrl = value['headerPictureUrl'];\n newActor.pictureUrl = value['pictureUrl'];\n newActor.location = value['location'];\n\n newArray.push(newActor);\n });\n\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n addManager(actorUid: string): Promise {\n\n //console.log('** AD MANAGER '+ this.getGroupInfo().uid + ' : ' + actorUid)\n return this.api.addManager(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n removeManager(actorUid: string): Promise {\n return this.api.removeManager(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n /**\n * Devuelve los seguidores del grupo o actor\n */\n getFollowers(): Promise> {\n return this.api.getFollowers(this.getAuthToken(), this.getGroupInfo().uid).then((values) => {\n\n const newArray: Array = [];\n // console.log(values);\n values.forEach((value, index) => {\n const newActor = new ChActorCompact();\n newActor.uid = value['uid'];\n /// gender. Género del actor\n /// gender. Género del actor\n newActor.gender = Gender[value['gender'] as string];\n /// type. Deberia tener una enumeración asociada\n newActor.type = ActorType[value['type'] as string];\n /// Nombre y apellidos, email\n newActor.name = value['name'];\n newActor.lastName = value['lastName'];\n newActor.email = value['email'];\n newActor.displayName = value['displayName'];\n newActor.identifier = value['identifier'];\n newActor.description = value['description'];\n newActor.headerPictureUrl = value['headerPictureUrl'];\n newActor.pictureUrl = value['pictureUrl'];\n newActor.location = value['location'];\n\n newArray.push(newActor);\n });\n\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n addFollower(actorUid: string): Promise {\n return this.api.addFollower(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n removeFollower(actorUid: string): Promise {\n return this.api.removeFollower(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n /**\n * Devuelve los seguidores del grupo o actor\n */\n getFollowing(): Promise> {\n return this.api.getFollowing(this.getAuthToken(), this.getGroupInfo().uid).then((values) => {\n\n const newArray: Array = [];\n //console.log(values);\n values.forEach((value, index) => {\n const newActor = new ChActorCompact();\n newActor.uid = value['uid'];\n /// gender. Género del actor\n newActor.gender = Gender[value['gender'] as string];\n /// type. Deberia tener una enumeración asociada\n newActor.type = ActorType[value['type'] as string];\n /// Nombre y apellidos, email\n newActor.name = value['name'];\n newActor.lastName = value['lastName'];\n newActor.email = value['email'];\n newActor.displayName = value['displayName'];\n newActor.identifier = value['identifier'];\n newActor.description = value['description'];\n newActor.headerPictureUrl = value['headerPictureUrl'];\n newActor.pictureUrl = value['pictureUrl'];\n newActor.location = value['location'];\n\n newArray.push(newActor);\n });\n\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n addFollowing(actorUid: string): Promise {\n return this.api.addFollowing(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n removeFollowing(actorUid: string): Promise {\n return this.api.removeFollowing(this.getAuthToken(), this.getGroupInfo().uid, actorUid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n /**\n * Devuelve los miembros de una lista\n * @param listUid Uid de la lista\n */\n getListMembers(listUid: string): Promise> {\n return this.api.getListMembers(this.getAuthToken(), listUid).then((values) => {\n\n const newArray: Array = [];\n\n values.forEach((value, index) => {\n const newActor = new ChActorCompact();\n newActor.uid = value['uid'];\n /// gender. Género del actor\n newActor.gender = Gender[value['gender'] as string];\n /// type. Deberia tener una enumeración asociada\n newActor.type = ActorType[value['type'] as string];\n /// Nombre y apellidos, email\n newActor.name = value['name'];\n newActor.lastName = value['lastName'];\n newActor.email = value['email'];\n newActor.displayName = value['displayName'];\n newActor.identifier = value['identifier'];\n newActor.description = value['description'];\n newActor.headerPictureUrl = value['headerPictureUrl'];\n newActor.pictureUrl = value['pictureUrl'];\n newActor.location = value['location'];\n\n newArray.push(newActor);\n });\n\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n addListMember(list: ChUserList, actorUid: string): Promise {\n return this.api.addListMember(this.getAuthToken(), list.uid, actorUid, '', '')\n .then(\n (nuevoUid: string) => {\n if (nuevoUid !== '') {\n return nuevoUid;\n } else {\n console.log(' ERROR UID VACIO');\n return '';\n }\n\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return '';\n }\n );\n }\n\n addListMemberEmail(list: ChUserList, name: string, email: string): Promise {\n return this.api.addListMember(this.getAuthToken(), list.uid, '', name, email)\n .then(\n (nuevoUid: string) => {\n if (nuevoUid !== '') {\n return nuevoUid;\n } else {\n console.log(' ERROR UID VACIO');\n return '';\n }\n\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return '';\n }\n );\n }\n\n removeListMember(list: ChUserList, actorUid: string): Promise {\n return this.api.removeListMember(this.getAuthToken(), list.uid, actorUid, '')\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n removeListMemberEmail(list: ChUserList, name: string, email: string): Promise {\n console.log(' * BORRAR ' + email);\n return this.api.removeListMember(this.getAuthToken(), list.uid, '', email)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n updateList(list: ChUserList): Promise {\n return this.api.updateList(this.getAuthToken(), list).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n createList(list: ChUserList): Promise {\n return this.api.createList(this.getAuthToken(), this.getGroupInfo().uid, list).then(\n (result: String) => {\n //console.log(result);\n return result;\n },\n error => {\n return '';\n }\n );\n }\n\n deleteList(list: ChUserList): Promise {\n return this.api.deleteList(this.getAuthToken(), list).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n console.log(error);\n return false;\n }\n );\n }\n\n\n // ***************************************************************************************\n //\n // GESTION DE POSTS Y COMENTARIOS\n //\n // ***************************************************************************************\n //\n\n /**\n * Carga un nuevo post con los valores por defecto: Hostid y Zona, autor, etc.\n * @param newPost Post a cargar con los nuevos valores\n */\n configureNewPost(newPost : ChPost) {\n\n newPost.host = new ChHostRef(this.getGroupInfo());\n const selectedZone = this.getLoadedZone(this.getGlobalZoneSelectUid())\n //console.log(selectedZone);\n newPost.zone = selectedZone != undefined && selectedZone.zoneUid != '' ? new ChZoneRef(selectedZone) : undefined;\n\n if (this.currentUserIsManager()) {\n newPost.creator = new ChHostRef(this.getGroupInfo());\n } else {\n newPost.creator = new ChHostRef(this.getCurrentUser());\n }\n /*\n console.log('Configurando POST');\n console.log('-----------------');\n console.log(selectedZone);\n console.log(newPost);\n console.log('-----------------');\n */\n }\n\n getPost(uid: string): Promise {\n return new Promise( (resolve, reject)=> {\n this.api.getPost(this.getAuthToken(), uid)\n .then(\n (rawPost: Object) => {\n const newPost = new ChPost(rawPost, true);\n // Cargar el contenido\n if (newPost.contentUid == undefined) {\n resolve(newPost);\n } else {\n this.getFileFromContent(newPost.contentUid)\n .then( file => {\n newPost.file = file;\n //console.log(newPost);\n resolve(newPost);\n },\n error => {\n reject(error);\n });\n }\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n reject(error);\n }\n );\n });\n }\n\n addPost(hostUid: string, zoneUid: string, authorUid: string, postCommand: ChPostCommand) : Promise {\n const tempPostCommand = this.deepClone(postCommand) as ChPostCommand;\n\n tempPostCommand.hostUid = hostUid;\n tempPostCommand.zoneUid = zoneUid;\n tempPostCommand.identityUid = authorUid;\n\n return this.api.addPost(this.getAuthToken(), tempPostCommand );\n }\n\n updatePost(postUid: string, postCommand: ChPostCommand) : Promise {\n //const tempPostCommand = this.deepClone(postCommand) as ChPostCommand;\n //console.log(postCommand);\n return this.api.updatePost(this.getAuthToken(), postUid, postCommand );\n }\n\n copyPost(uid: string, zoneUid: string, authorUid: string): Promise {\n return this.api.copyPost(this.getAuthToken(), uid, this.getGroupInfo().uid, zoneUid, authorUid )\n .then(\n (result: string) => {\n // console.log(result);\n return result;\n },\n error => {\n return '';\n }\n );\n }\n\n deletePost(uid: string,): Promise {\n return this.api.deletePost(this.getAuthToken(), uid)\n .then(\n (result: Boolean) => {\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n getPostComments(uid: string): Promise {\n return this.api.getPostComments(this.getAuthToken(), uid)\n .then(\n (rawComments: Object) => {\n // console.log(rawPost);\n return rawComments;\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n\n deleteComment(uid: string): Promise {\n return this.api.deleteComment(this.getAuthToken(), uid).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n console.log(error);\n return false;\n }\n );\n }\n\n addComment(commentCommand: ChCommentCommand) : Promise {\n const tempCommentCommand = this.deepClone(commentCommand) as ChCommentCommand;\n\n return this.api.addComment(this.getAuthToken(), tempCommentCommand );\n }\n\n updateComment(commentUid: string, commentCommand: ChCommentCommand) : Promise {\n //const tempPostCommand = this.deepClone(postCommand) as ChPostCommand;\n //console.log(commentCommand);\n return this.api.updateComment(this.getAuthToken(), commentUid, commentCommand );\n }\n\n\n getPostData(uid: string): Promise {\n return this.api.getPostData(this.getAuthToken(), uid)\n .then(\n (rawComments: Object) => {\n // console.log(rawPost);\n return rawComments;\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n // ***************************************************************************************\n //\n // FUNCIONES RELACIONADAS CON LAS PAGINAS WEB\n //\n // ***************************************************************************************\n //\n\n /**\n * Devuelve las páginas de un sitio web\n */\n getSitePages(): Promise> {\n return this.api.getSitePages(this.getAuthToken(), this.getGroupInfo().uid)\n .then(\n (rawPages: Array) => {\n // console.log(rawPost);\n return rawPages.map( r => { return ChPageRef.from(r); });\n },\n error => {\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n downloadSite(): Promise {\n return this.api.downloadSite(this.getAuthToken(), this.getGroupInfo().uid)\n .then(\n (file: object) => {\n // console.log(rawPost);\n return file;\n },\n error => {\n console.log(error);\n console.log(' ERROR LLAMADA ERRONEA');\n return null;\n }\n );\n }\n\n resetSite(): Promise {\n return this.api.resetSite(this.getAuthToken(), this.getGroupInfo().uid).then(\n (result: Boolean) => {\n return result;\n },\n error => {\n console.log(error);\n return false;\n }\n );\n }\n\n createPage(name: string, title: string, slug: string,\n status: number, templateUid: string | undefined\n ): Promise {\n return this.api.createPage(this.getAuthToken(), this.getGroupInfo().uid,\n name, title, slug, status, templateUid )\n .then(\n (result: string) => {\n // console.log(result);\n return result;\n },\n error => {\n return '';\n }\n );\n }\n\n createWebResource(name: string, type: string, content: string): Promise {\n const newContent = this.utoa(content)\n return this.api.createWebResource(this.getAuthToken(), this.getGroupInfo().uid,\n name, type, newContent )\n .then(\n (result: string) => {\n return result;\n },\n error => {\n return '';\n }\n );\n }\n\n updatePageContent(pageUid: string, body: string) : Promise {\n //const tempPostCommand = this.deepClone(postCommand) as ChPostCommand;\n const newBody = this.utoa(body)\n return this.api.updatePageContent(this.getAuthToken(), pageUid, newBody )\n .then(\n (result: Boolean) => {\n // console.log(result);\n return result;\n },\n error => {\n return false;\n }\n );\n }\n\n // ***************************************************************************************\n //\n // GESTION DE LAS APPS\n //\n // ***************************************************************************************\n //\n\n\n private appStartup: ChMobileStatus | null = null;\n public getAppStartup(): ChMobileStatus | null {\n return this.appStartup;\n }\n /**\n * Devuelve la información de entrada de una app\n */\n loadAppStartup(): Promise {\n return new Promise( (resolve, reject) => {\n this.api.getAppStartup(this.getAuthToken(), this.getGroupInfo().uid)\n .then ( value => {\n // console.log(value);\n if ( value === null || Object.keys(value).length === 0) {\n this.appStartup = null;\n } else {\n const newStartup = ChMobileStatus.cast(value);\n //console.log(newStartup)\n this.appStartup = newStartup;\n }\n resolve(OpResult.OK);\n },\n error => {\n this.appStartup = null;\n console.log(' * ERROR LOADING APP START');\n console.log(error);\n resolve(OpResult.OK);\n })\n .catch ( (error) => {\n this.appStartup = null;\n console.log(' * ERROR LOADING APP START');\n console.log(error);\n resolve(OpResult.OK);\n });\n });\n }\n\n createApp(): Promise {\n return this.api.createApp(this.getAuthToken(), this.getGroupInfo().uid);\n }\n\n updateAppStatus(status: object): Promise {\n return this.api.updateAppStatus(this.getAuthToken(), this.getGroupInfo().uid, status);\n }\n\n updateAppStartup(startup: object): Promise {\n return this.api.updateAppStartup(this.getAuthToken(), this.getGroupInfo().uid, startup);\n }\n\n loadAppConfig(): Promise {\n return new Promise( (resolve, reject) => {\n this.api.getAppConfig(this.getAuthToken(), this.getGroupInfo().uid)\n .then ( value => {\n //console.log(value);\n if ( value === null || Object.keys(value).length === 0) {\n resolve(null);\n } else {\n const newConfig = ChMobileConfig.cast(value);\n //console.log(newConfig);\n resolve(newConfig);\n }\n },\n error => {\n this.appStartup = null;\n console.log(' * ERROR LOADING APP CONFIG');\n console.log(error);\n resolve(null);\n })\n .catch ( (error) => {\n this.appStartup = null;\n console.log(' * ERROR LOADING APP CONFIG');\n console.log(error);\n resolve(null);\n });\n });\n }\n\n updateAppConfig(config: ChMobileConfig): Promise {\n return this.api.updateAppConfig(this.getAuthToken(), this.getGroupInfo().uid, config.files);\n }\n\n publishAppConfig(config: ChMobileConfig): Promise {\n return this.api.publishAppConfig(this.getAuthToken(), this.getGroupInfo().uid, config.files);\n }\n\n // ***************************************************************************************\n //\n // GESTION DEL CORREO\n //\n // ***************************************************************************************\n //\n\n updateMailConfig(config: object): Promise {\n const tempConfig = this.deepClone(config);\n\n // Codificar el texto largo de la configuración\n if (config['description']) { tempConfig['description'] = this.database.utoa(tempConfig['description']); }\n if (config['disclaimer']) { tempConfig['disclaimer'] = this.database.utoa(tempConfig['disclaimer']); }\n if (config['adminData']) { tempConfig['adminData'] = this.database.utoa(tempConfig['adminData']); }\n\n //console.log(config)\n //console.log(tempConfig)\n return this.api.updateMailConfig(this.getAuthToken(), this.getGroupInfo().uid, tempConfig);\n }\n\n getMailConfig(): Promise {\n return new Promise( (resolve, reject) => {\n this.api.getMailConfig(this.getAuthToken(), this.getGroupInfo().uid)\n .then( (value) => {\n if (value['description']) { value['description'] = this.database.atou(value['description']); }\n if (value['disclaimer']) { value['disclaimer'] = this.database.atou(value['disclaimer']); }\n if (value['adminData']) { value['adminData'] = this.database.atou(value['adminData']); }\n\n return resolve(value as EmailConfig);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n sendMail(type: string, origin: string, destination: string, title: string, content: string, more: string): Promise {\n return this.api.sendMail(this.getGroupInfo().uid, type, origin, destination, title, this.database.utoa(content), this.database.utoa(more));\n }\n\n\n // ***************************************************************************************\n //\n // GESTION DEL ECOMMERCE\n //\n // ***************************************************************************************\n //\n\n getCommerceTypes(): Promise> {\n return new Promise( (resolve, reject) => {\n this.api.getCommerceTypes()\n .then( (value) => {\n return resolve(Object.keys(value).map(key => new CHProductType(value[key])) as Array);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n getCommerceTypeOptions(typeUid: string): Promise> {\n return new Promise( (resolve, reject) => {\n this.api.getCommerceTypeOptions(typeUid)\n .then( (value) => {\n return resolve(Object.keys(value).map(key => value[key]) as Array);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n updateCommerceConfig(config: object): Promise {\n const tempConfig = this.deepClone(config);\n\n // Codificar el texto largo de la configuración\n if (config['name']) { tempConfig['name'] = this.database.utoa(tempConfig['name']); }\n if (config['direccion']) { tempConfig['direccion'] = this.database.utoa(tempConfig['direccion']); }\n if (config['description']) { tempConfig['description'] = this.database.utoa(tempConfig['description']); }\n\n // console.log(config)\n // console.log(tempConfig)\n return this.api.updateCommerceConfig(this.getAuthToken(), this.getGroupInfo().uid, tempConfig);\n }\n\n updateCommerceConfigNFactura(nfactura: number): Promise {\n\n // console.log(tempConfig)\n return this.api.updateCommerceConfigNfactura(this.getAuthToken(), this.getGroupInfo().uid, nfactura);\n }\n\n\n getCommerceConfig(): Promise {\n return new Promise( (resolve, reject) => {\n this.api.getCommerceConfig(this.getAuthToken(), this.getGroupInfo().uid)\n .then( (value) => {\n if (value['name']) { value['name'] = this.database.atou(value['name']); }\n if (value['direccion']) { value['direccion'] = this.database.atou(value['direccion']); }\n if (value['description']) { value['description'] = this.database.atou(value['description']); }\n\n return resolve(value as object);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n getCommerceProducts(filter: object): Promise> {\n\n return new Promise( (resolve, reject) => {\n this.api.getCommerceProducts(this.getGroupInfo().uid, filter)\n .then( (value) => {\n const resultArray = Object.keys(value).map(key => value[key]) as Array;\n resultArray.forEach( p => {\n p.title = this.database.atou(p.title);\n p.description = this.database.atou(p.description);\n })\n return resolve(resultArray);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n getCommerceProduct(uid: string): Promise {\n\n return new Promise( (resolve, reject) => {\n this.api.getCommerceProduct(uid)\n .then( (value) => {\n const p = value as CHProduct;\n p.title = this.database.atou(p.title);\n p.description = this.database.atou(p.description);\n console.log(p)\n return resolve(p);\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n createCommerceProduct(product: CHProduct): Promise {\n const tempProduct = this.deepClone(product) as CHProduct;\n\n tempProduct.title = this.database.utoa(product.title);\n tempProduct.description = this.database.utoa(product.description);\n\n //console.log(tempProduct);\n return new Promise( (resolve, reject) => {\n this.api.createCommerceProduct(this.getAuthToken(), this.getGroupInfo().uid, tempProduct)\n .then( (value) => {\n if (value == '') {\n return reject();\n } else {\n product.uid = value;\n resolve(value);\n }\n return\n },\n (error) => {\n return reject(error);\n }\n )\n });\n }\n\n updateCommerceProduct(product: CHProduct): Promise {\n const tempProduct = this.deepClone(product) as CHProduct;\n\n tempProduct.title = this.database.utoa(product.title);\n tempProduct.description = this.database.utoa(product.description);\n\n // console.log(tempProduct)\n return this.api.updateCommerceProduct(this.getAuthToken(), this.getGroupInfo().uid, tempProduct);\n }\n\n\n removeCommerceProduct(productUid: string): Promise {\n return this.api.removeCommerceProduct(this.getAuthToken(), productUid);\n }\n\n getDistributionChannels(): Promise> {\n\n return new Promise( (resolve, reject) => {\n this.api.getDistributionChannels(this.getGroupInfo().uid)\n .then( (value) => {\n const resultArray = Object.keys(value).map(key => value[key]);\n const result = resultArray.map( ch => {\n return CHDistributionChannel.cast(ch);\n })\n result.forEach( p => {\n p.name = this.database.atou(p.name);\n p.email = this.database.atou(p.name);\n p.description = this.database.atou(p.description);\n })\n resolve(result);\n },\n (error) => {\n reject(error);\n }\n )\n });\n }\n\n createDistributionChannel(channel: CHDistributionChannel): Promise {\n const tempChannel = JSON.parse(JSON.stringify(channel)) // cloneDeep(channel);\n\n tempChannel.uid = '';\n tempChannel.name = this.database.utoa(tempChannel.name);\n tempChannel.description = this.database.utoa(tempChannel.description);\n tempChannel.email = this.database.utoa(tempChannel.email);\n tempChannel.hostUid = this.getGroupInfo().uid;\n\n return new Promise( (resolve, reject) => {\n this.api.createDistributionChannel(this.getAuthToken(), this.getGroupInfo().uid, tempChannel)\n .then( (value) => {\n if (value == '') {\n reject();\n } else {\n channel.uid = value;\n resolve(value);\n }\n },\n (error) => {\n reject(error);\n }\n )\n });\n }\n\n updateDistributionChannel(channel: CHDistributionChannel): Promise {\n const tempChannel = JSON.parse(JSON.stringify(channel)) //cloneDeep(channel);\n\n tempChannel.uid = channel.uid;\n tempChannel.name = this.database.utoa(tempChannel.name);\n tempChannel.description = this.database.utoa(tempChannel.description);\n tempChannel.email = this.database.utoa(tempChannel.email);\n tempChannel.hostUid = this.getGroupInfo().uid;\n\n return new Promise( (resolve, reject) => {\n this.api.updateDistributionChannel(this.getAuthToken(), tempChannel)\n .then( (value) => {\n if (value) {\n resolve(value);\n } else {\n reject();\n }\n },\n (error) => {\n reject(error);\n }\n )\n });\n }\n\n deleteDistributionChannel(channelUid: string): Promise {\n return new Promise( (resolve, reject) => {\n this.api.removeDistributionChannel(this.getAuthToken(), channelUid)\n .then( (value) => {\n if (value) {\n resolve(value);\n } else {\n reject();\n }\n },\n (error) => {\n reject(error);\n }\n )\n });\n }\n\n initElectronicCommerceTables(): Promise {\n\n return this.database.initElectronicCommerceTables(this.getAuthToken(), this.getGroupInfo().uid);\n\n }\n\n\n\n\n // ***************************************************************************************\n //\n // FUNCIONES RELATIVAS AL ChatGPT\n //\n // ***************************************************************************************\n //\n\n\n getChatGPTEnvironment(): Promise {\n\n return new Promise( (resolve, reject) => {\n this.api.getChatGPTEnvironment(this.getAuthToken(), this.getGroupInfo().uid)\n .then( (value) => {\n // console.log(value);\n if ( value === null) {\n reject(\"ChatGPT envoronment not found\");\n } else {\n resolve( new ChChatGPTEnvironment( value ));\n }\n },\n error => {\n this.appStartup = null;\n console.log(' * ERROR LOADING GPTCHAT');\n console.log(error);\n resolve(null);\n })\n });\n }\n\n\n\n // ***************************************************************************************\n //\n // FUNCIONES RELATIVAS A LA ACTIVIDAD\n //\n // ***************************************************************************************\n //\n\n getActivityLog(zoneUid: string | null, from: string | null, to: string | null): Promise> {\n\n return this.api.getActivityLog(this.getAuthToken(),\n this.getGroupInfo().uid,\n zoneUid,\n from,\n to).then((values) => {\n\n const newArray = values as Array\n return newArray;\n })\n .catch((error) => {\n console.log(error);\n return [];\n });\n }\n\n}\nfunction getLocaleDirection(lang: string) {\n throw new Error('Function not implemented.');\n}\n\n","import { Component, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { GroupAdmin, MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-webadmin-editor-window',\n templateUrl: './ch-webadmin-editor-window.component.html',\n // styleUrls: ['./ch-category-editor-window.component.scss']\n styleUrls: ['../../forms/forms.scss']\n})\n\nexport class ChWebAdminEditorWindowComponent implements OnInit, AfterViewInit {\n\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private title: String = '';\n private buttonText: String = '';\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n\n ChWebAdminEditorWindowComponent.modalRef = service.showModalWindow(this, config);\n ChWebAdminEditorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChWebAdminEditorWindowComponent.modalRef);\n if (executeCallback) {\n ChWebAdminEditorWindowComponent.callback();\n }\n }\n\n model: GroupAdmin | null = null;\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n }\n\n ngOnInit() {\n this.model = JSON.parse(JSON.stringify(this.chGlobal.getCurrentAdminProfile()));\n }\n\n ngAfterViewInit() {\n }\n\n confirm() {\n if (this.validate()) {\n this.updateData();\n\n ChWebAdminEditorWindowComponent.hide(true);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Valores incorrectos',\n 'La configuración del panel proporcionada no es valida.');\n }\n }\n\n decline() {\n ChWebAdminEditorWindowComponent.hide(false);\n }\n\n validate(): Boolean {\n return true;\n }\n\n updateData() {\n this.chGlobal.setCurrentAdminProfile( this.model );\n }\n\n}\n","if (typeof window === 'object') {\n require('chart.js');\n}\n\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { AlertModule } from 'ngx-bootstrap/alert';\n\nimport { TreeModule } from 'angular-tree-component';\n\nimport { ModalModule, BsModalService } from 'ngx-bootstrap/modal';\n\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\n\nimport { NgxMasonryModule } from 'ngx-masonry';\n\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { RouterModule } from '@angular/router';\nimport { ToastrModule } from 'ngx-toastr';\n\nimport { UiSwitchModule } from 'ngx-ui-switch';\nimport { Ng2CacheModule } from 'ng2-cache';\n\nimport { ColorPickerModule } from 'ngx-color-picker';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { ChilSystemModule } from '../../chilsystem/chilsystem.module';\n\nimport { TranslateModule, TranslateLoader, TranslateService, MissingTranslationHandler } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { AngularResizedEventModule } from 'angular-resize-event';\n\nimport { ChWebAdminEditorWindowComponent } from './ch-webadmin-editor-window/ch-webadmin-editor-window.component';\n\nimport { ChLoginComponent } from 'app/chil/login/ch-login/ch-login.component';\nimport { ChAppleLoginComponent } from '../login/ch-apple-login/ch-apple-login.component';\nimport { ChAppleLoginService } from '../login/ch-apple-login.service';\nimport { ChGoogleLoginService } from '../login/ch-google-login.service';\nimport { ChAppleCallbackComponent } from '../login/ch-apple-callback/ch-apple-callback.component';\nimport { ChGoogleLoginComponent } from '../login/ch-google-login/ch-google-login.component';\n\nimport { ChLangSelectorComponent } from 'app/chil/i18/ch-lang-selector/ch-lang-selector.component';\nimport { CHAuthGuard } from 'app/chil/login/ch-auth.guard';\nimport { Error404Component } from 'app/chil/errors/error404/error404.component';\n\nimport { ChContentRootComponent } from 'app/chil/wall/ch-contentroot/ch-contentroot.component';\nimport { ChCategoryBrowserComponent } from 'app/chil/categories/ch-category-browser/ch-category-browser.component';\n\nimport { CookieService } from 'ngx-cookie-service';\nimport { ChApiService } from 'app/chil/api/ch-api.service';\nimport { ChGlobalsService } from './ch-globals.service';\nimport { DataTablesModule } from 'angular-datatables';\nimport { TextMaskModule } from 'angular2-text-mask'; // Se usa para SIASA.\n\nimport { ChDynPanelComponent } from 'app/chil/dynpanel/ch-dynpanel/ch-dynpanel.component';\nimport { ChDynPanelItemComponent } from 'app/chil/dynpanel/ch-dynpanel-item/ch-dynpanel-item.component';\n\nimport { ChDataManagerService } from 'app/chil/data/ch-datamanager.service';\nimport { ChDatabaseEditorComponent } from 'app/chil/data/ch-databaseeditor/ch-databaseeditor.component';\nimport { ChDatatableBrowserComponent } from 'app/chil/data/ch-datatablebrowser/ch-datatablebrowser.component';\nimport { ChTableEditorComponent } from 'app/chil/data/ch-table-editor/ch-table-editor.component';\nimport { ChTableEditorFieldDialogComponent } from '../data/ch-table-editor-field-dialog/ch-table-editor-field-dialog.component';\nimport { ChDataimporterComponent } from 'app/chil/data/ch-dataimporter/ch-dataimporter.component';\nimport { ChCopyTableDataWindowComponent } from 'app/chil/data/ch-copytabledata-window/ch-copytabledata-window.component';\nimport { ChDatatableExecuteDialogComponent } from 'app/chil/data/ch-datatable-execute-dialog/ch-datatable-execute-dialog.component';\n\nimport { ChSmallDialogComponent } from 'app/chil/utils/ch-small-dialog/ch-small-dialog.component';\nimport { ChLargeDialogComponent } from 'app/chil/utils/ch-large-dialog/ch-large-dialog.component';\n\nimport { SiasaModule } from '../../siasa/siasa/siasa.module';\nimport { InfopacModule } from '../../infopac/infopac.module';\n\nimport { HomeviewComponent } from './homeview/homeview.component';\nimport { ChAccountAdminComponent } from '../account/ch-account-admin/ch-account-admin.component';\nimport { ChAccountAdminNomenuComponent } from '../account/ch-account-admin-nomenu/ch-account-admin-nomenu.component';\n\nimport { AceEditorModule } from 'ng2-ace-editor';\nimport { EditorModule } from '@tinymce/tinymce-angular';\nimport { NgxSummernoteModule } from 'ngx-summernote';\n\nimport { Ng2ScrollableModule } from 'ng2-scrollable';\n\nimport { TagInputModule } from 'ngx-chips';\n\nimport { ChCategoryEditorWindowComponent } from 'app/chil/categories/ch-category-editor-window/ch-category-editor-window.component';\n// tslint:disable-next-line:max-line-length\nimport { ChFamilyCategoryEditorWindowComponent } from 'app/chil/categories/ch-family-category-editor-window/ch-family-category-editor-window.component';\nimport { ChEmail } from '../mail/ch-email/ch-email';\nimport { ChPageAnalyticsComponent } from 'app/chil/analytics/ch-page-analytics/ch-page-analytics.component';\nimport { ChPostsAnalyticsComponent } from '../analytics/ch-posts-analytics/ch-posts-analytics.component';\nimport { ChActivtyAnalyticsComponent } from '../analytics/ch-activty-analytics/ch-activty-analytics.component';\n\n// CHFORMS\nimport { ChFormsInfoIconComponent } from '../forms/ch-forms-info-icon/ch-forms-info-icon.component';\nimport { ChFormsControlTitle } from '../forms/ch-forms-control-title/ch-forms-control-title';\nimport { ChSwitchComponent } from '../libs/ch-switch/ch-switch.component';\nimport { ChFormsColor } from '../forms/ch-forms-color/ch-forms-color';\nimport { ChFormsCombo } from '../forms/ch-forms-combo/ch-forms-combo';\nimport { ChFormsComboMultiple } from '../forms/ch-forms-combo-multiple/ch-forms-combo-multiple';\nimport { ChFormsSlider } from '../forms/ch-forms-slider/ch-forms-slider';\nimport { ChFormsSwitch } from '../forms/ch-forms-switch/ch-forms-switch';\nimport { ChFormsTextBox } from '../forms/ch-forms-textbox/ch-forms-textbox';\nimport { ChFormsTextEdit } from '../forms/ch-forms-textedit/ch-forms-textedit';\nimport { ChFormsRadioButton } from '../forms/ch-forms-radiobutton/ch-forms-radiobutton';\nimport { ChFormsRadioGroup } from '../forms/ch-forms-radiogroup/ch-forms-radiogroup';\nimport { ChFormsCheck } from '../forms/ch-forms-check/ch-forms-check';\nimport { ChFormsCheckGroup } from '../forms/ch-forms-checkgroup/ch-forms-checkgroup';\nimport { ChFormsButtonGroup } from '../forms/ch-forms-buttongroup/ch-forms-buttongroup';\nimport { ChFormsGroup } from '../forms/ch-forms-group/ch-forms-group';\nimport { ChFormsPostTypeSelect } from '../forms/ch-forms-post-type-select/ch-forms-post-type-select';\nimport { ChFormsDatetime } from '../forms/ch-forms-datetime/ch-forms-datetime';\nimport { ChFormsCategorySelector } from '../forms/ch-forms-category-selector/ch-forms-category-selector';\nimport { ChFormsCategorySelectorWindow } from '../forms/ch-forms-category-selector/ch-forms-category-selector-window/ch-forms-category-selector-window';\nimport { ChFormsControlGeneric } from '../forms/ch-forms-control-generic/ch-forms-control-generic';\nimport { ChFormsCode } from '../forms/ch-forms-code/ch-forms-code.component';\nimport { ChFormsImagePicker } from '../forms/ch-forms-image-picker/ch-forms-image-picker';\nimport { ChFormsImageMosaic } from '../forms/ch-forms-image-mosaic/ch-forms-image-mosaic';\nimport { ChFormsDocumentPicker } from '../forms/ch-forms-document-picker/ch-forms-document-picker';\nimport { ChFormsUserPicker } from '../forms/ch-forms-user-picker/ch-forms-user-picker';\nimport { ChFormsZoneSelector } from '../forms/ch-forms-zone-selector/ch-forms-zone-selector';\nimport { ChFormsZoneAuth } from '../forms/ch-forms-zone-auth/ch-forms-zone-auth';\nimport { ChFormsTagsEditor } from '../forms/ch-forms-tags-editor/ch-forms-tags-editor';\nimport { ChFormsRichEdit } from '../forms/ch-forms-richedit/ch-forms-richedit';\nimport { ChPasteRichTextWindow} from '../forms/ch-forms-richedit/ch-paste-rich-text-window/ch-paste-rich-text-window';\nimport { ChFormsAttachmentsPicker } from '../forms/ch-forms-attachments-picker/ch-forms-attachments-picker';\nimport { ChFormsExternal } from '../forms/ch-forms-external/ch-forms-external';\nimport { ChFormsLocationPicker } from '../forms/ch-forms-location-picker/ch-forms-location-picker';\nimport { ChFormsCategoryEditor } from '../forms/ch-forms-category-editor/ch-forms-category-editor';\nimport { ChFormsLabel } from '../forms/ch-forms-label/ch-forms-label';\nimport { ChFormsMapSetter } from '../forms/ch-forms-map-setter/ch-forms-map-setter';\nimport { ChFormsMapDisplay } from '../forms/ch-forms-map-display/ch-forms-map-display';\nimport { ChFormsFiles } from '../forms/ch-forms-files/ch-forms-files';\nimport { ChFormsFile } from '../forms/ch-forms-file/ch-forms-file';\nimport { ChFormsSelectItem } from '../forms/ch-forms-select-item/ch-forms-select-item';\nimport { ChFormsSelectGroup } from '../forms/ch-forms-select-group/ch-forms-select-group';\nimport { ChFormsProductsFamilyPicker } from '../forms/ch-forms-products-family-picker/ch-forms-products-family-picker';\nimport { ChFormsFont } from '../forms/ch-forms-font/ch-forms-font.component';\nimport { ChFormsPostSelector } from '../forms/ch-forms-post-selector/ch-forms-post-selector';\nimport { ChFormsYoutubePlayer } from '../forms/ch-forms-youtube-player/ch-forms-youtube-player';\nimport { ChFormsIvooxPlayer } from '../forms/ch-forms-ivoox-player/ch-forms-ivoox-player';\nimport { ChFormsLink } from '../forms/ch-forms-link/ch-forms-link';\nimport { ChFormsLanguagePicker } from '../forms/ch-forms-language-picker/ch-forms-language-picker';\n\nimport { ChFormsLinkEditorWindowComponent } from '../forms/ch-forms-link/ch-forms-link-editor-window/ch-forms-link-editor-window.component';\nimport { ChFormsRepeatProgramming } from '../forms/ch-forms-repeat-programming/ch-forms-repeat-programming';\nimport { ChFormsRepeatEditorWindowComponent } from '../forms/ch-forms-repeat-programming/ch-forms-repeat-editor-window/ch-forms-repeat-editor-window.component';\n\nimport { ChFormsDuration } from '../forms/ch-forms-duration/ch-forms-duration';\nimport { ChFormsWeekPlan } from '../forms/ch-forms-week-plan/ch-forms-week-plan';\n\nimport { ChForm } from '../forms/ch-form/ch-form';\n\n\n// Gestiòn de categorías\nimport { ChTagsCloudComponent } from '../libs/ch-tags-cloud/ch-tags-cloud.component';\nimport { ChCategoryContentEditorComponent } from '../categories/ch-category-content-editor/ch-category-content-editor.component';\nimport { ChDynpanelCardComponent } from '../dynpanel/ch-dynpanel-card/ch-dynpanel-card.component';\n// tslint:disable-next-line:max-line-length\nimport { ChCategoryContentCopyWindowComponent } from '../categories/ch-category-content-copy-window/ch-category-content-copy-window.component';\n// Listas de usuarios\nimport { ChListsBrowserComponent } from '../population/ch-lists-browser/ch-lists-browser.component';\nimport { ChListEditorWindowComponent } from '../population/ch-list-editor-window/ch-list-editor-window.component';\nimport { ChListAddActorWindowComponent } from '../population/ch-list-add-actor-window/ch-list-add-actor-window.component';\nimport { ChActorCard } from '../population/ch-actor-card/ch-actor-card.component';\n\nimport { ChZonesMenuComponent } from '../zone/ch-zonesmenu/ch-zonesmenucomponent';\nimport { ChWorkSpaceComponent } from '../dynpanel/ch-workspace/ch-workspace.component';\nimport { ChWorkGroupComponent } from '../dynpanel/ch-workgroup/ch-workgroup.component';\nimport { ChWorkPanelComponent } from '../dynpanel/ch-workpanel/ch-workpanel.component';\nimport { ChWorkgroupItem } from '../dynpanel/ch-workgroup-item/ch-workgroup-item';\nimport { ChInfoIboxComponent } from '../libs/ch-info-ibox/ch-info-ibox.component';\nimport { ChChartComponent } from '../libs/ch-chart/ch-chart.component';\nimport { ChListsAnalyticsComponent } from '../analytics/ch-lists-analytics/ch-lists-analytics.component';\nimport { ChDatatableComponent } from '../libs/ch-datatable/ch-datatable.component';\nimport { ChImageZoomDialogComponent } from '../images/ch-image-zoom-dialog/ch-image-zoom-dialog.component';\nimport { ChImageCropperDialogComponent } from '../images/ch-image-cropper-dialog/ch-image-cropper-dialog.component';\nimport { ChActorBoxComponent } from '../actor/ch-actor-box/ch-actor-box.component';\n\n// Proyectos externos\nimport { AgrovivaEntregaComponent } from '../proyectos/agroviva/agroviva-entrega/agroviva-entrega.component';\nimport { AgrovivaEntregaDetalleComponent } from '../proyectos/agroviva/agroviva-entrega-detalle/agroviva-entrega-detalle.component';\nimport { SiasaVisita2019Component } from '../proyectos/siasa/siasa-visita2019/siasa-visita2019.component';\nimport { SiasaVisitaDetalle2019Component } from '../proyectos/siasa/siasa-visita-detalle2019/siasa-visita-detalle2019.component';\nimport { SiasaVisita2020Component } from '../proyectos/siasa/siasa-visita2020/siasa-visita2020.component';\nimport { SiasaVisitaDetalle2020Component } from '../proyectos/siasa/siasa-visita-detalle2020/siasa-visita-detalle2020.component';\n// Actores\nimport { ChActorManagerService } from '../actor/ch-actor-manager.service';\n// Nube y ficheros\nimport { ChCloudBrowserComponent } from '../cloud/ch-cloud-browser/ch-cloud-browser.component';\nimport { ChFileCardComponent } from '../cloud/ch-file-card/ch-file-card.component';\nimport { ChFileSelectWindowComponent } from '../cloud/ch-file-select-window/ch-file-select-window.component';\nimport { ChFileImportWindowComponent } from '../cloud/ch-file-import-window/ch-file-import-window.component';\nimport { ChNewFolderWindowComponent } from '../cloud/ch-new-folder-window/ch-new-folder-window.component';\n\nimport { ChListContentsCopyWindowComponent } from '../population/ch-list-contents-copy-window/ch-list-contents-copy-window.component';\n\nimport { ChZoneBrowserComponent } from '../zone/ch-zone-browser/ch-zone-browser.component';\nimport { ChZoneCreateWindowComponent } from '../zone/ch-zone-create-window/ch-zone-create-window.component';\nimport { ChZoneDeleteWindowComponent } from '../zone/ch-zone-delete-window/ch-zone-delete-window.component';\nimport { ChLocationPickerWindowComponent } from '../location/ch-location-picker-window/ch-location-picker-window.component';\n\n// Utilidades\nimport { ChSafePipe } from '../utils/ch-safe-html.pipe';\nimport { ChPostDataBrowserComponent } from '../wall/ch-post-data-browser/ch-post-data-browser.component';\n\n// Mobile\nimport { ChMobileConfComponent } from '../mobile/ch-mobile-conf-browser/ch-mobile-conf-browser';\nimport { ChMobileConfActivationComponent } from '../mobile/ch-mobile-conf-activation/ch-mobile-conf-activation.component';\nimport { ChMobileConfImageComponent } from '../mobile/ch-mobile-conf-image/ch-mobile-conf-image.component';\nimport { ChMobileImportWindowComponent } from '../mobile/ch-mobile-import-window/ch-mobile-import-window.component';\nimport { ChMobileConfMessagesComponent } from '../mobile/ch-mobile-conf-messages/ch-mobile-conf-messages.component';\n\n// Muro y posts\nimport { ChPostsCopyWindowComponent } from '../wall/ch-posts-copy-window/ch-posts-copy-window.component';\nimport { ChFormsRootComponent } from '../wall/ch-formsroot/ch-formsroot.component';\nimport { ChCommentEditFormComponent } from '../wall/edit-post/ch-comment-edit-form/ch-comment-edit-form.component';\nimport { ChPostEditFormComponent } from '../wall/edit-post/ch-post-edit-form/ch-post-edit-form.component';\nimport { ChPostEditFormFieldComponent } from '../wall/edit-post/ch-post-edit-form-field/ch-post-edit-form-field.component';\nimport { ChPostEditFormFormComponent } from '../wall/edit-post/ch-post-edit-form-form/ch-post-edit-form-form.component';\nimport { ChPostEditBodyWindowComponent } from '../wall/edit-post/ch-post-edit-body-window/ch-post-edit-body-window.component';\nimport { ChCommentDetailedComponent } from '../wall/ch-comment-detailed/ch-comment-detailed.component';\nimport { ChPostDetailedComponent } from '../wall/ch-post-detailed/ch-post-detailed.component';\nimport { ChPostDetailedFormComponent } from '../wall/ch-post-detailed-form/ch-post-detailed-form.component';\nimport { ChContentItemCompactComponent } from '../wall/ch-content-item-compact/ch-content-item-compact.component';\nimport { ChPostsCopyDbWindowComponent } from '../wall/ch-posts-copy-db-window/ch-posts-copy-db-window.component';\nimport { ChPostsImportEventsWindowComponent } from '../wall/ch-posts-import-events-window/ch-posts-import-events-window.component';\n\n// pantalla de configuración global\nimport { ChSystemConfigComponent } from '../system/ch-system-config/ch-system-config';\n// Mail\nimport { ChMailConfigComponent } from '../mail/ch-mail-config/ch-mail-config.component';\nimport { ChMailTemplatesComponent } from '../mail/ch-mail-templates/ch-mail-templates.component';\nimport { ChMailEditorWindowComponent } from '../mail/ch-mail-editor-window/ch-mail-editor-window.component';\nimport { ChMailViewComponent } from '../mail/ch-mail-view/ch-mail-view.component';\n\n// Commerce\nimport { ChCommerceConfigComponent } from '../comercio/ch-commerce-config/ch-commerce-config.component';\nimport { ChProductListComponent } from '../comercio/ch-product-list/ch-product-list.component';\nimport { ChProductViewComponent } from '../comercio/ch-product-view/ch-product-view.component';\nimport { ChProductEditorComponent } from '../comercio/ch-product-editor/ch-product-editor.component';\nimport { ChOrderEditorComponent } from '../comercio/ch-order-editor/ch-order-editor.component';\nimport { ChOrderEditorDetailComponent } from '../comercio/ch-order-editor-detail/ch-order-editor-detail.component';\nimport { ChProductViewFormatComponent } from '../comercio/ch-product-view-format/ch-product-view-format.component';\nimport { ChInvoicewindowComponent } from '../comercio/ch-invoice-dialog/ch-invoice-window.component';\nimport { ChChannelListEditorComponent } from '../comercio/ch-channel-list-editor/ch-channel-list-editor.component';\nimport { SiasaVisita2021Component } from '../proyectos/siasa/siasa-visita2021/siasa-visita2021.component';\nimport { SiasaVisitaDetalle2021Component } from '../proyectos/siasa/siasa-visita-detalle2021/siasa-visita-detalle2021.component';\nimport { ChOrderBrowserComponent } from '../comercio/ch-order-browser/ch-order-browser.component';\nimport { ChInvoiceBrowserComponent } from '../comercio/ch-invoice-browser/ch-invoice-browser.component';\nimport { ChInvoiceEditorComponent } from '../comercio/ch-invoice-editor/ch-invoice-editor.component';\nimport { ChProductTypesConfigWindowComponent } from '../comercio/ch-product-types-config-window/ch-product-types-config-window.component';\n\nimport { ChZoneSelectionPanelComponent } from '../zone/ch-zone-selection-panel/ch-zone-selection-panel.component';\nimport { ChZoneCard } from '../zone/ch-zone-card/ch-zone-card.component';\nimport { ChRssImportWindowComponent } from '../wall/ch-rss-import-window/ch-rss-import-window.component';\nimport { ChFileImportWindowUrlComponent } from '../cloud/ch-file-import-url-window/ch-file-import-url-window.component';\nimport { SiasaVisita2022Component } from '../proyectos/siasa/siasa-visita2022/siasa-visita2022.component';\nimport { SiasaVisitaDetalle2022Component } from '../proyectos/siasa/siasa-visita-detalle2022/siasa-visita-detalle2022.component';\n\nimport { BugEditWindowComponent } from '../proyectos/depuracion/bug-edit-window/bug-edit-window.component';\n\nimport { ChWebDesignRootComponent } from '../design/ch-web-design-root/ch-web-design-root.component';\nimport { ChPageBrowserControl } from '../design/ch-page-browser-control/ch-page-browser.component';\nimport { ChWebUploadZipWindow } from '../design/ch-web-upload-zip-window/ch-web-upload-zip-window.component';\n\nimport { ChAccountMysitesComponent } from '../account/ch-account-mysites/ch-account-mysites.component';\nimport { ChSiteViewComponent } from '../account/ch-site-view/ch-site-view.component';\n\nimport { ChChatgptMainComponent } from '../chatGPT/ch-chatgpt-main/ch-chatgpt-main.component';\nimport { ChChatgptConfigWindowComponent } from '../chatGPT/ch-chatgpt-config-window/ch-chatgpt-config-window.component';\n\nimport { ChCustomTranslateLoader, ChMissingTranslationHandler } from '../i18/ChCustomsTranslateLoader';\n\n// Gestion CHIL\nimport { ChChilAdminMasterComponent } from '../chiladmin/ch-chil-admin-master/ch-chil-admin-master';\nimport { ChChilAdminCopyWebsComponent } from '../chiladmin/ch-chil-admin-copy-webs/ch-chil-admin-copy-webs';\n\n// Otros\nimport { ChMusicPlayerComponent } from '../utils/ch-music-player/ch-music-player.component';\nimport { TimeConversionPipe } from '../utils/ch-music-player/time-conversion.pipe';\n\n/*\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, './assets/i18n/chil/', '.json');\n}\n*/\nexport function HttpLoaderFactory(http: HttpClient) {\n return new ChCustomTranslateLoader(http, './assets/i18n/chil/', '.json');\n}\n\n@NgModule({\n imports: [\n BrowserModule,\n ObserversModule,\n BrowserAnimationsModule,\n BsDatepickerModule.forRoot(),\n TimepickerModule.forRoot(),\n BsDropdownModule.forRoot(),\n TooltipModule.forRoot(),\n AccordionModule.forRoot(),\n CollapseModule.forRoot(),\n TreeModule.forRoot(),\n\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n\n ColorPickerModule,\n NgSelectModule,\n Ng2CacheModule,\n VirtualScrollerModule,\n\n ChilSystemModule,\n\n PopoverModule.forRoot(),\n TypeaheadModule.forRoot(),\n RouterModule.forChild([]),\n TabsModule.forRoot(),\n TranslateModule.forRoot({\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: ChMissingTranslationHandler\n },\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n },\n }),\n AlertModule.forRoot(),\n\n AngularResizedEventModule,\n\n ToastrModule.forRoot(),\n DataTablesModule,\n ModalModule.forRoot(),\n TagInputModule,\n UiSwitchModule,\n\n TextMaskModule,\n EditorModule,\n AceEditorModule,\n\n NgxSummernoteModule,\n\n Ng2ScrollableModule,\n NgxMasonryModule,\n\n SiasaModule,\n InfopacModule,\n\n //TimezonePickerModule,\n //MomentTimezonePickerModule\n ],\n declarations: [\n ChLoginComponent,\n ChAppleLoginComponent,\n ChAppleCallbackComponent,\n ChGoogleLoginComponent,\n\n ChLangSelectorComponent,\n\n ChWebAdminEditorWindowComponent,\n\n Error404Component,\n ChDatabaseEditorComponent,\n ChDatatableBrowserComponent,\n ChTableEditorComponent,\n ChTableEditorFieldDialogComponent,\n ChSmallDialogComponent,\n ChLargeDialogComponent,\n ChDataimporterComponent,\n ChCopyTableDataWindowComponent,\n ChDatatableExecuteDialogComponent,\n\n HomeviewComponent,\n ChAccountAdminComponent,\n ChAccountAdminNomenuComponent,\n\n ChDynPanelComponent,\n ChDynPanelItemComponent,\n ChZonesMenuComponent,\n\n ChCategoryBrowserComponent,\n ChCategoryEditorWindowComponent,\n ChFamilyCategoryEditorWindowComponent,\n\n ChFormsTextEdit,\n ChSwitchComponent,\n ChFormsInfoIconComponent,\n ChFormsColor,\n ChFormsCombo,\n ChFormsComboMultiple,\n ChFormsSlider,\n ChFormsSwitch,\n ChFormsTextBox,\n ChFormsRadioButton,\n ChFormsRadioGroup,\n\n ChPageAnalyticsComponent,\n ChPostsAnalyticsComponent,\n ChListsAnalyticsComponent,\n ChActivtyAnalyticsComponent,\n\n ChEmail,\n ChFormsCheck,\n ChFormsControlTitle,\n ChFormsCheckGroup,\n ChFormsButtonGroup,\n ChFormsPostTypeSelect,\n ChFormsGroup,\n ChFormsDatetime,\n ChFormsCategorySelector,\n ChFormsCategorySelectorWindow,\n ChFormsCode,\n ChFormsImagePicker,\n ChFormsImageMosaic,\n ChFormsDocumentPicker,\n ChFormsControlGeneric,\n ChFormsUserPicker,\n ChFormsZoneSelector,\n ChFormsExternal,\n ChFormsLocationPicker,\n ChFormsZoneAuth,\n ChFormsTagsEditor,\n ChFormsRichEdit,\n ChPasteRichTextWindow,\n ChFormsAttachmentsPicker,\n ChFormsCategoryEditor,\n ChFormsLabel,\n ChFormsMapSetter,\n ChFormsMapDisplay,\n ChFormsFiles,\n ChFormsFile,\n ChFormsSelectItem,\n ChFormsSelectGroup,\n ChFormsProductsFamilyPicker,\n ChFormsFont,\n ChFormsPostSelector,\n ChFormsYoutubePlayer,\n ChFormsIvooxPlayer,\n ChFormsLink,\n ChFormsLanguagePicker,\n\n ChFormsLinkEditorWindowComponent,\n ChFormsRepeatProgramming,\n ChFormsRepeatEditorWindowComponent,\n\n ChFormsDuration,\n ChFormsWeekPlan,\n\n ChForm,\n\n ChLocationPickerWindowComponent,\n\n ChTagsCloudComponent,\n ChCategoryContentEditorComponent,\n ChDynpanelCardComponent,\n ChCategoryContentCopyWindowComponent,\n\n ChListsBrowserComponent,\n ChListEditorWindowComponent,\n ChListAddActorWindowComponent,\n ChListContentsCopyWindowComponent,\n ChActorCard,\n\n ChWorkSpaceComponent,\n ChWorkGroupComponent,\n ChWorkPanelComponent,\n ChWorkgroupItem,\n ChInfoIboxComponent,\n ChChartComponent,\n ChDatatableComponent,\n ChImageZoomDialogComponent,\n ChImageCropperDialogComponent,\n ChActorBoxComponent,\n\n AgrovivaEntregaComponent,\n AgrovivaEntregaDetalleComponent,\n SiasaVisita2019Component,\n SiasaVisitaDetalle2019Component,\n SiasaVisita2020Component,\n SiasaVisitaDetalle2020Component,\n\n // Cloud y ficheros\n ChCloudBrowserComponent,\n ChFileCardComponent,\n ChFileSelectWindowComponent,\n ChFileImportWindowComponent,\n ChFileImportWindowUrlComponent,\n ChNewFolderWindowComponent,\n\n ChZoneBrowserComponent,\n ChZoneCreateWindowComponent,\n ChZoneDeleteWindowComponent,\n\n // Utilidades\n ChSafePipe,\n\n ChPostDataBrowserComponent,\n\n ChMobileConfComponent,\n ChMobileConfActivationComponent,\n ChMobileConfImageComponent,\n ChMobileImportWindowComponent,\n ChMobileConfMessagesComponent,\n\n // Muro y posts\n ChPostsCopyWindowComponent,\n ChContentRootComponent,\n ChFormsRootComponent,\n ChRssImportWindowComponent,\n ChPostEditFormComponent,\n ChCommentEditFormComponent,\n ChPostEditFormFormComponent,\n ChPostEditFormFieldComponent,\n ChPostEditBodyWindowComponent,\n ChCommentDetailedComponent,\n ChPostDetailedFormComponent,\n ChContentItemCompactComponent,\n ChPostDetailedComponent,\n ChPostsCopyDbWindowComponent,\n ChPostsImportEventsWindowComponent,\n\n // Pantalla de configuración global\n ChSystemConfigComponent,\n\n // Mail\n ChMailConfigComponent,\n ChMailTemplatesComponent,\n ChMailEditorWindowComponent,\n ChMailViewComponent,\n\n // Commerce\n ChCommerceConfigComponent,\n ChProductListComponent,\n ChProductViewComponent,\n ChProductEditorComponent,\n ChOrderEditorComponent,\n ChOrderEditorDetailComponent,\n ChProductViewFormatComponent,\n ChInvoicewindowComponent,\n ChChannelListEditorComponent,\n SiasaVisita2021Component,\n SiasaVisitaDetalle2021Component,\n ChOrderBrowserComponent,\n ChInvoiceBrowserComponent,\n ChInvoiceEditorComponent,\n ChProductTypesConfigWindowComponent,\n\n // Zone selector\n ChZoneSelectionPanelComponent,\n ChZoneCard,\n ChFormsCategorySelectorWindow,\n\n // Pantallas especializadas\n SiasaVisita2022Component,\n SiasaVisitaDetalle2022Component,\n BugEditWindowComponent,\n\n // Diseño web\n ChWebDesignRootComponent,\n ChPageBrowserControl,\n ChWebUploadZipWindow,\n\n ChAccountMysitesComponent,\n\n ChSiteViewComponent,\n\n ChChatgptMainComponent,\n ChChatgptConfigWindowComponent,\n\n // Administracion CHIL\n ChChilAdminMasterComponent,\n\n ChChilAdminCopyWebsComponent,\n\n // Otros\n ChMusicPlayerComponent,\n TimeConversionPipe,\n\n ],\n exports: [\n ChLoginComponent,\n ChLangSelectorComponent,\n TranslateModule,\n Error404Component\n\n ],\n entryComponents: [ChSmallDialogComponent, ChLargeDialogComponent, ChDataimporterComponent,\n ChCopyTableDataWindowComponent, ChDatatableExecuteDialogComponent,\n ChTableEditorFieldDialogComponent,\n ChLocationPickerWindowComponent,\n ChCategoryEditorWindowComponent, ChFamilyCategoryEditorWindowComponent,\n ChFormsCategorySelectorWindow,\n ChListEditorWindowComponent, ChListAddActorWindowComponent, ChListContentsCopyWindowComponent,\n ChCategoryContentCopyWindowComponent,\n ChImageZoomDialogComponent,\n ChImageCropperDialogComponent,\n ChZoneCreateWindowComponent, ChZoneDeleteWindowComponent,\n ChFileSelectWindowComponent,\n ChPostsCopyWindowComponent,\n ChInvoicewindowComponent,\n ChMobileImportWindowComponent,\n ChFileImportWindowComponent,\n ChRssImportWindowComponent,\n ChFileImportWindowUrlComponent,\n ChNewFolderWindowComponent,\n ChPasteRichTextWindow,\n ChWebUploadZipWindow,\n ChWebAdminEditorWindowComponent,\n ChProductTypesConfigWindowComponent,\n ChPostEditBodyWindowComponent,\n ChMailEditorWindowComponent,\n ChChatgptConfigWindowComponent,\n ChPostsCopyDbWindowComponent,\n ChFormsLinkEditorWindowComponent,\n ChFormsRepeatEditorWindowComponent,\n ChPostsImportEventsWindowComponent\n ],\n providers: [TranslateService, CHAuthGuard, CookieService, ChGlobalsService, ChApiService,\n ChDataManagerService, ChActorManagerService, BsModalService, ChAppleLoginService, ChGoogleLoginService\n\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA\n ],\n})\n\nexport class ChilWebModule {\n\n constructor(chGlobal: ChGlobalsService) {\n chGlobal.initTranslation();\n }\n\n}\n","export default \".ch-admin-container {\\n position: relative;\\n}\\n.ch-admin-container .ch-admin-config.ch-config-icon {\\n position: absolute;\\n top: 10px;\\n right: 10px;\\n}\\n.user-profile-container {\\n padding: 20px;\\n padding-top: 40px;\\n max-width: 1000px;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.user-profile-container .user-header {\\n aspect-ratio: 4/1;\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n position: relative;\\n padding: 30px;\\n}\\n.user-profile-container .user-header .user-pic {\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n height: 70%;\\n aspect-ratio: 1/1;\\n border: solid white 2px;\\n}\\n.user-profile-container .user-info {\\n margin-top: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jaGlsd2ViL2hvbWV2aWV3L2hvbWV2aWV3LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2NoaWx3ZWIvaG9tZXZpZXcvaG9tZXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBQTtBQ0NGO0FEQ0U7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0FDQ0o7QURJQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQ0RGO0FER0U7RUFDRSxpQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtBQ0RKO0FER0k7RUFDRSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBQ0ROO0FES0U7RUFDRSxnQkFBQTtBQ0hKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jaGlsd2ViL2hvbWV2aWV3L2hvbWV2aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNoLWFkbWluLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2gtYWRtaW4tY29uZmlnLmNoLWNvbmZpZy1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG5cblxuLnVzZXItcHJvZmlsZS1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgLnVzZXItaGVhZGVyIHtcbiAgICBhc3BlY3QtcmF0aW86IDQgLyAxO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAudXNlci1waWMge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDcwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICBib3JkZXI6IHNvbGlkIHdoaXRlIDJweDtcbiAgICB9XG4gIH1cblxuICAudXNlci1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbn1cbiIsIi5jaC1hZG1pbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2gtYWRtaW4tY29udGFpbmVyIC5jaC1hZG1pbi1jb25maWcuY2gtY29uZmlnLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi51c2VyLXByb2ZpbGUtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVzZXItcHJvZmlsZS1jb250YWluZXIgLnVzZXItaGVhZGVyIHtcbiAgYXNwZWN0LXJhdGlvOiA0LzE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuLnVzZXItcHJvZmlsZS1jb250YWluZXIgLnVzZXItaGVhZGVyIC51c2VyLXBpYyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiA3MCU7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXI6IHNvbGlkIHdoaXRlIDJweDtcbn1cbi51c2VyLXByb2ZpbGUtY29udGFpbmVyIC51c2VyLWluZm8ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufSJdfQ== */\"","import { Component, OnDestroy, OnInit, } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { isNullOrUndefined } from 'util';\nimport { GroupAdmin, GroupInfo } from '../ch-globals-def';\nimport { ChGlobalsService } from '../ch-globals.service';\nimport { ChWebAdminEditorWindowComponent } from '../ch-webadmin-editor-window/ch-webadmin-editor-window.component';\n\n@Component({\n selector: 'app-homeview',\n templateUrl: './homeview.component.html',\n styleUrls: ['./homeview.component.scss']\n})\nexport class HomeviewComponent implements OnInit {\n\n\n public nav:any;\n\n public groupAdmin: GroupAdmin = null;\n public groupInfo: GroupInfo = null;\n public groupHeader: string = '';\n public groupPic: string = '';\n\n public constructor(private translate: TranslateService, private chGlobal: ChGlobalsService) {\n this.nav = document.querySelector('nav.navbar');\n this.groupAdmin = this.chGlobal.getCurrentAdminProfile();\n this.groupInfo = this.chGlobal.getGroupInfo();\n this.groupHeader = this.chGlobal.correctImageURL(this.groupInfo.headerPictureUrl);\n this.groupPic = this.chGlobal.correctImageURL(this.groupInfo.pictureUrl);\n\n console.log(\"--------------\")\n console.log(this.chGlobal.getGroupInfo().type)\n console.log(\"--------------\")\n }\n\n\n public ngOnInit():any {\n this.nav.className += \" white-bg\";\n\n if (this.groupHeader != ''){\n this.extractColors(this.groupHeader)\n }\n }\n\n\n public ngOnDestroy():any {\n this.nav.classList.remove(\"white-bg\");\n }\n\n public dummy() {\n console.log( 'HOME DUMMY!');\n }\n\n private editAdmin( ) {\n\n ChWebAdminEditorWindowComponent.show(\n { initialState : {\n data : {\n }\n },\n class: 'ch-modal-80',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n private getBackColor() : string {\n if (isNullOrUndefined(this.groupAdmin.adminOptions) ||\n isNullOrUndefined(this.groupAdmin.adminOptions['backAdminColor'])) {\n return this.chGlobal.toColor( 0xFFFFFF) ;\n } else {\n return this.chGlobal.toColor(this.groupAdmin.adminOptions['backAdminColor']);\n }\n }\n\n private async extractColors(imagePath : string) {\n\n }\n\n}\n","export default \".list-file-container {\\n width: 100%;\\n display: flex;\\n align-items: flex-start;\\n flex-wrap: wrap;\\n}\\n\\n.list-file-card {\\n height: 100px;\\n padding: 5px;\\n width: 100px;\\n flex-grow: 0;\\n}\\n\\n.list-file-filler {\\n height: 100px;\\n padding: 5px;\\n width: 100px;\\n flex-grow: 0;\\n}\\n\\n.list-file-footer-text {\\n margin: 10px 10px 0px 10px;\\n}\\n\\n.ch-file-selected-name {\\n padding: 5px;\\n font-size: larger;\\n color: #416ED9;\\n}\\n\\n.ch-file-selected-descr {\\n padding: 5px 5px 5px 0px;\\n color: #416ED9;\\n}\\n\\n.ch-file-attr-label {\\n width: 120px;\\n text-align: right;\\n padding-right: 10px;\\n padding-top: 3px;\\n}\\n\\n.ch-file-attr-value,\\n.ch-file-attr-value a {\\n padding-top: 3px;\\n color: #416ED9;\\n padding-bottom: 2px;\\n padding-left: 5px;\\n padding-right: 5px;\\n width: 200px;\\n background: #F0F0F0;\\n}\\n\\n.ch-file-table-item-row {\\n border-top: 1px solid #F3F3F3;\\n color: #416ED9;\\n}\\n\\n.ch-file-table-icon {\\n width: 22px;\\n padding: 5px;\\n}\\n\\n.ch-file-table-name {\\n overflow: hidden;\\n max-width: 150px;\\n min-width: 150px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.ch-file-table-size {\\n width: 80px;\\n padding: 5px;\\n text-align: right;\\n}\\n\\n.ch-file-table-checked {\\n color: green;\\n}\\n\\n.ch-file-table-total-row {\\n border-top: 1px solid #F3F3F3;\\n}\\n\\n.player .wrapper {\\n font-family: \\\"Raleway\\\", sans-serif;\\n border-radius: 15px;\\n display: flex;\\n align-items: center;\\n width: 500px;\\n height: 130px;\\n background: #000000;\\n padding-top: 25px;\\n position: relative;\\n}\\n\\n.player .wrapper .cover img {\\n max-width: 100px;\\n max-height: 100px;\\n margin-left: 10px;\\n border-radius: 50%;\\n}\\n\\n.player .wrapper .loader {\\n text-align: center;\\n color: #ffff;\\n margin: 0 auto;\\n position: relative;\\n}\\n\\n.player .wrapper .error {\\n text-align: center;\\n color: #ff3737;\\n margin: 0 auto;\\n position: relative;\\n}\\n\\n.player .wrapper .container {\\n padding: 5px;\\n width: 100%;\\n}\\n\\n.player .wrapper .container .details {\\n text-align: center;\\n}\\n\\n.player .wrapper .container .details .title {\\n color: #4c82af;\\n margin: 7px 0 15px 0px;\\n}\\n\\n.player .wrapper .container .controls {\\n display: flex;\\n justify-content: space-around;\\n margin-top: 8px;\\n flex-basis: auto;\\n flex-direction: row;\\n flex-wrap: wrap;\\n}\\n\\n.player .wrapper .container .controls svg {\\n width: 25px;\\n height: 25px;\\n margin: 0 20px;\\n cursor: pointer;\\n}\\n\\n.player .wrapper .container .volume-container {\\n position: relative;\\n}\\n\\n.player .wrapper .container .volume-container .volume-control {\\n width: 90px;\\n position: absolute;\\n left: -9px;\\n top: -62px;\\n height: 32px;\\n display: none;\\n transform: rotate(270deg);\\n z-index: 1000;\\n}\\n\\n.player .wrapper .container .volume-container:hover .volume-control {\\n display: block;\\n}\\n\\n.player .slidecontainer {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.player .slidecontainer .time-line {\\n display: flex;\\n justify-content: space-between;\\n width: 87%;\\n margin: 7px 0 2px 0;\\n color: #4c82af;\\n}\\n\\n.player .slider {\\n -webkit-appearance: none;\\n width: 87%;\\n height: 2px;\\n border-radius: 5px;\\n background: #ffffff;\\n outline: none;\\n opacity: 1;\\n transition: opacity 0.2s;\\n z-index: 1000;\\n}\\n\\n.player .slider::-webkit-slider-thumb {\\n -webkit-appearance: none;\\n appearance: none;\\n width: 15px;\\n height: 15px;\\n border-radius: 50%;\\n background: #4c82af;\\n cursor: pointer;\\n}\\n\\n.player .slider::-moz-range-thumb {\\n width: 15px;\\n height: 15px;\\n border-radius: 50%;\\n background: #4c82af;\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jbG91ZC9jaC1jbG91ZC1icm93c2VyL2NoLWNsb3VkLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvY2xvdWQvY2gtY2xvdWQtYnJvd3Nlci9jaC1jbG91ZC1icm93c2VyLmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7RUFDSSxXQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtBQ0hKOztBRE1BO0VBQ0ksYUFWYTtFQVdiLFlBQUE7RUFDQSxZQVphO0VBYWIsWUFBQTtBQ0hKOztBRE1BO0VBQ0ksYUFqQmE7RUFrQmIsWUFBQTtFQUNBLFlBbkJhO0VBb0JiLFlBQUE7QUNISjs7QURNQTtFQUNJLDBCQUFBO0FDSEo7O0FETUE7RUFDSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxjRXlJaUI7QUQ1SXJCOztBRE1BO0VBQ0ksd0JBQUE7RUFDQSxjRW9JaUI7QUR2SXJCOztBRE1BO0VBQ0ksWUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ0hKOztBRE1BOztFQUVJLGdCQUFBO0VBQ0EsY0U4RG9CO0VGN0RwQixtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJFd0R5QjtBRDNEN0I7O0FETUE7RUFDSSw2QkFBQTtFQUNBLGNFNkdpQjtBRGhIckI7O0FETUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQ0hKOztBRE1BO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDSEo7O0FETUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FDSEo7O0FETUE7RUFDSSxZRVZTO0FET2I7O0FETUE7RUFDSSw2QkFBQTtBQ0hKOztBRFNFO0VBQ0Usa0NBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FDTko7O0FEU007RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQ1BOOztBRFdJO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FDVE47O0FEV0k7RUFDRSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QUNUTjs7QURXSTtFQUNFLFlBQUE7RUFDQSxXQUFBO0FDVE47O0FEVU07RUFDRSxrQkFBQTtBQ1JSOztBRFNRO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0FDUFY7O0FEV007RUFDRSxhQUFBO0VBQ0EsNkJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNUUjs7QURXUTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QUNUVjs7QURhTTtFQUNFLGtCQUFBO0FDWFI7O0FEWVE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0FDVlY7O0FEYVU7RUFDQyxjQUFBO0FDWFg7O0FEa0JFO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0FDaEJKOztBRGtCSTtFQUNFLGFBQUE7RUFDQSw4QkFBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7QUNoQk47O0FEb0JFO0VBQ0Usd0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtFQUNBLHdCQUFBO0VBQ0EsYUFBQTtBQ2xCSjs7QURxQkU7RUFDRSx3QkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ25CSjs7QURzQkU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0FDcEJKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jbG91ZC9jaC1jbG91ZC1icm93c2VyL2NoLWNsb3VkLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbiRmaWxlLWNhcmQtc2l6ZTogMTAwcHg7XG5cbi5saXN0LWZpbGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmxpc3QtZmlsZS1jYXJkIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgd2lkdGg6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBmbGV4LWdyb3c6IDA7XG59XG5cbi5saXN0LWZpbGUtZmlsbGVyIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgd2lkdGg6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBmbGV4LWdyb3c6IDA7XG59XG5cbi5saXN0LWZpbGUtZm9vdGVyLXRleHQge1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDBweCAxMHB4O1xufVxuXG4uY2gtZmlsZS1zZWxlY3RlZC1uYW1lIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3Jcbn1cblxuLmNoLWZpbGUtc2VsZWN0ZWQtZGVzY3Ige1xuICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDBweDtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvclxufVxuXG4uY2gtZmlsZS1hdHRyLWxhYmVsIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xufVxuXG4uY2gtZmlsZS1hdHRyLXZhbHVlLFxuLmNoLWZpbGUtYXR0ci12YWx1ZSBhIHtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIGNvbG9yOiAkcGFuZWwtdXNlci1kYXRhLWNvbG9yO1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmRcbn1cblxuLmNoLWZpbGUtdGFibGUtaXRlbS1yb3cge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyO1xuICAgIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yXG59XG5cbi5jaC1maWxlLXRhYmxlLWljb24ge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLmNoLWZpbGUtdGFibGUtbmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2gtZmlsZS10YWJsZS1zaXplIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaC1maWxlLXRhYmxlLWNoZWNrZWQge1xuICAgIGNvbG9yOiAkaW5mby1jb2xvcjtcbn1cblxuLmNoLWZpbGUtdGFibGUtdG90YWwtcm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbn1cblxuXG4ucGxheWVyIHtcblxuICAud3JhcHBlciB7XG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDo1MDBweDtcbiAgICBoZWlnaHQ6MTMwcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY292ZXJ7XG4gICAgICBpbWd7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9hZGVye1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICNmZmZmO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5lcnJvcntcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiByZ2IoMjU1LCA1NSwgNTUpO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgIGNvbG9yOiByZ2IoNzYsIDEzMCwgMTc1KTtcbiAgICAgICAgICBtYXJnaW46IDdweCAwIDE1cHggMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZvbHVtZS1jb250YWluZXJ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnZvbHVtZS1jb250cm9sIHtcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgICB0b3A6IC02MnB4O1xuICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyICB7XG4gICAgICAgICAgLnZvbHVtZS1jb250cm9se1xuICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICB9XG4gICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC50aW1lLWxpbmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiA4NyU7XG4gICAgICBtYXJnaW46IDdweCAwIDJweCAwO1xuICAgICAgY29sb3I6IHJnYig3NiwgMTMwLCAxNzUpO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZXIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogODclO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgei1pbmRleDogMTAwMDtcbiAgfVxuXG4gIC5zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYig3NiwgMTMwLCAxNzUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiKDc2LCAxMzAsIDE3NSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbn1cbiIsIi5saXN0LWZpbGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5saXN0LWZpbGUtY2FyZCB7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5saXN0LWZpbGUtZmlsbGVyIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLmxpc3QtZmlsZS1mb290ZXItdGV4dCB7XG4gIG1hcmdpbjogMTBweCAxMHB4IDBweCAxMHB4O1xufVxuXG4uY2gtZmlsZS1zZWxlY3RlZC1uYW1lIHtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IGxhcmdlcjtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5jaC1maWxlLXNlbGVjdGVkLWRlc2NyIHtcbiAgcGFkZGluZzogNXB4IDVweCA1cHggMHB4O1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmNoLWZpbGUtYXR0ci1sYWJlbCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG59XG5cbi5jaC1maWxlLWF0dHItdmFsdWUsXG4uY2gtZmlsZS1hdHRyLXZhbHVlIGEge1xuICBwYWRkaW5nLXRvcDogM3B4O1xuICBjb2xvcjogIzQxNkVEOTtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xufVxuXG4uY2gtZmlsZS10YWJsZS1pdGVtLXJvdyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjNGM0YzO1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmNoLWZpbGUtdGFibGUtaWNvbiB7XG4gIHdpZHRoOiAyMnB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jaC1maWxlLXRhYmxlLW5hbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNoLWZpbGUtdGFibGUtc2l6ZSB7XG4gIHdpZHRoOiA4MHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2gtZmlsZS10YWJsZS1jaGVja2VkIHtcbiAgY29sb3I6IGdyZWVuO1xufVxuXG4uY2gtZmlsZS10YWJsZS10b3RhbC1yb3cge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0YzRjNGMztcbn1cblxuLnBsYXllciAud3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDUwMHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBsYXllciAud3JhcHBlciAuY292ZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4ucGxheWVyIC53cmFwcGVyIC5sb2FkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wbGF5ZXIgLndyYXBwZXIgLmVycm9yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmMzczNztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wbGF5ZXIgLndyYXBwZXIgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGxheWVyIC53cmFwcGVyIC5jb250YWluZXIgLmRldGFpbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGxheWVyIC53cmFwcGVyIC5jb250YWluZXIgLmRldGFpbHMgLnRpdGxlIHtcbiAgY29sb3I6ICM0YzgyYWY7XG4gIG1hcmdpbjogN3B4IDAgMTVweCAwcHg7XG59XG4ucGxheWVyIC53cmFwcGVyIC5jb250YWluZXIgLmNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZmxleC1iYXNpczogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnBsYXllciAud3JhcHBlciAuY29udGFpbmVyIC5jb250cm9scyBzdmcge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW46IDAgMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBsYXllciAud3JhcHBlciAuY29udGFpbmVyIC52b2x1bWUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBsYXllciAud3JhcHBlciAuY29udGFpbmVyIC52b2x1bWUtY29udGFpbmVyIC52b2x1bWUtY29udHJvbCB7XG4gIHdpZHRoOiA5MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05cHg7XG4gIHRvcDogLTYycHg7XG4gIGhlaWdodDogMzJweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgei1pbmRleDogMTAwMDtcbn1cbi5wbGF5ZXIgLndyYXBwZXIgLmNvbnRhaW5lciAudm9sdW1lLWNvbnRhaW5lcjpob3ZlciAudm9sdW1lLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wbGF5ZXIgLnNsaWRlY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGxheWVyIC5zbGlkZWNvbnRhaW5lciAudGltZS1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogODclO1xuICBtYXJnaW46IDdweCAwIDJweCAwO1xuICBjb2xvcjogIzRjODJhZjtcbn1cbi5wbGF5ZXIgLnNsaWRlciB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDg3JTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLnBsYXllciAuc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjNGM4MmFmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucGxheWVyIC5zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICM0YzgyYWY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { Component, OnInit, ViewContainerRef, ViewChild, AfterViewInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ChFolder, ChFileCompact, FileType } from '../ch-file';\nimport { ChGridContainer } from '../../grid/ch-grid-container.component';\nimport { ChWorkPanelComponent } from '../../dynpanel/ch-workpanel/ch-workpanel.component';\nimport * as JSZip from 'jszip';\nimport * as JSZipUtils from 'jszip-utils';\nimport * as FileSaver from 'file-saver';\nimport { GroupInfo, MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFileImportWindowComponent } from '../ch-file-import-window/ch-file-import-window.component';\nimport { ChActor } from 'app/chil/actor/ch-actor';\nimport { SystemConst } from 'systemConst';\nimport { ChFileImportWindowUrlComponent } from '../ch-file-import-url-window/ch-file-import-url-window.component';\nimport { ChNewFolderWindowComponent } from '../ch-new-folder-window/ch-new-folder-window.component';\n\n@Component({\n selector: 'app-ch-cloud-browser',\n templateUrl: './ch-cloud-browser.component.html',\n styleUrls: ['./ch-cloud-browser.component.scss', '../../forms/ch-forms.scss']\n})\nexport class ChCloudBrowserComponent extends ChGridContainer implements OnInit, AfterViewInit {\n\n private orderOptions = [\n {label: this.chGlobal.translateStr('Natural'), code: 'natural'},\n {label: this.chGlobal.translateStr('Nombre'), code: 'name'},\n {label: this.chGlobal.translateStr('Tipo + Nombre'), code: 'typename'}\n ];\n\n private chilUrl = SystemConst.chilUrl;\n private folderUid: string = undefined;\n public folder: ChFolder = undefined;\n private userRootFolder: ChFolder = undefined;\n private groupRootFolder: ChFolder = undefined;\n private parentsStack: Array = []; // Stack de padres\n\n private user: ChActor = null;\n private group: GroupInfo = null;\n private userSelected = true;\n\n private sorting = this.orderOptions[2];\n private nSelectedFiles = 0;\n private fileSelected: ChFileCompact = null;\n private filesProcessed: Array = [];\n\n @ViewChild('folderPanel', { static: false}) public folderPanel: ChWorkPanelComponent;\n @ViewChild('itemsPanel', { static: false}) public itemsPanel: ChWorkPanelComponent;\n\n private nFiles = 0;\n private nFolders = 0;\n private nImages = 0;\n private nDocuments = 0;\n private nOthers = 0;\n private orden = 'natural';\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) {\n\n super();\n // Inicializar los toasts para esta ventana\n chGlobal.initToasts(vcr);\n\n this.user = chGlobal.getCurrentUser();\n this.group = chGlobal.getGroupInfo();\n\n this.folderUid = this.route.snapshot.params.folderid;\n console.log( '* CARPETA ' + this.folderUid);\n\n }\n\n ngOnInit() {\n this.selectUser( false );\n /*\n this.chGlobal.getUserRootFolder().then( value => {\n this.folder = value;\n this.loadItems(this.sorting.code);\n console.log( this.itemsList );\n });\n */\n }\n\n ngAfterViewInit() {\n\n }\n\n private dummy(event) {\n console.log(event);\n }\n\n loadItems(sorting: string) {\n this.itemsList = [];\n\n this.nFiles = 0;\n this.nFolders = 0;\n this.nImages = 0;\n this.nDocuments = 0;\n this.nOthers = 0;\n this.folder.subFolders.forEach( folder => {\n this.itemsList.push( folder );\n this.nFolders++;\n });\n const tempList: Array = [];\n\n this.folder.files.forEach( file => {\n tempList.push( file );\n this.nFiles++;\n if (file.type === FileType.image) {\n this.nImages++;\n } else if (file.type === FileType.document) {\n this.nDocuments++;\n } else {\n this.nOthers++;\n }\n });\n // Ordenar el array\n if (sorting === 'name') {\n tempList.sort( (a, b) => { return a.name === b.name ? 0 : a.name > b.name ? 1 : -1; });\n } else if (sorting === 'typename') {\n tempList.sort( (a, b) => {\n if (a.type === b.type) {\n return a.name === b.name ? 0 : a.name > b.name ? 1 : -1;\n } else {\n return a.type - b.type;\n }\n });\n }\n\n tempList.forEach( file => { this.itemsList.push( file ); });\n\n setTimeout(() => {\n this.gridItemsInit();\n this.folderPanel.isWorking = false;\n },\n 0);\n };\n\n deleteItems() {\n\n if (this.selectedItemsList.length == 0) {\n return;\n }\n\n this.chGlobal.showConfirmDialog( this.chGlobal.translateStr('ELIMINAR FICHEROS DE LA NUBE'),\n this.selectedItemsList.length == 1 ?\n this.chGlobal.translateStrWithParams('¿Está seguro de querer eliminar el fichero %1 ?', [this.selectedItemsList[0].name]) :\n this.chGlobal.translateStrWithParams('¿¿Está seguro de querer eliminar %1 ficheros?', [this.selectedItemsList.length.toString()])\n ,\n this.chGlobal.translateStr('La operación no será reversible y afectará a todos los usos que se haga en la plataforma.'),\n () => {\n this.chGlobal.showRunningWindow('Eliminando ficheros...');\n\n let promiseArray: Promise[] = []\n for (let i= 0; i< this.selectedItemsList.length; i++) {\n promiseArray.push(this.chGlobal.deleteFile( this.selectedItemsList[i].uid, this.folder.uid));\n }\n\n Promise.all(promiseArray).then( v => {\n for (let i= 0; i< this.selectedItemsList.length; i++) {\n if (this.selectedItemsList[i] != undefined && this.selectedItemsList[i] != null ){\n this.itemsList.splice(this.itemsList.indexOf( this.selectedItemsList[i] ), 1);\n }\n }\n this.nSelectedFiles = 0;\n this.fileSelected = null;\n this.selectedItemsList = [];\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Ficheros eliminados',\n 'Los ficheros seleccionados han sido eliminados con éxito.');\n },\n reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de borrado',\n 'No todos los ficheros seleccionados han podido ser eliminados.');\n }). catch( reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de borrado',\n 'No todos los ficheros seleccionados han podido ser eliminados.');\n })\n\n },\n this.chGlobal.translateStr('Eliminar'), this.chGlobal.translateStr('Cancelar'));\n\n }\n\n addItems() {\n ChFileImportWindowComponent.show(this.itemsList, this.selectedItemsList, this.folder.uid, null, () => {\n // this.loadItems(this.sorting.code);\n setTimeout(() => {\n this.gridItemsInit();\n },\n 0);\n });\n }\n\n addWebFile() {\n ChFileImportWindowUrlComponent.show(this.itemsList, this.selectedItemsList, this.folder.uid, null, () => {\n //console.log('Importacion terminda!');\n setTimeout(() => {\n this.gridItemsInit();\n },\n 0);\n });\n }\n\n addNewFolder() {\n ChNewFolderWindowComponent.show(this.itemsList, this.selectedItemsList, this.folder.uid, null, () => {\n //console.log('Nueva carpeta!!');\n setTimeout(() => {\n this.gridItemsInit();\n this.nFolders++;\n },\n 0);\n });\n }\n\n selectUser( selectuser: boolean) {\n this.userSelected = selectuser;\n if (this.userSelected) {\n if (this.userRootFolder === undefined) {\n if (this.folderPanel) {\n this.folderPanel.isWorking = true;\n }\n this.chGlobal.getUserRootFolder().then( value => {\n this.userRootFolder = value;\n this.folder = this.userRootFolder;\n this.parentsStack = [];\n this.loadItems(this.sorting.code);\n if (this.folderPanel) {\n this.folderPanel.isWorking = false;\n }\n });\n } else {\n this.folder = this.userRootFolder;\n this.parentsStack = [];\n this.loadItems('name');\n }\n } else if (this.chGlobal.currentUserIsManager()) {\n if (this.groupRootFolder === undefined) {\n if (this.folderPanel) {\n this.folderPanel.isWorking = true;\n }\n this.chGlobal.getGroupRootFolder().then( value => {\n this.groupRootFolder = value;\n this.folder = this.groupRootFolder;\n this.parentsStack = [];\n this.loadItems('name');\n if (this.folderPanel) {\n this.folderPanel.isWorking = false;\n }\n });\n } else {\n this.folder = this.groupRootFolder;\n this.parentsStack = [];\n this.loadItems('name');\n }\n }\n }\n /**\n * Sobrecarga de ChGridContainer para evitar que se seleccione\n * una crpeta o un grupo de ellas.\n * En una carpeta solo se puede hacer doble click\n * @param uid uid del fichero seleccionado\n * @param options opciones de selección\n */\n public selectItem(uid: string, options: object): void {\n const file = this.itemsList.find( item => {return item.uid === uid; });\n if (file === undefined || (file.type === FileType.folder && options['doubleClick'] === false) ) {\n return;\n } else if (file.type === FileType.folder && options['doubleClick'] === true) {\n //console.log(' -- IR A ' + file.uid);\n this.goToFolder(file.uid);\n return;\n } else {\n super.selectItem(uid, options);\n }\n\n if (this.filesProcessed.length > 0) {\n this.filesProcessed = [];\n }\n\n this.nSelectedFiles = this.selectedItemsList.length;\n this.fileSelected = this.selectedItemsList.length === 1 ? this.selectedItemsList[0] : null;\n //console.log(this.fileSelected);\n }\n\n public resetSelection() {\n this.resetGrid();\n this.nSelectedFiles = 0;\n this.fileSelected = null;\n }\n\n public openSelectedFiles() {\n //console.log('* ABRIR FICHEROS');\n this.selectedItemsList.forEach( file => {\n //console.log(' -- ABRE FICHERO ' + file.uid);\n window.open(\n file.downloadLink(),\n '_blank' // <- This is what makes it open in a new window.\n );\n });\n\n }\n\n public setOrderOption(selOption) {\n this.folderPanel.isWorking = true;\n this.loadItems(selOption.code);\n this.folderPanel.isWorking = false;\n }\n\n public goParent() {\n this.resetSelection();\n this.folder = this.parentsStack.pop();\n this.loadItems(this.sorting.code);\n //console.log( this.itemsList );\n }\n\n public goToFolder(uid: string) {\n this.folderPanel.isWorking = true;\n this.resetSelection();\n this.chGlobal.getFolder(uid).then( value => {\n this.parentsStack.push(this.folder);\n this.folder = value;\n this.loadItems(this.sorting.code);\n //console.log( this.itemsList );\n });\n\n }\n\n public totalSelectedSize(): number {\n let totalSize = 0;\n this.selectedItemsList.forEach( file => {\n totalSize += file.size;\n });\n return totalSize;\n }\n\n public formatType(type: FileType): string {\n switch (type) {\n case FileType.image:\n return this.chGlobal.translateStr('Imagen');\n case FileType.video:\n return this.chGlobal.translateStr('Video');\n case FileType.audio:\n return this.chGlobal.translateStr('Audio');\n case FileType.document:\n return this.chGlobal.translateStr('Documento');\n case FileType.web_page:\n return this.chGlobal.translateStr('Link');\n default:\n return this.chGlobal.translateStr('Fichero');\n }\n }\n\n public formatSize(size: number): string {\n let value = size;\n let suffix = 'b';\n if (value > 1024) {\n value = value / 1024;\n suffix = 'KB';\n\n if (value > 1024) {\n value = value / 1024;\n suffix = 'MB';\n }\n }\n return value.toFixed(2) + ' ' + suffix;\n }\n\n public isProcessed(uid: string) {\n return this.filesProcessed.findIndex(file => { return file.uid === uid; }) !== -1;\n }\n\n /** *************************************\n * COMPRIMIR DOCUMENTOS EN ZIP\n *\n *\n *\n **************************************** */\n\n public generateZip() {\n console.log('* GENERAR FICHERO ZIP');\n const zip: JSZip = new JSZip();\n\n this.filesProcessed = [];\n this.itemsPanel.isWorking = true;\n\n ChGlobalsService.getInstance().showRunningWindow('Descargando... ');\n\n function urlToPromise(file: ChFileCompact, filesProcessed: Array) {\n const me = this;\n return new Promise(function(resolve, reject) {\n JSZipUtils.getBinaryContent(file.downloadLink(), function (err, data) {\n if ( err ) {\n console.log(' - ERROR ' + file.name);\n console.log(err);\n reject(err);\n } else {\n filesProcessed.push(file);\n ChGlobalsService.getInstance().showRunningWindowWithParams( 'Descargando %1 ...', [String(filesProcessed.length)]);\n //console.log(' - CARGADO ' + file.name);\n resolve(data);\n }\n });\n });\n }\n\n this.selectedItemsList.forEach( file => {\n if (file.isImage() || file.isDocument()) {\n zip.file(file.name + file.uid + (file.format !== '' ? '.' + file.format : ''),\n urlToPromise(file, this.filesProcessed), {binary: true});\n }\n });\n\n const me = this;\n zip.generateAsync({type: 'blob'}, function updateCallback(metadata) {\n // const msg = 'progression : ' + metadata.percent.toFixed(2) + ' %';\n ChGlobalsService.getInstance().showRunningWindowWithParams( 'Generando zip %1 % ', [String(metadata.percent.toFixed(2))]);\n // if (metadata.currentFile) {\n // msg += ', current file = ' + metadata.currentFile;\n // }\n // console.log( msg );\n })\n .then(function callback(blob) {\n // see FileSaver.js\n ChGlobalsService.getInstance().hideRunningWindow();\n me.itemsPanel.isWorking = false;\n FileSaver.saveAs(blob, me.folder.name + '.zip');\n }, function (e) {\n console.log(e);\n });\n\n /*\n const promises: Array> = [];\n\n this.selectedItemsList.forEach( file => {\n if (file.isImage() || file.isDocument()) {\n const me = this;\n promises.push( new Promise(function(resolve, reject) {\n JSZipUtils.getBinaryContent(file.downloadLink(), function (err, data) {\n if ( err ) {\n console.log(' - ERROR ' + file.name);\n console.log(err);\n reject(err);\n } else {\n me.filesProcessed.push(file);\n console.log(' - CARGADO ' + file.name);\n resolve(data);\n }\n });\n })\n );\n }\n });\n\n Promise.all(promises).then(values => {\n console.log('* CONSEGUIDO');\n this.itemsPanel.isWorking = false;\n console.log('* *******************');\n },\n error => {\n console.log('* ERROR');\n this.itemsPanel.isWorking = false;\n console.log('* *******************');\n });\n\n */\n\n\n\n }\n\n}\n","export default \".ch-file-card-button {\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n cursor: default;\\n border: none;\\n margin: 0px;\\n padding: 0px;\\n text-align: left;\\n position: relative;\\n background-color: transparent;\\n}\\n\\n.ch-file-card-button.selected {\\n background-color: lightgray;\\n}\\n\\n.ch-file-card-background {\\n width: 100%;\\n height: 100%;\\n background-color: lightgray;\\n background-repeat: no-repeat;\\n background-size: cover;\\n}\\n\\n.ch-file-card-background.selected {\\n opacity: 0.5;\\n}\\n\\n.ch-file-card-icon {\\n position: absolute;\\n top: 0px;\\n left: 10px;\\n height: 70px;\\n width: 70px;\\n}\\n\\n.ch-file-card-name {\\n position: absolute;\\n bottom: 0px;\\n width: 100%;\\n text-align: center;\\n margin: 2px;\\n font-size: small;\\n color: #416ED9;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWNhcmQvY2gtZmlsZS1jYXJkLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2Nsb3VkL2NoLWZpbGUtY2FyZC9jaC1maWxlLWNhcmQuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0FDREo7O0FESUE7RUFDSSwyQkFBQTtBQ0RKOztBRElBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSwyQkV3RGtCO0VGdkRsQiw0QkFBQTtFQUNBLHNCQUFBO0FDREo7O0FESUE7RUFDSSxZQUFBO0FDREo7O0FESUE7RUFDSSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUNESjs7QURJQTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGNFMkhpQjtFRjFIakIsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FDREoiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Nsb3VkL2NoLWZpbGUtY2FyZC9jaC1maWxlLWNhcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5jaC1maWxlLWNhcmQtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmNoLWZpbGUtY2FyZC1idXR0b24uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcbn1cblxuLmNoLWZpbGUtY2FyZC1iYWNrZ3JvdW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWl0ZW0tY29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uY2gtZmlsZS1jYXJkLWJhY2tncm91bmQuc2VsZWN0ZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLmNoLWZpbGUtY2FyZC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgd2lkdGg6IDcwcHg7XG59XG5cbi5jaC1maWxlLWNhcmQtbmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDJweDtcbiAgICBmb250LXNpemU6IHNtYWxsO1xuICAgIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbiIsIi5jaC1maWxlLWNhcmQtYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaC1maWxlLWNhcmQtYnV0dG9uLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xufVxuXG4uY2gtZmlsZS1jYXJkLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jaC1maWxlLWNhcmQtYmFja2dyb3VuZC5zZWxlY3RlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmNoLWZpbGUtY2FyZC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMTBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICB3aWR0aDogNzBweDtcbn1cblxuLmNoLWZpbGUtY2FyZC1uYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAycHg7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { FileType, ChFileCompact } from '../ch-file';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-file-card',\n templateUrl: './ch-file-card.component.html',\n styleUrls: ['./ch-file-card.component.scss']\n})\nexport class ChFileCardComponent implements OnInit, IChGridItem {\n\n private cardSize = 90;\n\n private container: IChGridContainer = null;\n private file: ChFileCompact = null;\n private itemSelected = false;\n private bkImage: SafeStyle = '';\n\n @Input() uid = '';\n\n constructor(private sanitizer: DomSanitizer) { }\n\n ngOnInit() {\n }\n\n setContainer(container: IChGridContainer): void {\n if (this.container == container) {\n return;\n }\n this.container = container;\n const newFile = this.container.getItem(this.uid);\n //console.log('* SET NEW FILE');\n //console.log(newFile);\n if (newFile !== undefined && newFile !== null ) {\n this.file = newFile;\n this.bkImage = newFile.isImage() ? this.sanitizer.bypassSecurityTrustStyle(`url(${newFile.previewUrl + '?w=90&h=90'})`) : '';\n }\n }\n\n selectItem(selected: boolean): void {\n // throw new Error('Method not implemented.');\n this.itemSelected = selected;\n }\n\n getUid(): string {\n return this.uid;\n }\n\n isSelected(): boolean {\n return this.itemSelected;\n }\n // tslint:disable-next-line:member-ordering\n private isDoubleClick = false;\n\n clickSelect(event) {\n // console.log(' + ITEM ' + this.uid + ' clicked!');\n // console.log(event);\n const clickObject = { altKey: event.altKey, ctrlKey: event.ctrlKey, shiftKey: event.shiftKey, doubleClick: (event.detail === 2) };\n if (clickObject.doubleClick) { // es doble click\n this.isDoubleClick = true;\n if (this.container !== null) {\n this.container.selectItem(this.uid, clickObject);\n }\n } else {\n this.isDoubleClick = false;\n setTimeout(() => {\n if (!this.isDoubleClick) {\n if (this.container !== null) {\n this.container.selectItem(this.uid, clickObject);\n }\n }\n }, 250);\n }\n }\n\n}\n","export default \".file-import-url-container input.url-input {\\n font-size: 14px;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n font-size: large;\\n}\\n\\n.file-import-url-container input::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-url-container input::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-url-container input::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-url-container input::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-url-container input[type=text].url-input {\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n}\\n\\n.file-import-url-container input[type=text].url-input:-moz-read-only, .file-import-url-container input[type=text].url-input[readonly=\\\"\\\"] {\\n color: #333;\\n font-weight: bold;\\n}\\n\\n.file-import-url-container input[type=text].url-input:read-only, .file-import-url-container input[type=text].url-input[readonly=\\\"\\\"] {\\n color: #333;\\n font-weight: bold;\\n}\\n\\n.file-import-url-container input[type=text].url-input:focus {\\n outline: none;\\n}\\n\\n.file-import-url-container .btn.btn-search {\\n margin-top: -6px;\\n margin-left: -5px;\\n height: 37px;\\n}\\n\\n.file-import-message-container p {\\n padding: 10px;\\n color: #676a6c;\\n font-size: initial;\\n}\\n\\n.file-import-message-container p.error-msg {\\n color: darkRed;\\n}\\n\\n.file-import-content-container .ch-file-attr-label {\\n text-align: right;\\n padding-right: 5px;\\n}\\n\\n.file-import-content-container .ch-file-attr-value {\\n color: #416ED9;\\n height: 25px;\\n padding-left: 5px;\\n}\\n\\n.file-import-content-container input[type=text].file-name-input,\\n.file-import-content-container textarea.file-name-input {\\n font-size: 14px;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n}\\n\\n.file-import-content-container input[type=text].file-name-input:focus,\\n.file-import-content-container textarea.file-name-input:focus {\\n outline: none;\\n}\\n\\n.file-import-content-container input[type=text].file-name-input::-webkit-input-placeholder,\\n.file-import-content-container textarea.file-name-input::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-content-container input[type=text].file-name-input::-moz-placeholder,\\n.file-import-content-container textarea.file-name-input::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-content-container input[type=text].file-name-input::-ms-input-placeholder,\\n.file-import-content-container textarea.file-name-input::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-content-container input[type=text].file-name-input::placeholder,\\n.file-import-content-container textarea.file-name-input::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.file-import-row {\\n text-align: center;\\n}\\n\\n.file-import-row .btn.btn-import {\\n font-size: large;\\n margin-top: 10px;\\n}\\n\\n.file-import-row .btn.btn-import i {\\n font-size: larger;\\n margin-right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWltcG9ydC11cmwtd2luZG93L2NoLWZpbGUtaW1wb3J0LXVybC13aW5kb3cuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWltcG9ydC11cmwtd2luZG93L2NoLWZpbGUtaW1wb3J0LXVybC13aW5kb3cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxlQ2lLa0I7RURoS2xCLHNCQ3dLYTtFRHZLYixtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7QUVERjs7QUZJQTtFQUNFLHlDQUFBO0VBQ0EsZ0JDK0pnQjtFRDlKaEIsVUFBQTtFQUFZLFlBQUE7QUVBZDs7QUZIQTtFQUNFLHlDQUFBO0VBQ0EsZ0JDK0pnQjtFRDlKaEIsVUFBQTtFQUFZLFlBQUE7QUVBZDs7QUZIQTtFQUNFLHlDQUFBO0VBQ0EsZ0JDK0pnQjtFRDlKaEIsVUFBQTtFQUFZLFlBQUE7QUVBZDs7QUZIQTtFQUNFLHlDQUFBO0VBQ0EsZ0JDK0pnQjtFRDlKaEIsVUFBQTtFQUFZLFlBQUE7QUVBZDs7QUZJQTtFQUVFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0NvSm1CO0FDdEpyQjs7QUZJRTtFQUVJLFdDMkNvQjtFRDFDcEIsaUJBQUE7QUVITjs7QUZBRTtFQUVJLFdDMkNvQjtFRDFDcEIsaUJBQUE7QUVITjs7QUZLRTtFQUNFLGFBQUE7QUVISjs7QUZPQTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0FFSkY7O0FGUUE7RUFDRSxhQUFBO0VBQ0EsY0MyQm1CO0VEMUJuQixrQkFBQTtBRUxGOztBRk9FO0VBQ0UsY0MyQmM7QUNoQ2xCOztBRlVFO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTtBRVBKOztBRlNFO0VBQ0UsY0NpSGlCO0VEaEhqQixZQUFBO0VBQ0EsaUJBQUE7QUVQSjs7QUZTRTs7RUFHRSxlQ3FHZ0I7RURwR2hCLHNCQzRHVztFRDNHWCxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxjQ29HaUI7QUM1R3JCOztBRlNHOztFQUNFLGFBQUE7QUVOTDs7QUZRRzs7RUFBaUIseUNBQUE7RUFDZCxnQkNpR1k7RURoR1osVUFBQTtFQUFZLFlBQUE7QUVIbEI7O0FGQ0c7O0VBQWlCLHlDQUFBO0VBQ2QsZ0JDaUdZO0VEaEdaLFVBQUE7RUFBWSxZQUFBO0FFSGxCOztBRkNHOztFQUFpQix5Q0FBQTtFQUNkLGdCQ2lHWTtFRGhHWixVQUFBO0VBQVksWUFBQTtBRUhsQjs7QUZDRzs7RUFBaUIseUNBQUE7RUFDZCxnQkNpR1k7RURoR1osVUFBQTtFQUFZLFlBQUE7QUVIbEI7O0FGUUE7RUFDRSxrQkFBQTtBRUxGOztBRk9FO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTtBRUxKOztBRk1JO0VBQ0UsaUJBQUE7RUFDQSxpQkFBQTtBRUpOIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWltcG9ydC11cmwtd2luZG93L2NoLWZpbGUtaW1wb3J0LXVybC13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5maWxlLWltcG9ydC11cmwtY29udGFpbmVyIGlucHV0LnVybC1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtdGV4dC1zaXplO1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBmb250LXNpemU6IGxhcmdlO1xufVxuXG4uZmlsZS1pbXBvcnQtdXJsLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXJcbnsgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG59XG5cblxuLmZpbGUtaW1wb3J0LXVybC1jb250YWluZXIgaW5wdXRbdHlwZT10ZXh0XS51cmwtaW5wdXRcbntcbiAgcGFkZGluZzogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gIC8vIGJvcmRlci1jb2xvcjogJGlucHV0LWRpbS1jb2xvcjtcbiAgJjpyZWFkLW9ubHksXG4gICZbcmVhZG9ubHk9XCJcIl0ge1xuICAgICAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3ItZGFyaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmZpbGUtaW1wb3J0LXVybC1jb250YWluZXIgLmJ0bi5idG4tc2VhcmNoIHtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGhlaWdodDogMzdweDtcbn1cblxuXG4uZmlsZS1pbXBvcnQtbWVzc2FnZS1jb250YWluZXIgcCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuICBmb250LXNpemU6IGluaXRpYWw7XG5cbiAgJi5lcnJvci1tc2cge1xuICAgIGNvbG9yOiAkbWFuZGF0b3J5LWNvbG9yO1xuICB9XG59XG5cbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciB7XG4gIC5jaC1maWxlLWF0dHItbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuICAuY2gtZmlsZS1hdHRyLXZhbHVlIHtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbiAgaW5wdXRbdHlwZT10ZXh0XS5maWxlLW5hbWUtaW5wdXQsXG4gIHRleHRhcmVhLmZpbGUtbmFtZS1pbnB1dCBcbiAge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtdGV4dC1zaXplO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICY6Zm9jdXMge1xuICAgICBvdXRsaW5lOiBub25lO1xuICAgfVxuICAgJjo6cGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAgICAgb3BhY2l0eTogMTsgLyogRmlyZWZveCAqL1xuICAgIH1cbiAgfVxufVxuXG4uZmlsZS1pbXBvcnQtcm93IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idG4uYnRuLWltcG9ydCB7XG4gICAgZm9udC1zaXplOiBsYXJnZTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiIsIi5maWxlLWltcG9ydC11cmwtY29udGFpbmVyIGlucHV0LnVybC1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG59XG5cbi5maWxlLWltcG9ydC11cmwtY29udGFpbmVyIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogTGlnaHRCbHVlO1xuICBvcGFjaXR5OiAxO1xuICAvKiBGaXJlZm94ICovXG59XG5cbi5maWxlLWltcG9ydC11cmwtY29udGFpbmVyIGlucHV0W3R5cGU9dGV4dF0udXJsLWlucHV0IHtcbiAgcGFkZGluZzogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG4uZmlsZS1pbXBvcnQtdXJsLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLnVybC1pbnB1dDpyZWFkLW9ubHksIC5maWxlLWltcG9ydC11cmwtY29udGFpbmVyIGlucHV0W3R5cGU9dGV4dF0udXJsLWlucHV0W3JlYWRvbmx5PVwiXCJdIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZpbGUtaW1wb3J0LXVybC1jb250YWluZXIgaW5wdXRbdHlwZT10ZXh0XS51cmwtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uZmlsZS1pbXBvcnQtdXJsLWNvbnRhaW5lciAuYnRuLmJ0bi1zZWFyY2gge1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgaGVpZ2h0OiAzN3B4O1xufVxuXG4uZmlsZS1pbXBvcnQtbWVzc2FnZS1jb250YWluZXIgcCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjNjc2YTZjO1xuICBmb250LXNpemU6IGluaXRpYWw7XG59XG4uZmlsZS1pbXBvcnQtbWVzc2FnZS1jb250YWluZXIgcC5lcnJvci1tc2cge1xuICBjb2xvcjogZGFya1JlZDtcbn1cblxuLmZpbGUtaW1wb3J0LWNvbnRlbnQtY29udGFpbmVyIC5jaC1maWxlLWF0dHItbGFiZWwge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuLmZpbGUtaW1wb3J0LWNvbnRlbnQtY29udGFpbmVyIC5jaC1maWxlLWF0dHItdmFsdWUge1xuICBjb2xvcjogIzQxNkVEOTtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZpbGUtbmFtZS1pbnB1dCxcbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciB0ZXh0YXJlYS5maWxlLW5hbWUtaW5wdXQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1jb2xvcjogZGFya2dyYXk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzQxNkVEOTtcbn1cbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZpbGUtbmFtZS1pbnB1dDpmb2N1cyxcbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciB0ZXh0YXJlYS5maWxlLW5hbWUtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZpbGUtaW1wb3J0LWNvbnRlbnQtY29udGFpbmVyIGlucHV0W3R5cGU9dGV4dF0uZmlsZS1uYW1lLWlucHV0OjpwbGFjZWhvbGRlcixcbi5maWxlLWltcG9ydC1jb250ZW50LWNvbnRhaW5lciB0ZXh0YXJlYS5maWxlLW5hbWUtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiBMaWdodEJsdWU7XG4gIG9wYWNpdHk6IDE7XG4gIC8qIEZpcmVmb3ggKi9cbn1cblxuLmZpbGUtaW1wb3J0LXJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5maWxlLWltcG9ydC1yb3cgLmJ0bi5idG4taW1wb3J0IHtcbiAgZm9udC1zaXplOiBsYXJnZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5maWxlLWltcG9ydC1yb3cgLmJ0bi5idG4taW1wb3J0IGkge1xuICBmb250LXNpemU6IGxhcmdlcjtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59Il19 */\"","\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { ChFolder, ChFileCompact, FileType } from '../ch-file';\n\nimport { ChImageViewComponent } from 'app/chilsystem/CHImages/ch-image-view.component';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport Color from 'app/chil/utils/color';\n\n// Esto hay que ponerlo debido a una carencia exteaña en la declaracion de interface\n// Blob en typescript\ninterface Blob {\n readonly size: number;\n readonly type: string;\n arrayBuffer(): Promise;\n slice(start?: number, end?: number, contentType?: string): Blob;\n stream(): ReadableStream;\n text(): Promise;\n}\n\n@Component({\n selector: 'ch-file-import-url-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './ch-file-import-url-window.component.html',\n styleUrls: ['./ch-file-import-url-window.component.scss']\n})\nexport class ChFileImportWindowUrlComponent implements OnInit {\n\n @ViewChild('imageView', { static: false}) imageView!: ChImageViewComponent\n\n lineas : number = 0;\n errores: number = 0;\n correctas : number = 0;\n rows : Array = [];\n\n // Origen\n\n importFromFile = false;\n importFromURL = false;\n\n fileUrl = '';\n txtMessage = '';\n txtError = false;\n\n isRunning : boolean = false;\n isFinished : boolean = false;\n folderUid : string = '';\n\n newBlob : Blob = undefined;\n fileDataUrl = '';\n file : File | null = null;\n fileName = '';\n fileTitle = '';\n fileDescr = '';\n fileType = '';\n fileFormat = '';\n fileSize = '';\n fileImage = '';\n fileEmbed = '';\n\n importText = '';\n\n\n private static fileList : Array | null = null ;\n private static selectedFileList: Array | null = null ;\n private static folderUid : string = '';\n private static modalRef : BsModalRef = null;\n private static callback : Function = null;\n\n private fileList : Array | null = null ;\n\n constructor(private chGlobal: ChGlobalsService, private changeDetector: ChangeDetectorRef) {\n\n }\n\n ngOnInit() {\n this.fileList = ChFileImportWindowUrlComponent.fileList;\n this.folderUid = ChFileImportWindowUrlComponent.folderUid;\n }\n\n confirm(newFile : ChFileCompact) {\n if (!this.isRunning)\n ChFileImportWindowUrlComponent.hide(true, newFile);\n }\n\n decline() {\n if (!this.isRunning)\n ChFileImportWindowUrlComponent.hide(false, null);\n }\n\n public static show(fileList : Array | null, selectedFileList: Array | null, folderUid: string, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChFileImportWindowUrlComponent.fileList = fileList;\n ChFileImportWindowUrlComponent.selectedFileList = selectedFileList;\n ChFileImportWindowUrlComponent.folderUid = folderUid;\n ChFileImportWindowUrlComponent.modalRef = service.showModalWindow(this, config);\n ChFileImportWindowUrlComponent.callback = callback != null? callback : () => {};\n }\n\n public static hide(executeCallback : boolean, newFile : ChFileCompact | null) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChFileImportWindowUrlComponent.modalRef);\n if (executeCallback) {\n ChFileImportWindowUrlComponent.callback( newFile );\n }\n }\n\n // *********************************************************************\n // **\n // ** FUNCIONES GENERALES\n // **\n // *********************************************************************\n\n\n\n import () {\n if (this.isRunning) {\n return;\n }\n console.log('IMPORTANDO')\n console.log(' * TYPE : ' +this.fileType )\n console.log(' * NAME : ' +this.fileName )\n console.log(' * DESCR : ' +this.fileDescr )\n console.log(' * URL : ' +this.fileUrl )\n console.log(' * IMAGE : ' +this.fileImage )\n console.log('----------')\n\n if (this.importFromURL) {\n this.importURL()\n } else if (this.importFromFile) {\n this.importFile()\n }\n }\n\n loadNewFile(fileUid: string, callback : (file: ChFileCompact) => void) {\n console.log(fileUid);\n this.chGlobal.getFile(fileUid).then (file => {\n if (this.fileList != undefined && this.fileList != null) {\n this.fileList.push(file);\n }\n console.log(file);\n callback(file);\n })\n }\n\n // *********************************************************************\n // **\n // ** IMPORTAR DESDE LA WEB\n // **\n // *********************************************************************\n\n search() {\n if (this.isRunning) {\n return;\n }\n\n this.importFromFile = false;\n this.importFromURL = true;\n this.changeDetector.detectChanges();\n\n if (this.chGlobal.checkUrl(this.fileUrl)) {\n this.isRunning = true;\n this.txtMessage = '';\n this.txtError = false;\n\n this.newBlob = undefined;\n this.fileName = '';\n this.fileTitle = '';\n this.fileDescr = '';\n this.fileType = '';\n this.fileFormat = '';\n this.fileSize = '';\n this.fileImage = '';\n this.fileEmbed = '';\n this.importText = '';\n\n const me = this;\n this.chGlobal.loadBinaryFile(this.fileUrl).toPromise().then(\n (value: Blob) => {\n this.newBlob = value;\n console.log(this.newBlob);\n this.processBlob(this.newBlob);\n this.isRunning = false;\n this.changeDetector.detectChanges();\n },\n error => {\n console.log(error);\n this.txtMessage = this.chGlobal.translateStr('No se encuentra la dirección URL proporcionada');\n this.txtError = true;\n this.isRunning = false;\n this.changeDetector.detectChanges();\n }\n );\n } else {\n console.log(this.fileUrl);\n this.txtMessage = this.chGlobal.translateStr('El texto proporcionado no corresponde a una dirección url valida');\n this.txtError = true;\n }\n this.changeDetector.detectChanges();\n }\n\n private processBlob(blob: Blob) {\n var url : URL;\n\n try {\n url = new URL(this.fileUrl);\n } catch ( error) {\n console.log(error);\n return;\n }\n console.log('PROCESS!!');\n console.log(blob);\n if (blob.type == 'text/html') {\n this.fileName = this.extractFileName(url.pathname);\n console.log(this.fileName)\n const reader = blob.stream().getReader();\n reader.read().then (\n value => {\n const tc = new TextDecoder(\"utf-8\");\n this.processHTMLFile(tc.decode(value.value));\n this.importText = this.blobImportText(blob);\n this.changeDetector.detectChanges();\n },\n error => {\n console.log(error);\n this.txtMessage = this.chGlobal.translateStr('El enlace contiene información no válida');\n this.txtError = true;\n }\n );\n this.fileSize = this.blobSize(blob);\n } else {\n this.fileName = this.extractFileName(url.pathname);\n this.fileType = this.blobType(blob);\n this.fileFormat = this.blobFornat(blob);\n this.fileSize = this.blobSize(blob);\n this.importText = this.blobImportText(blob);\n\n this.setBlobIcon(blob);\n }\n }\n\n private extractFileName(path: string) : string {\n if (path.slice(-1) == '/') {\n return decodeURIComponent(path.slice(0, -1).split('/').pop());\n } else {\n return decodeURIComponent(path.split('/').pop());\n }\n }\n\n private blobType(blob: Blob): string {\n\n const type = blob.type.split('/')[0];\n const format = blob.type.split('/')[1];\n\n switch (type) {\n case 'image':\n return this.chGlobal.translateStr('Imagen');\n case 'video':\n return this.chGlobal.translateStr('Video');\n case 'audio':\n return this.chGlobal.translateStr('Audio');\n case 'application':\n return this.chGlobal.translateStr('Documento');\n case 'text':\n if (format == 'html'){\n return this.chGlobal.translateStr('Link');\n }\n else {\n return this.chGlobal.translateStr('Documento');\n }\n default:\n return this.chGlobal.translateStr('Fichero');\n }\n }\n\n private blobImportText(blob: Blob): string {\n\n const type = blob.type.split('/')[0];\n const format = blob.type.split('/')[1];\n\n switch (type) {\n case 'image':\n return this.chGlobal.translateStr('Importar imagen');\n case 'video':\n return this.chGlobal.translateStr('Importar video');\n case 'audio':\n return this.chGlobal.translateStr('Importar audio');\n case 'application':\n return this.chGlobal.translateStr('improtar documento');\n case 'text':\n if (format == 'html'){\n return this.chGlobal.translateStr('Importar enlace');\n }\n else {\n return this.chGlobal.translateStr('Importar documento');\n }\n default:\n return this.chGlobal.translateStr('Importar fichero');\n }\n }\n\n private blobFornat(blob: Blob): string {\n const type = blob.type.split('/')[0];\n const format = blob.type.split('/')[1];\n\n switch (type) {\n case 'image':\n return format.toUpperCase();\n case 'video':\n return '---';\n case 'audio':\n return '---';\n case 'application':\n return format.toUpperCase();\n case 'text':\n if (format == 'html'){\n return 'HTML';\n } else if (format == 'plain') {\n return 'TXT';\n }\n else {\n return format.toUpperCase();\n }\n default:\n return '---';\n }\n }\n\n private blobSize(blob: Blob): string {\n let value = blob.size;\n let suffix = 'b';\n if (value > 1024) {\n value = value / 1024;\n suffix = 'KB';\n\n if (value > 1024) {\n value = value / 1024;\n suffix = 'MB';\n }\n }\n return value.toFixed(2) + ' ' + suffix;\n }\n\n private setBlobIcon(blob: Blob) {\n\n const type = blob.type.split('/')[0];\n const format = blob.type.split('/')[1];\n\n if (type == 'image') {\n this.imageView.setImageBitmap(blob);\n } else {\n var imagepath = '';\n switch (type) {\n case 'image':\n imagepath = ChFileCompact.iconUrl(FileType.image,'png');\n break;\n case 'video':\n imagepath = ChFileCompact.iconUrl(FileType.video,'');\n break;\n case 'audio':\n imagepath = ChFileCompact.iconUrl(FileType.audio,'');\n break;\n case 'application':\n imagepath = ChFileCompact.iconUrl(FileType.document,format);\n break;\n case 'text':\n if (format == 'html'){\n imagepath = ChFileCompact.iconUrl(FileType.web_page,format);\n }\n else {\n imagepath = ChFileCompact.iconUrl(FileType.document,format);\n }\n break;\n default:\n imagepath = ChFileCompact.iconUrl(FileType.undef,'');\n break;\n }\n this.imageView.url = imagepath;\n }\n }\n\n private processHTMLFile(html: string) {\n const parser = new DOMParser();\n var doc = parser.parseFromString(html, 'text/html');\n console.log(doc);\n\n const metas = doc.getElementsByTagName('meta');\n // console.log(metas)\n // console.log(metas.length)\n for (var i=0; i< metas.length; i++) {\n const meta: HTMLMetaElement = metas[i];\n if (meta.getAttribute('property') == 'og:title') {\n this.fileTitle = meta.getAttribute('content');\n } else if (meta.getAttribute('property') == 'og:description') {\n this.fileDescr = meta.getAttribute('content');\n } else if (meta.getAttribute('property') == 'og:image') {\n this.fileImage = meta.getAttribute('content');\n } else if (meta.getAttribute('property') == 'og:video:url') {\n this.fileEmbed = meta.getAttribute('content');\n }\n }\n console.log(this.fileTitle)\n console.log(this.fileDescr)\n console.log(this.fileImage)\n console.log(this.fileEmbed)\n if (this.fileImage != '') {\n this.chGlobal.loadBinaryFile(this.fileImage).toPromise().then(\n (value: Blob) => {\n this.imageView.setImageBitmap(value);\n this.changeDetector.detectChanges();\n },\n error => {\n console.log(error);\n }\n );\n } else {\n this.imageView.url = ChFileCompact.iconUrl(FileType.web_page,'html');\n }\n if (this.fileEmbed == '') {\n this.fileType = 'Link'\n this.fileFormat = 'HTML';\n } else {\n this.fileType = 'Video'\n this.fileFormat = 'YouTube';\n }\n\n }\n\n private importURL () {\n if (this.fileType == 'Link' || this.fileType == 'Imagen' || this.fileType == 'Documento') {\n this.isRunning = true;\n this.chGlobal.showRunningWindow('creando enlace...');\n\n this.chGlobal.addLinkFile(this.folderUid, this.fileName, this.fileDescr, this.fileUrl, this.fileImage, true, this.fileEmbed)\n .then( v => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Enlace insertado',\n 'El enlace ha sido creado con éxito.');\n console.log(v);\n this.isRunning = false;\n this.loadNewFile(v, (file: ChFileCompact) => {\n ChFileImportWindowUrlComponent.hide(true, file);\n });\n },\n reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de creación',\n 'El enlace no ha podido ser creado.');\n this.isRunning = false;\n this.changeDetector.detectChanges();\n }). catch( reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error del sistema',\n 'El enlace no ha podido ser creado.');\n this.isRunning = false;\n this.changeDetector.detectChanges();\n })\n }\n }\n\n // *********************************************************************\n // **\n // ** IMPORTAR DESDE EL FICHERO\n // **\n // *********************************************************************\n\n onChangeFileSelect(event:any) {\n if (this.isRunning) {\n return;\n }\n console.log(event)\n this.importFromFile = true;\n this.importFromURL = false;\n this.changeDetector.detectChanges();\n\n if (event.target.files == undefined || event.target.files == null || event.target.files.length == 0) {\n\n } else {\n this.loadFile(event.target.files[0]);\n this.file = event.target.files[0] as File;\n console.log(this.file);\n }\n\n }\n\n private loadFile(file:any) {\n // Only can upload image format.\n if (!/^(image\\/*)/.test(file.type)) {\n // console.log(' - ERROR: Tipo equivocado');\n this.chGlobal.showMessage(MessageType.error, 'Tipo de fichero equivocado',\n 'Es necesario seleccionar un fichero de tipo imagen: jpg,png,gif');\n } else {\n\n this.isRunning = true;\n this.fileDataUrl = '';\n\n const reader = new FileReader();\n reader.onloadend = () => {\n try {\n this.fileDataUrl = reader.result as string;\n this.fileName = file.name;\n this.fileDescr = '';\n this.fileType = file.type;\n this.fileFormat = this.fileFornat(file);\n this.fileSize = this.getFileSize(file);\n this.importText = this.fileImportText(file);\n this.setFileIcon(file, this.fileDataUrl);\n this.isRunning = false;\n this.changeDetector.detectChanges();\n\n // console.log(this.fileDataUrl);\n\n } catch (err) {\n console.error(err);\n this.chGlobal.showMessage(MessageType.error, 'Error de lectura',\n 'se ha producido un error leyendo el fichero seleccionado');\n this.isRunning = false;\n this.changeDetector.detectChanges();\n }\n\n\n\n };\n // Read in the image file as a data URL.\n reader.readAsDataURL(file);\n }\n }\n\n private fileFornat(file: any): string {\n const type = file.type.split('/')[0];\n const format = file.type.split('/')[1];\n\n switch (type) {\n case 'image':\n return format.toUpperCase();\n case 'video':\n return '---';\n case 'audio':\n return '---';\n case 'application':\n return format.toUpperCase();\n case 'text':\n if (format == 'html'){\n return 'HTML';\n } else if (format == 'plain') {\n return 'TXT';\n }\n else {\n return format.toUpperCase();\n }\n default:\n return '---';\n }\n }\n\n private getFileSize(file: any): string {\n let value = file.size;\n let suffix = 'b';\n if (value > 1024) {\n value = value / 1024;\n suffix = 'KB';\n\n if (value > 1024) {\n value = value / 1024;\n suffix = 'MB';\n }\n }\n return value.toFixed(2) + ' ' + suffix;\n }\n\n private setFileIcon(file: any, datapath: string) {\n\n const type = file.type.split('/')[0];\n const format = file.type.split('/')[1];\n\n if (type == 'image') {\n this.imageView.backgroundColor = new Color('transparent');\n this.imageView.url = datapath;\n } else {\n var imagepath = '';\n switch (type) {\n case 'image':\n imagepath = ChFileCompact.iconUrl(FileType.image,'png');\n break;\n case 'video':\n imagepath = ChFileCompact.iconUrl(FileType.video,'');\n break;\n case 'audio':\n imagepath = ChFileCompact.iconUrl(FileType.audio,'');\n break;\n case 'application':\n imagepath = ChFileCompact.iconUrl(FileType.document,format);\n break;\n case 'text':\n if (format == 'html'){\n imagepath = ChFileCompact.iconUrl(FileType.web_page,format);\n }\n else {\n imagepath = ChFileCompact.iconUrl(FileType.document,format);\n }\n break;\n default:\n imagepath = ChFileCompact.iconUrl(FileType.undef,'');\n break;\n }\n this.imageView.backgroundColor = new Color('transparent');\n this.imageView.url = imagepath;\n }\n }\n\n private fileImportText(file: any): string {\n\n const type = file.type.split('/')[0];\n const format = file.type.split('/')[1];\n\n switch (type) {\n case 'image':\n return this.chGlobal.translateStr('Importar imagen');\n case 'video':\n return this.chGlobal.translateStr('Importar video');\n case 'audio':\n return this.chGlobal.translateStr('Importar audio');\n case 'application':\n return this.chGlobal.translateStr('improtar documento');\n case 'text':\n if (format == 'html'){\n return this.chGlobal.translateStr('Importar enlace');\n }\n else {\n return this.chGlobal.translateStr('Importar documento');\n }\n default:\n return this.chGlobal.translateStr('Importar fichero');\n }\n }\n\n private importFile () {\n this.isRunning = true;\n this.changeDetector.detectChanges();\n const me = this;\n //const file = new File([new Uint8Array(this.fileDataBuffer)], this.fileName /* this.fileName */, {type: this.fileType, lastModified: Date.now()});\n me.chGlobal.addFile(this.file, { filename: this.fileName, filedescr: this.fileDescr, folderUid: this.folderUid }).then( (result) => {\n const file = ChFileCompact.cast(result);\n //console.log(file);\n ChFileImportWindowUrlComponent.hide(true, file);\n },\n reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de conexión',\n 'El fichero no ha podido ser subido a la nube.');\n this.isRunning = false;\n this.changeDetector.detectChanges();\n }). catch( reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error del sistema',\n 'El fichero no ha podido ser subido a la nube.');\n this.isRunning = false;\n this.changeDetector.detectChanges();\n });\n }\n\n}\n","export default \"\\n.text-primary.error-txt {\\n color: red;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWltcG9ydC13aW5kb3cvY2gtZmlsZS1pbXBvcnQtd2luZG93LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0VBQ0UsVUFBVTtBQUNaIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLWltcG9ydC13aW5kb3cvY2gtZmlsZS1pbXBvcnQtd2luZG93LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi50ZXh0LXByaW1hcnkuZXJyb3ItdHh0IHtcbiAgY29sb3I6IHJlZDtcbn1cbiJdfQ== */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { ChFolder, ChFileCompact, FileType } from '../ch-file';\n\nimport { Observable , BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'ch-file-import-window',\n templateUrl: './ch-file-import-window.component.html',\n styleUrls: ['./ch-file-import-window.component.css']\n})\nexport class ChFileImportWindowComponent implements OnInit {\n\n @ViewChild('fileImportInput', { static: false}) fileImportInput: any\n\n lineas : number = 0;\n errores: number = 0;\n correctas : number = 0;\n rows : Array = [];\n\n rowsImportedInBd : boolean = false;\n\n private static fileList : Array = [];\n private static selectedFileList: Array = [];\n private static folderUid : string = '';\n private static modalRef : BsModalRef = null;\n private static callback : Function = null;\n\n private fileList : Array = [];\n private folderUid : string = '';\n\n @ViewChild('fileImportInput', { static: false})\n\n insertedRows : number = 0;\n errorTxt : BehaviorSubject = new BehaviorSubject(\"\");\n calcscript :string = \"\";\n isRunning : boolean = false;\n isFinished : boolean = false;\n\n constructor(/*public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n\n }\n\n ngOnInit() {\n this.fileList = ChFileImportWindowComponent.fileList;\n this.folderUid = ChFileImportWindowComponent.folderUid;\n }\n\n confirm() {\n if (!this.isRunning)\n ChFileImportWindowComponent.hide(true);\n }\n\n decline() {\n if (!this.isRunning)\n ChFileImportWindowComponent.hide(false);\n }\n\n public static show(fileList : Array, selectedFileList: Array, folderUid: string, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChFileImportWindowComponent.fileList = fileList;\n ChFileImportWindowComponent.selectedFileList = selectedFileList;\n ChFileImportWindowComponent.folderUid = folderUid;\n ChFileImportWindowComponent.modalRef = service.showModalWindow(this, config);\n ChFileImportWindowComponent.callback = callback != null? callback : () => {};\n }\n\n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChFileImportWindowComponent.modalRef);\n if (executeCallback) {\n ChFileImportWindowComponent.callback();\n }\n }\n\n private files: File[] = [];\n private filesRead = 0;\n\n onSelect(event) {\n console.log(event);\n this.files.push(...event.addedFiles);\n }\n\n onRemove(event) {\n console.log(event);\n this.files.splice(this.files.indexOf(event), 1);\n }\n\n loadFile(file : File, folderUid: string) : Promise {\n console.log(file)\n console.log(folderUid)\n return new Promise ( (resolve, reject) => {\n this.chGlobal.addFile(file, { filename: file.name, filedescr: '', folderUid: folderUid }).then( (result) => {\n console.log(result);\n try {\n const newFile = ChFileCompact.cast(result);\n resolve(newFile);\n } catch (reason) {\n reject(reason);\n }\n },\n (reason) => {\n console.log(reason);\n reject(reason);\n });\n });\n }\n\n execute() {\n this.errorTxt.next('');\n this.isRunning = true;\n this.isFinished = false;\n\n let promiseArray: Promise[] = []\n for (let i= 0; i< this.files.length; i++) {\n promiseArray.push(this.loadFile(this.files[i], this.folderUid));\n }\n\n Promise.all(promiseArray).then( v => {\n console.log(v)\n for (let i= 0; i< v.length; i++) {\n this.fileList.push(v[i]);\n }\n this.isRunning = false;\n this.isFinished = true;\n this.confirm();\n },\n reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = false;\n this.errorTxt.next( this.chGlobal.translateStr('Se ha producido un error importando los ficheros. Puede intentarlo de nuevo en unos segundos.'));\n }). catch( reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = true;\n this.errorTxt.next(this.chGlobal.translateStr('Se ha producido un error importando los ficheros debido a un problema interno.'));\n })\n }\n\n\n}\n","export default \".ch-file-navbar {\\n margin-top: 0px;\\n border-bottom: 1px solid #e7eaec;\\n}\\n\\n.ch-folder-title {\\n font-size: larger;\\n color: #7A2184;\\n}\\n\\n.list-file-container {\\n width: 100%;\\n display: flex;\\n align-items: flex-start;\\n flex-wrap: wrap;\\n}\\n\\n.list-file-card {\\n height: 100px;\\n padding: 5px;\\n width: 100px;\\n flex-grow: 0;\\n}\\n\\n.list-file-filler {\\n height: 100px;\\n padding: 5px;\\n width: 100px;\\n flex-grow: 0;\\n}\\n\\n.list-file-footer-text {\\n margin: 10px 10px 0px 10px;\\n}\\n\\n.ch-file-selected-name {\\n padding: 5px;\\n font-size: larger;\\n color: #416ED9;\\n}\\n\\n.ch-file-selected-descr {\\n padding: 5px 5px 5px 0px;\\n color: #416ED9;\\n}\\n\\n.ch-file-attr-label {\\n width: 120px;\\n text-align: right;\\n padding-right: 10px;\\n padding-top: 3px;\\n}\\n\\n.ch-file-attr-value {\\n padding-top: 3px;\\n color: #416ED9;\\n padding-bottom: 2px;\\n padding-left: 5px;\\n padding-right: 5px;\\n width: 200px;\\n background: #F0F0F0;\\n}\\n\\n.ch-file-table-item-row {\\n border-top: 1px solid #F3F3F3;\\n color: #416ED9;\\n}\\n\\n.ch-file-table-icon {\\n width: 22px;\\n padding: 5px;\\n}\\n\\n.ch-file-table-name {\\n overflow: hidden;\\n max-width: 150px;\\n min-width: 150px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.ch-file-table-size {\\n width: 80px;\\n padding: 5px;\\n text-align: right;\\n}\\n\\n.ch-file-table-checked {\\n color: green;\\n}\\n\\n.ch-file-table-total-row {\\n border-top: 1px solid #F3F3F3;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jbG91ZC9jaC1maWxlLXNlbGVjdC13aW5kb3cvY2gtZmlsZS1zZWxlY3Qtd2luZG93LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2Nsb3VkL2NoLWZpbGUtc2VsZWN0LXdpbmRvdy9jaC1maWxlLXNlbGVjdC13aW5kb3cuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLGVBQUE7RUFDQSxnQ0FBQTtBQ0RKOztBRElBO0VBQ0ksaUJBQUE7RUFDQSxjRXlFa0I7QUQxRXRCOztBRE1BO0VBQ0ksV0FBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7QUNISjs7QURNQTtFQUNJLGFBVmE7RUFXYixZQUFBO0VBQ0EsWUFaYTtFQWFiLFlBQUE7QUNISjs7QURNQTtFQUNJLGFBakJhO0VBa0JiLFlBQUE7RUFDQSxZQW5CYTtFQW9CYixZQUFBO0FDSEo7O0FETUE7RUFDSSwwQkFBQTtBQ0hKOztBRE1BO0VBQ0ksWUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0UrSGlCO0FEbElyQjs7QURNQTtFQUNJLHdCQUFBO0VBQ0EsY0UwSGlCO0FEN0hyQjs7QURNQTtFQUNJLFlBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUNISjs7QURNQTtFQUNJLGdCQUFBO0VBQ0EsY0VxRG9CO0VGcERwQixtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJFK0N5QjtBRGxEN0I7O0FETUE7RUFDSSw2QkFBQTtFQUNBLGNFb0dpQjtBRHZHckI7O0FETUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQ0hKOztBRE1BO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDSEo7O0FETUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FDSEo7O0FETUE7RUFDSSxZRW5CUztBRGdCYjs7QURNQTtFQUNJLDZCQUFBO0FDSEoiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Nsb3VkL2NoLWZpbGUtc2VsZWN0LXdpbmRvdy9jaC1maWxlLXNlbGVjdC13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5jaC1maWxlLW5hdmJhciB7XG4gICAgbWFyZ2luLXRvcDowcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjtcbn1cblxuLmNoLWZvbGRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yO1xufVxuXG4kZmlsZS1jYXJkLXNpemU6IDEwMHB4O1xuXG4ubGlzdC1maWxlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5saXN0LWZpbGUtY2FyZCB7XG4gICAgaGVpZ2h0OiAkZmlsZS1jYXJkLXNpemU7IFxuICAgIHBhZGRpbmc6IDVweDsgXG4gICAgd2lkdGg6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBmbGV4LWdyb3c6IDA7XG59XG5cbi5saXN0LWZpbGUtZmlsbGVyIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWNhcmQtc2l6ZTtcbiAgICBwYWRkaW5nOiA1cHg7IFxuICAgIHdpZHRoOiAkZmlsZS1jYXJkLXNpemU7XG4gICAgZmxleC1ncm93OiAwO1xufVxuXG4ubGlzdC1maWxlLWZvb3Rlci10ZXh0IHtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwcHggMTBweDtcbn1cblxuLmNoLWZpbGUtc2VsZWN0ZWQtbmFtZSB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICAgIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yXG59XG5cbi5jaC1maWxlLXNlbGVjdGVkLWRlc2NyIHtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAwcHg7XG4gICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3Jcbn1cblxuLmNoLWZpbGUtYXR0ci1sYWJlbCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbn1cblxuLmNoLWZpbGUtYXR0ci12YWx1ZSB7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBjb2xvcjogJHBhbmVsLXVzZXItZGF0YS1jb2xvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgYmFja2dyb3VuZDogJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kXG59XG5cbi5jaC1maWxlLXRhYmxlLWl0ZW0tcm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvclxufVxuXG4uY2gtZmlsZS10YWJsZS1pY29uIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jaC1maWxlLXRhYmxlLW5hbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNoLWZpbGUtdGFibGUtc2l6ZSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2gtZmlsZS10YWJsZS1jaGVja2VkIHtcbiAgICBjb2xvcjogJGluZm8tY29sb3I7XG59XG5cbi5jaC1maWxlLXRhYmxlLXRvdGFsLXJvdyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI7XG59IiwiLmNoLWZpbGUtbmF2YmFyIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZWFlYztcbn1cblxuLmNoLWZvbGRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBjb2xvcjogIzdBMjE4NDtcbn1cblxuLmxpc3QtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmxpc3QtZmlsZS1jYXJkIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLmxpc3QtZmlsZS1maWxsZXIge1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZmxleC1ncm93OiAwO1xufVxuXG4ubGlzdC1maWxlLWZvb3Rlci10ZXh0IHtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMHB4IDEwcHg7XG59XG5cbi5jaC1maWxlLXNlbGVjdGVkLW5hbWUge1xuICBwYWRkaW5nOiA1cHg7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmNoLWZpbGUtc2VsZWN0ZWQtZGVzY3Ige1xuICBwYWRkaW5nOiA1cHggNXB4IDVweCAwcHg7XG4gIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG4uY2gtZmlsZS1hdHRyLWxhYmVsIHtcbiAgd2lkdGg6IDEyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy10b3A6IDNweDtcbn1cblxuLmNoLWZpbGUtYXR0ci12YWx1ZSB7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGJhY2tncm91bmQ6ICNGMEYwRjA7XG59XG5cbi5jaC1maWxlLXRhYmxlLWl0ZW0tcm93IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGM0YzRjM7XG4gIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG4uY2gtZmlsZS10YWJsZS1pY29uIHtcbiAgd2lkdGg6IDIycHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmNoLWZpbGUtdGFibGUtbmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2gtZmlsZS10YWJsZS1zaXplIHtcbiAgd2lkdGg6IDgwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaC1maWxlLXRhYmxlLWNoZWNrZWQge1xuICBjb2xvcjogZ3JlZW47XG59XG5cbi5jaC1maWxlLXRhYmxlLXRvdGFsLXJvdyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjNGM0YzO1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","\nimport { OnInit, Component, AfterViewInit, ViewChild, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from '../../forms/ch-form/ch-form';\nimport { ChFileCompact, ChFolder, FileType } from '../ch-file';\nimport { ChActor } from '../../actor/ch-actor';\nimport { GroupInfo } from '../../chilweb/ch-globals-def';\nimport { promise } from 'protractor';\nimport { ChGridContainer } from '../../grid/ch-grid-container.component';\nimport { ChWorkPanelComponent } from '../../dynpanel/ch-workpanel/ch-workpanel.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-file-select-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './ch-file-select-window.component.html',\n styleUrls: ['../../forms/forms.scss', './ch-file-select-window.component.scss']\n})\nexport class ChFileSelectWindowComponent extends ChGridContainer implements OnInit, AfterViewInit {\n\n private static fileType = '';\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChFileSelectWindowComponent = null;\n\n private fileType = '';\n private title = 'SELECCIONAR FICHERO DE LA NUBE';\n private buttonText = 'Select';\n\n private user: ChActor = null;\n private group: GroupInfo = null;\n private userSelected = true;\n\n private userRootFolder: ChFolder = null;\n private groupRootFolder: ChFolder = null;\n private folder: ChFolder = undefined;\n private parentsStack: Array = []; // Stack de padres\n private fileSelected: ChFileCompact = null;\n private folderTitle = '';\n private nFiles = 0;\n private nFolders = 0;\n private nImages = 0;\n private nDocuments = 0;\n private orden = 'natural';\n private isWorking = false;\n\n @ViewChild('folderPanel', { static: false}) public folderPanel: ChWorkPanelComponent;\n @ViewChild('itemsPanel', { static: false}) public itemsPanel: ChWorkPanelComponent;\n\n public static show(fileType: string, config?: ModalOptions, callback?: (file : ChFileCompact) => void ) {\n ChFileSelectWindowComponent.fileType = fileType;\n ChFileSelectWindowComponent.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChFileSelectWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean, fileSelect?: ChFileCompact) {\n if (executeCallback) {\n ChFileSelectWindowComponent.callback(fileSelect);\n }\n ChGlobalsService.getInstance().hideModalWindow(ChFileSelectWindowComponent.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */\n private chGlobal: ChGlobalsService, private changeDetector: ChangeDetectorRef) {\n\n super();\n\n this.fileType = ChFileSelectWindowComponent.fileType;\n ChFileSelectWindowComponent.currentWindow = this;\n\n this.user = chGlobal.getCurrentUser();\n this.group = chGlobal.getGroupInfo();\n this.singleSelect = true;\n }\n\n ngOnInit() {\n\n }\n\n ngAfterViewInit() {\n this.selectUser( true );\n }\n\n confirm() {\n if ( this.selectedItemsList.length > 0) {\n /*\n this.isWorking = true;\n this.changeDetector.detectChanges();\n this.chGlobal.getFile(this.selectedItemsList[0].uid).then (file => {\n this.isWorking = false;\n console.log(file);\n //ChFileSelectWindowComponent.hide(true, file );\n });\n */\n ChFileSelectWindowComponent.hide(true, this.selectedItemsList[0] );\n } else {\n ChFileSelectWindowComponent.hide(true, null );\n }\n\n }\n\n decline() {\n ChFileSelectWindowComponent.hide(false);\n }\n\n dummy(event) {\n console.log(event);\n }\n\n selectUser( selectuser: boolean) {\n this.userSelected = selectuser;\n if (this.userSelected) {\n if (this.userRootFolder === null) {\n this.isWorking = true;\n this.changeDetector.detectChanges();\n this.chGlobal.getUserRootFolder().then( value => {\n this.userRootFolder = value;\n this.folder = this.userRootFolder;\n this.parentsStack = [];\n this.folderTitle = '';\n this.loadItems('name');\n this.isWorking = false;\n });\n } else {\n this.folder = this.userRootFolder;\n this.parentsStack = [];\n this.folderTitle = '';\n this.loadItems('name');\n }\n } else if (this.chGlobal.currentUserIsManager()) {\n if (this.groupRootFolder === null) {\n this.isWorking = true;\n this.changeDetector.detectChanges();\n this.chGlobal.getGroupRootFolder().then( value => {\n this.groupRootFolder = value;\n this.folder = this.groupRootFolder;\n this.parentsStack = [];\n this.folderTitle = '';\n this.loadItems('name');\n this.isWorking = false;\n });\n } else {\n this.folder = this.groupRootFolder;\n this.parentsStack = [];\n this.folderTitle = '';\n this.loadItems('name');\n }\n }\n }\n\n loadItems(sorting: string) {\n this.itemsList = [];\n\n this.nFiles = 0;\n this.nFolders = 0;\n this.nImages = 0;\n this.nDocuments = 0;\n this.folder.subFolders.forEach( folder => {\n this.itemsList.push( folder );\n this.nFolders++;\n });\n const tempList: Array = [];\n this.folder.files.forEach( file => {\n if (this.fileType === 'all' ||\n (this.fileType === 'images' && file.type == FileType.image) ||\n (this.fileType === 'documents' && file.type == FileType.document ) ||\n (this.fileType === 'videos' && file.type === FileType.video )\n )\n tempList.push( file );\n this.nFiles++;\n if (file.type === FileType.image) {\n this.nImages++;\n } else if (file.type === FileType.document) {\n this.nDocuments++;\n }\n });\n // Ordenar el array\n if (sorting === 'name') {\n tempList.sort( (a, b) => { return a.name === b.name ? 0 : a.name > b.name ? 1 : -1; });\n } else if (sorting === 'typename') {\n tempList.sort( (a, b) => {\n if (a.type === b.type) {\n return a.name === b.name ? 0 : a.name > b.name ? 1 : -1;\n } else {\n return a.type - b.type;\n }\n });\n }\n\n tempList.forEach( file => { this.itemsList.push( file ); });\n this.changeDetector.detectChanges();\n\n setTimeout(() => {\n this.gridItemsInit();\n this.changeDetector.detectChanges();\n },\n 1000);\n\n }\n\n /**\n * Sobrecarga de ChGridContainer para evitar que se seleccione\n * una crpeta o un grupo de ellas.\n * En una carpeta solo se puede hacer doble click\n * @param uid uid del fichero seleccionado\n * @param options opciones de selección\n */\n public selectItem(uid: string, options: object): void {\n const file = this.itemsList.find( item => {return item.uid === uid; });\n if (file === undefined /* || (file.type === FileType.folder && options['doubleClick'] === false ) */) {\n return;\n } else if (file.type === FileType.folder /* && options['doubleClick'] === true */) {\n console.log(' -* IR A ' + file.uid);\n this.goToFolder(file.uid);\n return;\n } else {\n super.selectItem(uid, options);\n this.changeDetector.detectChanges();\n }\n\n this.fileSelected = this.selectedItemsList.length === 1 ? this.selectedItemsList[0] : null;\n if (this.fileSelected && options['doubleClick'] === true) {\n this.confirm();\n // this.changeDetector.detectChanges();\n }\n }\n\n public resetSelection() {\n this.resetGrid();\n this.fileSelected = null;\n this.changeDetector.detectChanges();\n }\n\n public goParent() {\n if (this.parentsStack.length > 0) {\n this.resetSelection();\n this.folder = this.parentsStack.pop();\n if (this.folder.name === '_root') {\n this.folderTitle = '';\n } else {\n this.folderTitle = this.folder.name;\n }\n this.loadItems('name');\n console.log( this.itemsList );\n }\n\n }\n\n public goToFolder(uid: string) {\n this.isWorking = true;\n this.resetSelection();\n this.chGlobal.getFolder(uid).then( value => {\n this.parentsStack.push(this.folder);\n this.folder = value;\n this.folderTitle = this.folder.name;\n this.loadItems('name');\n this.isWorking = false;\n console.log( this.itemsList );\n });\n }\n\n private isDocument(d: ChFileCompact): boolean {\n console.log(d);\n return d.isDocument();\n }\n\n}\n","import { isNumber, isString } from \"util\";\n\nexport enum FileType {\n folder, image, video, audio, document, web_page, undef\n }\n/**\n * Clase que encapsula una categoria\n */\nexport class ChFileCompact {\n uid = '';\n uuid = '';\n name = '';\n description = '';\n type: FileType = FileType.document;\n format = '';\n previewUrl = '';\n previewWidth = 0;\n previewHeight = 0;\n contentUrl = '';\n metadata: object = null;\n size = 0;\n isShared = false;\n slug = '';\n\n public static cast(ref: object): ChFileCompact {\n return ChFileCompact.fileFromObject(ref);\n }\n\n public static fileFromObject(ref: object): ChFileCompact {\n const newFile = new ChFileCompact();\n newFile.uid = ref['uid'];\n newFile.uuid = ref['uuid'];\n newFile.name = ref['name'] === undefined || ref['name'] === null ? '' : ref['name'];\n if (newFile.name == '') {\n newFile.name = ref['title'] === undefined || ref['title'] === null ? '' : ref['title'];\n }\n newFile.description = ref['description'] === undefined || ref['description'] === null ? '' : ref['description'];\n\n newFile.format = ref['format'] === undefined || ref['format'] === null ? '' : ref['format'];\n if (ref['type'] != undefined) {\n newFile.type = (FileType)[ ref['type'] ];\n } else if (newFile.format != '') {\n // Si no se ha conseguido fijar el tipo, a ver si podemos inferirlo\n const lformat = newFile.format.toLowerCase();\n if ( ['gif','jpg','jpeg','png'].indexOf(lformat) > -1) {\n newFile.type = FileType.image;\n } else if ( ['doc','pdf'].indexOf(lformat) > -1) {\n newFile.type = FileType.document;\n } else if ( ['mp3'].indexOf(lformat) > -1) {\n newFile.type = FileType.audio;\n }\n }\n\n // console.log( newFile.type + ' : ' + ref['type']);\n\n if (ref['preview'] === undefined || ref['preview'] === null) {\n newFile.previewUrl = ref['previewUrl'] === undefined || ref['previewUrl'] === null ? '' : ref['previewUrl'];\n newFile.previewWidth = ref['previewWidth'] === undefined || ref['previewWidth'] === null ? 0 : ref['previewWidth'];\n newFile.previewHeight = ref['previewHeight'] === undefined || ref['previewHeight'] === null ? 0 : ref['previewHeight'];\n\n if (newFile.previewWidth == 0) {\n newFile.previewWidth = ref['width'] === undefined || ref['width'] === null ? 0 : ref['width'];\n }\n if (newFile.previewHeight == 0) {\n newFile.previewHeight = ref['height'] === undefined || ref['height'] === null ? 0 : ref['height'];\n }\n\n\n } else {\n newFile.previewUrl = ref['preview']['url'] === undefined || ref['preview']['url'] === null ? '' : ref['preview']['url'] ;\n newFile.previewWidth = ref['preview']['width'] === undefined || ref['preview']['width'] === null ? 0 : ref['preview']['width'];\n newFile.previewHeight = ref['preview']['height'] === undefined || ref['preview']['height'] === null ? 0 : ref['preview']['height'];\n }\n newFile.contentUrl = ref['contentUrl'] === undefined || ref['contentUrl'] === null ? '' : ref['contentUrl'];\n newFile.size = ref['size'] === undefined || ref['size'] === null ? 0 : ref['size'];\n newFile.isShared = ref['isShared'] === undefined || ref['isShared'] === null ? false : ref['isShared'];\n newFile.slug = ref['slug'] === undefined || ref['slug'] === null ? '' : ref['slug'];\n newFile.metadata = ref['metadata'] === undefined || ref['metadata'] === null ? null : ref['metadata'];\n // Corregir para videos\n //console.log(ref)\n //console.log(newFile)\n if (ref['format'] !== undefined && ref['format'] === 'web_video') {\n newFile.type = FileType.video as FileType;\n }\n return newFile;\n }\n\n public static folderFromObject(ref: object): ChFileCompact {\n const newFile = new ChFileCompact();\n newFile.uid = ref['uid'];\n newFile.name = ref['name'] === undefined || ref['name'] === null ? '' : ref['name'];\n newFile.description = ref['description'] === undefined || ref['description'] === null ? '' : ref['description'];\n newFile.type = FileType.folder;\n newFile.format = undefined;\n newFile.previewUrl = undefined;\n newFile.contentUrl = undefined;\n newFile.size = undefined;\n newFile.isShared = undefined;\n newFile.slug = undefined;\n newFile.metadata = undefined;\n\n return newFile;\n }\n\n public downloadLink(): string {\n if (this.type === FileType.video) {\n if (this.metadata !== null && this.metadata['embed'] !== undefined) {\n return this.metadata['embed'];\n } else {\n return '';\n }\n } else {\n //return 'https://chil.me' + this.contentUrl;\n return this.contentUrl;\n }\n }\n\n public isImage(): boolean {\n return this.type === FileType.image;\n }\n\n public isAudio(): boolean {\n return this.type === FileType.audio;\n }\n\n public isDocument(): boolean {\n return this.type === FileType.document;\n }\n\n public iconUrl(): string {\n return ChFileCompact.iconUrl(this.type,this.format);\n /*\n const iconPath = 'assets/images/chil/files/';\n if (this.type === FileType.folder) {\n return iconPath + 'colorfolder.png';\n } else if (this.type === FileType.document) {\n if (this.format === 'pdf') {\n return iconPath + 'colorpdf.png';\n } else if (this.format === 'xls') {\n return iconPath + 'colorexcel.png';\n } else {\n return iconPath + 'colordoc.png';\n }\n } else if (this.type === FileType.image) {\n return iconPath + 'colorimage.png';\n } else if (this.type === FileType.video) {\n return iconPath + 'colorvideo.png';\n } else if (this.type === FileType.web_page) {\n return iconPath + 'colorlink.png';\n }else {\n return iconPath + 'colorfile.png';\n }\n */\n }\n\n public static iconUrl(type : FileType, format: string): string {\n const iconPath = 'assets/images/chil/files/';\n if (type === FileType.folder) {\n return iconPath + 'colorfolder.png';\n } else if (type === FileType.document) {\n if (format === 'pdf') {\n return iconPath + 'colorpdf.png';\n } else if (format === 'xls') {\n return iconPath + 'colorexcel.png';\n } else {\n return iconPath + 'colordoc.png';\n }\n } else if (type === FileType.image) {\n return iconPath + 'colorimage.png';\n } else if (type === FileType.video) {\n return iconPath + 'colorvideo.png';\n } else if (type === FileType.audio) {\n return iconPath + 'coloraudio.png';\n } else if (type === FileType.web_page) {\n return iconPath + 'colorlink.png';\n }else {\n return iconPath + 'colorfile.png';\n }\n }\n\n public getPreviewImage() : ChPictureRef {\n const newPic = new ChPictureRef({ uid: this.uid, url: this.previewUrl, width: this.previewWidth, height: this.previewHeight});\n return newPic;\n }\n\n}\n\nexport class ChFolder {\n uid = '';\n name = '';\n description = '';\n subFolders: Array = [];\n files: Array = [];\n\n public static folderFromObject(ref: object): ChFolder {\n const newFolder = new ChFolder();\n\n newFolder.uid = ref['uid'];\n newFolder.name = ref['name'] === undefined || ref['name'] === null ? '' : ref['name'];\n newFolder.description = ref['description'] === undefined || ref['description'] === null ? '' : ref['description'];\n\n if (ref['subFolders'] !== undefined && ref['subFolders'] !== null ) {\n ref['subFolders'].forEach( element => {\n newFolder.subFolders.push( ChFileCompact.folderFromObject( element ) );\n });\n }\n if (ref['files'] !== undefined && ref['files'] !== null ) {\n ref['files'].forEach( element => {\n newFolder.files.push( ChFileCompact.fileFromObject( element ) );\n });\n }\n return newFolder;\n }\n\n public toFile() : ChFileCompact {\n return ChFileCompact.folderFromObject(this);\n }\n}\n\n/**\n * Clase que encapsula la referncia a una imagen\n */\n export class ChPictureRef {\n\n uid = '';\n url = '';\n width = 100.0;\n height = 0.0;\n\n constructor(ref?: object) {\n this.uid = getValueFrom(ref, 'uid', '');\n this.url = getValueFrom(ref, 'url', '');\n this.width = getValueFrom(ref, 'width', 100.0);\n this.height = getValueFrom(ref, 'height', 0.0);\n }\n\n isValid(): Boolean {\n return this.uid !== '' && this.url !== '' && this.width > 0.0 && this.height > 0.0;\n }\n}\n\nfunction getValueFrom(obj: object, field: string, defvalue: any): any {\n\n if (obj === undefined || obj === null) {\n return defvalue;\n }\n const val = obj[field];\n if (val === undefined || val === null) {\n return defvalue;\n }\n return val;\n}\n\n","export default \".folder-data-container input.folder-name {\\n font-size: 14px;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n font-size: large;\\n font-weight: bold;\\n}\\n\\n.folder-data-container input.folder-descr {\\n font-size: 14px;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n margin-top: 10px;\\n}\\n\\n.folder-data-container input::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.folder-data-container input::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.folder-data-container input::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.folder-data-container input::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n\\n.folder-data-container input[type=text].folder-name,\\n.folder-data-container input[type=text].folder-descr {\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n}\\n\\n.folder-data-container input[type=text].folder-name:-moz-read-only, .folder-data-container input[type=text].folder-name[readonly=\\\"\\\"],\\n.folder-data-container input[type=text].folder-descr:-moz-read-only,\\n.folder-data-container input[type=text].folder-descr[readonly=\\\"\\\"] {\\n color: #333;\\n font-weight: bold;\\n}\\n\\n.folder-data-container input[type=text].folder-name:read-only, .folder-data-container input[type=text].folder-name[readonly=\\\"\\\"],\\n.folder-data-container input[type=text].folder-descr:read-only,\\n.folder-data-container input[type=text].folder-descr[readonly=\\\"\\\"] {\\n color: #333;\\n font-weight: bold;\\n}\\n\\n.folder-data-container input[type=text].folder-name:focus,\\n.folder-data-container input[type=text].folder-descr:focus {\\n outline: none;\\n}\\n\\n.folder-create-message-container p {\\n padding: 10px;\\n color: #676a6c;\\n font-size: initial;\\n text-align: center;\\n min-height: 60px;\\n}\\n\\n.folder-create-message-container p.error-msg {\\n color: darkRed;\\n}\\n\\n.folder-result-container {\\n text-align: center;\\n}\\n\\n.folder-result-container .btn.btn-import {\\n font-size: large;\\n margin-top: 10px;\\n}\\n\\n.folder-result-container .btn.btn-import i {\\n font-size: larger;\\n margin-right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jbG91ZC9jaC1uZXctZm9sZGVyLXdpbmRvdy9jaC1uZXctZm9sZGVyLXdpbmRvdy5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9jaGlsL2Nsb3VkL2NoLW5ldy1mb2xkZXItd2luZG93L2NoLW5ldy1mb2xkZXItd2luZG93LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsZUNpS2tCO0VEaEtsQixzQkN3S2E7RUR2S2IsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUVERjs7QUZJQTtFQUNFLGVDd0prQjtFRHZKbEIsc0JDK0phO0VEOUpiLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBRURGOztBRklBO0VBQ0UseUNBQUE7RUFDQSxnQkNzSmdCO0VEckpoQixVQUFBO0VBQVksWUFBQTtBRUFkOztBRkhBO0VBQ0UseUNBQUE7RUFDQSxnQkNzSmdCO0VEckpoQixVQUFBO0VBQVksWUFBQTtBRUFkOztBRkhBO0VBQ0UseUNBQUE7RUFDQSxnQkNzSmdCO0VEckpoQixVQUFBO0VBQVksWUFBQTtBRUFkOztBRkhBO0VBQ0UseUNBQUE7RUFDQSxnQkNzSmdCO0VEckpoQixVQUFBO0VBQVksWUFBQTtBRUFkOztBRklBOztFQUdFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0MwSW1CO0FDNUlyQjs7QUZJRTs7O0VBRUksV0NpQ29CO0VEaENwQixpQkFBQTtBRUROOztBRkZFOzs7RUFFSSxXQ2lDb0I7RURoQ3BCLGlCQUFBO0FFRE47O0FGR0U7O0VBQ0UsYUFBQTtBRUFKOztBRklBO0VBQ0UsYUFBQTtFQUNBLGNDd0JtQjtFRHZCbkIsa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FFREY7O0FGR0U7RUFDRSxjQ3NCYztBQ3ZCbEI7O0FGS0E7RUFDRSxrQkFBQTtBRUZGOztBRklFO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTtBRUZKOztBRkdJO0VBQ0UsaUJBQUE7RUFDQSxpQkFBQTtBRUROIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jbG91ZC9jaC1uZXctZm9sZGVyLXdpbmRvdy9jaC1uZXctZm9sZGVyLXdpbmRvdy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dC5mb2xkZXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtdGV4dC1zaXplO1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBmb250LXNpemU6IGxhcmdlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dC5mb2xkZXItZGVzY3Ige1xuICBmb250LXNpemU6ICRjb250cm9sLXRleHQtc2l6ZTtcbiAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXJcbnsgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG59XG5cblxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1uYW1lLFxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1kZXNjclxue1xuICBwYWRkaW5nOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgLy8gYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAmOnJlYWQtb25seSxcbiAgJltyZWFkb25seT1cIlwiXSB7XG4gICAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4uZm9sZGVyLWNyZWF0ZS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuXG4gICYuZXJyb3ItbXNnIHtcbiAgICBjb2xvcjogJG1hbmRhdG9yeS1jb2xvcjtcbiAgfVxufVxuXG4uZm9sZGVyLXJlc3VsdC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0bi5idG4taW1wb3J0IHtcbiAgICBmb250LXNpemU6IGxhcmdlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIiwiLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dC5mb2xkZXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZm9sZGVyLWRhdGEtY29udGFpbmVyIGlucHV0LmZvbGRlci1kZXNjciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5mb2xkZXItZGF0YS1jb250YWluZXIgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gIGNvbG9yOiBMaWdodEJsdWU7XG4gIG9wYWNpdHk6IDE7XG4gIC8qIEZpcmVmb3ggKi9cbn1cblxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1uYW1lLFxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1kZXNjciB7XG4gIHBhZGRpbmc6IDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjNDE2RUQ5O1xufVxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1uYW1lOnJlYWQtb25seSwgLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1uYW1lW3JlYWRvbmx5PVwiXCJdLFxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1kZXNjcjpyZWFkLW9ubHksXG4uZm9sZGVyLWRhdGEtY29udGFpbmVyIGlucHV0W3R5cGU9dGV4dF0uZm9sZGVyLWRlc2NyW3JlYWRvbmx5PVwiXCJdIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1uYW1lOmZvY3VzLFxuLmZvbGRlci1kYXRhLWNvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdLmZvbGRlci1kZXNjcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb2xkZXItY3JlYXRlLW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzY3NmE2YztcbiAgZm9udC1zaXplOiBpbml0aWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG59XG4uZm9sZGVyLWNyZWF0ZS1tZXNzYWdlLWNvbnRhaW5lciBwLmVycm9yLW1zZyB7XG4gIGNvbG9yOiBkYXJrUmVkO1xufVxuXG4uZm9sZGVyLXJlc3VsdC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZm9sZGVyLXJlc3VsdC1jb250YWluZXIgLmJ0bi5idG4taW1wb3J0IHtcbiAgZm9udC1zaXplOiBsYXJnZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5mb2xkZXItcmVzdWx0LWNvbnRhaW5lciAuYnRuLmJ0bi1pbXBvcnQgaSB7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn0iXX0= */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { ChFolder, ChFileCompact, FileType } from '../ch-file';\n\nimport { Observable , BehaviorSubject} from 'rxjs';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'app-ch-new-folder-window',\n templateUrl: './ch-new-folder-window.component.html',\n styleUrls: ['./ch-new-folder-window.component.scss']\n})\nexport class ChNewFolderWindowComponent implements OnInit {\n\n @ViewChild('fileImportInput', { static: false}) fileImportInput: any\n\n rowsImportedInBd : boolean = false;\n\n private static fileList : Array = [];\n private static selectedFileList: Array = [];\n private static folderUid : string = '';\n private static modalRef : BsModalRef = null;\n private static callback : Function = null;\n\n private fileList : Array = [];\n private folderUid : string = '';\n\n @ViewChild('fileImportInput', { static: false})\n\n insertedRows : number = 0;\n errorTxt : BehaviorSubject = new BehaviorSubject(\"\");\n calcscript :string = \"\";\n isRunning : boolean = false;\n isFinished : boolean = false;\n\n folderName = '';\n folderDescr= '';\n\n txtMessage = '';\n txtError = false;\n\n constructor(/*public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n\n }\n\n ngOnInit() {\n this.fileList = ChNewFolderWindowComponent.fileList;\n this.folderUid = ChNewFolderWindowComponent.folderUid;\n }\n\n confirm() {\n if (!this.isRunning)\n ChNewFolderWindowComponent.hide(true);\n }\n\n decline() {\n if (!this.isRunning)\n ChNewFolderWindowComponent.hide(false);\n }\n\n public static show(fileList : Array, selectedFileList: Array, folderUid: string, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChNewFolderWindowComponent.fileList = fileList;\n ChNewFolderWindowComponent.selectedFileList = selectedFileList;\n ChNewFolderWindowComponent.folderUid = folderUid;\n ChNewFolderWindowComponent.modalRef = service.showModalWindow(this, config);\n ChNewFolderWindowComponent.callback = callback != null? callback : () => {};\n }\n\n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChNewFolderWindowComponent.modalRef);\n if (executeCallback) {\n ChNewFolderWindowComponent.callback();\n }\n }\n\n execute() {\n if (this.folderName.trim() == '') {\n this.txtMessage = 'El nombre de la nueva carpeta no puede estar vacío';\n this.txtError = true;\n return;\n }\n this.txtMessage = ''\n this.txtError = false;\n this.isRunning = true;\n this.chGlobal.showRunningWindow('creando carpeta...');\n\n this.chGlobal.addFolder(this.folderUid, this.folderName, this.folderDescr)\n .then( (f: ChFolder) => {\n this.chGlobal.hideRunningWindow();\n if (f == null) {\n this.chGlobal.showMessage(MessageType.error, 'Error de ',\n 'La carpeta no ha podido ser creada.');\n this.isRunning = false;\n } else {\n this.chGlobal.showMessage(MessageType.success, 'Carpeta creada',\n 'la carpeta ha sido creada con éxito.');\n this.fileList.push(f.toFile());\n this.isRunning = false;\n ChNewFolderWindowComponent.hide(true);\n }\n },\n reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de creación',\n 'La carpeta no ha podido ser creada.');\n this.isRunning = false;\n }). catch( reason => {\n console.log(reason);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error del sistema',\n 'La carpeta no ha podido ser creada.');\n this.isRunning = false;\n })\n\n /*\n this.errorTxt.next('');\n this.isRunning = true;\n this.isFinished = false;\n\n let promiseArray: Promise[] = []\n for (let i= 0; i< this.files.length; i++) {\n promiseArray.push(this.loadFile(this.files[i], this.folderUid));\n }\n\n Promise.all(promiseArray).then( v => {\n console.log(v)\n for (let i= 0; i< v.length; i++) {\n this.fileList.push(v[i]);\n }\n this.isRunning = false;\n this.isFinished = true;\n this.confirm();\n },\n reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = false;\n this.errorTxt.next('Se ha producido un error importando los ficheros. Puede intentarlo de nuevo en unos segundos.');\n }). catch( reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = true;\n this.errorTxt.next('Se ha producido un error importando los ficheros debo a un problema interno.');\n })\n */\n }\n\n\n}\n","export default \".ch-workpanel-channel-select {\\n background-color: #FAFAFA;\\n border-color: #F3F3F3;\\n}\\n\\n.channel-list-container {\\n padding: 0px;\\n margin-top: 30px;\\n margin-left: 0px;\\n margin-right: 0px;\\n margin-bottom: 30px;\\n}\\n\\n.channel-ext-container {\\n padding: 5px;\\n}\\n\\n.channel-container {\\n border: 1px solid #EEEEEE;\\n background-color: #FAFAFA;\\n height: 80px;\\n position: relative;\\n font-family: \\\"Raleway\\\", Arial, san-serif;\\n cursor: pointer;\\n}\\n\\n.channel-container.selected {\\n border-color: #7A2184 !important;\\n background-color: #F2E7F2 !important;\\n border-width: 1.5px !important;\\n}\\n\\n.channel-container.disabled {\\n border-color: #EEEEEE;\\n background-color: #EEEEEE;\\n color: #C0C0C0 !important;\\n}\\n\\n.channel-container .channel-icons {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n font-size: normal;\\n padding: 3px;\\n}\\n\\n.channel-container .channel-icons .fa {\\n font-size: 18px;\\n padding-right: 5px;\\n vertical-align: middle;\\n color: inherit;\\n}\\n\\n.channel-container .channel-icons .fa.status {\\n font-size: 14px;\\n color: #929292;\\n padding-right: 3px;\\n}\\n\\n.channel-container .channel-icons .fa.status.active {\\n color: #4F8F00;\\n}\\n\\n.channel-container h4 {\\n padding-left: 5px;\\n font: \\\"Raleway\\\", Arial, san-serif;\\n font-weight: lighter;\\n font-size: 16px;\\n text-transform: uppercase;\\n margin-right: 30px;\\n margin-bottom: 5px;\\n}\\n\\n.channel-container .direcction {\\n padding-left: 10px;\\n padding-right: 10px;\\n line-height: 1.1;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n /* number of lines to show */\\n -webkit-box-orient: vertical;\\n color: #9EA3A5;\\n font-style: italic;\\n font-size: 12px;\\n}\\n\\n.channel-container .services {\\n position: absolute;\\n bottom: 5px;\\n left: 5px;\\n text-transform: uppercase;\\n font-size: 12px;\\n padding: 0px;\\n margin: 0px;\\n}\\n\\n/*\\n.channel-container.selected {\\n border-color: $selected-item-color !important;\\n background-color: $selected-item-color-bk !important;\\n border-width: 1.5px !important;\\n}\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1jaGFubmVsLWxpc3QtZWRpdG9yL2NoLWNoYW5uZWwtbGlzdC1lZGl0b3IuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1jaGFubmVsLWxpc3QtZWRpdG9yL2NoLWNoYW5uZWwtbGlzdC1lZGl0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7RUFDSSx5QkNrR3NCO0VEakd0QixxQkNrRzZCO0FDdkdqQzs7QUZRQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBRUxKOztBRlFBO0VBQ0ksWUFBQTtBRUxKOztBRlFBO0VBQ0kseUJBQUE7RUFDQSx5QkNvRWtCO0VEbkVsQixZQUFBO0VBQ0Esa0JBQUE7RUFDQSx3Q0ExQlE7RUEyQlIsZUFBQTtBRUxKOztBRk9JO0VBQ0ksZ0NBQUE7RUFDQSxvQ0FBQTtFQUNBLDhCQUFBO0FFTFI7O0FGUUk7RUFDSSxxQkM0RDhCO0VEM0Q5Qix5QkMwRHVCO0VEekR2Qix5QkFBQTtBRU5SOztBRlNJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtBRVBSOztBRlNRO0VBQ0ksZUFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0FFUFo7O0FGU1k7RUFDSSxlQUFBO0VBQ0EsY0MwRkg7RUR6Rkcsa0JBQUE7QUVQaEI7O0FGU2dCO0VBQ0ksY0NxRlI7QUM1Rlo7O0FGYUk7RUFDSSxpQkFBQTtFQUNBLGlDQXBFSTtFQXFFSixvQkFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUVYUjs7QUZhSTtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQXVCLDRCQUFBO0VBQ3ZCLDRCQUFBO0VBQ0EsY0M1RWU7RUQ2RWYsa0JBQUE7RUFDQSxlQUFBO0FFVlI7O0FGWUk7RUFDSSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUVWUjs7QUZhQTs7Ozs7O0NBQUEiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLWNoYW5uZWwtbGlzdC1lZGl0b3IvY2gtY2hhbm5lbC1saXN0LWVkaXRvci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuJGJhc2ljLWZvbnQ6J1JhbGV3YXknLCBBcmlhbCwgc2FuLXNlcmlmO1xuLy8kYmFzaWMtZm9udDogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYmFzaWMtc3BhY2luZzogMTRweDtcblxuLmNoLXdvcmtwYW5lbC1jaGFubmVsLXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbn1cblxuLmNoYW5uZWwtbGlzdC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0IDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jaGFubmVsLWV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLmNoYW5uZWwtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1YnBhbmVsLWJhY2tncm91bmQ7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3ItYmsgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxLjVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICAgIGNvbG9yOiAkc3VicGFuZWwtY29sb3ItZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhbm5lbC1pY29ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgJi5zdGF0dXMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN0YXR1cy1vZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHN0YXR1cy1vblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIGZvbnQ6ICRiYXNpYy1mb250O1xuICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLmRpcmVjY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAvKiBudW1iZXIgb2YgbGluZXMgdG8gc2hvdyAqL1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itc2VjdW5kYXJ5O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLnNlcnZpY2VzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxufVxuLypcbi5jaGFubmVsLWNvbnRhaW5lci5zZWxlY3RlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweCAhaW1wb3J0YW50O1xufVxuKi8iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iLCIuY2gtd29ya3BhbmVsLWNoYW5uZWwtc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiAjRjNGM0YzO1xufVxuXG4uY2hhbm5lbC1saXN0LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jaGFubmVsLWV4dC1jb250YWluZXIge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jaGFubmVsLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGhlaWdodDogODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIEFyaWFsLCBzYW4tc2VyaWY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jaGFubmVsLWNvbnRhaW5lci5zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogIzdBMjE4NCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJFN0YyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMS41cHggIWltcG9ydGFudDtcbn1cbi5jaGFubmVsLWNvbnRhaW5lci5kaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogI0VFRUVFRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgY29sb3I6ICNDMEMwQzAgIWltcG9ydGFudDtcbn1cbi5jaGFubmVsLWNvbnRhaW5lciAuY2hhbm5lbC1pY29ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogbm9ybWFsO1xuICBwYWRkaW5nOiAzcHg7XG59XG4uY2hhbm5lbC1jb250YWluZXIgLmNoYW5uZWwtaWNvbnMgLmZhIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmNoYW5uZWwtY29udGFpbmVyIC5jaGFubmVsLWljb25zIC5mYS5zdGF0dXMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjOTI5MjkyO1xuICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG4uY2hhbm5lbC1jb250YWluZXIgLmNoYW5uZWwtaWNvbnMgLmZhLnN0YXR1cy5hY3RpdmUge1xuICBjb2xvcjogIzRGOEYwMDtcbn1cbi5jaGFubmVsLWNvbnRhaW5lciBoNCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBmb250OiBcIlJhbGV3YXlcIiwgQXJpYWwsIHNhbi1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uY2hhbm5lbC1jb250YWluZXIgLmRpcmVjY3Rpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAvKiBudW1iZXIgb2YgbGluZXMgdG8gc2hvdyAqL1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBjb2xvcjogIzlFQTNBNTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEycHg7XG59XG4uY2hhbm5lbC1jb250YWluZXIgLnNlcnZpY2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgbGVmdDogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi8qXG4uY2hhbm5lbC1jb250YWluZXIuc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvci1iayAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMS41cHggIWltcG9ydGFudDtcbn1cbiovIl19 */\"","\nimport { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { isNullOrUndefined } from 'util';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { CHDistributionChannel, CHDistributionChannelType } from '../ch-distribution-channel';\nimport { ChFormsMapDisplayPoint } from 'app/chil/forms/ch-forms-map-display/ch-forms-map-display';\nimport { ChGeoLocationExtended, ChMapDefinition } from 'app/chil/location/ch-geo-location';\nimport { ActivatedRoute } from '@angular/router';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\n\n@Component({\n selector: 'app-ch-channel-list-editor',\n templateUrl: './ch-channel-list-editor.component.html',\n styleUrls: ['./ch-channel-list-editor.component.scss']\n})\n\nexport class ChChannelListEditorComponent implements OnInit {\n\n defaultLatitude = 40.41831;\n defaultLongitude = -3.70275;\n defaultZoom = 8;\n\n private siteName = '';\n private config = {};\n private channels: Array = [];\n private selectedChannel: CHDistributionChannel = undefined;\n private dirtyFlag = false;\n // private selectedLocation: ChGeoLocationExtended = new ChGeoLocationExtended(0,0,'','place');\n private channelPoints: Array = [];\n private isRunning = false;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n constructor(private chGlobal: ChGlobalsService, route: ActivatedRoute, vcr: ViewContainerRef) {\n\n this.config = {\n hostUid: this.chGlobal.getGroupInfo().uid,\n }\n\n chGlobal.initToasts(vcr);\n\n // this.model = JSON.parse(JSON.stringify(chGlobal.getGroupInfo()));\n this.isRunning = true;\n this.chGlobal.getCommerceConfig()\n .then((value) => {\n if (value['uid']) {\n this.config = value;\n //console.log(this.config);\n if (this.config['useChannels']) {\n chGlobal.getDistributionChannels().then(\n (value) => {\n setTimeout(() => {\n this.channels = value;\n //console.log(this.channels);\n this.channelPoints = this.channels.filter(ch => ch.location != undefined).map(ch => {\n return this.mapPointFromChannel(ch);\n });\n //console.log(this.channelPoints);\n this.isRunning = false;\n }, 200);\n },\n (reason) => {\n console.log(\"ERROR \" + reason);\n this.channels = [];\n this.isRunning = false;\n }\n )\n } else {\n this.isRunning = false;\n }\n } else {\n this.isRunning = false;\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n this.isRunning = false;\n }\n );\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n }\n\n mapPointFromChannel(ch: CHDistributionChannel): ChFormsMapDisplayPoint {\n const newPoint = new ChFormsMapDisplayPoint();\n newPoint.uid = ch.uid;\n newPoint.title = ch.name;\n newPoint.position = ch.location;\n newPoint.innerHtml = '';\n if (ch.type == CHDistributionChannelType.courier) {\n newPoint.icon = 'assets/images/maps/truck48.png';\n newPoint.iconSelected = 'assets/images/maps/truck48sel.png';\n newPoint.scale = 0.5;\n } else if (ch.type == CHDistributionChannelType.shop) {\n newPoint.icon = 'assets/images/maps/cart48.png';\n newPoint.iconSelected = 'assets/images/maps/cart48sel.png';\n newPoint.scale = 0.5;\n } else if (ch.type == CHDistributionChannelType.group) {\n newPoint.icon = 'assets/images/maps/group48.png';\n newPoint.iconSelected = 'assets/images/maps/group48sel.png';\n newPoint.scale = 0.5;\n } else {\n newPoint.icon = 'assets/images/maps/marker48b.png';\n newPoint.iconSelected = 'assets/images/maps/marker48bsel.png';\n newPoint.scale = 0.7;\n }\n return newPoint;\n }\n\n updatePoint(ch: CHDistributionChannel) {\n const index = this.channelPoints.findIndex(p => p.uid == ch.uid);\n if (index >= 0) {\n this.channelPoints[index] = this.mapPointFromChannel(ch);\n } else {\n this.channelPoints.push(this.mapPointFromChannel(ch));\n }\n\n }\n\n ngOnInit() {\n\n }\n\n saveChannel() {\n if (this.isRunning || !this.dirtyFlag) {\n return;\n }\n\n if (this.selectedChannel.uid == '' || this.selectedChannel.uid.startsWith(\"PR\")) {\n this.isRunning = true;\n this.chGlobal.showRunningWindow('Creando el canal de distribución...');\n this.chGlobal.createDistributionChannel(this.selectedChannel).then(\n (value) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Canal guardado',\n 'El canal ha sido guardado en la base de datos');\n this.dirtyFlag = false;\n this.isRunning = false;\n },\n (reason) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El canal no ha podido ser guardado en la base de datos.');\n this.isRunning = false;\n });\n } else {\n this.isRunning = true;\n this.chGlobal.showRunningWindow('Guardando canal de distribución...');\n this.chGlobal.updateDistributionChannel(this.selectedChannel).then(\n (value) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Canal guardado',\n 'El canal ha sido guardado en la base de datos');\n this.updateChannel(this.selectedChannel);\n this.dirtyFlag = false;\n this.isRunning = false;\n },\n (reason) => {\n console.log(reason)\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El canal no ha podido ser guardado en la base de datos.');\n this.isRunning = false;\n }).catch( reason => {\n console.log(reason)\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El canal no ha podido ser guardado en la base de datos.');\n this.isRunning = false;\n });\n }\n }\n\n newChannel() {\n if (this.isRunning) {\n console.log(\"running!\")\n return;\n }\n this.isRunning = true;\n // if (this.selectChannel(undefined, false)) {\n const newChannel = new CHDistributionChannel();\n newChannel.name = \"Nuevo canal\";\n if (this.config['mapDefinition'] == undefined) {\n const temp = new ChMapDefinition();\n newChannel.location = new ChGeoLocationExtended(temp.latitude, temp.longitude, '', 'place','');\n } else {\n const temp = this.config['mapDefinition'];\n newChannel.location = new ChGeoLocationExtended(temp['latitude'], temp['longitude'], '', 'place','');\n }\n this.channels.push(newChannel);\n // this.channelPoints.push(this.mapPointFromChannel(newChannel));\n this.selectChannel(newChannel, false);\n //}\n this.isRunning = false;\n }\n\n deleteChannel() {\n if (this.isRunning || this.selectedChannel == undefined) {\n console.log(\"running!\")\n return;\n }\n\n this.chGlobal.showConfirmDialog('ELIMINAR POSTS',\n '¿Está seguro de querer eliminar el canal ' + this.selectedChannel.name + '? ',\n 'No se eliminarán los pedidos ya realizados contra él. La operación no será reversible.',\n () => {\n this.isRunning = true;\n if (this.selectedChannel.uid == '') {\n const indexPoint = this.channelPoints.findIndex(p => p.uid == this.selectedChannel.uid);\n const indexCh = this.channels.findIndex(p => p.uid == this.selectedChannel.uid);\n this.selectChannel(undefined, true);\n if (indexPoint >= 0) {\n this.channelPoints.splice(indexPoint, 1);\n }\n if (indexPoint >= 0) {\n this.channels.splice(indexCh, 1);\n }\n this.isRunning = false;\n } else {\n this.chGlobal.showRunningWindow('Borrando canal de distribución...');\n this.chGlobal.deleteDistributionChannel(this.selectedChannel.uid).then(\n (value) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Canal guardado',\n 'El canal ha sido borrado de la base de datos');\n const indexPoint = this.channelPoints.findIndex(p => p.uid == this.selectedChannel.uid);\n const indexCh = this.channels.findIndex(p => p.uid == this.selectedChannel.uid);\n this.selectChannel(undefined, true);\n if (indexPoint >= 0) {\n this.channelPoints.splice(indexPoint, 1);\n }\n if (indexPoint >= 0) {\n this.channels.splice(indexCh, 1);\n }\n this.isRunning = false;\n },\n (reason) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El canal no ha podido ser borrado de la base de datos.');\n this.isRunning = false;\n });\n }\n\n\n\n\n\n },\n 'Eliminar', 'Cancelar');\n }\n\n getMapLatitude() {\n if (!isNullOrUndefined(this.config) && !isNullOrUndefined(this.config['mapDefinition'])) {\n return this.config['mapDefinition'].latitude;\n } else {\n return this.defaultLatitude;\n }\n }\n\n getMapLongitude() {\n if (!isNullOrUndefined(this.config) && !isNullOrUndefined(this.config['mapDefinition'])) {\n return this.config['mapDefinition'].longitude;\n } else {\n return this.defaultLongitude;\n }\n }\n\n getMapZoom() {\n if (!isNullOrUndefined(this.config) && !isNullOrUndefined(this.config['mapDefinition'])) {\n return this.config['mapDefinition'].zoom + 2;\n } else {\n return this.defaultZoom;\n }\n }\n\n selectChannel(channel: CHDistributionChannel, force: boolean) {\n if (force) {\n if (this.selectedChannel != undefined && (channel == undefined || this.selectedChannel.uid == channel.uid) ) {\n this.selectedChannel = undefined;\n this._selectedUidPoint = undefined;\n this.dirtyFlag = false;\n } else {\n this.selectedChannel = this.cloneChannel(channel); //channel\n if (this.selectedChannel.uid != '') {\n this._selectedUidPoint = this.selectedChannel == undefined ? undefined : channel.uid;\n }\n this.dirtyFlag = false;\n }\n } else {\n this.confirmChangeChannelIfDirty().then(continuar => {\n if (continuar) {\n if (this.selectedChannel != undefined && (channel == undefined || this.selectedChannel.uid == channel.uid) ) {\n this.selectedChannel = undefined;\n this._selectedUidPoint = undefined;\n this.dirtyFlag = false;\n } else {\n this.selectedChannel = this.cloneChannel(channel); //channel\n if (this.selectedChannel.uid != '') {\n this._selectedUidPoint = this.selectedChannel == undefined ? undefined : channel.uid;\n }\n this.dirtyFlag = false;\n }\n }\n });\n }\n return true;\n }\n\n confirmChangeChannelIfDirty(): Promise {\n if (!this.dirtyFlag) {\n return new Promise((resolve) => { resolve(true); });\n } else {\n return this.chGlobal.showConfirmDialogPromise('CAMBIAR SELECCION',\n 'Si no salva las modificaciones realizadas, los cambios se perderán.', 'Si no desea esto es necesario cancelar y luego pulsar el botón Salvar antes de cambiar de canal',\n 'Aceptar y perder cambios','Cancelar');\n }\n }\n\n private _selectedUidPoint: number | string = undefined;\n public set selectedUidPoint(value) {\n if (value != this._selectedUidPoint) {\n\n const newSelectedChannel = value == undefined ? undefined : this.channels.find(ch => ch.uid == value);\n if (this.selectedChannel != newSelectedChannel) {\n this.selectChannel(newSelectedChannel, false);\n }\n }\n }\n public get selectedUidPoint() {\n return this._selectedUidPoint;\n }\n\n public updateLocation(value: ChGeoLocationExtended) {\n // this.selectedLocation = this.selectedChannel.location;\n // console.log(value)\n this.updatePoint(this.selectedChannel);\n this.form.updateValues('location');\n }\n\n public setDirtyFlag() {\n if (!this.dirtyFlag) {\n this.dirtyFlag = true;\n }\n }\n\n public cloneChannel(channel: CHDistributionChannel) : CHDistributionChannel {\n return JSON.parse(JSON.stringify(channel)) as CHDistributionChannel;\n }\n\n public updateChannel(channel: CHDistributionChannel) {\n const index = this.channels.findIndex( ch => ch.uid == channel.uid);\n if (index >=0) {\n this.channels[index].copy(channel);\n this.channelPoints[index] = this.mapPointFromChannel(this.channels[index]);\n }\n }\n\n}\n","import { ChImageManagerService } from \"app/chilsystem/CHImages/ch-image-manager.service\";\nimport { isNullOrUndefined } from \"util\";\nimport { ChGlobalsService } from \"../chilweb/ch-globals.service\";\nimport { ChMapDefinition } from \"../location/ch-geo-location\";\n\nexport class CHCommerceConfig {\n\n public uid : string;\n\n public open : boolean;\n public productTypes = [];\n public productFormats : boolean;\n public productComments : boolean;\n public useChannels : boolean;\n\n public name : string;\n public nif : string;\n public direccion : string;\n public contactEmail : string;\n public description : string;\n public instrucciones : string;\n\n public facPrefix : string;\n public nFactura : number;\n\n public iva1 : number;\n public iva2 : number;\n public iva3 : number;\n public iva4 : number;\n\n public currencies : string;\n public usePoints : boolean;\n\n public showLogo : boolean;\n public showName : boolean;\n public showHeader : boolean;\n public logoUrl : string;\n public bannerUrl : string;\n public backcolor1 : number;\n public backcolor2 : number;\n public bordercolor : number;\n public titlecolor1 : number;\n public titlecolor2 : number;\n public titlecolor3 : number;\n public textcolor : number;\n public textauxcolor : number;\n public numbercolor : number;\n\n public mapDefinition : ChMapDefinition;\n\n public ordersTable : string;\n public invoicesTable : string;\n\n\n public constructor() {\n const chGlobal = ChGlobalsService.getInstance();\n const chImageService = ChImageManagerService.getInstance();\n\n this.uid = chGlobal.getGroupInfo().uid;\n\n this.open = false;\n this.productTypes = [];\n this.productFormats = false;\n this.productComments = true;\n this.useChannels = true;\n\n this.name = chGlobal.getGroupInfo().displayName;\n this.nif = '';\n this.direccion = isNullOrUndefined(chGlobal.getGroupInfo().location) ? '' : chGlobal.getGroupInfo().location.name;\n this.contactEmail = chGlobal.getGroupInfo().email;\n this.description = chGlobal.getGroupInfo().description;\n this.instrucciones = '';\n\n this.facPrefix = '';\n this.nFactura = 1;\n\n this.iva1 = 21;\n this.iva2 = 10;\n this.iva3 = 4;\n this.iva4 = 0;\n\n this.currencies = \"€\";\n this.usePoints = false;\n\n this.showLogo = true;\n this.showName = true;\n this.showHeader = true;\n this.logoUrl = chImageService.correctURL(chGlobal.getGroupInfo().pictureUrl,null,null,false);\n this.bannerUrl = chImageService.correctURL(chGlobal.getGroupInfo().headerPictureUrl,null,null,false);\n this.backcolor1 = 0xF3F3F5;\n this.backcolor2 = 0xFFFFFF;\n this.bordercolor = 0xD6D8DB;\n this.titlecolor1 = 0xEE7B06;\n this.titlecolor2 = 0x000000;\n this.titlecolor3 = 0x3C3F44;\n this.textcolor = 0x3C3F44;\n this.textauxcolor = 0x9199A1;\n this.numbercolor = 0x0077CC;\n\n this.mapDefinition = new ChMapDefinition();\n\n this.ordersTable = '';\n this.invoicesTable = '';\n };\n\n public static copy( origin : object) : CHCommerceConfig {\n\n const tempJSON = JSON.stringify(origin);\n const tempJObject = JSON.parse(tempJSON);\n const newConfig = Object.assign(new CHCommerceConfig, tempJObject);\n\n return newConfig;\n }\n\n};\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1jb21tZXJjZS1jb25maWcvY2gtY29tbWVyY2UtY29uZmlnLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLWNvbW1lcmNlLWNvbmZpZy9jaC1jb21tZXJjZS1jb25maWcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDSSxpQkFBQTtBQ0ZKOztBRElBO0VBQ0ksaUJBQUE7QUNESjs7QURJQTtFQUNJLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG9FQWJTO0VBY1Qsb0JBYlk7RUFjWixnQkFBQTtBQ0RKOztBREdBO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0VBdkJTO0FDdUJiOztBREVBO0VBQ0ksZ0JBQUE7RUFDQSxvRUEzQlM7RUE0QlQsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FDQ0o7O0FERUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esb0VBdkNTO0VBd0NULGVBQUE7RUFDQSxnQkFBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1jb21tZXJjZS1jb25maWcvY2gtY29tbWVyY2UtY29uZmlnLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAkYmFzaWMtc3BhY2luZztcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuLnN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbn1cbi5ib2R5LXN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0bntcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn0iLCJpbWcge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLmJvZHkge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgZm9udC1zaXplOiA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbi5zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uYm9keS1zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogOTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogODBweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59Il19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChDataTable, ChDataTableRef } from 'app/chil/data/ch-datatable';\nimport { ChMapDefinition } from 'app/chil/location/ch-geo-location';\nimport { ChImageManagerService } from 'app/chilsystem/CHImages/ch-image-manager.service';\nimport { isNullOrUndefined } from 'util';\nimport { CHCommerceConfig } from '../ch-commerce-config';\nimport { ChInvoicewindowComponent } from '../ch-invoice-dialog/ch-invoice-window.component';\nimport { CHInvoice } from '../ch-product';\n\n@Component({\n selector: 'ch-commerce-config',\n templateUrl: './ch-commerce-config.component.html',\n styleUrls: ['./ch-commerce-config.component.scss']\n})\nexport class ChCommerceConfigComponent implements OnInit {\n\n private langCodes = [\n { cod: 'ES', name: 'Español'},\n { cod: 'CA', name: 'Catalá'},\n { cod: 'EN', name: 'English'},\n { cod: 'FR', name: 'Français'}\n ];\n\n private model: CHCommerceConfig | null = null;\n private productTypes: Array = [];\n private testDestination = '';\n private datatables: ChDataTableRef[] = null;\n\n\n constructor(private chGlobal: ChGlobalsService, private chImageService: ChImageManagerService, private vcr: ViewContainerRef) {\n\n chGlobal.initToasts(vcr);\n\n this.datatables = chGlobal.getDatabaseTables().map ( t => { return new ChDataTableRef(this.chGlobal.getGroupInfo().uid, t.tableId, t.name, t.restricted ); } );\n // this.model = JSON.parse(JSON.stringify(chGlobal.getGroupInfo()));\n }\n\n ngOnInit() {\n this.model = new CHCommerceConfig();\n /*\n {\n\n uid: this.chGlobal.getGroupInfo().uid,\n\n open : false,\n productTypes : [],\n productFormats : true,\n productComments : true,\n useChannels : true,\n\n name: this.chGlobal.getGroupInfo().displayName,\n nif : '',\n direccion: isNullOrUndefined(this.chGlobal.getGroupInfo().location) ? '' : this.chGlobal.getGroupInfo().location.name,\n contactEmail: this.chGlobal.getGroupInfo().email,\n description: this.chGlobal.getGroupInfo().description,\n instrucciones: '',\n\n facPrefix : '',\n nFactura : 1,\n\n iva1 : 21,\n iva2 : 10,\n iva3 : 4,\n iva4 : 0,\n\n currencies : \"€\",\n usePoints : false,\n\n showLogo: true,\n showName: true,\n showHeader: true,\n logoUrl: this.chImageService.correctURL(this.chGlobal.getGroupInfo().pictureUrl,null,null,false),\n bannerUrl: this.chImageService.correctURL(this.chGlobal.getGroupInfo().headerPictureUrl,null,null,false),\n backcolor1: 0xF3F3F5,\n backcolor2: 0xFFFFFF,\n bordercolor: 0xD6D8DB,\n titlecolor1: 0xEE7B06,\n titlecolor2: 0x000000,\n titlecolor3: 0x3C3F44,\n textcolor: 0x3C3F44,\n textauxcolor: 0x9199A1,\n numbercolor: 0x0077CC,\n\n mapDefinition : new ChMapDefinition(),\n\n ordersTable : '',\n invoicesTable : ''\n }; */\n\n this.chGlobal.getCommerceTypes()\n .then ( (value) => {\n console.log(value);\n this.productTypes = value.filter( i => !isNullOrUndefined(i['firstFamily']) &&\n (i['firstFamily']['title'] == 'Productos' || i['firstFamily']['title'] == 'Actividad Formativa'));\n // console.log(this.productTypes);\n\n this.chGlobal.getCommerceConfig()\n .then ( (value) => {\n if (value['uid']) {\n this.model = CHCommerceConfig.copy(value);\n } else {\n this.model = new CHCommerceConfig();\n this.model.uid = this.chGlobal.getGroupInfo().uid;\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n }\n );\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de ecommerce del grupo');\n }\n );\n\n }\n\n public saveCommerceConfig(){\n this.chGlobal.showRunningWindow('Guardando configuración...');\n\n this.chGlobal.updateCommerceConfig(this.model)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Perfil guardado',\n 'La configuración de e-commerce Ha sido guardada');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de e-commerce no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de e-commerce no ha podido ser guardada en la base de datos.');\n }\n );\n }\n\n public testInvoice() {\n const invoice = new CHInvoice();\n ChInvoicewindowComponent.show(invoice, this.model,\n { initialState : {\n data : {\n title: 'Prueba de factura',\n }\n },\n class: 'ch-modal-document',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n}\n","import { ChGeoLocation, ChGeoLocationExtended } from \"../location/ch-geo-location\";\n\nexport enum CHDistributionChannelType {\n courier = 'courier', shop = 'shop', group = 'group', other = 'other'\n}\n\nexport enum CHDistributionCostType {\n none, perVolume, perWeight, perPrice, formula\n}\n\nexport class CHDistributionCosts {\n public type: CHDistributionCostType = CHDistributionCostType.none;\n public base = 0.0;\n public variable = 0.0;\n public formula = '';\n}\n\nexport enum CHDistributionTimeType {\n onTime, max1Hour, max8Hour, max12Hour, max1Day, max2Day, max1Week, max2Week, max3Week, max1Month, more1Month\n}\n\nexport class CHDistributionTime {\n public type: CHDistributionTimeType = CHDistributionTimeType.onTime;\n public onlyComercialDays = true;\n}\n\n/**\n * Encapsula la información de un canal de distribución\n */\nexport class CHDistributionChannel {\n\n public uid = '';\n public type : CHDistributionChannelType = CHDistributionChannelType.courier;\n public active = true;\n // Datos básicos\n public hostUid = '';\n public name = '';\n public description = '';\n public tfn1 = ''\n public tfn2 = ''\n public email = ''\n public location: ChGeoLocationExtended = new ChGeoLocationExtended(0, 0, '', 'place','');\n // Servicios\n public services : {\n service: boolean,\n buy: boolean,\n receive: boolean\n } = {\n service: false,\n buy: false,\n receive: false\n };\n public comm : {\n email: boolean,\n whatsapp: boolean\n } = {\n email: true,\n whatsapp: false\n };\n public scope : {\n local: boolean,\n province: boolean,\n country: boolean,\n international: boolean\n } = {\n local: false,\n province: false,\n country: false,\n international: false\n };\n public cost : {\n local: CHDistributionCosts ,\n province: CHDistributionCosts,\n country: CHDistributionCosts,\n international: CHDistributionCosts\n } = {\n local: new CHDistributionCosts() ,\n province: new CHDistributionCosts(),\n country: new CHDistributionCosts(),\n international: new CHDistributionCosts()\n };\n public time : {\n local: CHDistributionTime ,\n province: CHDistributionTime,\n country: CHDistributionTime,\n international: CHDistributionTime\n } = {\n local: new CHDistributionTime() ,\n province: new CHDistributionTime(),\n country: new CHDistributionTime(),\n international: new CHDistributionTime()\n };\n // communication\n public commEmail = true;\n public commWhatsapp = true;\n\n public serviceList() {\n var temp ='';\n temp += this.services.receive ? (temp != '' ? ' | Recogida' : 'Recogida') : '';\n temp += this.services.buy ? (temp != '' ? ' | Venta' : 'Venta') : '';\n temp += this.services.service ? (temp != '' ? ' | A domicilio' : 'A domicilio') : '';\n return temp;\n }\n\n public get typeStr() {\n return this.type.toString();\n }\n\n public set typeStr(value) {\n this.type = CHDistributionChannelType[value];\n }\n\n\n public copy( origin: object) {\n const newCh = this;\n newCh.uid = origin['uid'] ? origin['uid'] : '';\n newCh.type = origin['type'] ? origin['type'] : newCh.type;\n newCh.hostUid = origin['hostUid'] ? origin['hostUid'] : '';\n newCh.name = origin['name'] ? origin['name'] : '';\n newCh.active = origin['active'] ? origin['active'] : '';\n newCh.description = origin['description'] ? origin['description'] :'';\n\n newCh.tfn1 = origin['tfn1'] ? origin['tfn1'] : '';\n newCh.tfn2 = origin['tfn2'] ? origin['tfn2'] : '';\n newCh.email = origin['email'] ? origin['email'] : '';\n console.log(origin['location'])\n newCh.location = origin['location'] ? ChGeoLocationExtended.cast(origin['location']) : new ChGeoLocationExtended(0, 0, '', 'place','');\n console.log(newCh.location)\n newCh.services = origin['services'] ? origin['services'] : newCh.services;\n newCh.comm = origin['comm'] ? origin['comm'] : newCh.comm;\n newCh.scope = origin['scope'] ? origin['scope'] : newCh.scope;\n newCh.cost = origin['cost'] ? origin['cost'] : newCh.cost;\n newCh.time = origin['time'] ? origin['time'] : newCh.time;\n newCh.commEmail = origin['commEmail'] ? origin['commEmail'] : newCh.commEmail;\n newCh.commWhatsapp = origin['commWhatsapp'] ? origin['commWhatsapp'] : newCh.commWhatsapp;\n\n }\n\n public static cast( origin: object) : CHDistributionChannel {\n const newCh = new CHDistributionChannel();\n newCh.uid = origin['uid'] ? origin['uid'] : '';\n newCh.type = origin['type'] ? origin['type'] : newCh.type;\n newCh.hostUid = origin['hostUid'] ? origin['hostUid'] : '';\n newCh.name = origin['name'] ? origin['name'] : '';\n newCh.active = origin['active'] ? origin['active'] : '';\n newCh.description = origin['description'] ? origin['description'] :'';\n\n newCh.tfn1 = origin['tfn1'] ? origin['tfn1'] : '';\n newCh.tfn2 = origin['tfn2'] ? origin['tfn2'] : '';\n newCh.email = origin['email'] ? origin['email'] : '';\n\n newCh.location = origin['location'] ? ChGeoLocationExtended.cast(origin['location']) : new ChGeoLocationExtended(0, 0, '', 'place','');\n newCh.services = origin['services'] ? origin['services'] : newCh.services;\n newCh.comm = origin['comm'] ? origin['comm'] : newCh.comm;\n newCh.scope = origin['scope'] ? origin['scope'] : newCh.scope;\n newCh.cost = origin['cost'] ? origin['cost'] : newCh.cost;\n newCh.time = origin['time'] ? origin['time'] : newCh.time;\n newCh.commEmail = origin['commEmail'] ? origin['commEmail'] : newCh.commEmail;\n newCh.commWhatsapp = origin['commWhatsapp'] ? origin['commWhatsapp'] : newCh.commWhatsapp;\n\n return newCh;\n }\n}\n","export default \".left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n padding: 0.5em 0em;\\n}\\n\\n.red {\\n background-color: #FFD5D5;\\n}\\n\\n.blue {\\n background-color: #D5D5FF;\\n}\\n\\n.green {\\n background-color: #D5FFD5;\\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5;\\n}\\n\\n.gray {\\n color: #C0C0C0;\\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n font-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 20px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ccc;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n border-bottom: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1pbnZvaWNlLWJyb3dzZXIvY2gtaW52b2ljZS1icm93c2VyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLWludm9pY2UtYnJvd3Nlci9jaC1pbnZvaWNlLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSw0QkFBQTtBQ0RKOztBRElBO0VBQ0Msa0JBQUE7QUNERDs7QURJQTtFQUNJLHlCQUFBO0FDREo7O0FESUE7RUFDSSx5QkFBQTtBQ0RKOztBRElBO0VBQ0kseUJBQUE7QUNESjs7QURJQTtFQUNJLHlCQUFBO0FDREo7O0FESUE7RUFDSSx5QkFBQTtBQ0RKOztBRElBO0VBQ0ksY0FBQTtBQ0RKOztBRElBO0VBQ0ksb0NBQUE7QUNESjs7QURJQTtFQUNDLGlCQUFBO0FDREQ7O0FESUE7RUFDQyxrQkFBQTtFQUNBLGlCQUFBO0FDREQ7O0FESUE7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQ0FBQTtFQUNBLGtCQUFBO0VBRUEsMkNBQUE7QUNERDs7QURJQTtFQUNDLG1CQUFBO0FDREQiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLWludm9pY2UtYnJvd3Nlci9jaC1pbnZvaWNlLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENSBcbn1cblxuLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RkYgXG59XG5cbi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENSBcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENSBcbn1cblxuLmdyYXkge1xuICAgIGNvbG9yOiAjQzBDMEMwIFxufVxuXG4uc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RDUgIWltcG9ydGFudDtcbn1cblxuLnJvd2luZGV4IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuLmRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTAwMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1pbi13aWR0aDogMjBweDtcblx0cGFkZGluZzogNXB4IDA7XG5cdG1hcmdpbjogMnB4IDAgMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59IiwiLmxlZnQtbWFyZ2luLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkQ1RDU7XG59XG5cbi5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRjtcbn1cblxuLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENTtcbn1cblxuLnllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZFRDU7XG59XG5cbi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFQkQ1O1xufVxuXG4uZ3JheSB7XG4gIGNvbG9yOiAjQzBDMEMwO1xufVxuXG4uc2VsZWN0ZWQgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVENUQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3dpbmRleCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn0iXX0= */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewEncapsulation, ViewChild, NgZone } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { ChSmallDialogComponent } from '../../utils/ch-small-dialog/ch-small-dialog.component';\n\nimport * as moment from 'moment';\n// import * as selectModule from 'datatables.net-select';\nimport 'datatables.net-select';\n\nimport { MessageType, OpResult } from '../../chilweb/ch-globals-def';\nimport { ChDataTable } from '../../data/ch-datatable';\n\nconst spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n};\n\n\n@Component({\n selector: 'app-ch-invoice-browser',\n templateUrl: './ch-invoice-browser.component.html',\n styleUrls: ['./ch-invoice-browser.component.scss']\n})\nexport class ChInvoiceBrowserComponent implements OnInit {\n a: ViewContainerRef;\n\n tableName = '';\n\n @ViewChild('tableDom', { static: true}) tableDom: ElementRef;\n\n siteName = '';\n currDataTable: ChDataTable = null;\n dtOptions: any = {};\n dtOptions2: any = {};\n tableInitiated = false;\n tableRows: Array = [];\n columnsDef: Array = [];\n\n marcIndex: number = -1;\n uidIndex: number = -1;\n\n readAllRows = false; // para aquellos casos en que haya cierre de filas\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n public modalService: BsModalService,\n private router: Router,\n private _ngZone: NgZone) {\n\n chGlobal.initToasts(vcr);\n window['angularComponentRef'] = { component: this, zone: _ngZone };\n }\n\n ngOnInit() {\n this.route.params.subscribe(\n params => {\n moment.locale('es');\n\n const basewidth = 100;\n\n // PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..\n this.siteName = this.route.parent.snapshot.paramMap.get('sitename');\n this.tableName = 'Facturas'; //this.route.snapshot.paramMap.get('tablename');\n this.currDataTable = this.chGlobal.getTable(this.tableName);\n\n if (this.currDataTable == undefined) {\n return;\n }\n\n this.tableRows.splice(0, this.tableRows.length);\n\n this.marcIndex = -1;\n this.uidIndex = -1;\n for (let index = 0; index < this.currDataTable.fields.length; index++) {\n // console.log(this.currDataTable.fields[index].name)\n if (this.currDataTable.fields[index].name === '_marca') {\n this.marcIndex = index + 1; // Hay que añadirle elc ampo de id que es postizo, no esta en la bd\n } else if (this.currDataTable.fields[index].name === 'uid') {\n this.uidIndex = index + 1; // Hay que añadirle el campo de id que es postizo, no esta en la bd\n }\n }\n // console.log(\"MARCA : \"+String(this.marcIndex))\n // console.log(\"UID : \"+String(this.uidIndex))\n\n this.columnsDef = this.currDataTable.fields.filter(v => v.name !== '_user').map(\n (f, index) => {\n return {\n targets: [index + 1],\n title: f.name, // f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n name: f.name,\n label: f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n visible: f.browseVisible != null ? f.browseVisible : true,\n sType: this.setColumnType(f.type),\n render: this.renderFunction(f.type),\n bSortable: f.sort !== null && f.sort !== undefined\n };\n }\n );\n\n this.columnsDef.splice(0, 0,\n {\n targets: 0, title: '_id', label: 'id',\n visible: true,\n type: this.setColumnType('Int'),\n render: this.renderFunction('Identity'),\n bSortable: true\n }\n );\n // console.log(this.columnsDef)\n\n const columnArray: string[] = this.columnsDef.map((f, index) => { return f.title.toLowerCase(); });\n // var table2 = $(\"#datatable\").DataTable();\n // console.log(' > TABLA ' + this.tableName + ': Inicializada');\n this.tableInitiated = $.fn.dataTable.isDataTable('#datatable');\n\n /* let tableData = this.currDataTable.data ?\n (this.currDataTable.data as Array).map(\n row => {return ChGlobalsService.objToArray(row, columnArray) }\n )\n : null;\n\n console.log(tableData) */\n\n this.dtOptions = {\n pagingType: 'simple_numbers',\n pageLength: 15,\n dom: '<\"row\"Bf><t>',\n columns: this.columnsDef,\n language: spanishTranslation,\n scrollX: true,\n scrolly: '70uv',\n // data: this.tableRows,\n autoWidth: true,\n // paging : false,\n order: [[ 0, this.currDataTable.reversed ? 'desc' : 'asc' ]],\n\n rowCallback: function (row, data, index) {\n const marcIndex = window['angularComponentRef'].component.marcIndex;\n // console.log(data[marcIndex]);\n const isSelected = row.classList.contains('selected');\n // console.log(isSelected)\n for (let i = 1; i < row.children.length; i++) {\n const column = row.children[i];\n column.classList.remove('red');\n column.classList.remove('blue');\n column.classList.remove('green');\n column.classList.remove('yellow');\n column.classList.remove('orange');\n column.classList.remove('gray');\n column.classList.remove('selected');\n\n if (data[marcIndex] !== null && !isSelected) {\n column.classList.remove('even');\n column.classList.remove('odd');\n if (row.classList.contains('selected')) {\n column.classList.add('selected');\n }\n if (data[marcIndex] === 'Rojo') {\n column.classList.add('red');\n } else if (data[marcIndex] === 'Azul') {\n column.classList.add('blue');\n } else if (data[marcIndex] === 'Verde') {\n column.classList.add('green');\n } else if (data[marcIndex] === 'Amarillo') {\n column.classList.add('yellow');\n } else if (data[marcIndex] === 'Naranja') {\n column.classList.add('orange');\n } else if (data[marcIndex] === 'Gris') {\n column.classList.add('gray');\n }\n }\n }\n },\n buttons: {\n buttons: this.getTableButtons(),\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n if (this.tableInitiated) {\n $('#datatable').DataTable().destroy();\n $('#datatable').empty();\n }\n\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n\n // leer las filas. En caso de que haya cierre de filas leer solo las filas activas\n this.chGlobal.showRunningWindow('Leyendo filas...');\n\n const closedFilter = this.currDataTable.closerows !== undefined && this.currDataTable.closerows !== null &&\n this.currDataTable.closerows === true && this.readAllRows === false ?\n { _closed: { $ne: true } } : '';\n\n this.chGlobal.getTableRows(this.currDataTable.tableId, closedFilter).subscribe(\n value => {\n const len = value.length;\n // tslint:disable-next-line:prefer-const\n for (let i = 0; i < len; i++) {\n this.tableRows.push(value[i]);\n }\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de lectura',\n 'Se ha producido un error leyendo los datos de la tabla ' + this.tableName);\n },\n () => {\n this.chGlobal.hideRunningWindow();\n // console.log(' > TABLA ' + this.tableName + ': ' + String(this.tableRows.length) + ' filas leidas.');\n this.chGlobal.showMessageWithParams(MessageType.success, 'Operación realizada',\n '%1 filas leidas', [String(this.tableRows.length)]);\n /*\n for (let i = 0; i < this.tableRows.length; i++) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n */\n console.log(this.tableRows)\n for (let i = this.tableRows.length - 1; i >= 0; i--) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n /*\n if (this.currDataTable.reversed) {\n $('#datatable').DataTable().column(0).data().sort().reverse().draw();\n } else {\n $('#datatable').DataTable().column(0).data().sort().draw();\n }\n */\n $('#datatable').DataTable().draw();\n // console.log($('#datatable'));\n }\n );\n });\n }\n\n refreshtable() {\n this.ngOnInit();\n }\n\n createTables() {\n this.chGlobal.initElectronicCommerceTables();\n }\n\n openDeleteWindow() {\n const t = $(this.tableDom.nativeElement).DataTable();\n const nRegs = t.rows({ selected: true }).data().length;\n if (nRegs > 0) {\n // console.log($(this.tableDom.nativeElement).DataTable().rows( { selected: true } ).data()[0]);\n // console.log(this.tableDom.nativeElement.DataTable().rows( { selected: true } ).data());\n ChSmallDialogComponent.show( this.modalService,\n { initialState: {\n data: {\n title1: 'Eliminar registros',\n title2: nRegs === 1 ? 'Se va a eliminar una fila de la tabla. ' : 'Se van a eliminar ' + String(nRegs) +\n ' filas de la tabla. ',\n message: 'La información se perderá definitivamente. '\n }\n },\n class: 'modal-sm',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { this.deleteRows(t); }\n );\n }\n }\n /**\n * Borra los registros seleccionados de la tabla actual\n * TODO: Tal y como está solo sirve para campos id de tipo numérico, hay que generalizarlo\n * @param table Tabla DOM en HTML de tipo DataTable\n */\n async deleteRows(table: any) {\n\n const idIndex = this.uidIndex;\n let deletedRows = 0;\n const promises: Array> = [];\n const rows = table.rows({ selected: true });\n this.chGlobal.showRunningWindowWithParams( 'Eliminando %1 filas... ', [String(rows.data().length)]);\n\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n const row = this;\n const data = this.data();\n if (data == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n console.log('BORRAR :' + currDataTable.tableId + ': ' + data[idIndex] + ':' + String(idIndex));\n const delResult: Promise = window['angularComponentRef'].component.chGlobal\n // .deleteTableRows(currDataTable.name,currDataTable.fields[idIndex].name+\" = \"+String(data[idIndex]));\n .deleteTableRow(currDataTable.tableId, data[idIndex]);\n delResult\n .then(\n (result) => {\n console.log(result);\n if (result['result'] === OpResult.OK) {\n deletedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL', 'El registro ' + String(rowIdx) +\n ' no ha podido ser borrado. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(delResult);\n });\n Promise\n .all(promises)\n .then(values => {\n rows.remove().draw();\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Orden ejecutada', 'Se han eliminado ' + String(deletedRows) +\n ' filas de la tabla.');\n console.log(values);\n\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Orden ejecutada', 'No todas las filas seleccionadas han podido ser eliminadas.');\n }\n );\n\n }\n\n openEditWindow(newRecord: boolean) {\n\n const t = $(this.tableDom.nativeElement).DataTable();\n let selUid;\n if (!newRecord) {\n // console.log('ENTRADA EXISTENTE');\n if ( this.uidIndex > -1) {\n selUid = t.row({ selected: true }).data()[this.uidIndex];\n } else {\n selUid = this.currDataTable.data[t.row({ selected: true }).index()].uid;\n }\n } else {\n // console.log('NUEVA ENTRADA');\n }\n // Editar en función de la tabla\n if (this.currDataTable.name === 'Facturas') {\n if (newRecord) {\n console.log('//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice');\n //this.router.navigate(['//verdedelajara/commerce/order']);\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice']);\n } else {\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice/' + selUid]);\n }\n }\n }\n\n openImportWindow(newRecord: boolean) {\n }\n\n openCopyTableWindow() {\n }\n\n openExecuteWindow() {\n\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'string'; // 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n renderFunction(type: string): any {\n const me = this;\n switch (type) {\n case 'Actor':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + data.displayName + '
';\n }\n };\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('l') + '
';\n }\n };\n case 'DateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n\n console.log(data)\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('DD/MM/YYYY HH:mm:ss') + '
';\n }\n };\n case 'Time':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('h:mm:ss a') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' + data).slice(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Euro':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + ' €
';\n };\n case 'boolean':\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 'true' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? '-------' : ('0000000' + data).slice(-7) ) + '
';\n };\n case 'State':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n '' +\n ' ' + String(data) + '
';\n }\n };\n case 'Location':\n return function (data: any, _type: any, row: any, meta: any) {\n console.log(data)\n if (data === null) {\n return '';\n } else {\n return '
' +\n ' ' + String(data.name) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n String(data) + '
';\n }\n };\n }\n }\n // class='bg-warning' //\n renderData(data: any, type: any, row: any, meta: any): string {\n // console.log(tipo)\n console.log(type + ' . ' + String(data) + ' . ' + String(meta.col));\n return 'SI';\n }\n\n stateColor(stateName: string): string {\n if (this.currDataTable.states !== undefined && this.currDataTable.states !== null && this.currDataTable.states.length > 0 ) {\n for ( let i = 0; i < this.currDataTable.states.length; i++) {\n if (this.currDataTable.states[i].name === stateName) {\n return this.currDataTable.states[i].color;\n }\n }\n }\n return 'lightgray';\n };\n\n fixColor(color: string) {\n // console.log(this.currDataTable)\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n\n\n const promises: Array> = [];\n // this.chGlobal.showRunningWindow(\"Marcando \"+String(rows.data().length)+\" filas...\")\n const idIndex = this.uidIndex;\n let markedRows = 0;\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n console.log('Marcando :' + currDataTable.tableId + ': ' + rowdata[idIndex]);\n const marcResult: Promise = window['angularComponentRef'].component.chGlobal\n .saveTableRow(currDataTable.tableId, { _marca: color }, rowdata[idIndex]);\n\n marcResult\n .then(\n (result) => {\n console.log(result);\n if (result['result'] === OpResult.OK) {\n markedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL',\n 'El registro ' + String(rowIdx) + ' no ha podido ser cambiado de color. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(marcResult);\n });\n Promise\n .all(promises)\n .then(values => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Orden ejecutada\", \"Se han marcado \"+String(markedRows)+ \" filas de la tabla.\");\n\n t.rows({ selected: true }).every(function () {\n const d = this.data();\n console.log(this);\n console.log(d);\n console.log('markindex :' + String(marcIndex));\n d[marcIndex] = color;\n this.invalidate(); // invalidate the data DataTables has cached for this row\n this.deselect();\n });\n t.draw();\n });\n\n }\n\n getTableButtons(): any {\n const buttons = [\n { extend: 'colvis', text: '', className: 'btn btn-link glyphicon glyphicon-collapse-down' },\n {\n extend: 'collection', text: '◉', className: 'btn btn-link', autoClose: true,\n buttons: [\n {\n text: ` Normal`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor(null);\n }\n },\n {\n text: ` Rojo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Rojo');\n }\n },\n {\n text: ` Azul`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Azul');\n }\n },\n {\n text: ` Amarillo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Amarillo');\n }\n },\n {\n text: ` Verde`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Verde');\n }\n },\n {\n text: ` Naranja`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Naranja');\n }\n },\n {\n text: ` Gris`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Gris');\n }\n }\n ]\n },\n {\n text: this.readAllRows ?\n ' Todos' :\n ' Todos'\n ,\n action: this.readAllRows ?\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(false); } :\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(true); },\n className: 'btn'\n },\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'csvHtml5', text: ' Exportar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'print', text: ' Imprimir',\n className: 'btn btn-default left-margin-button',\n customize: function (win) {\n $(win.document.body).addClass('btn btn-default left-margin-button');\n $(win.document.body).css('font-size', '10px');\n $(win.document.body).prepend();\n $(win.document.body).find('table')\n .addClass('compact')\n .css('font-size', '10px');\n },\n exportOptions: { columns: ':visible' }\n },\n {\n text: ' Nuevo',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(true);\n },\n className: 'btn btn-default'\n },\n {\n extend: 'selectedSingle', text: ' Editar',\n className: 'btn btn-default left-margin-button',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(false);\n }\n },\n {\n extend: 'selected', text: ' Eliminar', className: 'btn btn-default ',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openDeleteWindow();\n },\n enabled: false,\n config: this\n },\n {\n text: ' Ejecutar',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openExecuteWindow();\n },\n className: 'btn btn-default left-margin-button'\n },\n\n ];\n\n if (this.currDataTable.closed) {\n buttons.splice(1, 1);\n buttons.splice(6, 1);\n buttons.splice(6, 1);\n buttons.splice(7, 1);\n\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(1, 1);\n }\n\n } else {\n if (!this.currDataTable.insert) {\n buttons.splice(7, 1);\n buttons.splice(7, 1);\n buttons.splice(8, 1);\n }\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(2, 1);\n }\n if (!this.currDataTable.modify) {\n buttons.splice(1, 1);\n }\n }\n\n\n // Quitar el boton de ejecutar los scripts\n //if (this.currDataTable.scripts === undefined || this.currDataTable.scripts === null ||\n // this.currDataTable.scripts.length === 0 || this.currDataTable.closed || !this.chGlobal.currentUserIsManager) {\n buttons.pop();\n //}\n\n return buttons;\n }\n\n /**\n * IMPRIMIR FORMULARIOS\n */\n\n printForms() {\n /*\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n // console.log(rowdata);\n SiasaSolicitud2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaContrato2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n // console.log(rowdata);\n SiasaContrato2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/contrato/batchprint']);\n }\n ///\n /// CAMPAÑA 2020!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2020Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n console.log(rowdata);\n SiasaSolicitud2020Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa3/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n }\n ///\n /// CAMPAÑA 2021!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2021Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n console.log(rowdata);\n SiasaSolicitud2021Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa4/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n }\n */\n }\n\n public selectAllRows(allRows: boolean) {\n console.log(' ** READ ALL ROWS ' + String(allRows));\n this.readAllRows = allRows;\n this.refreshtable();\n }\n\n}\n\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtaW52b2ljZS1kaWFsb2cvY2gtaW52b2ljZS13aW5kb3cuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { CHInvoice } from '../ch-product';\n\n@Component({\n selector: 'ch-invoice-window',\n templateUrl: './ch-invoice-window.component.html',\n styleUrls: ['./ch-invoice-window.component.css']\n})\nexport class ChInvoicewindowComponent implements OnInit {\n\n title1: string=\"Ventana de prueba\";\n title2: string=\"Veamos que tal\";\n message: string=\"A ver como sale...\";\n\n private static stack : BsModalRef[] = [];\n private static stackCallbacks : Function[] = [];\n private static passInvoice : CHInvoice = null;\n private static passCConfig : object = null;\n\n private invoice : CHInvoice = null;\n private config : object = null;\n\n constructor(/* public bsModalRef: BsModalRef, */private chGlobal: ChGlobalsService) {}\n \n ngOnInit() {\n this.invoice = ChInvoicewindowComponent.passInvoice;\n this.config = ChInvoicewindowComponent.passCConfig;\n console.log(this.config) \n }\n\n confirm() {\n ChInvoicewindowComponent.hide(true);\n }\n \n decline() {\n ChInvoicewindowComponent.hide(false);\n } \n\n print() {\n } \n\n public static show(invoice: CHInvoice, commerceConfig: object, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChInvoicewindowComponent.passInvoice = invoice;\n ChInvoicewindowComponent.passCConfig = commerceConfig;\n ChInvoicewindowComponent.stack.push(service.showModalWindow(this, config));\n ChInvoicewindowComponent.stackCallbacks.push(callback != null? callback : () => {});\n }\n \n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChInvoicewindowComponent.stack.pop());\n let callback = ChInvoicewindowComponent.stackCallbacks.pop();\n if (executeCallback)\n callback();\n }\n\n hexColor(color : number ) : string {\n return this.chGlobal.toColor(color);\n }\n}\n","export default \"@charset \\\"UTF-8\\\";\\n@page {\\n margin-right: 0.37in;\\n margin-top: 0.49in;\\n margin-bottom: 0.49in;\\n}\\nP {\\n margin-bottom: 0.08in;\\n direction: ltr;\\n color: #000000;\\n widows: 2;\\n orphans: 2;\\n}\\nP.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\ntd.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\nP.smwestern {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 8pt;\\n color: gray;\\n}\\nP.cjk {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\nP.ctl {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\n.printonly {\\n visibility: collapse;\\n}\\nul.western {\\n margin-left: 10px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\n/* A:link { color: #0000ff }\\n */\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\nh3 {\\n font-family: \\\"Helvetica Neu\\\", Helvetica, sans-serif;\\n font-size: 20px;\\n color: black;\\n margin-top: 20px;\\n}\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: #222222;\\n}\\n.form-group h4 {\\n margin-top: 20px;\\n}\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px;\\n}\\ninput[type=text] {\\n color: #416ED9;\\n}\\ninput[type=number] {\\n color: #416ED9;\\n}\\ninput[type=email] {\\n color: #416ED9;\\n}\\ntextarea {\\n color: #416ED9;\\n}\\nselect {\\n color: #416ED9;\\n}\\n.form-readonly {\\n color: #416ED9 !important;\\n background-color: white !important;\\n}\\n.form-readonly.euro-data {\\n text-align: right;\\n}\\n.form-readonly h4 {\\n color: #416ED9;\\n}\\n.form-control {\\n height: 100%;\\n width: 100%;\\n border-radius: 4px;\\n border-color: #cccccc;\\n margin: 0px;\\n}\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black;\\n}\\n.radio {\\n color: black;\\n}\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n}\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\ndatetime-popup > .dropdown .bg-faded {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n.ng-select.ng-select-single .ng-select-container {\\n border-color: #cccccc;\\n border-radius: 0px;\\n margin-top: 2px;\\n margin-bottom: 2px;\\n}\\n.ch-item-edit-container {\\n border-color: #F3F3F3;\\n border-style: solid;\\n border-width: 1px;\\n position: relative;\\n margin-top: 10px;\\n background: #FAFAFA;\\n padding: 5px;\\n}\\n.ch-item-edit-container .button-top-right {\\n position: absolute;\\n top: 5px;\\n right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1pbnZvaWNlLWVkaXRvci9jaC1pbnZvaWNlLWVkaXRvci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1pbnZvaWNlLWVkaXRvci9jaC1pbnZvaWNlLWVkaXRvci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0VoQjtFQUFRLG9CQUFBO0VBQXNCLGtCQUFBO0VBQW9CLHFCQUFBO0FER2xEO0FDREE7RUFBSSxxQkFBQTtFQUF1QixjQUFBO0VBQWdCLGNBQUE7RUFBZ0IsU0FBQTtFQUFXLFVBQUE7QURRdEU7QUNOQTtFQUFZLGdEQUFBO0VBQWtELGVBQUE7RUFBaUIsY0FBQTtBRFkvRTtBQ1ZBO0VBQWEsZ0RBQUE7RUFBa0QsZUFBQTtFQUFpQixjQUFBO0FEZ0JoRjtBQ2RBO0VBQWMsZ0RBQUE7RUFBa0QsY0FBQTtFQUFnQixXQUFBO0FEb0JoRjtBQ2xCQTtFQUFRLHFDQUFBO0VBQXVDLGVBQUE7QUR1Qi9DO0FDckJBO0VBQVEscUNBQUE7RUFBdUMsZUFBQTtBRDBCL0M7QUN4QkE7RUFDSSxvQkFBQTtBRDJCSjtBQ3hCQTtFQUNJLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnREFBQTtFQUNBLGVBQUE7RUFBaUIsY0FBQTtBRDRCckI7QUN6QkE7RUFBQTtBQUVBO0VBQ0ksNEJBQUE7RUFDQSxZQUFBO0FENEJKO0FDekJBO0VBQ0ksbURBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FENEJKO0FDekJBO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlDQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QUQ0Qko7QUN6QkE7RUFFSSxnQkFBQTtBRDJCSjtBQ3ZCQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7QUQwQko7QUN2QkE7RUFDSSxZQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QUQwQko7QUN2QkE7RUFFSSxjQUFBO0FEeUJKO0FDdEJBO0VBRUksY0FBQTtBRHdCSjtBQ3JCQTtFQUVJLGNBQUE7QUR1Qko7QUNwQkE7RUFFSSxjQUFBO0FEc0JKO0FDbkJBO0VBRUksY0FBQTtBRHFCSjtBQ2xCQTtFQUNJLHlCQUFBO0VBQ0Esa0NBQUE7QURxQko7QUNsQkE7RUFDSSxpQkFBQTtBRHFCSjtBQ2xCQTtFQUNJLGNBQUE7QURxQko7QUNsQkE7RUFDSSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0FEcUJKO0FDbEJBO0VBQ0kseUNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBRUEsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QURvQko7QUNqQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7QURvQko7QUNqQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLG9CQUFBO0VBQ0EsZUFBQTtBRG9CSjtBQ2pCQztFQUNHLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBRG9CSjtBQ2pCQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRG9CSjtBQ2pCQTtFQUNJLHNCQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLFlBQUE7QURvQko7QUNqQkE7RUFDSSxZQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLFlBQUE7QURvQko7QUNqQkE7RUFDSSx3QkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFdBQUE7QURvQko7QUNqQkE7RUFDSSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FEb0JKO0FDakJBO0VBQ0kscUJDNUc2QjtFRDZHN0IsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkNsSHNCO0VEbUh0QixZQUFBO0FEb0JKO0FDbEJJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBRG9CUiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtaW52b2ljZS1lZGl0b3IvY2gtaW52b2ljZS1lZGl0b3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AcGFnZSB7XG4gIG1hcmdpbi1yaWdodDogMC4zN2luO1xuICBtYXJnaW4tdG9wOiAwLjQ5aW47XG4gIG1hcmdpbi1ib3R0b206IDAuNDlpbjtcbn1cblAge1xuICBtYXJnaW4tYm90dG9tOiAwLjA4aW47XG4gIGRpcmVjdGlvbjogbHRyO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgd2lkb3dzOiAyO1xuICBvcnBoYW5zOiAyO1xufVxuXG5QLndlc3Rlcm4ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbnRkLndlc3Rlcm4ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cblAuc213ZXN0ZXJuIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICBmb250LXNpemU6IDhwdDtcbiAgY29sb3I6IGdyYXk7XG59XG5cblAuY2prIHtcbiAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEycHQ7XG59XG5cblAuY3RsIHtcbiAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEycHQ7XG59XG5cbi5wcmludG9ubHkge1xuICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbn1cblxudWwud2VzdGVybiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5oNCB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG4uZm9ybS1ncm91cCBoNCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgaGVpZ2h0OiA3MDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuaW5wdXRbdHlwZT1lbWFpbF0ge1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxudGV4dGFyZWEge1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuc2VsZWN0IHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5mb3JtLXJlYWRvbmx5IHtcbiAgY29sb3I6ICM0MTZFRDkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tcmVhZG9ubHkuZXVyby1kYXRhIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mb3JtLXJlYWRvbmx5IGg0IHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgY29sb3I6IGdyYXk7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLnJhZGlvIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZxcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RhZG9zLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG4ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5jaC1pdGVtLWVkaXQtY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjNGM0YzO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBwYWRkaW5nOiA1cHg7XG59XG4uY2gtaXRlbS1lZGl0LWNvbnRhaW5lciAuYnV0dG9uLXRvcC1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG59IiwiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG50ZC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuLnByaW50b25seSB7XG4gICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG5cbnVsLndlc3Rlcm4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpXG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIC8qIGJvcmRlcjogMHB4IHNvbGlkIGdyYXk7ICovXG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1JywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLmZvcm0tZ3JvdXAgaDQge1xuXG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweFxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6ICM0MTZFRDk7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiAjNDE2RUQ5ICFpbXBvcnRhbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAgXG5cbn1cbi5mb3JtLXJlYWRvbmx5LmV1cm8tZGF0YSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mb3JtLXJlYWRvbmx5IGg0IHtcbiAgICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RhZG9zLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbi5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4uY2gtaXRlbS1lZGl0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyO1xuICAgIGJvcmRlci1zdHlsZSA6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aCA6IDFweDtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgIC5idXR0b24tdG9wLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICB9XG59IiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIl19 */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFormsControl } from 'app/chil/forms/ch-forms-control/ch-forms-control';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { CHCommerceInvoice, CHCommerceInvoiceItem } from '../ch-invoice';\n@Component({\n selector: 'app-ch-invoice-editor',\n templateUrl: './ch-invoice-editor.component.html',\n styleUrls: ['./ch-invoice-editor.component.scss']\n})\nexport class ChInvoiceEditorComponent {\n\n @ViewChild('mainform', { static: true}) form: ChForm;\n isRunning = false;\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n clienteUid = '';\n\n pr: ChFormsControl;\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n rowClosed = false;\n nueva = false;\n\n isEditingItem = false;\n indexSelected = -1;\n itemSelected : CHCommerceInvoiceItem = null;\n \n model: CHCommerceInvoice = new CHCommerceInvoice();\n\n estados = [];\n config = null;\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.params.sitename; \n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2030-12-31').toDate();\n\n const table = chGlobal.getTable('Facturas');\n this.estados = table.states ? table.states : [];\n\n this.chGlobal.getCommerceConfig()\n .then ( (value) => {\n if (value['uid']) {\n this.config = value;\n console.log(this.config);\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n \n this.model = memData.model as CHCommerceInvoice;\n this.rowUid = this.model['uid'];\n console.log('EDITAR (vuelta): ' + this.rowUid);\n \n } else if (this.route.snapshot.params.uid !== undefined) {\n \n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property] as CHCommerceInvoice;\n }\n }\n }\n \n this.tableClosed = table.closed;\n this.rowClosed = this.tableClosed || this.model._closed;\n\n this.form.loadValues();\n\n } else {\n console.log(\"Nueva factura\");\n this.nueva = true;\n\n this.model.numero = this.config['facPrefix'] + String(this.config['nFactura']);\n \n this.model.empnombre = this.config['name']\n this.model.empdireccion = this.config['direccion']\n this.model.empnif = this.config['nif']\n this.model.instrucciones = this.config['instrucciones']\n this.model.description = this.config['description']\n\n this.form.updateValues('numero');\n this.form.updateValues('empnombre');\n this.form.updateValues('empdireccion');\n this.form.updateValues('empnif');\n this.form.updateValues('empnombre');\n this.form.updateValues('instrucciones');\n this.form.updateValues('description');\n\n this.model.items = [\n {\n nitems : 10,\n producto : 'Aceite de oliva virgen numero 1',\n price : 10.0,\n iva : 21.0,\n impbase : 100.0,\n impiva : 21.0,\n imptotal : 121.0,\n\n ref : '',\n impdesc : 0.0,\n imppoints : 0.0,\n imppointstotal : 0.0,\n points : 0.0\n\n },\n {\n nitems : 3,\n producto : 'Aceite de oliva virgen numero 2',\n price : 8.0,\n iva : 21.0,\n impbase : 24.0,\n impiva : 5.04,\n imptotal : 29.04,\n\n ref : '',\n impdesc : 0.0,\n imppoints : 0.0,\n imppointstotal : 0.0,\n points : 0.0\n\n },\n {\n nitems : 5,\n producto : 'Aceite de oliva virgen numero 3',\n price : 9.0,\n iva : 21.0,\n impbase : 45.0,\n impiva : 9.45,\n imptotal : 54.45,\n\n ref : '',\n impdesc : 0.0,\n imppoints : 0.0,\n imppointstotal : 0.0,\n points : 0.0\n\n }\n ]\n }\n console.log(this.model);\n this.calculateTotals();\n\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n }\n );\n\n }\n\n fixSaveOptions() {\n }\n\n saveInvoice(event: any) {\n if (this.isRunning) {\n console.log(\"running!\")\n return;\n }\n this.isRunning = true;\n // console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando factura ');\n this.fixSaveOptions();\n // console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Facturas').tableId, this.model, this.rowUid)\n .then(value => {\n if (this.rowUid == '' && this.model.numero == this.config['facPrefix'] + String(this.config['nFactura']) ) { \n // la fila es nueva y el numero de factura ha corrido \n //this.chGlobal.updateCommerceConfigNFactura(this.config['nFactura'] + 1);\n this.config['nFactura'] = this.config['nFactura'] + 1;\n };\n this.router.navigate(['//' + this.siteName + '/commerce/invoices']);\n this.isRunning = false;\n\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando la factura.');\n this.isRunning = false;\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'la factura no ha podido ser guardado.');\n this.isRunning = false;\n });\n\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n formatTime(time: any) {\n return ( time === null) ? '' : moment(time).format('h:mm:ss a');\n }\n\n\n\n /**\n * \n * Gestión de los contenidos de la factura\n * \n */\n\n removeItem( index: number) {\n \n if (index > -1) {\n this.model.items.splice(index, 1);\n }\n this.calculateTotals();\n \n }\n\n editItem(index: number) {\n\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.itemSelected = null;\n this.isEditingItem = false;\n } else {\n this.indexSelected = index;\n this.itemSelected = this.model.items[index]; //this.chGlobal.deepClone(this.model.items[index]) as CHCommerceInvoiceItem ;\n this.isEditingItem = true;\n }\n\n }\n\n newItem() {\n this.model.items.push(new CHCommerceInvoiceItem());\n this.editItem(this.model.items.length - 1);\n /*\n this.chGlobal.pushData( { model: this.model, producto: -1 , paso: ChOrderEditorDetailComponent.isNew });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n */\n }\n\n calculateTotals() {\n var impbase = 0.0;\n var impiva = 0.0;\n var imppointstotal = 0.0;\n var points = 0.0;\n this.model.items.forEach( item => {\n item.impbase = item.nitems * item.price;\n item.impiva = (item.impbase - item.impdesc) * item.iva / 100.0;\n item.imppointstotal = item.nitems * item.imppoints;\n \n impbase += item.impbase;\n impiva += item.impiva;\n imppointstotal += item.imppointstotal;\n points += item.points;\n \n });\n this.model.impbase = impbase;\n this.model.impiva = impiva;\n this.model.imppointstotal = imppointstotal;\n this.model.points = points;\n this.model.imptotal = impbase + impiva;\n\n this.form.updateValues('impbase');\n this.form.updateValues('impiva');\n }\n\n recalcEditedItem() {\n const me = this;\n setTimeout(function(){ \n console.log(\"Recalcular!!\");\n me.calculateTotals();\n }, 500);\n }\n /**\n * \n * Gestión de los contenidos de la factura\n * \n */\n\n /*\n public editProduct(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n this.chGlobal.pushData( { model: this.model, producto: index, paso: -1 });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n }\n\n public deleteProduct(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n\n this.chGlobal.showConfirmDialog('ELIMINAR POSTS',\n '¿Está seguro de querer eliminar el producto ' + this.model.contenido[index].descr + ' ' + this.model.contenido[index].format + '? ',\n 'La operación no será reversible.',\n () => {\n this.isRunning = true;\n this.model.contenido.splice(index, 1);\n this.isRunning = false;\n },\n 'Eliminar', 'Cancelar');\n }\n\n public newProduct() {\n this.chGlobal.pushData( { model: this.model, producto: ChOrderEditorDetailComponent.isNew , paso: -1 });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n\n }\n*/\n\n numberToMoney(origin: number) : string {\n return new Intl.NumberFormat(\"de-DE\", {style: \"currency\", currency: \"EUR\"}).format(origin);\n }\n}\n","export enum CHCommerceInvoiceType {\n invoice = 'Factura', return = 'Abono', other = 'Otra'\n}\n\nexport class CHCommerceInvoice {\n \n // Datos básicos\n public uid = '';\n public _marca = '';\n public _state = 'Borrador';\n public _closed = false;\n public _user = '';\n\n public numero = '';\n public fecha: Date = new Date();\n public type : CHCommerceInvoiceType = CHCommerceInvoiceType.invoice;\n public instrucciones = '';\n\n // Datos del cliente\n\n public simplificada = false;\n public nif = '';\n public nombre = '';\n public direccion = '';\n\n // items\n\n public items : CHCommerceInvoiceItem[] = [];\n\n // Datos del emisor\n\n public empnif = '';\n public empnombre = '';\n public empdireccion = '';\n public description = '';\n //\n\n public impbase = 0.0;\n public impiva = 0.0;\n public imptotal = 0.0;\n public imppointstotal = 0.0;\n public points = 0.0;\n\n // Otros\n public fechapago: Date = new Date();\n \n public _visual = null;\n public _meta = null;\n}\n\nexport class CHCommerceInvoiceItem {\n\n public ref = '';\n public producto = '';\n public price = 0.0;\n public nitems = 0;\n public iva = 0.0;\n public impbase = 0.0;\n public impdesc = 0.0;\n public impiva = 0.0;\n public imptotal = 0.0;\n public imppoints = 0.0;\n public imppointstotal = 0.0;\n public points = 0.0;\n}","export default \".left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n padding: 0.5em 0em;\\n}\\n\\n.red {\\n background-color: #FFD5D5;\\n}\\n\\n.blue {\\n background-color: #D5D5FF;\\n}\\n\\n.green {\\n background-color: #D5FFD5;\\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5;\\n}\\n\\n.gray {\\n color: #C0C0C0;\\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n font-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 20px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ccc;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n border-bottom: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1icm93c2VyL2NoLW9yZGVyLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtb3JkZXItYnJvd3Nlci9jaC1vcmRlci1icm93c2VyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksNEJBQUE7QUNESjs7QURJQTtFQUNDLGtCQUFBO0FDREQ7O0FESUE7RUFDSSx5QkFBQTtBQ0RKOztBRElBO0VBQ0kseUJBQUE7QUNESjs7QURJQTtFQUNJLHlCQUFBO0FDREo7O0FESUE7RUFDSSx5QkFBQTtBQ0RKOztBRElBO0VBQ0kseUJBQUE7QUNESjs7QURJQTtFQUNJLGNBQUE7QUNESjs7QURJQTtFQUNJLG9DQUFBO0FDREo7O0FESUE7RUFDQyxpQkFBQTtBQ0REOztBRElBO0VBQ0Msa0JBQUE7RUFDQSxpQkFBQTtBQ0REOztBRElBO0VBQ0Msa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUNBQUE7RUFDQSxrQkFBQTtFQUVBLDJDQUFBO0FDREQ7O0FESUE7RUFDQyxtQkFBQTtBQ0REIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1icm93c2VyL2NoLW9yZGVyLWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENSBcbn1cblxuLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RkYgXG59XG5cbi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENSBcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENSBcbn1cblxuLmdyYXkge1xuICAgIGNvbG9yOiAjQzBDMEMwIFxufVxuXG4uc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RDUgIWltcG9ydGFudDtcbn1cblxuLnJvd2luZGV4IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuLmRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTAwMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1pbi13aWR0aDogMjBweDtcblx0cGFkZGluZzogNXB4IDA7XG5cdG1hcmdpbjogMnB4IDAgMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59IiwiLmxlZnQtbWFyZ2luLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkQ1RDU7XG59XG5cbi5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRjtcbn1cblxuLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENTtcbn1cblxuLnllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZFRDU7XG59XG5cbi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFQkQ1O1xufVxuXG4uZ3JheSB7XG4gIGNvbG9yOiAjQzBDMEMwO1xufVxuXG4uc2VsZWN0ZWQgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVENUQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3dpbmRleCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn0iXX0= */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewEncapsulation, ViewChild, NgZone } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { ChSmallDialogComponent } from '../../utils/ch-small-dialog/ch-small-dialog.component';\n\nimport * as moment from 'moment';\n// import * as selectModule from 'datatables.net-select';\nimport 'datatables.net-select';\n\nimport { MessageType, OpResult } from '../../chilweb/ch-globals-def';\nimport { ChDataTable } from '../../data/ch-datatable';\n\nconst spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n};\n\n\n@Component({\n selector: 'ch-order-browser',\n templateUrl: './ch-order-browser.component.html',\n styleUrls: ['./ch-order-browser.component.scss']\n})\nexport class ChOrderBrowserComponent implements OnInit {\n a: ViewContainerRef;\n\n tableName = '';\n\n @ViewChild('tableDom', { static: true}) tableDom: ElementRef;\n\n siteName = '';\n currDataTable: ChDataTable = null;\n dtOptions: any = {};\n dtOptions2: any = {};\n tableInitiated = false;\n tableRows: Array = [];\n columnsDef: Array = [];\n\n marcIndex: number = -1;\n uidIndex: number = -1;\n\n readAllRows = false; // para aquellos casos en que haya cierre de filas\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n public modalService: BsModalService,\n private router: Router,\n private _ngZone: NgZone) {\n\n chGlobal.initToasts(vcr);\n window['angularComponentRef'] = { component: this, zone: _ngZone };\n }\n\n ngOnInit() {\n this.route.params.subscribe(\n params => {\n moment.locale('es');\n\n const basewidth = 100;\n\n // PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..\n this.siteName = this.route.parent.snapshot.paramMap.get('sitename');\n this.tableName = 'Pedidos'; //this.route.snapshot.paramMap.get('tablename');\n this.currDataTable = this.chGlobal.getTable(this.tableName);\n\n if (this.currDataTable == undefined) {\n return;\n }\n\n this.tableRows.splice(0, this.tableRows.length);\n\n this.marcIndex = -1;\n this.uidIndex = -1;\n for (let index = 0; index < this.currDataTable.fields.length; index++) {\n // console.log(this.currDataTable.fields[index].name)\n if (this.currDataTable.fields[index].name === '_marca') {\n this.marcIndex = index + 1; // Hay que añadirle elc ampo de id que es postizo, no esta en la bd\n } else if (this.currDataTable.fields[index].name === 'uid') {\n this.uidIndex = index + 1; // Hay que añadirle el campo de id que es postizo, no esta en la bd\n }\n }\n // console.log(\"MARCA : \"+String(this.marcIndex))\n // console.log(\"UID : \"+String(this.uidIndex))\n\n this.columnsDef = this.currDataTable.fields.filter(v => v.name !== '_user').map(\n (f, index) => {\n return {\n targets: [index + 1],\n title: f.name, // f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n name: f.name,\n label: f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n visible: f.browseVisible != null ? f.browseVisible : true,\n sType: this.setColumnType(f.type),\n render: this.renderFunction(f.type),\n bSortable: f.sort !== null && f.sort !== undefined\n };\n }\n );\n\n this.columnsDef.splice(0, 0,\n {\n targets: 0, title: '_id', label: 'id',\n visible: true,\n type: this.setColumnType('Int'),\n render: this.renderFunction('Identity'),\n bSortable: true\n }\n );\n // console.log(this.columnsDef)\n\n const columnArray: string[] = this.columnsDef.map((f, index) => { return f.title.toLowerCase(); });\n // var table2 = $(\"#datatable\").DataTable();\n // console.log(' > TABLA ' + this.tableName + ': Inicializada');\n this.tableInitiated = $.fn.dataTable.isDataTable('#datatable');\n\n /* let tableData = this.currDataTable.data ?\n (this.currDataTable.data as Array).map(\n row => {return ChGlobalsService.objToArray(row, columnArray) }\n )\n : null;\n\n console.log(tableData) */\n\n this.dtOptions = {\n pagingType: 'simple_numbers',\n pageLength: 15,\n dom: '<\"row\"Bf><t>',\n columns: this.columnsDef,\n language: spanishTranslation,\n scrollX: true,\n scrolly: '70uv',\n // data: this.tableRows,\n autoWidth: true,\n // paging : false,\n order: [[ 0, this.currDataTable.reversed ? 'desc' : 'asc' ]],\n\n rowCallback: function (row, data, index) {\n const marcIndex = window['angularComponentRef'].component.marcIndex;\n // console.log(data[marcIndex]);\n const isSelected = row.classList.contains('selected');\n // console.log(isSelected)\n for (let i = 1; i < row.children.length; i++) {\n const column = row.children[i];\n column.classList.remove('red');\n column.classList.remove('blue');\n column.classList.remove('green');\n column.classList.remove('yellow');\n column.classList.remove('orange');\n column.classList.remove('gray');\n column.classList.remove('selected');\n\n if (data[marcIndex] !== null && !isSelected) {\n column.classList.remove('even');\n column.classList.remove('odd');\n if (row.classList.contains('selected')) {\n column.classList.add('selected');\n }\n if (data[marcIndex] === 'Rojo') {\n column.classList.add('red');\n } else if (data[marcIndex] === 'Azul') {\n column.classList.add('blue');\n } else if (data[marcIndex] === 'Verde') {\n column.classList.add('green');\n } else if (data[marcIndex] === 'Amarillo') {\n column.classList.add('yellow');\n } else if (data[marcIndex] === 'Naranja') {\n column.classList.add('orange');\n } else if (data[marcIndex] === 'Gris') {\n column.classList.add('gray');\n }\n }\n }\n },\n buttons: {\n buttons: this.getTableButtons(),\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n if (this.tableInitiated) {\n $('#datatable').DataTable().destroy();\n $('#datatable').empty();\n }\n\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n\n // leer las filas. En caso de que haya cierre de filas leer solo las filas activas\n this.chGlobal.showRunningWindow('Leyendo filas...');\n\n const closedFilter = this.currDataTable.closerows !== undefined && this.currDataTable.closerows !== null &&\n this.currDataTable.closerows === true && this.readAllRows === false ?\n { _closed: { $ne: true } } : '';\n\n this.chGlobal.getTableRows(this.currDataTable.tableId, closedFilter).subscribe(\n value => {\n const len = value.length;\n // tslint:disable-next-line:prefer-const\n for (let i = 0; i < len; i++) {\n this.tableRows.push(value[i]);\n }\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de lectura',\n 'Se ha producido un error leyendo los datos de la tabla ' + this.tableName);\n },\n () => {\n this.chGlobal.hideRunningWindow();\n // console.log(' > TABLA ' + this.tableName + ': ' + String(this.tableRows.length) + ' filas leidas.');\n this.chGlobal.showMessageWithParams(MessageType.success, 'Operación realizada',\n '%1 filas leidas', [String(this.tableRows.length)]); /*\n for (let i = 0; i < this.tableRows.length; i++) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n */\n console.log(this.tableRows)\n for (let i = this.tableRows.length - 1; i >= 0; i--) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n /*\n if (this.currDataTable.reversed) {\n $('#datatable').DataTable().column(0).data().sort().reverse().draw();\n } else {\n $('#datatable').DataTable().column(0).data().sort().draw();\n }\n */\n $('#datatable').DataTable().draw();\n // console.log($('#datatable'));\n }\n );\n });\n }\n\n refreshtable() {\n this.ngOnInit();\n }\n\n createTables() {\n this.chGlobal.initElectronicCommerceTables();\n }\n\n openDeleteWindow() {\n const t = $(this.tableDom.nativeElement).DataTable();\n const nRegs = t.rows({ selected: true }).data().length;\n if (nRegs > 0) {\n // console.log($(this.tableDom.nativeElement).DataTable().rows( { selected: true } ).data()[0]);\n // console.log(this.tableDom.nativeElement.DataTable().rows( { selected: true } ).data());\n ChSmallDialogComponent.show( this.modalService,\n { initialState: {\n data: {\n title1: 'Eliminar registros',\n title2: nRegs === 1 ? 'Se va a eliminar una fila de la tabla. ' : 'Se van a eliminar ' + String(nRegs) +\n ' filas de la tabla. ',\n message: 'La información se perderá definitivamente. '\n }\n },\n class: 'modal-sm',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { this.deleteRows(t); }\n );\n }\n }\n /**\n * Borra los registros seleccionados de la tabla actual\n * TODO: Tal y como está solo sirve para campos id de tipo numérico, hay que generalizarlo\n * @param table Tabla DOM en HTML de tipo DataTable\n */\n async deleteRows(table: any) {\n\n const idIndex = this.uidIndex;\n let deletedRows = 0;\n const promises: Array> = [];\n const rows = table.rows({ selected: true });\n this.chGlobal.showRunningWindowWithParams( 'Eliminando %1 filas... ', [String(rows.data().length)]);\n\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n const row = this;\n const data = this.data();\n if (data == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n console.log('BORRAR :' + currDataTable.tableId + ': ' + data[idIndex] + ':' + String(idIndex));\n const delResult: Promise = window['angularComponentRef'].component.chGlobal\n // .deleteTableRows(currDataTable.name,currDataTable.fields[idIndex].name+\" = \"+String(data[idIndex]));\n .deleteTableRow(currDataTable.tableId, data[idIndex]);\n delResult\n .then(\n (result) => {\n console.log(result);\n if (result['result'] === OpResult.OK) {\n deletedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL', 'El registro ' + String(rowIdx) +\n ' no ha podido ser borrado. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(delResult);\n });\n Promise\n .all(promises)\n .then(values => {\n rows.remove().draw();\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Orden ejecutada', 'Se han eliminado ' + String(deletedRows) +\n ' filas de la tabla.');\n console.log(values);\n\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Orden ejecutada', 'No todas las filas seleccionadas han podido ser eliminadas.');\n }\n );\n\n }\n\n openEditWindow(newRecord: boolean) {\n\n const t = $(this.tableDom.nativeElement).DataTable();\n let selUid;\n if (!newRecord) {\n // console.log('ENTRADA EXISTENTE');\n if ( this.uidIndex > -1) {\n selUid = t.row({ selected: true }).data()[this.uidIndex];\n } else {\n selUid = this.currDataTable.data[t.row({ selected: true }).index()].uid;\n }\n } else {\n // console.log('NUEVA ENTRADA');\n }\n // Editar en función de la tabla\n if (this.currDataTable.name === 'Pedidos') {\n if (newRecord) {\n console.log('//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order');\n //this.router.navigate(['//verdedelajara/commerce/order']);\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order']);\n } else {\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order/' + selUid]);\n }\n }\n }\n\n openImportWindow(newRecord: boolean) {\n }\n\n openCopyTableWindow() {\n }\n\n openExecuteWindow() {\n\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'string'; // 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n renderFunction(type: string): any {\n const me = this;\n switch (type) {\n case 'Actor':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + data.displayName + '
';\n }\n };\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('l') + '
';\n }\n };\n case 'DateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n\n //console.log(data)\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('DD/MM/YYYY HH:mm:ss') + '
';\n }\n };\n case 'Time':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('h:mm:ss a') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' + data).slice(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Euro':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + ' €
';\n };\n case 'boolean':\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 'true' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? '-------' : ('0000000' + data).slice(-7) ) + '
';\n };\n case 'State':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n '' +\n ' ' + String(data) + '
';\n }\n };\n case 'Location':\n return function (data: any, _type: any, row: any, meta: any) {\n // console.log(data)\n if (data === null) {\n return '';\n } else {\n return '
' +\n ' ' + String(data.name) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n String(data) + '
';\n }\n };\n }\n }\n // class='bg-warning' //\n renderData(data: any, type: any, row: any, meta: any): string {\n // console.log(tipo)\n console.log(type + ' . ' + String(data) + ' . ' + String(meta.col));\n return 'SI';\n }\n\n stateColor(stateName: string): string {\n if (this.currDataTable.states !== undefined && this.currDataTable.states !== null && this.currDataTable.states.length > 0 ) {\n for ( let i = 0; i < this.currDataTable.states.length; i++) {\n if (this.currDataTable.states[i].name === stateName) {\n return this.currDataTable.states[i].color;\n }\n }\n }\n return 'lightgray';\n };\n\n fixColor(color: string) {\n // console.log(this.currDataTable)\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n\n\n const promises: Array> = [];\n // this.chGlobal.showRunningWindow(\"Marcando \"+String(rows.data().length)+\" filas...\")\n const idIndex = this.uidIndex;\n let markedRows = 0;\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n console.log('Marcando :' + currDataTable.tableId + ': ' + rowdata[idIndex]);\n const marcResult: Promise = window['angularComponentRef'].component.chGlobal\n .saveTableRow(currDataTable.tableId, { _marca: color }, rowdata[idIndex]);\n\n marcResult\n .then(\n (result) => {\n console.log(result);\n if (result['result'] === OpResult.OK) {\n markedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL',\n 'El registro ' + String(rowIdx) + ' no ha podido ser cambiado de color. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(marcResult);\n });\n Promise\n .all(promises)\n .then(values => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Orden ejecutada\", \"Se han marcado \"+String(markedRows)+ \" filas de la tabla.\");\n\n t.rows({ selected: true }).every(function () {\n const d = this.data();\n console.log(this);\n console.log(d);\n console.log('markindex :' + String(marcIndex));\n d[marcIndex] = color;\n this.invalidate(); // invalidate the data DataTables has cached for this row\n this.deselect();\n });\n t.draw();\n });\n\n }\n\n getTableButtons(): any {\n const buttons = [\n { extend: 'colvis', text: '', className: 'btn btn-link glyphicon glyphicon-collapse-down' },\n {\n extend: 'collection', text: '◉', className: 'btn btn-link', autoClose: true,\n buttons: [\n {\n text: ` Normal`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor(null);\n }\n },\n {\n text: ` Rojo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Rojo');\n }\n },\n {\n text: ` Azul`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Azul');\n }\n },\n {\n text: ` Amarillo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Amarillo');\n }\n },\n {\n text: ` Verde`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Verde');\n }\n },\n {\n text: ` Naranja`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Naranja');\n }\n },\n {\n text: ` Gris`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Gris');\n }\n }\n ]\n },\n {\n text: this.readAllRows ?\n ' Todos' :\n ' Todos'\n ,\n action: this.readAllRows ?\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(false); } :\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(true); },\n className: 'btn'\n },\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'csvHtml5', text: ' Exportar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'print', text: ' Imprimir',\n className: 'btn btn-default left-margin-button',\n customize: function (win) {\n $(win.document.body).addClass('btn btn-default left-margin-button');\n $(win.document.body).css('font-size', '10px');\n $(win.document.body).prepend();\n $(win.document.body).find('table')\n .addClass('compact')\n .css('font-size', '10px');\n },\n exportOptions: { columns: ':visible' }\n },\n {\n text: ' Nuevo',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(true);\n },\n className: 'btn btn-default'\n },\n {\n extend: 'selectedSingle', text: ' Editar',\n className: 'btn btn-default left-margin-button',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(false);\n }\n },\n {\n extend: 'selected', text: ' Eliminar', className: 'btn btn-default ',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openDeleteWindow();\n },\n enabled: false,\n config: this\n },\n /*\n {\n text: ' Ejecutar',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openExecuteWindow();\n },\n className: 'btn btn-default left-margin-button'\n },\n */\n ];\n\n if (this.currDataTable.closed) {\n buttons.splice(1, 1);\n buttons.splice(6, 1);\n buttons.splice(6, 1);\n buttons.splice(7, 1);\n\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(1, 1);\n }\n\n } else {\n if (!this.currDataTable.insert) {\n buttons.splice(7, 1);\n buttons.splice(7, 1);\n buttons.splice(8, 1);\n }\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(2, 1);\n }\n if (!this.currDataTable.modify) {\n buttons.splice(1, 1);\n }\n }\n\n\n // Quitar el boton de ejecutar los scripts\n if (this.currDataTable.scripts === undefined || this.currDataTable.scripts === null ||\n this.currDataTable.scripts.length === 0 || this.currDataTable.closed || !this.chGlobal.currentUserIsManager) {\n buttons.pop();\n }\n\n return buttons;\n }\n\n /**\n * IMPRIMIR FORMULARIOS\n */\n\n printForms() {\n /*\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n // console.log(rowdata);\n SiasaSolicitud2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaContrato2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n // console.log(rowdata);\n SiasaContrato2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/contrato/batchprint']);\n }\n ///\n /// CAMPAÑA 2020!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2020Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n console.log(rowdata);\n SiasaSolicitud2020Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa3/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n }\n ///\n /// CAMPAÑA 2021!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2021Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n console.log(rowdata);\n SiasaSolicitud2021Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa4/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n }\n */\n }\n\n public selectAllRows(allRows: boolean) {\n console.log(' ** READ ALL ROWS ' + String(allRows));\n this.readAllRows = allRows;\n this.refreshtable();\n }\n\n}\n\n","export default \"@charset \\\"UTF-8\\\";\\n@page {\\n margin-right: 0.37in;\\n margin-top: 0.49in;\\n margin-bottom: 0.49in;\\n}\\nP {\\n margin-bottom: 0.08in;\\n direction: ltr;\\n color: #000000;\\n widows: 2;\\n orphans: 2;\\n}\\nP.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\ntd.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\nP.smwestern {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 8pt;\\n color: gray;\\n}\\nP.cjk {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\nP.ctl {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\n.printonly {\\n visibility: collapse;\\n}\\nul.western {\\n margin-left: 10px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\n/* A:link { color: #0000ff }\\n */\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\nh3 {\\n font-family: \\\"Helvetica Neu\\\", Helvetica, sans-serif;\\n font-size: 20px;\\n color: black;\\n margin-top: 20px;\\n}\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: #222222;\\n}\\n.form-group h4 {\\n margin-top: 20px;\\n}\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px;\\n}\\ninput[type=text] {\\n color: blue;\\n}\\ninput[type=number] {\\n color: blue;\\n}\\ninput[type=email] {\\n color: blue;\\n}\\ntextarea {\\n color: blue;\\n}\\nselect {\\n color: blue;\\n}\\n.form-readonly {\\n color: blue !important;\\n background-color: white !important;\\n}\\n.form-control {\\n height: 100%;\\n width: 100%;\\n border-radius: 4px;\\n border-color: #cccccc;\\n margin: 0px;\\n}\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black;\\n}\\n.radio {\\n color: black;\\n}\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n}\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\ndatetime-popup > .dropdown .bg-faded {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n.ng-select.ng-select-single .ng-select-container {\\n border-color: #cccccc;\\n border-radius: 0px;\\n margin-top: 2px;\\n margin-bottom: 2px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1lZGl0b3ItZGV0YWlsL2NoLW9yZGVyLWVkaXRvci1kZXRhaWwuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtb3JkZXItZWRpdG9yLWRldGFpbC9jaC1vcmRlci1lZGl0b3ItZGV0YWlsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0NoQjtFQUFRLG9CQUFBO0VBQXNCLGtCQUFBO0VBQW9CLHFCQUFBO0FESWxEO0FDRkE7RUFBSSxxQkFBQTtFQUF1QixjQUFBO0VBQWdCLGNBQUE7RUFBZ0IsU0FBQTtFQUFXLFVBQUE7QURTdEU7QUNQQTtFQUFZLGdEQUFBO0VBQWtELGVBQUE7RUFBaUIsY0FBQTtBRGEvRTtBQ1hBO0VBQWEsZ0RBQUE7RUFBa0QsZUFBQTtFQUFpQixjQUFBO0FEaUJoRjtBQ2ZBO0VBQWMsZ0RBQUE7RUFBa0QsY0FBQTtFQUFnQixXQUFBO0FEcUJoRjtBQ25CQTtFQUFRLHFDQUFBO0VBQXVDLGVBQUE7QUR3Qi9DO0FDdEJBO0VBQVEscUNBQUE7RUFBdUMsZUFBQTtBRDJCL0M7QUN6QkE7RUFDSSxvQkFBQTtBRDRCSjtBQ3pCQTtFQUNJLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnREFBQTtFQUNBLGVBQUE7RUFBaUIsY0FBQTtBRDZCckI7QUMxQkE7RUFBQTtBQUVBO0VBQ0ksNEJBQUE7RUFDQSxZQUFBO0FENkJKO0FDMUJBO0VBQ0ksbURBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FENkJKO0FDMUJBO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlDQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QUQ2Qko7QUMxQkE7RUFFSSxnQkFBQTtBRDRCSjtBQ3hCQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7QUQyQko7QUN4QkE7RUFDSSxZQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QUQyQko7QUN4QkE7RUFFSSxXQUFBO0FEMEJKO0FDdkJBO0VBRUksV0FBQTtBRHlCSjtBQ3RCQTtFQUVJLFdBQUE7QUR3Qko7QUNyQkE7RUFFSSxXQUFBO0FEdUJKO0FDcEJBO0VBRUksV0FBQTtBRHNCSjtBQ25CQTtFQUNJLHNCQUFBO0VBQ0Esa0NBQUE7QURzQko7QUNuQkE7RUFDSSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0FEc0JKO0FDbkJBO0VBQ0kseUNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBRUEsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QURxQko7QUNsQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7QURxQko7QUNsQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FEcUJKO0FDbEJBO0VBQ0ksWUFBQTtBRHFCSjtBQ2xCQTtFQUNJLG9CQUFBO0VBQ0EsZUFBQTtBRHFCSjtBQ2xCQztFQUNHLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBRHFCSjtBQ2xCQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBRHFCSjtBQ2xCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRHFCSjtBQ2xCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRHFCSjtBQ2xCQTtFQUNJLHNCQUFBO0FEcUJKO0FDbEJBO0VBQ0ksWUFBQTtBRHFCSjtBQ2xCQTtFQUNJLFlBQUE7QURxQko7QUNsQkE7RUFDSSxZQUFBO0FEcUJKO0FDbEJBO0VBQ0ksWUFBQTtBRHFCSjtBQ2xCQTtFQUNJLFlBQUE7QURxQko7QUNsQkE7RUFDSSx3QkFBQTtBRHFCSjtBQ2xCQTtFQUNJLFdBQUE7QURxQko7QUNsQkE7RUFDSSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FEcUJKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1lZGl0b3ItZGV0YWlsL2NoLW9yZGVyLWVkaXRvci1kZXRhaWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AcGFnZSB7XG4gIG1hcmdpbi1yaWdodDogMC4zN2luO1xuICBtYXJnaW4tdG9wOiAwLjQ5aW47XG4gIG1hcmdpbi1ib3R0b206IDAuNDlpbjtcbn1cblAge1xuICBtYXJnaW4tYm90dG9tOiAwLjA4aW47XG4gIGRpcmVjdGlvbjogbHRyO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgd2lkb3dzOiAyO1xuICBvcnBoYW5zOiAyO1xufVxuXG5QLndlc3Rlcm4ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbnRkLndlc3Rlcm4ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cblAuc213ZXN0ZXJuIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICBmb250LXNpemU6IDhwdDtcbiAgY29sb3I6IGdyYXk7XG59XG5cblAuY2prIHtcbiAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEycHQ7XG59XG5cblAuY3RsIHtcbiAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEycHQ7XG59XG5cbi5wcmludG9ubHkge1xuICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbn1cblxudWwud2VzdGVybiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5oNCB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG4uZm9ybS1ncm91cCBoNCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgaGVpZ2h0OiA3MDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1lbWFpbF0ge1xuICBjb2xvcjogYmx1ZTtcbn1cblxudGV4dGFyZWEge1xuICBjb2xvcjogYmx1ZTtcbn1cblxuc2VsZWN0IHtcbiAgY29sb3I6IGJsdWU7XG59XG5cbi5mb3JtLXJlYWRvbmx5IHtcbiAgY29sb3I6IGJsdWUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBtYXJnaW46IDBweDtcbn1cblxuLmZvcm0tbGFiZWwge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBjb2xvcjogZ3JheTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4ucmFkaW8ge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BnFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bt1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BlFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmVzdGFkb3Mubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgY29sb3I6IGJsdWU7XG59XG5cbi5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn0iLCJcbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cbnRkLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6IGdyYXk7fVxuXG5QLmNqayB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0IH1cblxuUC5jdGwgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgfVxuXG4ucHJpbnRvbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbn1cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIHJnYigzNCwgMzQsIDM0KVxufVxuXG4uZm9ybS1ncm91cCBoNCB7XG5cbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RhZG9zLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbi5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuIl19 */\"","import { Component, ViewContainerRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\n\n@Component({\n selector: 'ch-order-editor-detail',\n templateUrl: './ch-order-editor-detail.component.html',\n styleUrls: ['./ch-order-editor-detail.component.scss']\n})\nexport class ChOrderEditorDetailComponent {\n\n public static isNew = -99;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n minDate = null;\n maxDate = null;\n siteName = '';\n\n model = null;\n producto = -1;\n paso = -1;\n model2 = null;\n\n row: any = {\n description : '',\n fecha : null,\n hora : null,\n observaciones : '',\n editarPaso : 0\n };\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n this.siteName = this.route.parent.snapshot.params.sitename; \n\n const data = chGlobal.getData();\n this.model = data.model;\n this.producto = data.producto;\n this.paso = data.paso;\n if (this.producto > -1) {\n this.model2 = chGlobal.deepClone(this.model.contenido[this.producto]);\n } else if (this.paso > -1) {\n this.model2 = chGlobal.deepClone(this.model.pasos[this.paso]);\n } else if (this.producto == ChOrderEditorDetailComponent.isNew ) {\n this.model2 = {\n uid: '',\n ref: '',\n format: '',\n pic : '',\n descr: '',\n price: 0.0,\n nItems: 1,\n iva: 21.0,\n impBase: 0,\n impDesc: 0.0,\n impIva: 0,\n impTotal: 0,\n impPoints: 0,\n impPointsTotal: 0,\n points: 0\n };\n } else if (this.paso == ChOrderEditorDetailComponent.isNew ) {\n this.model2 = {};\n } else {\n this.model2 = {};\n }\n }\n /*\n\n\n this.model2 = data.model2;\n console.log(this.model2)\n if (this.model2.editarPaso >= 0) {\n this.row.description = this.model2['description'];\n this.row.fecha = this.model2['fecha'];\n this.row.hora = this.model2['hora'];\n this.row.observaciones = this.model2['observaciones'];\n }\n console.log(this.row)\n \n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n if (this.route.snapshot.params.uid !== null) {\n\n }\n */\n \n\n saveForm() {\n if (this.producto > -1) {\n this.model.contenido[this.producto] = this.model2;\n } else if (this.paso > -1) {\n this.model.pasos[this.paso] = this.model2;\n } else if (this.producto == ChOrderEditorDetailComponent.isNew ) {\n this.model.contenido.push(this.model2);\n } else if (this.paso == ChOrderEditorDetailComponent.isNew ) {\n this.model.pasos.push(this.model2);\n }\n console.log('//' + this.siteName + '/commerce/order/' + this.model.uid)\n this.router.navigate(['//' + this.siteName + '/commerce/order/' + this.model.uid ]);\n };\n\n recalc() {\n this.model2.impBase = this.model2.nItems * this.model2.price;\n this.model2.impIva = (this.model2.impBase - this.model2.impDesc) * this.model2.iva / 100.0;\n this.model2.impTotal = this.model2.impBase - this.model2.impDesc + this.model2.impIva;\n\n this.model2.impPointsTotal = this.model2.nItems * this.model2.impPoints;\n\n if (this.form != undefined) {\n this.form.updateValues('impBase');\n this.form.updateValues('impIva');\n this.form.updateValues('impTotal');\n this.form.updateValues('impPointsTotal');\n }\n\n }\n}","export default \"@charset \\\"UTF-8\\\";\\n@page {\\n margin-right: 0.37in;\\n margin-top: 0.49in;\\n margin-bottom: 0.49in;\\n}\\nP {\\n margin-bottom: 0.08in;\\n direction: ltr;\\n color: #000000;\\n widows: 2;\\n orphans: 2;\\n}\\nP.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\ntd.western {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\nP.smwestern {\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 8pt;\\n color: gray;\\n}\\nP.cjk {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\nP.ctl {\\n font-family: \\\"Times New Roman\\\", serif;\\n font-size: 12pt;\\n}\\n.printonly {\\n visibility: collapse;\\n}\\nul.western {\\n margin-left: 10px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt;\\n color: #222222;\\n}\\n/* A:link { color: #0000ff }\\n */\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\nh3 {\\n font-family: \\\"Helvetica Neu\\\", Helvetica, sans-serif;\\n font-size: 20px;\\n color: black;\\n margin-top: 20px;\\n}\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: #222222;\\n}\\n.form-group h4 {\\n margin-top: 20px;\\n}\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px;\\n}\\ninput[type=text] {\\n color: #416ED9;\\n}\\ninput[type=number] {\\n color: #416ED9;\\n}\\ninput[type=email] {\\n color: #416ED9;\\n}\\ntextarea {\\n color: #416ED9;\\n}\\nselect {\\n color: #416ED9;\\n}\\n.form-readonly {\\n color: #416ED9 !important;\\n background-color: white !important;\\n}\\n.form-readonly h4 {\\n color: #416ED9;\\n}\\n.form-control {\\n height: 100%;\\n width: 100%;\\n border-radius: 4px;\\n border-color: #cccccc;\\n margin: 0px;\\n}\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black;\\n}\\n.radio {\\n color: black;\\n}\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n}\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\ndatetime-popup > .dropdown .bg-faded {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button {\\n border: 0;\\n background-color: #fff;\\n}\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\";\\n}\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n.ng-select.ng-select-single .ng-select-container {\\n border-color: #cccccc;\\n border-radius: 0px;\\n margin-top: 2px;\\n margin-bottom: 2px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1lZGl0b3IvY2gtb3JkZXItZWRpdG9yLmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLW9yZGVyLWVkaXRvci9jaC1vcmRlci1lZGl0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQ2hCO0VBQVEsb0JBQUE7RUFBc0Isa0JBQUE7RUFBb0IscUJBQUE7QURJbEQ7QUNGQTtFQUFJLHFCQUFBO0VBQXVCLGNBQUE7RUFBZ0IsY0FBQTtFQUFnQixTQUFBO0VBQVcsVUFBQTtBRFN0RTtBQ1BBO0VBQVksZ0RBQUE7RUFBa0QsZUFBQTtFQUFpQixjQUFBO0FEYS9FO0FDWEE7RUFBYSxnREFBQTtFQUFrRCxlQUFBO0VBQWlCLGNBQUE7QURpQmhGO0FDZkE7RUFBYyxnREFBQTtFQUFrRCxjQUFBO0VBQWdCLFdBQUE7QURxQmhGO0FDbkJBO0VBQVEscUNBQUE7RUFBdUMsZUFBQTtBRHdCL0M7QUN0QkE7RUFBUSxxQ0FBQTtFQUF1QyxlQUFBO0FEMkIvQztBQ3pCQTtFQUNJLG9CQUFBO0FENEJKO0FDekJBO0VBQ0ksaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdEQUFBO0VBQ0EsZUFBQTtFQUFpQixjQUFBO0FENkJyQjtBQzFCQTtFQUFBO0FBRUE7RUFDSSw0QkFBQTtFQUNBLFlBQUE7QUQ2Qko7QUMxQkE7RUFDSSxtREFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QUQ2Qko7QUMxQkE7RUFDSSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUNBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBRDZCSjtBQzFCQTtFQUVJLGdCQUFBO0FENEJKO0FDeEJBO0VBQ0ksYUFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBRDJCSjtBQ3hCQTtFQUNJLFlBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBRDJCSjtBQ3hCQTtFQUVJLGNBQUE7QUQwQko7QUN2QkE7RUFFSSxjQUFBO0FEeUJKO0FDdEJBO0VBRUksY0FBQTtBRHdCSjtBQ3JCQTtFQUVJLGNBQUE7QUR1Qko7QUNwQkE7RUFFSSxjQUFBO0FEc0JKO0FDbkJBO0VBQ0kseUJBQUE7RUFDQSxrQ0FBQTtBRHNCSjtBQ2xCQTtFQUNJLGNBQUE7QURxQko7QUNsQkE7RUFDSSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0FEcUJKO0FDbEJBO0VBQ0kseUNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBRUEsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QURvQko7QUNqQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7QURvQko7QUNqQkE7RUFDSSx5Q0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLG9CQUFBO0VBQ0EsZUFBQTtBRG9CSjtBQ2pCQztFQUNHLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBRG9CSjtBQ2pCQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFNBQUE7RUFDQSxzQkFBQTtBRG9CSjtBQ2pCQTtFQUNJLHNCQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLFlBQUE7QURvQko7QUNqQkE7RUFDSSxZQUFBO0FEb0JKO0FDakJBO0VBQ0ksWUFBQTtBRG9CSjtBQ2pCQTtFQUNJLFlBQUE7QURvQko7QUNqQkE7RUFDSSx3QkFBQTtBRG9CSjtBQ2pCQTtFQUNJLFdBQUE7QURvQko7QUNqQkE7RUFDSSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FEb0JKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1vcmRlci1lZGl0b3IvY2gtb3JkZXItZWRpdG9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQHBhZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDAuMzdpbjtcbiAgbWFyZ2luLXRvcDogMC40OWluO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ5aW47XG59XG5QIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4wOGluO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHdpZG93czogMjtcbiAgb3JwaGFuczogMjtcbn1cblxuUC53ZXN0ZXJuIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG50ZC53ZXN0ZXJuIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG5QLnNtd2VzdGVybiB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGNvbG9yOiBncmF5O1xufVxuXG5QLmNqayB7XG4gIGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxMnB0O1xufVxuXG5QLmN0bCB7XG4gIGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxMnB0O1xufVxuXG4ucHJpbnRvbmx5IHtcbiAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG5cbnVsLndlc3Rlcm4ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgcGFkZGluZzogMnB4O1xufVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogIzIyMjIyMjtcbn1cblxuLmZvcm0tZ3JvdXAgaDQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIGhlaWdodDogNzAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gIHdpZHRoOiA3MDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0ge1xuICBjb2xvcjogIzQxNkVEOTtcbn1cblxuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdIHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbnRleHRhcmVhIHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbnNlbGVjdCB7XG4gIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gIGNvbG9yOiAjNDE2RUQ5ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLXJlYWRvbmx5IGg0IHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgY29sb3I6IGdyYXk7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLnJhZGlvIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZxcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RhZG9zLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG4ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59IiwiXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG50ZC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuLnByaW50b25seSB7XG4gICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG5cbnVsLndlc3Rlcm4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpXG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIC8qIGJvcmRlcjogMHB4IHNvbGlkIGdyYXk7ICovXG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1JywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLmZvcm0tZ3JvdXAgaDQge1xuXG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweFxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6ICM0MTZFRDk7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogIzQxNkVEOTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiAjNDE2RUQ5ICFpbXBvcnRhbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAgXG5cbn1cblxuLmZvcm0tcmVhZG9ubHkgaDQge1xuICAgIGNvbG9yOiAjNDE2RUQ5O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmVzdGFkb3Mubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4iXX0= */\"","import { Component, ViewContainerRef, ViewChild, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFormsControl } from 'app/chil/forms/ch-forms-control/ch-forms-control';\nimport { ChGeoLocation, ChGeoLocationExtended } from 'app/chil/location/ch-geo-location';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { ChOrderEditorDetailComponent } from '../ch-order-editor-detail/ch-order-editor-detail.component';\nimport { CHDistributionChannel } from '../ch-distribution-channel';\n\n\n@Component({\n selector: 'ch-order-editor',\n templateUrl: './ch-order-editor.component.html',\n styleUrls: ['./ch-order-editor.component.scss']\n})\nexport class ChOrderEditorComponent implements OnInit {\n\n @ViewChild(ChForm, { static: true}) form: ChForm;\n isRunning = false;\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n clienteUid = '';\n\n pr: ChFormsControl;\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n rowClosed = false;\n\n channels : Array = [];\n\n entregaMomentValues = [\n {id: 'mañana', name: 'Por la mañana (9:00-12:00)'},\n {id: 'mediodia', name: 'Mediodia (12:00-16:00)'},\n {id: 'tarde', name: 'Por la tarde (16:00-21:00)'},\n {id: 'dia', name: 'Durante el dia (9:00-21:00)'}\n ];\n\n\n model = {\n uid: '',\n _marca: '',\n _state: '',\n _closed: false,\n _user: '',\n\n tipo: 'Pedido',\n fecha: null,\n\n codigo: '',\n codigopago: '',\n\n persona : 'Juan Cruz',\n email : 'nolo@se.com',\n tfn : '',\n\n fechaentrega: null,\n horaentrega: null,\n\n location : new ChGeoLocationExtended(0, 0,'', 'place',''), //new ChGeoLocationExtended(46.81108866519861, 2.8564453125000013,'D 41, Neuilly-en-Dun, Saint-Amand-Montrond, Cher, Centro, Francia metropolitana, 18600, Francia', 'place'),\n\n observaciones: '',\n channel: '',\n\n contenido : [\n {\n uid: '',\n ref: '45674567',\n format: '1 Botella',\n pic : '',\n descr: 'Aceite de Oliva Virgen Extra (AOVE) Variedad Cornicabra DOP Montes de Toledo.',\n price: 9.0,\n nItems: 3,\n iva: 21.0,\n impBase: 27.0,\n impDesc: 0.0,\n impIva: 4.68,\n impTotal: 31.68,\n impPoints: 0,\n impPointsTotal: 0,\n points: 3\n },\n {\n uid: '',\n ref: '45674567',\n format: 'Caja de 12 botellas',\n pic : '',\n descr: 'Aceite de Oliva Virgen Extra (AOVE) Variedad Cornicabra DOP Montes de Toledo.',\n price: 110.0,\n nItems: 1,\n iva: 21.0,\n impBase: 90.90,\n impDesc: 0.0,\n impIva: 19.09,\n impTotal: 110,\n impPoints: 0,\n impPointsTotal: 0,\n points: 13\n },\n {\n uid: '',\n ref: '23453466',\n format: 'Botella 500ml',\n pic : '',\n descr: 'Verde de la Jara. Picual 2021.',\n price: 11.0,\n nItems: 3,\n iva: 21.0,\n impBase: 27.27,\n impDesc: 0.0,\n impIva: 5.73,\n impTotal: 33,\n impPoints: 0,\n impPointsTotal: 0,\n points: 3\n },\n {\n uid: '',\n ref: '23453466',\n format: 'Caja 12 botellas 500ml',\n pic : '',\n descr: 'Verde de la Jara. Picual 2021.',\n price: 90.0,\n nItems: 1,\n iva: 21.0,\n impBase: 74.38,\n impDesc: 0.0,\n impIva: 16.62,\n impTotal: 91,\n impPoints: 0,\n impPointsTotal: 0,\n points: 13\n }\n ],\n\n pasos : [\n {\n fecha: null,\n advance: 10,\n location: new ChGeoLocation(0, 0,'', 'place',''),\n title: 'El pedido se está procesando',\n descr: 'El pedido se está procesando en nuestras oficinas'\n },\n {\n fecha: null,\n advance: 20,\n location: new ChGeoLocation(0, 0,'', 'place',''),\n title: 'El pedido está preparado',\n descr: 'El pedido está preparado para ser enviado'\n },\n {\n fecha: null,\n advance: 40,\n location: new ChGeoLocation(0, 0,'', 'place',''),\n title: 'El pedido está siendo enviado',\n descr: 'El pedido esta siendo enviado a su localidad'\n },\n {\n fecha: null,\n advance: 80,\n location: new ChGeoLocation(0, 0,'', 'place',''),\n title: 'El pedido está en su localidad',\n descr: 'El pedido está en su localidad, y se lo servirán en breve'\n },\n\n\n\n\n\n\n\n ],\n };\n\n model2: any = {\n description : '',\n fecha : null,\n hora : null,\n observaciones : '',\n editarPaso : 0\n };\n\n estados = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.params.sitename;\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2030-12-31').toDate();\n\n this.chGlobal.getDistributionChannels().then ( value => {\n this.channels = value;\n })\n // this.tryTableSearch(table.tableId);\n }\n\n ngOnInit(): void {\n\n const table = this.chGlobal.getTable('Pedidos');\n this.estados = table.states ? table.states : [];\n // console.log(this.estados)\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.rowUid = this.model['uid'];\n console.log('EDITAR (vuelta): ' + this.rowUid);\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n }\n }\n }\n\n this.tableClosed = table.closed;\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n //this.clienteUid = this.model.cliente !== undefined && this.model.cliente !== null ? this.model.cliente.uid : '';\n //console.log(this.model);\n this.calculateTotals();\n console.log(this.model);\n\n }\n\n fixSaveOptions() {\n }\n\n saveOrder(event: any) {\n if (this.isRunning) {\n console.log(\"running!\")\n return;\n }\n this.isRunning = true;\n // console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n // console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Pedidos').tableId, this.model, this.rowUid)\n .then(value => {\n // console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/commerce/orders']);\n this.isRunning = false;\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n this.isRunning = false;\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n this.isRunning = false;\n });\n\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n formatTime(time: any) {\n return ( time === null) ? '' : moment(time).format('h:mm:ss a');\n }\n\n setState() {\n console.log(this.model._state);\n if (this.model._state != undefined) {\n this.model._closed = this.model._state['close'];\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n }\n\n\n removePaso( paso: any) {\n\n const index = this.model.pasos.indexOf(paso, 0);\n if (index > -1) {\n this.model.pasos.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n calculateTotals() {\n /*\n let totalBultos = 0;\n this.model.articulos.forEach(function (value) {\n totalBultos += value.bultos;\n });\n this.model.nbultos = totalBultos;\n */\n }\n\n public updateLocation(value: ChGeoLocationExtended) {\n this.form.updateValues('location');\n }\n\n selectUser(user: object) {\n //this.model.cliente = user;\n console.log(user);\n }\n /*\n tryTableSearch(tableId: string) {\n console.log('--------------------------------');\n console.log(' BUSCANDO EN ' + tableId);\n this.chGlobal.getTableRows(tableId, { \"centro.lastName\" : \"46000511\" , _state: \"Activo\" }).subscribe(\n (values: any[]) => {\n console.log('--------------------------------');\n for (const v of values){\n console.log(v);\n }\n console.log('--------------------------------');\n } );\n }\n */\n\n /**\n *\n * Gestión de los contenidos del pedido\n *\n */\n\n public editProduct(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n this.chGlobal.pushData( { model: this.model, producto: index, paso: -1 });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n }\n\n public deleteProduct(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n\n this.chGlobal.showConfirmDialog('ELIMINAR POSTS',\n '¿Está seguro de querer eliminar el producto ' + this.model.contenido[index].descr + ' ' + this.model.contenido[index].format + '? ',\n 'La operación no será reversible.',\n () => {\n this.isRunning = true;\n this.model.contenido.splice(index, 1);\n this.isRunning = false;\n },\n 'Eliminar', 'Cancelar');\n }\n\n public newProduct() {\n this.chGlobal.pushData( { model: this.model, producto: ChOrderEditorDetailComponent.isNew , paso: -1 });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n\n }\n\n\n\n\n\n public editPaso(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n this.chGlobal.pushData( { model: this.model, producto: -1, paso: index});\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n }\n\n public deletePaso(index: number) {\n console.log(index)\n if (this.isRunning || index == undefined) {\n console.log(\"running!\")\n return;\n }\n\n this.chGlobal.showConfirmDialog('ELIMINAR POSTS',\n '¿Está seguro de querer eliminar el paso ' + this.model.pasos[index].title + '? ',\n 'La operación no será reversible.',\n () => {\n this.isRunning = true;\n this.model.pasos.splice(index, 1);\n this.isRunning = false;\n },\n 'Eliminar', 'Cancelar');\n }\n\n public newPaso() {\n this.chGlobal.pushData( { model: this.model, producto: -1 , paso: ChOrderEditorDetailComponent.isNew });\n console.log(this.siteName )\n this.router.navigate(['//' + this.siteName + '/commerce/order-detail']);\n\n }\n\n}\n","export default \".ch-formats-holder {\\n padding: 5px;\\n position: relative;\\n}\\n\\n.ch-format-container-external {\\n padding-top: 5px;\\n}\\n\\n.ch-format-edit-container {\\n border-color: #F3F3F3;\\n border-style: solid;\\n border-width: 1px;\\n position: relative;\\n margin-top: 10px;\\n background: #FAFAFA;\\n padding: 5px;\\n}\\n\\n.ch-format-edit-container .button-top-right {\\n position: absolute;\\n top: 5px;\\n right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1wcm9kdWN0LWVkaXRvci9jaC1wcm9kdWN0LWVkaXRvci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1wcm9kdWN0LWVkaXRvci9jaC1wcm9kdWN0LWVkaXRvci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0FDREo7O0FER0E7RUFDSSxnQkFBQTtBQ0FKOztBREVBO0VBQ0kscUJFZ0c2QjtFRi9GN0IsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkUwRnNCO0VGekZ0QixZQUFBO0FDQ0o7O0FEQ0k7RUFDSSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FDQ1IiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLXByb2R1Y3QtZWRpdG9yL2NoLXByb2R1Y3QtZWRpdG9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4uY2gtZm9ybWF0cy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2gtZm9ybWF0LWNvbnRhaW5lci1leHRlcm5hbCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5jaC1mb3JtYXQtZWRpdC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGUgOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGggOiAxcHg7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICAuYnV0dG9uLXRvcC1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgfVxufSIsIi5jaC1mb3JtYXRzLWhvbGRlciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2gtZm9ybWF0LWNvbnRhaW5lci1leHRlcm5hbCB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5jaC1mb3JtYXQtZWRpdC1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNGM0YzRjM7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5jaC1mb3JtYXQtZWRpdC1jb250YWluZXIgLmJ1dHRvbi10b3AtcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICByaWdodDogNXB4O1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","import { ChangeDetectorRef, Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChImageManagerService } from 'app/chilsystem/CHImages/ch-image-manager.service';\nimport { isNullOrUndefined } from 'util';\nimport { CHCommerceConfig } from '../ch-commerce-config';\nimport { CHProduct, CHProductFeature, CHProductFeatureOption, CHProductFormat, CHProductType } from '../ch-product';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\n\n@Component({\n selector: 'ch-product-editor',\n templateUrl: './ch-product-editor.component.html',\n styleUrls: ['./ch-product-editor.component.scss']\n})\nexport class ChProductEditorComponent implements OnInit {\n\n @ViewChild('featuresform', { static: false}) featuresForm: ChForm;\n\n private siteName = '';\n private config: CHCommerceConfig | null = null;\n\n private model: CHProduct = new CHProduct();\n\n private section = 'Visualización';\n private sectionName = '';\n\n private productType : CHProductType = null;\n private productTypeFeatures : CHProductFeature[] = null;\n private featuresBuffer : any = null;\n\n private isEditingFormat : boolean = false;\n private formatSelected : CHProductFormat = null;\n\n constructor(private chGlobal: ChGlobalsService, private route: ActivatedRoute, private chImageService: ChImageManagerService,\n private vcr: ViewContainerRef, private cd: ChangeDetectorRef) {\n\n chGlobal.initToasts(vcr);\n\n this.chGlobal.getCommerceConfig()\n .then ( (value) => {\n if (value['uid']) {\n this.config = CHCommerceConfig.copy(value);\n } else {\n this.config = null;\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n this.config = null;\n }\n );\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n const productUid = this.route.snapshot.params.uid;\n\n if (productUid == 'new') {\n const tempType = chGlobal.popData();\n if (!isNullOrUndefined(tempType) && !isNullOrUndefined(tempType['uid'])) {\n this.productType = tempType as CHProductType;\n this.model = new CHProduct();\n this.model.type = this.productType;\n this.section = 'Visualización';\n chGlobal.getCommerceTypeOptions(this.productType.uid).then (\n (value) => {\n this.productTypeFeatures = value;\n // console.log(this.productTypeFeatures);\n this.createFeaturesBuffer();\n // console.log(this.featuresBuffer);\n },\n (reason) =>{\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Las opciones de tipo de producto no han podido ser leidas.');\n }\n );\n }\n } else {\n if (!isNullOrUndefined(productUid) && productUid != '') {\n chGlobal.getCommerceProduct(productUid).then (\n (value) => {\n console.log(value);\n this.model = value;\n this.section = 'Visualización';\n this.productType = this.model.type;\n\n chGlobal.getCommerceTypeOptions(this.productType.uid).then (\n (value) => {\n this.productTypeFeatures = value;\n //console.log(this.productTypeFeatures);\n this.createFeaturesBuffer();\n //console.log(this.featuresBuffer);\n },\n (reason) =>{\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Las opciones de tipo de producto no han podido ser leidas.');\n }\n );\n },\n (reason) =>{\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El producto no ha podido ser leido.');\n }\n )\n }\n }\n\n }\n\n\n ngOnInit() {\n }\n\n saveProduct() {\n\n this.chGlobal.showRunningWindow('Guardando configuración...');\n if (!isNullOrUndefined(this.featuresForm)) {\n this.copyFeaturesBuffer();\n }\n console.log(this.model)\n\n if (!isNullOrUndefined(this.model.uid) && this.model.uid != '') {\n this.chGlobal.updateCommerceProduct(this.model)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Producto guardado',\n 'El producto ha sido guardado en la base de datos');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El producto no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El producto no ha podido ser guardada en la base de datos.');\n }\n );\n } else {\n this.chGlobal.createCommerceProduct(this.model)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Producto guardado',\n 'El nuevo producto ha sido guardado en la base de datos');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El nuevo producto no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El nuevo producto no ha podido ser guardada en la base de datos.');\n }\n );\n }\n // console.log(this.model);\n }\n\n fixProductType() {\n\n }\n\n openSection(section: string, label: string) {\n // Verificar si se han cambiado las features antes de cambiar de seccion\n if (!isNullOrUndefined(this.featuresForm)) {\n this.copyFeaturesBuffer();\n }\n this.section = section;\n this.sectionName = label;\n this.cd.detectChanges();\n }\n\n editFormat(format : CHProductFormat) {\n if (format == null || this.formatSelected === format) {\n if (this.isEditingFormat){\n this.isEditingFormat = false;\n }\n setTimeout( () => { this.formatSelected = null; }, 250);\n } else {\n\n if (!this.isEditingFormat){\n this.isEditingFormat = true;\n }\n setTimeout( () => {\n // console.log(format);\n this.formatSelected = format; //this.cd.detectChanges();\n }, 250);\n }\n }\n\n deleteFormat(format: any) {\n if (this.formatSelected == null) {\n return;\n }\n const index = this.model.formats.indexOf(this.formatSelected);\n if (index >= 0) {\n this.model.formats.splice(index,1);\n this.editFormat(null);\n }\n }\n\n newFormat(event: any) {\n const newFormat = new CHProductFormat();\n newFormat.title = \"Nuevo formato\"\n this.model.formats.push(newFormat);\n this.editFormat(newFormat);\n }\n\n getFeatureValue(id : number) : any {\n console.log('GET FEAU VALUE (' + id + ')')\n return \"\"\n }\n\n setFeatureValue(id : number, value) {\n console.log('SET> FEAU VALUE (' + id + ') : ' + value);\n }\n\n createFeaturesBuffer() {\n this.featuresBuffer = {};\n this.productTypeFeatures.forEach ( f => {\n if (f.allowMultiple) {\n var valArray : Array = this.model.features\n .filter( o => o.featureId == f.id)\n .map( fvalue => isNullOrUndefined(fvalue) ? null : fvalue.value )\n this.featuresBuffer[f.name] = valArray;\n } else {\n const fvalue : CHProductFeatureOption = this.model.features.find( o => o.featureId == f.id);\n this.featuresBuffer[f.name] = isNullOrUndefined(fvalue) ? null : fvalue.value;\n }\n\n });\n }\n\n copyFeaturesBuffer() {\n console.log(' * COPY FEAUTURES ')\n this.model.features = [];\n if (!isNullOrUndefined(this.productTypeFeatures)) {\n this.productTypeFeatures.forEach ( f => {\n const newvalue = this.featuresForm.readSimpleValue(f.name)\n if (!isNullOrUndefined(newvalue)) {\n if (typeof newvalue == 'string') {\n const fvalue : CHProductFeatureOption = f.options.find( o => o.value == newvalue);\n this.model.features.push(fvalue);\n } else if (Array.isArray(newvalue)) {\n const newArray : Array = newvalue;\n newArray.forEach( s => {\n const fvalue : CHProductFeatureOption = f.options.find( o => o.value == s);\n this.model.features.push(fvalue);\n })\n }\n }\n\n });\n }\n }\n\n copyOldFeatures() {\n this.model.features = [];\n if (!isNullOrUndefined(this.productTypeFeatures)) {\n this.productTypeFeatures.forEach ( f => {\n if (!isNullOrUndefined(this.featuresBuffer[f.name])) {\n const fvalue : CHProductFeatureOption = f.options.find( o => o.value == this.featuresBuffer[f.name]);\n this.model.features.push(fvalue);\n }\n });\n }\n }\n\n\n deleteProduct() {\n this.chGlobal.showConfirmDialog('ELIMINAR PRODUCTO',\n '¿Está seguro de querer eliminar el producto ' + this.model.title + '?',\n 'El producto desaparecerá de la tienda y la operación no puede ser revertida.',\n () => { this.performDeleteProduct(this.model.uid); },\n 'Borrar', 'Cancelar');\n }\n\n performDeleteProduct(uid: string) {\n this.chGlobal.showRunningWindow('Eliminando producto...');\n this.chGlobal.removeCommerceProduct(uid)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Producto borrado',\n 'El producto ha sido borrado de la base de datos');\n window.location.href = './#/' + this.siteName + '/commerce/products';\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El producto no ha podido ser borrado de la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El producto no ha podido ser borrado de la base de datos.');\n }\n );\n }\n\n}\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n\\n.product-list-container {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n}\\n\\n.product-container {\\n height: 310px;\\n width: 250px;\\n padding: 3px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1wcm9kdWN0LWxpc3QvY2gtcHJvZHVjdC1saXN0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLXByb2R1Y3QtbGlzdC9jaC1wcm9kdWN0LWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7RUFDSSxpQkFBQTtBQ0pKOztBRE1BO0VBQ0ksaUJBQUE7QUNISjs7QURNQTtFQUNJLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG9FQWJTO0VBY1Qsb0JBYlk7RUFjWixnQkFBQTtBQ0hKOztBREtBO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0VBdkJTO0FDcUJiOztBRElBO0VBQ0ksZ0JBQUE7RUFDQSxvRUEzQlM7RUE0QlQsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FDREo7O0FESUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esb0VBdkNTO0VBd0NULGVBQUE7RUFDQSxnQkFBQTtBQ0RKOztBREdBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ0FKOztBREVBO0VBQ0ksYUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLXByb2R1Y3QtbGlzdC9jaC1wcm9kdWN0LWxpc3QuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbiRiYXNpYy1mb250OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRiYXNpYy1zcGFjaW5nOiAxNHB4O1xuXG5pbWd7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG59XG4uYm9keXtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJhc2ljLXNwYWNpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cbi5zdWItdGl0bGV7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG59XG4uYm9keS1zdWItdGl0bGV7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG57XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG4ucHJvZHVjdC1saXN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5wcm9kdWN0LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAzMTBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogM3B4O1xufSIsImltZyB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4uYm9keSB7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICBmb250LXNpemU6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLnN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ib2R5LXN1Yi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLnByb2R1Y3QtbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5wcm9kdWN0LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMzEwcHg7XG4gIHdpZHRoOiAyNTBweDtcbiAgcGFkZGluZzogM3B4O1xufSJdfQ== */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ViewContainerRef } from '@angular/core';\nimport { isNullOrUndefined } from 'util';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChImageManagerService } from 'app/chilsystem/CHImages/ch-image-manager.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { CHProduct } from '../ch-product';\nimport { ChProductTypesConfigWindowComponent } from '../ch-product-types-config-window/ch-product-types-config-window.component';\nimport { CHCommerceConfig } from '../ch-commerce-config';\n\n@Component({\n selector: 'ch-product-list',\n templateUrl: './ch-product-list.component.html',\n styleUrls: ['./ch-product-list.component.scss']\n})\n\nexport class ChProductListComponent implements OnInit {\n\n private productTypes : any[] = [\n ];\n\n private _productTarget: CHProduct = null;\n get productTarget(): CHProduct {\n return this._productTarget;\n }\n set productTarget(value: CHProduct) {\n if (this._productTarget != value) {\n this._productTarget = value;\n // console.log(this._productTarget);\n this.loadProducts()\n }\n }\n\n private productList : CHProduct[] = [];\n\n private siteName = '';\n private config : CHCommerceConfig | null = null;\n\n\n constructor(private chGlobal: ChGlobalsService, private route: ActivatedRoute, private chImageService: ChImageManagerService, private vcr: ViewContainerRef) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n\n this.loadConfig();\n\n }\n\n ngOnInit(){\n\n }\n\n loadConfig() {\n this.chGlobal.getCommerceConfig()\n .then ( (value) => {\n if (value['uid']) {\n this.config = CHCommerceConfig.copy(value);\n console.log(this.config);\n\n this.chGlobal.getCommerceTypes().then (\n (value) => {\n this.productTypes = value.filter( v => {return this.config.productTypes.includes(v.uid) });\n // console.log(this.productTypes);\n this.productTarget = this.productTypes.length > 0 ? this.productTypes[0] : null;\n },\n (reason) => {\n console.log(\"ERROR \" + reason);\n this.productTypes = [];\n }\n )\n\n } else {\n this.config = null;\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n });\n }\n\n private productsRead : number = 0;\n private endReading : boolean = false;\n\n loadProductBatch(page: number) : Promise {\n console.log('Leyendo pagina de productos ' + page)\n return new Promise ((resolve, reject) => {\n this.chGlobal.getCommerceProducts( {types: this.productTarget['uid'], pageIndex: Number(page)}).then(\n result => {\n if (result.length == 0) {\n this.endReading = true;\n resolve(true);\n } else {\n this.productsRead += result.length;\n result.forEach ( item => {\n this.productList.push(item);\n })\n console.log(' ' + this.productsRead + ' productos leidos')\n resolve(true);\n }\n },\n error => {\n this.endReading = true;\n reject(error);\n }\n )\n\n });\n }\n\n loadProductBatchContainer(page: number) {\n this.loadProductBatch(page).then (\n result => {\n if (this.endReading) {\n if (this.productList.length == 0) {\n this.chGlobal.showMessage(MessageType.warning, 'Lista vacia',\n 'No existen productos de este tipo');\n } else {\n this.chGlobal.showMessage(MessageType.success, 'Productos leidos',\n 'Se han leido ' + this.productList.length + ' productos.');\n }\n this.ngOnInit();\n } else {\n this.loadProductBatchContainer(page+1);\n }\n }\n )\n }\n\n loadProducts() {\n\n this.productList = [];\n this.productsRead = 0;\n this.endReading = false;\n\n this.loadProductBatchContainer(0);\n\n }\n\n editProduct(item: CHProduct) {\n window.location.href = './#/' + this.siteName + '/commerce/products/' + item.uid;\n }\n\n newProduct() {\n console.log(this.productTarget);\n this.chGlobal.pushData(this.productTarget);\n window.location.href = './#/' + this.siteName + '/commerce/products/new';\n\n }\n\n configEcommerce() {\n var model: CHCommerceConfig;\n if (this.config == null) {\n model = new CHCommerceConfig();\n model.uid = this.chGlobal.getGroupInfo().uid;\n } else {\n model = this.config\n }\n\n\n ChProductTypesConfigWindowComponent.show(model,\n { initialState : {\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (newConfig: CHCommerceConfig) => {\n console.log(newConfig);\n this.saveCommerceConfig(newConfig);\n\n }\n );\n }\n\n\n public saveCommerceConfig(newConfig: CHCommerceConfig){\n this.chGlobal.showRunningWindow('Guardando configuración...');\n\n this.chGlobal.updateCommerceConfig(newConfig)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Perfil guardado',\n 'La configuración de e-commerce Ha sido guardada');\n\n this.loadConfig();\n\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de e-commerce no ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de e-commerce no ha podido ser guardada en la base de datos.');\n }\n );\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtcHJvZHVjdC10eXBlcy1jb25maWctd2luZG93L2NoLXByb2R1Y3QtdHlwZXMtY29uZmlnLXdpbmRvdy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { CHCommerceConfig } from '../ch-commerce-config';\nimport { CHProductType } from '../ch-product';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { isNullOrUndefined } from 'util';\n\n\n@Component({\n selector: 'ch-product-types-config-window',\n templateUrl: './ch-product-types-config-window.component.html',\n styleUrls: ['./ch-product-types-config-window.component.scss']\n})\nexport class ChProductTypesConfigWindowComponent implements OnInit {\n private static data: CHCommerceConfig | null = null;\n private static modalRef: BsModalRef = null;\n private static callback: (newConfig: CHCommerceConfig) => void | null = null;\n\n private model : CHCommerceConfig;\n private productTypes: Array = [];\n\n public static show(data: CHCommerceConfig, config?: ModalOptions, callback?: (newConfig: CHCommerceConfig) => void ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChProductTypesConfigWindowComponent.data = data;\n ChProductTypesConfigWindowComponent.callback = callback != null ? callback : (newConfig: CHCommerceConfig) => {};\n ChProductTypesConfigWindowComponent.modalRef = service.showModalWindow(this, config);\n }\n\n public static hide(executeCallback: boolean, newConfig: CHCommerceConfig | null) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChProductTypesConfigWindowComponent.modalRef);\n if (executeCallback) {\n ChProductTypesConfigWindowComponent.callback(newConfig);\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {}\n\n ngOnInit() {\n this.model = ChProductTypesConfigWindowComponent.data == null? new CHCommerceConfig() : CHCommerceConfig.copy(ChProductTypesConfigWindowComponent.data);\n\n this.chGlobal.getCommerceTypes()\n .then ( (value) => {\n console.log(value);\n //this.productTypes = value.filter( i => !isNullOrUndefined(i['firstFamily']) &&\n //(i['firstFamily']['title'] == 'Productos' || i['firstFamily']['title'] == 'Actividad Formativa'));\n this.productTypes = value;\n // console.log(this.productTypes);\n /*\n this.chGlobal.getCommerceConfig()\n .then ( (value) => {\n if (value['uid']) {\n this.model = CHCommerceConfig.copy(value);\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de e-commerce del grupo.');\n }\n );\n */\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha podido leer la configuración de ecommerce del grupo');\n }\n );\n\n }\n\n confirm() {\n ChProductTypesConfigWindowComponent.hide(true, this.model);\n }\n\n decline() {\n ChProductTypesConfigWindowComponent.hide(false, null);\n }\n\n}\n","export default \".ch-product-format-container {\\n border: 1px solid darkgray;\\n background-color: transparent;\\n position: relative;\\n}\\n.ch-product-format-container .ch-format-alert {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n font-size: normal;\\n padding: 3px;\\n color: white;\\n}\\n.ch-product-format-container.selected {\\n border-color: #7A2184 !important;\\n background-color: #F2E7F2 !important;\\n border-width: 1.5px !important;\\n}\\n.ch-product-format-container.recomended {\\n border-color: #AA7942;\\n border-width: 1.5px;\\n}\\n.ch-format-view-title.size-normal {\\n padding: 5px;\\n font-size: 14px;\\n font-weight: bold;\\n}\\n.ch-format-view-title.size-normal p {\\n margin: 0px;\\n}\\n.ch-format-view-title.size-normal {\\n font-size: 16px;\\n}\\n.ch-format-view-price {\\n margin-left: 5px;\\n margin-right: 5px;\\n margin-top: -5px;\\n display: flex;\\n padding-left: 5px;\\n padding-right: 5px;\\n}\\n.ch-format-view-price .ch-product-price1 {\\n padding-right: 5px;\\n padding-left: 0px;\\n color: #C26000;\\n}\\n.ch-format-view-price .ch-product-price1 .ch-product-price1-price {\\n font-size: 17px;\\n font-weight: bold;\\n margin: 0px;\\n}\\n.ch-format-view-price .ch-product-price1 .ch-product-price1-price .price-currency {\\n font-size: small;\\n}\\n.ch-format-view-price .ch-product-price1 .ch-product-price1-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n.ch-format-view-price .ch-product-price2 {\\n padding: 0px;\\n flex-grow: 1;\\n color: #333;\\n}\\n.ch-format-view-price .ch-product-price2 .ch-product-price2-price {\\n font-size: 17px;\\n font-weight: normal;\\n margin: 0px;\\n margin-top: 4px;\\n text-decoration: line-through;\\n}\\n.ch-format-view-price .ch-product-price2 .ch-product-price2-price .price-currency {\\n font-size: small;\\n}\\n.ch-format-view-price .ch-product-price2 .ch-product-price2-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n.ch-format-view-price .ch-product-price3 {\\n padding-right: 5px;\\n flex-grow: 0;\\n color: #003CC2;\\n text-align: right;\\n}\\n.ch-format-view-price .ch-product-price3 .ch-product-price3-price {\\n font-size: 17px;\\n font-weight: bold;\\n margin: 0px;\\n}\\n.ch-format-view-price .ch-product-price3 .ch-product-price3-price .price-currency {\\n font-size: small;\\n}\\n.ch-format-view-price .ch-product-price3 .ch-product-price3-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price1 .ch-product-price1-price {\\n font-size: 20px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price1 .ch-product-price1-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price2 .ch-product-price2-price {\\n font-size: 16px;\\n margin-top: 5px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price2 .ch-product-price2-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price3 .ch-product-price3-price {\\n font-size: 16px;\\n margin-top: 5px;\\n}\\n.ch-format-view-price.size-normal .ch-product-price3 .ch-product-price3-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1wcm9kdWN0LXZpZXctZm9ybWF0L2NoLXByb2R1Y3Qtdmlldy1mb3JtYXQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtcHJvZHVjdC12aWV3LWZvcm1hdC9jaC1wcm9kdWN0LXZpZXctZm9ybWF0LmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSwwQkFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7QUNESjtBREdJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7QUNEUjtBRElBO0VBQ0ksZ0NBQUE7RUFDQSxvQ0FBQTtFQUNBLDhCQUFBO0FDREo7QURJQTtFQUNJLHFCRW9GK0I7RUZuRi9CLG1CQUFBO0FDREo7QURJQTtFQUNJLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUNESjtBREdJO0VBQ0ksV0FBQTtBQ0RSO0FES0E7RUFDSSxlQUFBO0FDRko7QURLQTtFQUNJLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FDRko7QURJSTtFQUVJLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjRTRIZTtBRC9IdkI7QURLUTtFQUNJLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7QUNIWjtBREtZO0VBQ0ksZ0JBQUE7QUNIaEI7QURNUTtFQUNJLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FDSlo7QURRSTtFQUNJLFlBQUE7RUFFQSxZQUFBO0VBQ0EsV0V1R2U7QUQ5R3ZCO0FEU1E7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLDZCQUFBO0FDUFo7QURTWTtFQUNJLGdCQUFBO0FDUGhCO0FEVVE7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ1JaO0FEV0k7RUFDSSxrQkFBQTtFQUVBLFlBQUE7RUFDQSxjRWlGZTtFRmhGZixpQkFBQTtBQ1ZSO0FEWVE7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0FDVlo7QURZWTtFQUNJLGdCQUFBO0FDVmhCO0FEYVE7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ1haO0FEbUJRO0VBQ0ksZUFBQTtBQ2hCWjtBRGtCUTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtBQ2hCWjtBRG9CUTtFQUNJLGVBQUE7RUFDQSxlQUFBO0FDbEJaO0FEb0JRO0VBQ0ksZUFBQTtFQUNBLGdCQUFBO0FDbEJaO0FEc0JRO0VBQ0ksZUFBQTtFQUNBLGVBQUE7QUNwQlo7QURzQlE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7QUNwQloiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2NvbWVyY2lvL2NoLXByb2R1Y3Qtdmlldy1mb3JtYXQvY2gtcHJvZHVjdC12aWV3LWZvcm1hdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLmNoLXByb2R1Y3QtZm9ybWF0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2gtZm9ybWF0LWFsZXJ0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbi5jaC1wcm9kdWN0LWZvcm1hdC1jb250YWluZXIuc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvci1iayAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMS41cHggIWltcG9ydGFudDtcbn1cblxuLmNoLXByb2R1Y3QtZm9ybWF0LWNvbnRhaW5lci5yZWNvbWVuZGVkIHtcbiAgICBib3JkZXItY29sb3I6ICRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICBib3JkZXItd2lkdGg6IDEuNXB4O1xufVxuXG4uY2gtZm9ybWF0LXZpZXctdGl0bGUuc2l6ZS1ub3JtYWwge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgIH1cbn1cblxuLmNoLWZvcm1hdC12aWV3LXRpdGxlLnNpemUtbm9ybWFsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jaC1mb3JtYXQtdmlldy1wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIFxuICAgIC5jaC1wcm9kdWN0LXByaWNlMSB7XG4gICAgICAgIFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICBjb2xvcjogJHByb2R1Y3RfcHJpY2UxX2NvbG9yO1xuICAgICAgICBcbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UxLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG5cbiAgICAgICAgICAgIC5wcmljZS1jdXJyZW5jeSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTEtdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoLXByb2R1Y3QtcHJpY2UyIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiBsaWdodHBpbms7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0X3ByaWNlMl9jb2xvcjtcblxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTItcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtcblxuICAgICAgICAgICAgLnByaWNlLWN1cnJlbmN5IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNtYWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMi10eHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoLXByb2R1Y3QtcHJpY2UzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiBsaWdodGdyZWVuO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdF9wcmljZTNfY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMy1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuXG4gICAgICAgICAgICAucHJpY2UtY3VycmVuY3kge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UzLXR4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoLWZvcm1hdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIHtcblxuICAgIC5jaC1wcm9kdWN0LXByaWNlMSB7XG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMS1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UxLXR4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jaC1wcm9kdWN0LXByaWNlMiB7XG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMi1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UyLXR4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jaC1wcm9kdWN0LXByaWNlMyB7XG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMy1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UzLXR4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoLXByb2R1Y3QtZm9ybWF0LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmF5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoLXByb2R1Y3QtZm9ybWF0LWNvbnRhaW5lciAuY2gtZm9ybWF0LWFsZXJ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIHBhZGRpbmc6IDNweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uY2gtcHJvZHVjdC1mb3JtYXQtY29udGFpbmVyLnNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0EyMTg0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkU3RjIgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiAxLjVweCAhaW1wb3J0YW50O1xufVxuXG4uY2gtcHJvZHVjdC1mb3JtYXQtY29udGFpbmVyLnJlY29tZW5kZWQge1xuICBib3JkZXItY29sb3I6ICNBQTc5NDI7XG4gIGJvcmRlci13aWR0aDogMS41cHg7XG59XG5cbi5jaC1mb3JtYXQtdmlldy10aXRsZS5zaXplLW5vcm1hbCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5jaC1mb3JtYXQtdmlldy10aXRsZS5zaXplLW5vcm1hbCBwIHtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5jaC1mb3JtYXQtdmlldy10aXRsZS5zaXplLW5vcm1hbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoLWZvcm1hdC12aWV3LXByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UxIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgY29sb3I6ICNDMjYwMDA7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UxIC5jaC1wcm9kdWN0LXByaWNlMS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMHB4O1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMSAuY2gtcHJvZHVjdC1wcmljZTEtcHJpY2UgLnByaWNlLWN1cnJlbmN5IHtcbiAgZm9udC1zaXplOiBzbWFsbDtcbn1cbi5jaC1mb3JtYXQtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTEgLmNoLXByb2R1Y3QtcHJpY2UxLXR4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5jaC1mb3JtYXQtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTIge1xuICBwYWRkaW5nOiAwcHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgY29sb3I6ICMzMzM7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UyIC5jaC1wcm9kdWN0LXByaWNlMi1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwcHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UyIC5jaC1wcm9kdWN0LXByaWNlMi1wcmljZSAucHJpY2UtY3VycmVuY3kge1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMiAuY2gtcHJvZHVjdC1wcmljZTItdHh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgZmxleC1ncm93OiAwO1xuICBjb2xvcjogIzAwM0NDMjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UzIC5jaC1wcm9kdWN0LXByaWNlMy1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMHB4O1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMyAuY2gtcHJvZHVjdC1wcmljZTMtcHJpY2UgLnByaWNlLWN1cnJlbmN5IHtcbiAgZm9udC1zaXplOiBzbWFsbDtcbn1cbi5jaC1mb3JtYXQtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTMgLmNoLXByb2R1Y3QtcHJpY2UzLXR4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cblxuLmNoLWZvcm1hdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMSAuY2gtcHJvZHVjdC1wcmljZTEtcHJpY2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2Uuc2l6ZS1ub3JtYWwgLmNoLXByb2R1Y3QtcHJpY2UxIC5jaC1wcm9kdWN0LXByaWNlMS10eHQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG4uY2gtZm9ybWF0LXZpZXctcHJpY2Uuc2l6ZS1ub3JtYWwgLmNoLXByb2R1Y3QtcHJpY2UyIC5jaC1wcm9kdWN0LXByaWNlMi1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMiAuY2gtcHJvZHVjdC1wcmljZTItdHh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuLmNoLWZvcm1hdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMyAuY2gtcHJvZHVjdC1wcmljZTMtcHJpY2Uge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5jaC1mb3JtYXQtdmlldy1wcmljZS5zaXplLW5vcm1hbCAuY2gtcHJvZHVjdC1wcmljZTMgLmNoLXByb2R1Y3QtcHJpY2UzLXR4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { isNullOrUndefined } from 'util';\nimport { CHProduct, CHProductFormat } from '../ch-product';\n\n@Component({\n selector: 'ch-product-view-format',\n templateUrl: './ch-product-view-format.component.html',\n styleUrls: ['./ch-product-view-format.component.scss']\n})\nexport class ChProductViewFormatComponent implements OnInit {\n\n @Input() format: CHProductFormat = null;\n @Input() config: Object = null;\n @Input() detail: string = 'compact';\n @Input() size: string = 'normal'; // small, normal, big, bigger\n @Input() selected: boolean = false;\n @Input() clickeable: boolean = false;\n @Output() onClick: EventEmitter = new EventEmitter();\n \n constructor(private chGlobal: ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n clickFormat() {\n if (this.clickeable) {\n this.onClick.emit(this.format);\n }\n }\n\n getAlertColor() {\n if (isNullOrUndefined(this.format)){\n return 'transparent'; \n } else {\n const alertTxt: string = this.format.alertTxt;\n const alertColor: string | number = this.format.alertColor;\n //console.log('Alerta : ' + alertTxt);\n //console.log('Color: ' + alertColor);\n if ( isNullOrUndefined(alertTxt) || alertTxt == '' ) {\n return 'transparent'; \n } else if (typeof alertColor === 'string') {\n return alertColor;\n } else if (alertColor === 0x0 ) {\n return 'red'\n } else {\n return this.chGlobal.toColor(alertColor);\n }\n }\n }\n\n}\n","export default \".product-inner-container {\\n width: 100%;\\n height: 100%;\\n display: block;\\n position: relative;\\n border: 1px solid #FAFAFA;\\n background-color: #FFFFFF;\\n padding: 0px;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.product-inner-container.clickeable {\\n cursor: pointer;\\n}\\n\\n.product-inner-container .product-alert {\\n position: absolute;\\n top: 0px;\\n left: 0px;\\n font-size: larger;\\n padding: 5px;\\n color: white;\\n}\\n\\n.ch-product-view-price {\\n margin-left: 5px;\\n margin-right: 5px;\\n display: flex;\\n padding-left: 5px;\\n padding-right: 5px;\\n}\\n\\n.ch-product-view-price .ch-product-price1 {\\n padding-right: 5px;\\n padding-left: 0px;\\n color: #C26000;\\n}\\n\\n.ch-product-view-price .ch-product-price1 .ch-product-price1-price {\\n font-size: 20px;\\n font-weight: bold;\\n margin: 0px;\\n}\\n\\n.ch-product-view-price .ch-product-price1 .ch-product-price1-price .price-currency {\\n font-size: small;\\n}\\n\\n.ch-product-view-price .ch-product-price1 .ch-product-price1-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-price .ch-product-price2 {\\n padding: 0px;\\n flex-grow: 1;\\n color: #333;\\n}\\n\\n.ch-product-view-price .ch-product-price2 .ch-product-price2-price {\\n font-size: 17px;\\n font-weight: normal;\\n margin: 0px;\\n margin-top: 4px;\\n text-decoration: line-through;\\n}\\n\\n.ch-product-view-price .ch-product-price2 .ch-product-price2-price .price-currency {\\n font-size: small;\\n}\\n\\n.ch-product-view-price .ch-product-price2 .ch-product-price2-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-price .ch-product-price3 {\\n padding-right: 5px;\\n flex-grow: 0;\\n color: #003CC2;\\n text-align: right;\\n}\\n\\n.ch-product-view-price .ch-product-price3 .ch-product-price3-price {\\n font-size: 20px;\\n font-weight: bold;\\n margin: 0px;\\n}\\n\\n.ch-product-view-price .ch-product-price3 .ch-product-price3-price .price-currency {\\n font-size: small;\\n}\\n\\n.ch-product-view-price .ch-product-price3 .ch-product-price3-txt {\\n font-size: 12px;\\n font-weight: normal;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price1 .ch-product-price1-price {\\n font-size: 20px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price1 .ch-product-price1-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price2 .ch-product-price2-price {\\n font-size: 16px;\\n margin-top: 5px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price2 .ch-product-price2-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price3 .ch-product-price3-price {\\n font-size: 16px;\\n margin-top: 5px;\\n}\\n\\n.ch-product-view-price.size-normal .ch-product-price3 .ch-product-price3-txt {\\n font-size: 14px;\\n margin-top: -5px;\\n}\\n\\n.ch-product-view-title {\\n padding: 5px;\\n font-size: 14px;\\n font-weight: bold;\\n color: #333;\\n text-align: center;\\n margin-bottom: 0px;\\n}\\n\\n.ch-product-view-title.size-normal {\\n font-size: 16px;\\n margin-bottom: 10px;\\n}\\n\\n.ch-product-view-title.size-small {\\n height: 50px;\\n overflow: hidden;\\n}\\n\\n.ch-product-view-descr {\\n padding: 5px;\\n}\\n\\n.ch-product-view-cat {\\n padding: 0px;\\n}\\n\\n.ch-format-container-external {\\n padding-top: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9jb21lcmNpby9jaC1wcm9kdWN0LXZpZXcvY2gtcHJvZHVjdC12aWV3LmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtcHJvZHVjdC12aWV3L2NoLXByb2R1Y3Qtdmlldy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkNpRmU7RURoRmYsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUVGSjs7QUZJQTtFQUNJLGVBQUE7QUVESjs7QUZJQTtFQUNJLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FFREo7O0FGSUE7RUFDSSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUVESjs7QUZHSTtFQUVJLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQzJJZTtBQzdJdkI7O0FGSVE7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0FFRlo7O0FGSVk7RUFDSSxnQkFBQTtBRUZoQjs7QUZLUTtFQUNJLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FFSFo7O0FGT0k7RUFDSSxZQUFBO0VBRUEsWUFBQTtFQUNBLFdDc0hlO0FDNUh2Qjs7QUZRUTtFQUNJLGVBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsNkJBQUE7QUVOWjs7QUZRWTtFQUNJLGdCQUFBO0FFTmhCOztBRlNRO0VBQ0ksZUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUVQWjs7QUZVSTtFQUNJLGtCQUFBO0VBRUEsWUFBQTtFQUNBLGNDZ0dlO0VEL0ZmLGlCQUFBO0FFVFI7O0FGV1E7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0FFVFo7O0FGV1k7RUFDSSxnQkFBQTtBRVRoQjs7QUZZUTtFQUNJLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FFVlo7O0FGa0JRO0VBQ0ksZUFBQTtBRWZaOztBRmlCUTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtBRWZaOztBRm1CUTtFQUNJLGVBQUE7RUFDQSxlQUFBO0FFakJaOztBRm1CUTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtBRWpCWjs7QUZxQlE7RUFDSSxlQUFBO0VBQ0EsZUFBQTtBRW5CWjs7QUZxQlE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7QUVuQlo7O0FGd0JBO0VBQ0ksWUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFdDeEVzQjtFRHlFdEIsa0JBQUE7RUFDQSxrQkFBQTtBRXJCSjs7QUZ1QkE7RUFDSSxlQUFBO0VBQ0EsbUJBQUE7QUVwQko7O0FGc0JBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0FFbkJKOztBRnNCQTtFQUNJLFlBQUE7QUVuQko7O0FGcUJBO0VBQ0ksWUFBQTtBRWxCSjs7QUZxQkE7RUFDSSxnQkFBQTtBRWxCSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvY29tZXJjaW8vY2gtcHJvZHVjdC12aWV3L2NoLXByb2R1Y3Qtdmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJub2RlX21vZHVsZXMvbmd4LWNoaXBzL2NvcmUvc3R5bGVzL2NvcmUvX2NvcmUuc2Nzc1wiO1xuQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4ucHJvZHVjdC1pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5wcm9kdWN0LWlubmVyLWNvbnRhaW5lci5jbGlja2VhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IFxufVxuXG4ucHJvZHVjdC1pbm5lci1jb250YWluZXIgLnByb2R1Y3QtYWxlcnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBcbiAgICAuY2gtcHJvZHVjdC1wcmljZTEge1xuICAgICAgICBcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0X3ByaWNlMV9jb2xvcjtcbiAgICAgICAgXG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMS1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuXG4gICAgICAgICAgICAucHJpY2UtY3VycmVuY3kge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UxLXR4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaC1wcm9kdWN0LXByaWNlMiB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogbGlnaHRwaW5rO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdF9wcmljZTJfY29sb3I7XG5cbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UyLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2g7XG5cbiAgICAgICAgICAgIC5wcmljZS1jdXJyZW5jeSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTItdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jaC1wcm9kdWN0LXByaWNlMyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogbGlnaHRncmVlbjtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBjb2xvcjogJHByb2R1Y3RfcHJpY2UzX2NvbG9yO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTMtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcblxuICAgICAgICAgICAgLnByaWNlLWN1cnJlbmN5IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNtYWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jaC1wcm9kdWN0LXByaWNlMy10eHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2Uuc2l6ZS1ub3JtYWwge1xuXG4gICAgLmNoLXByb2R1Y3QtcHJpY2UxIHtcbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UxLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTEtdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoLXByb2R1Y3QtcHJpY2UyIHtcbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UyLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTItdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoLXByb2R1Y3QtcHJpY2UzIHtcbiAgICAgICAgLmNoLXByb2R1Y3QtcHJpY2UzLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuY2gtcHJvZHVjdC1wcmljZTMtdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaC1wcm9kdWN0LXZpZXctdGl0bGUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3ItZGFyaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuLmNoLXByb2R1Y3Qtdmlldy10aXRsZS5zaXplLW5vcm1hbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uY2gtcHJvZHVjdC12aWV3LXRpdGxlLnNpemUtc21hbGwge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuICAgIFxuLmNoLXByb2R1Y3Qtdmlldy1kZXNjciB7XG4gICAgcGFkZGluZzogNXB4XG59XG4uY2gtcHJvZHVjdC12aWV3LWNhdCB7XG4gICAgcGFkZGluZzogMHB4XG59XG5cbi5jaC1mb3JtYXQtY29udGFpbmVyLWV4dGVybmFsIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiIsIi5wcm9kdWN0LWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGQUZBRkE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucHJvZHVjdC1pbm5lci1jb250YWluZXIuY2xpY2tlYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb2R1Y3QtaW5uZXItY29udGFpbmVyIC5wcm9kdWN0LWFsZXJ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBmb250LXNpemU6IGxhcmdlcjtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UxIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgY29sb3I6ICNDMjYwMDA7XG59XG4uY2gtcHJvZHVjdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMSAuY2gtcHJvZHVjdC1wcmljZTEtcHJpY2Uge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDBweDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UxIC5jaC1wcm9kdWN0LXByaWNlMS1wcmljZSAucHJpY2UtY3VycmVuY3kge1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTEgLmNoLXByb2R1Y3QtcHJpY2UxLXR4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UyIHtcbiAgcGFkZGluZzogMHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTIgLmNoLXByb2R1Y3QtcHJpY2UyLXByaWNlIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDBweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UyIC5jaC1wcm9kdWN0LXByaWNlMi1wcmljZSAucHJpY2UtY3VycmVuY3kge1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTIgLmNoLXByb2R1Y3QtcHJpY2UyLXR4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UzIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBmbGV4LWdyb3c6IDA7XG4gIGNvbG9yOiAjMDAzQ0MyO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jaC1wcm9kdWN0LXZpZXctcHJpY2UgLmNoLXByb2R1Y3QtcHJpY2UzIC5jaC1wcm9kdWN0LXByaWNlMy1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMHB4O1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZSAuY2gtcHJvZHVjdC1wcmljZTMgLmNoLXByb2R1Y3QtcHJpY2UzLXByaWNlIC5wcmljZS1jdXJyZW5jeSB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG59XG4uY2gtcHJvZHVjdC12aWV3LXByaWNlIC5jaC1wcm9kdWN0LXByaWNlMyAuY2gtcHJvZHVjdC1wcmljZTMtdHh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4uY2gtcHJvZHVjdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMSAuY2gtcHJvZHVjdC1wcmljZTEtcHJpY2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG4uY2gtcHJvZHVjdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMSAuY2gtcHJvZHVjdC1wcmljZTEtdHh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZS5zaXplLW5vcm1hbCAuY2gtcHJvZHVjdC1wcmljZTIgLmNoLXByb2R1Y3QtcHJpY2UyLXByaWNlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4uY2gtcHJvZHVjdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMiAuY2gtcHJvZHVjdC1wcmljZTItdHh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuLmNoLXByb2R1Y3Qtdmlldy1wcmljZS5zaXplLW5vcm1hbCAuY2gtcHJvZHVjdC1wcmljZTMgLmNoLXByb2R1Y3QtcHJpY2UzLXByaWNlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4uY2gtcHJvZHVjdC12aWV3LXByaWNlLnNpemUtbm9ybWFsIC5jaC1wcm9kdWN0LXByaWNlMyAuY2gtcHJvZHVjdC1wcmljZTMtdHh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4uY2gtcHJvZHVjdC12aWV3LXRpdGxlIHtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5jaC1wcm9kdWN0LXZpZXctdGl0bGUuc2l6ZS1ub3JtYWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jaC1wcm9kdWN0LXZpZXctdGl0bGUuc2l6ZS1zbWFsbCB7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNoLXByb2R1Y3Qtdmlldy1kZXNjciB7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmNoLXByb2R1Y3Qtdmlldy1jYXQge1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi5jaC1mb3JtYXQtY29udGFpbmVyLWV4dGVybmFsIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbn0iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { isNullOrUndefined } from 'util';\nimport { CHProduct } from '../ch-product';\n\n@Component({\n selector: 'ch-product-view',\n templateUrl: './ch-product-view.component.html',\n styleUrls: ['./ch-product-view.component.scss']\n})\nexport class ChProductViewComponent implements OnInit {\n\n @Input() product: CHProduct = null;\n @Input() config: Object = null;\n @Input() detail: string = 'compact';\n @Input() size: string = 'normal'; // normal, big, bigger\n @Input() configure: boolean = false;\n @Input() clickeable: boolean = false;\n @Input() width: number = 240;\n @Input() height: number = -1; //El alto está abierto\n @Output() onClick: EventEmitter = new EventEmitter();\n \n constructor(private chGlobal: ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n clickProduct() {\n if (this.clickeable) {\n this.onClick.emit(this.product);\n }\n }\n\n calcImageHeight() : number {\n if (this.height != -1) {\n return this.height - 90;\n } else {\n if (this.product != null && !isNullOrUndefined(this.product['picture'])) {\n const picture: any = this.product['picture'];\n if (!isNullOrUndefined(picture.width) && !isNullOrUndefined(picture.height)) {\n return Math.min(this.width * (picture.height / picture.width), this.width * 1.5);\n } else {\n return this.width;\n }\n } else {\n return this.width;\n }\n }\n }\n\n getAlertColor() {\n if (isNullOrUndefined(this.product) || isNullOrUndefined(this.product['extras'])){\n return 'transparent'; \n } else {\n const alertTxt : string = this.product['extras']['alertTxt'];\n const alertColor : number | string = this.product['extras']['alertColor'];\n //console.log('Alerta : ' + alertTxt);\n // console.log('Color: ' + alertColor);\n if ( isNullOrUndefined(this.product['extras']['alertTxt']) || this.product['extras']['alertTxt'] == '' ) {\n return 'transparent'; \n } else if (typeof alertColor === 'string') {\n return alertColor;\n } else if (alertColor === 0x0 ) {\n return 'red'\n } else {\n // console.log(this.chGlobal.toColor(alertColor));\n return this.chGlobal.toColor(alertColor);\n }\n }\n }\n\n}\n","import { ChCategoria } from \"../categories/ch-categoria\";\nimport { ChGeoLocation } from \"../location/ch-geo-location\";\nexport class CHProduct {\n\n public uid = '';\n public type : CHProductType = null;\n public host = null;\n public hostUid = '';\n\n public publishedAt: Date = null;\n\n public active : true;\n public visible : true;\n public recomended : false;\n public title = 'Nuevo producto';\n public slug = '';\n public picture = null;\n public description = '';\n public attachments : any[] = [];\n public tags : string[] = [];\n public categories : ChCategoria[] = [];\n\n public barcode = '';\n public sku = '';\n\n public codiva = 0;\n public ivaincluded = true;\n\n public price1 = 0;\n public price2 = 0;\n public price3 = 0;\n public text1 = '';\n public text2 = '';\n public text3 = '';\n public points = 0;\n\n public features : CHProductFeatureOption[] = [];\n public weight = 0;\n public volume = 0;\n\n public origin? : ChGeoLocation = undefined;\n public startDate: Date = null;\n public endDate: Date = null;\n\n public formats : CHProductFormat[] = [];\n public extras : CHProductExtras = new CHProductExtras();\n public options = {};\n\n public formUid : string | null = null;\n }\n\n export class CHProductExtras {\n public alertTxt = '';\n public alertColor = 0xf;\n }\n\n export class CHProductFormat {\n public title = '';\n public attachments : any[] = [];\n public price1 = 0;\n public price2 = 0;\n public price3 = 0;\n public text1 = '';\n public text2 = '';\n public text3 = '';\n public points = 0;\n public recomended : false;\n public alertTxt = '';\n public alertColor = 0xf;\n public weight = 0;\n public volume = 0;\n }\n\n export class CHProductTypeFamily {\n public title = '';\n public slug = '';\n public uid = '';\n }\n export class CHProductType {\n public uid = '';\n public name = '';\n public picture = '';\n public title = '';\n public features: CHProductFeature[] | undefined = undefined;\n public firstFamily: CHProductTypeFamily | undefined = undefined;\n\n constructor(base: Partial | undefined) {\n if (base) {\n for(const key in base){\n if(this.hasOwnProperty(key)){\n this[key] = base[key]\n }\n }\n }\n }\n }\n\n\n export class CHProductFeature {\n public id = 0;\n public name = '';\n public title = '';\n public allowMultiple = false;\n public options? : CHProductFeatureOption[] = [];\n // Solo se usa para lamacenar temporalmente los valores seleccionados\n public value = '';\n }\n\n export class CHProductFeatureOption {\n public id = 0;\n public featureId = 0;\n public title = '';\n public value = '';\n public feature? : CHProductFeature = null;\n }\n\n export class CHInvoice {\n public num = ''; // Número de factura\n public date: Date = new Date();\n public cod = '' // Código interno\n public currency = ''; // Moneda\n // Datos de la empresa ordenante\n public companyName1 = '';\n public companyCif1 = '';\n public companyDir1 = '';\n // Datos de la empresa destino\n public companyName2 = '';\n public companyCif2 = '';\n public companyDir2 = '';\n // Lista de articulos\n public items1: CHInvoiceItem[] = [];\n // Lista de descuentos\n public items2: CHInvoiceItem[] = [];\n // Lista de importes fuera de IVA\n public items3: CHInvoiceItem[] = [];\n public impTotal = 0;\n public ivaTotal = 0;\n\n /**\n * Códifica los campos de texto de una factura para enviarlos al servidor\n * @param origin Factura con los campos sin codificar\n */\n /*\n public static encode(origin : CHInvoice) : CHInvoice {\n const invoice = cloneDeep(origin);\n\n this.database.utoa(tempProduct.title);\n\n return invoice;\n }\n */\n }\n\n export class CHInvoiceItem {\n public name = ''; // Nombre del apunte\n public units = 0; // unidades adequiridas\n public impUnit = 0; // importe unitario\n public ivaUnit = 0; // IVA unitario\n public impTotal = 0; // Importe total (IVA Excluido)\n public ivaTotal = 0; // IVA total\n }\n","export default \"\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZGF0YS9jaC1jb3B5dGFibGVkYXRhLXdpbmRvdy9jaC1jb3B5dGFibGVkYXRhLXdpbmRvdy5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ProcessError } from '../ch-datatable.helper';\n\nimport { BehaviorSubject} from 'rxjs';\nimport { MessageType, OpResult } from 'app/chil/chilweb/ch-globals-def';\nimport { ChDataTable, ChDataTableField } from '../ch-datatable';\n\n@Component({\n selector: 'app-ch-copytabledata',\n templateUrl: './ch-copytabledata-window.component.html',\n styleUrls: ['./ch-copytabledata-window.component.css']\n})\nexport class ChCopyTableDataWindowComponent implements OnInit {\n\n private static table: ChDataTable = null;\n private static passData: Array = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n\n @ViewChild('fileImportInput', { static: false})\n fileImportInput: any;\n buttonDisabled = true;\n buttonDisabled2 = true;\n preImportFinished = false;\n\n table: ChDataTable = null;\n filter = '';\n title1 = 'Copiar datos a otra tabla';\n\n fileContents: string;\n\n lineas = 0;\n errores = 0;\n correctas = 0;\n errors: Array = [];\n rows: Array = [];\n\n rowsImportedInBd = false;\n ismanager = false;\n\n currTable: ChDataTable = null;\n fields: Array = null;\n datatables: ChDataTable[] = null;\n filterExpresion = '';\n targetTable = {};\n targetTableId = '';\n deleteContents = false;\n data: Array = null;\n\n insertedRows = 0;\n messageTxt: BehaviorSubject = new BehaviorSubject('');\n progressAdv: BehaviorSubject = new BehaviorSubject(0);\n\n public static show(table: ChDataTable, data: Array, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChCopyTableDataWindowComponent.table = table;\n ChCopyTableDataWindowComponent.passData = data;\n ChCopyTableDataWindowComponent.modalRef = service.showModalWindow(this, config);\n ChCopyTableDataWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChCopyTableDataWindowComponent.modalRef);\n if (executeCallback) {\n ChCopyTableDataWindowComponent.callback();\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n this.datatables = chGlobal.getDatabaseTables();\n }\n\n ngOnInit() {\n this.ismanager = this.chGlobal.currentUserIsManager();\n this.currTable = ChCopyTableDataWindowComponent.table;\n this.fields = (JSON.parse(JSON.stringify(ChCopyTableDataWindowComponent.table.fields)));\n for (let f of this.fields) {\n f.selected = true;\n }\n this.data = ChCopyTableDataWindowComponent.passData;\n this.messageTxt.next(String(this.data.length) + ' filas seleccionadas');\n // console.log(this.data)\n }\n\n confirm() {\n ChCopyTableDataWindowComponent.hide(this.rowsImportedInBd);\n }\n\n decline() {\n ChCopyTableDataWindowComponent.hide(this.rowsImportedInBd);\n }\n\n exportValues() {\n //console.log(\"Emportar!\");\n this.targetTableId = this.targetTable['tableId'];\n if (this.targetTableId === '') {\n console.log('EXPORTAR: tabla vacia!');\n return;\n }\n if (this.data.length === 0) {\n console.log('EXPORTAR: no data');\n return;\n }\n //console.log(this.targetTable);\n //console.log(this.targetTableId);\n /// Analisis de los campos.\n const target = this.chGlobal.getDatabaseTables().find( t => { return t.tableId === this.targetTableId; });\n\n if (target == null) {\n console.log('ERROR. Exportar valores: Error encontrando la tabla destino');\n return;\n }\n\n for (const f of target.fields) {\n if (f.key) {\n const originField = this.fields.find( f2 => { return f2.name === f.name && f2.selected; } );\n if (originField === null || originField === undefined) {\n this.chGlobal.showMessage(\n MessageType.error, 'Clave no cubierta',\n 'El campo ' + f.name + ' es clave en la tabla destino y no tiene asignado valor. La exportacion no se pude realizar');\n return;\n }\n }\n }\n\n // console.log(\"Exportando.....\")\n this.rowsImportedInBd = true;\n this.insertedRows = 0;\n this.progressAdv.next(0);\n\n this.chGlobal.showRunningWindowWithParams( 'Exportando %1 filas... ', [String(this.rows.length)]);\n\n let insertedRows = 0;\n const promises: Array> = [];\n let rechazados = 0;\n let insertados = 0;\n let total = 0;\n\n var chain: Promise = null;\n\n if (this.deleteContents) {\n chain = this.chGlobal.deleteTableAll(this.targetTableId);\n }\n\n this.data.forEach( (value, index) => {\n if (this.dataFilter(value)) {\n total++;\n // let chGlobal = window['angularComponentRef'].component.chGlobal;\n // let messageTxt = window['angularComponentRef'].component.messageTxt;\n const chGlobal = this.chGlobal;\n const messageTxt = this.messageTxt;\n const progressAdv = this.progressAdv;\n\n const tuid = this.targetTableId;\n\n const newPromise = function(v) {\n chGlobal.calculateFields(tuid, v, null);\n // console.log(v);\n return chGlobal.saveTableRow(tuid, v, null);\n };\n\n if (chain === null) {\n chain = newPromise(value);\n } else {\n chain = chain\n .then(\n (newval) => { insertados++;\n // console.log(newval)\n insertedRows++;\n chGlobal.showRunningWindowWithParams( 'Fila %1 (%2) exportada... ', [String(insertedRows),String(total)]);\n messageTxt.next('Fila ' + String(insertedRows) + ' exportadas.');\n progressAdv.next(insertedRows * 100 / total );\n return newPromise(value);\n },\n (reason) => {\n rechazados++;\n insertedRows++;\n console.log(reason);\n chGlobal.showMessage(MessageType.warning, 'Fila rechazada',\n 'Fila ' + String(insertedRows) + ' (' + String(total) + ') rechazada...');\n progressAdv.next(insertedRows * 100 / total );\n return newPromise(value);\n }\n );\n }\n }\n });\n\n const endImport = function(chGlobal, messageTxt, progressAdv) {\n // let chGlobal = window['angularComponentRef'].component.chGlobal;\n // let messageTxt = window['angularComponentRef'].component.messageTxt;\n // let progressAdv = window['angularComponentRef'].component.progressAdv;\n\n // console.log(window['angularComponentRef'].component)\n chGlobal.hideRunningWindow();\n window['angularComponentRef'].component.rowsImportedInBd = true;\n if (rechazados === 0) {\n chGlobal.showMessage(MessageType.success, ' Orden ejecutada', String(insertados) + ' filas exportadas.');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada',\n String(insertados) + ' filas exportadas. ' + String(rechazados) + ' rechazadas.');\n }\n messageTxt.next(String(insertados) + ' filas exportadas.');\n progressAdv.next(100);\n };\n\n if (chain !== null) {\n chain.then(\n (newval) => { insertados++; endImport(this.chGlobal, this.messageTxt, this.progressAdv); },\n (reason) => { rechazados++; endImport(this.chGlobal, this.messageTxt, this.progressAdv); }\n )\n .catch( error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error en la exportacion',\n 'No todas las filas han podido ser insertadas en la base de datos.');\n });\n }\n }\n\n\n dataFilter(value: object): boolean {\n const filter = this.filterExpresion.trim().toLowerCase();\n if (filter === '') {\n return true;\n } else {\n let evalStr = '';\n Object.keys(value).forEach( (k) => {\n evalStr += 'const ' + k.toLowerCase() + ' = value[\"' + k.toLowerCase() + '\"]; ';\n });\n evalStr += filter + ';';\n // tslint:disable-next-line:no-eval\n // console.log( value['uid'] + ' ' + value['entidad'] + ' ' + eval(evalStr) );\n // tslint:disable-next-line:no-eval\n return eval(evalStr);\n }\n }\n\n}\n","import * as moment from 'moment';\nimport * as numeral from 'numeral';\nimport 'moment/locale/es';\nimport { ChDataTable, ChDataTableField } from './ch-datatable';\nimport { createFalse } from 'typescript';\nimport { ChGlobalsService } from '../chilweb/ch-globals.service';\nimport { ChApiService } from '../api/ch-api.service';\nimport { ChActorManagerService } from '../actor/ch-actor-manager.service';\nimport { OpResult } from '../chilweb/ch-globals-def';\nimport { resolve } from 'path';\nimport * as momentZone from 'moment-timezone';\n\nexport class ProcessError {\n line: number;\n error: string;\n}\n\nexport class ValidationResult {\n public errors: Array = [];\n public data: Array = [];\n}\n\nexport class Header {\n public name = '';\n public type = '';\n public index = -1;\n public key = false;\n public properties: Header[] = [];\n}\nexport class ChDataImporterHelper {\n\n private rawHeaders: String[] = [];\n private headers: Header[] = [];\n public objects: object[] = [];\n public dateFormat = 'dd/mm/yyyy';\n private lastObject: object = null;\n\n constructor(private chGlobal: ChGlobalsService,\n private actorManager: ChActorManagerService ) { }\n /**\n * Convierte un array de cabeceras en una estructura,\n * considerando que los atributos compuestos pueden estar reprsentados en\n * la forma atributo1.atributo2.atributo3.\n * @param headArray Array de cabeceras\n * @param errors Array de errores al que se añadirán los que vayan apareciendo\n */\n public parseHeaders(headArray: Array, errors: ProcessError[]): Boolean {\n console.log(headArray);\n this.rawHeaders = headArray;\n this.headers = [];\n let errorCount = 0;\n const _indexVar = {index: 0};\n headArray.forEach( (h) => {\n errorCount += this.parseIndividualHeader(h, _indexVar, errors);\n });\n return errorCount > 0;\n }\n /**\n * Parse una cabecera individual y la añade al array\n * @param h string con la cabecera en la forma atr1.atr2... atrn\n * @param errors Array de errores al que se añadirán los que vayan apareciendo\n */\n private parseIndividualHeader(h: String, refIndex: object, errors: ProcessError[]): number {\n const subHeaders = h.split('.').map( h2 => { return h2.toLowerCase(); });\n let headers = this.headers;\n let numErrors = 0;\n subHeaders.forEach( (sh, i) => {\n const headerIndex = headers.findIndex ( v => {return v.name === sh; });\n if (headerIndex === -1) { // la cabecera no existe\n const newheader = new Header();\n headers.push(newheader);\n newheader.name = sh;\n if ( i === (subHeaders.length - 1)) { // si es el ultimo atributo de la lista\n newheader.index = refIndex['index'] as number;\n refIndex['index']++;\n } else {\n headers = newheader.properties;\n }\n } else if (headerIndex !== -1 && (i === (subHeaders.length - 1))) { // la cabecera esta repetida\n errors.push( { line : 0, error: 'la cabecera ' + h + ' está repetida.'});\n numErrors++;\n } else { // la cabecera existe pero hay un atributo que hay que procesar\n const newheader = headers[headerIndex];\n headers = newheader.properties;\n }\n });\n return numErrors;\n }\n /**\n * Verifica la definición de la tabla y de la de los campos, completando la\n * información necesaria\n * @param tableFields campos de la tabla\n */\n public checkTableHeaders(tableFields: ChDataTableField[], errors: ProcessError[]): Boolean {\n let errorCount = 0;\n const fields = tableFields;\n this.headers.forEach ( h => {\n errorCount += this.checkIndividualHeader(h, fields, errors);\n });\n console.log(this.headers);\n return errorCount > 0;\n }\n\n public checkIndividualFieldType(name: string, fields: ChDataTableField[]) : string {\n const field = fields.find( (f) => { return f.name.toLowerCase() === name.toLowerCase(); });\n var type = '';\n if (field === undefined ) {\n // errors.push( { line : 0, error: 'la cabecera ' + h.name + ' no existe en la tabla.'});\n // mejor no generamos ningun error\n type = 'none';\n } else {\n // Determinar el tipo del campo\n switch (field.type.toLowerCase()) {\n case 'object':\n type = 'object';\n break;\n case 'array':\n type = 'array';\n break;\n case 'int':\n case 'identity':\n type = 'int';\n break;\n case 'bit':\n case 'boolean':\n type = 'boolean';\n break;\n case 'float':\n type = 'float';\n break;\n case 'actor':\n type = 'actor';\n break;\n case 'smalldatetime':\n case 'datetime':\n case 'date':\n type = 'date';\n break;\n case 'time':\n case 'hour':\n type = 'hour';\n break;\n case 'state':\n type = 'state';\n break;\n case 'string':\n type = 'string';\n break;\n case 'weekdays':\n type = 'weekdays';\n break;\n case 'timezone':\n type = 'timezone';\n break;\n default:\n type = 'string';\n }\n }\n return type;\n }\n\n private checkIndividualHeader(h: Header, fields: ChDataTableField[], errors: ProcessError[]): number {\n const field = fields.find( (f) => { return f.name.toLowerCase() === h.name; });\n let newErrors = 0;\n if (field === undefined ) {\n // errors.push( { line : 0, error: 'la cabecera ' + h.name + ' no existe en la tabla.'});\n // mejor no generamos ningun error\n h.type = 'none';\n } else {\n // Determinar el tipo del campo\n switch (field.type.toLowerCase()) {\n case 'object':\n h.type = 'object';\n break;\n case 'array':\n h.type = 'array';\n break;\n case 'int':\n case 'identity':\n h.type = 'int';\n break;\n case 'bit':\n case 'boolean':\n h.type = 'boolean';\n break;\n case 'float':\n h.type = 'float';\n break;\n case 'actor':\n h.type = 'actor';\n break;\n case 'smalldatetime':\n case 'datetime':\n case 'date':\n h.type = 'date';\n break;\n case 'time':\n case 'hour':\n h.type = 'hour';\n break;\n case 'state':\n h.type = 'state';\n break;\n case 'repeat':\n h.type = 'repeat';\n break;\n case 'weekdays':\n h.type = 'weekdays';\n break\n case 'timezone':\n h.type = 'timezone';\n break\n case 'string':\n h.type = 'state';\n break;\n default:\n h.type = 'string';\n }\n h.key = field.key;\n // En el caso de que sea un array, hay que seguir procesando\n const isObject = h.type === 'array' || h.type === 'actor' || h.type === 'object';\n const isActor = h.type === 'actor';\n if (isObject && h.properties.length === 0) {\n errors.push( { line : 0, error: 'No se han espeficicado propiedades para el objeto ' + h.name});\n newErrors++;\n } else if (!isObject && h.properties.length !== 0) {\n errors.push( { line : 0, error: 'El campo ' + h.name + ' no es compuesto.'});\n newErrors++;\n } else if (isObject && !isActor &&\n (field.fields === undefined || field.fields === null || field.fields.length === 0)) {\n errors.push( { line : 0, error: 'El campo ' + h.name + ' no tiene definidas propiedades en la tabla.'});\n newErrors++;\n } else if (isObject && !isActor) { // hay que verificar las propiedades del campo compuesto\n const objectFields = field.fields;\n h.properties.forEach( h2 => {\n newErrors += this.checkIndividualHeader(h2, objectFields, errors);\n });\n };\n }\n return newErrors;\n }\n\n public initializeParseRows() {\n this.objects = [];\n this.lastObject = null;\n }\n\n public parseRow( row: Array, lineNum: number, errors: ProcessError[]): Promise {\n return new Promise( (resolve) => {\n // console.log('* LEYENDO ' + lineNum);\n const nErrors1 = errors.length;\n const newObject = this.createObject(this.headers, row, lineNum, errors);\n const nErrors2 = errors.length;\n if (this.lastObject !== null && this.sameKey(this.lastObject, newObject, this.headers )) {\n this.groupObject(this.lastObject, newObject, this.headers );\n resolve( nErrors1 === nErrors2 ? OpResult.OK : OpResult.USER_DATA_INVALID);\n } else {\n this.lastObject = newObject;\n this.chekObject(newObject, this.headers);\n this.objects.push(newObject);\n\n this.buscarActores(newObject, this.headers, resolve );\n }\n });\n }\n\n private chekObject(newObject: object, headers: Header[]) {\n headers.forEach( h => {\n if (h.type === 'array') {\n const val = newObject[h.name];\n if (val === undefined || val === null) {\n newObject[h.name] = [];\n } else if (typeof val === 'object' && !Array.isArray(val)) {\n newObject[h.name] = [ val ];\n }\n }\n });\n }\n\n private buscarActores(newObject: object, headers: Header[], resolve: (value?: OpResult | PromiseLike) => void) {\n let existeActor = false;\n headers.forEach( h => {\n if (h.type === 'actor') {\n try {\n const val = newObject[h.name];\n let identifier = val['uid'];\n if (identifier === undefined || identifier === null) {\n identifier = val['identifier'];\n }\n if (identifier !== undefined && identifier !== null) {\n // console.log('* ACTOR ' + identifier);\n existeActor = true;\n this.actorManager.loadActorByName(identifier).then ( (value) => {\n newObject[h.name] = value;\n // console.log(newObject[h.name]);\n resolve(OpResult.OK);\n },\n (error) => {\n console.log(error);\n resolve(OpResult.USER_DATA_INVALID);\n });\n }\n } catch (error) {\n console.log(error);\n resolve(OpResult.NET_ERROR);\n }\n }\n });\n if (!existeActor) {\n resolve(OpResult.OK);\n }\n }\n\n public parseRows(rows: Array>, errors: ProcessError[]): Boolean {\n /*\n rows.forEach( (row, index) => {\n\n const newObject = this.createObject(this.headers, row, index, errors);\n if (lastObject !== null && this.sameKey(lastObject, newObject, this.headers )) {\n this.groupObject(lastObject, newObject, this.headers );\n } else {\n lastObject = newObject;\n this.objects.push(newObject);\n\n this.buscarActores(newObject, this.headers);\n }\n\n });\n console.log(this.objects);\n */\n return false;\n }\n\n groupObject(lastObject: any, newObject: object, headers: Header[]) {\n headers.forEach ( h =>{\n if (h.type !== 'array' && h.type !== 'actor') {\n lastObject[h.name] = newObject[h.name];\n } else if (h.type === 'array') {\n let target = lastObject[h.name];\n const newItem = newObject[h.name];\n if ( (target === null) || (newItem === null) || (typeof target !== 'object') || (typeof newItem !== 'object') ){\n return;\n }\n if ( !Array.isArray(target) ) {\n target = [ target ];\n }\n if ( !Array.isArray(newItem) ) {\n target.push(newItem);\n } else {\n target = target.concat(newItem);\n }\n lastObject[h.name] = target;\n };\n });\n }\n\n sameKey(lastObject: any, newObject: object, headers: Header[]): boolean {\n const keyHeader = headers.find( (h) => {return h.key; });\n if (keyHeader === undefined) {\n return false;\n } else {\n return lastObject[keyHeader.name] === newObject[keyHeader.name];\n }\n }\n\n private createObject(headers: Header[], values: Array, lineNum: number, errors: ProcessError[]): object {\n const temp = {};\n headers.forEach ( h => {\n const isObject = h.type === 'array' || h.type === 'actor' || h.type === 'object';\n const isActor = h.type === 'actor';\n if ( isObject ) {\n temp[h.name] = this.createObject(h.properties, values, lineNum, errors);\n } else {\n if (h.index >= 0) {\n temp[h.name] = this.parseValue(values[h.index], h.type, lineNum, errors);\n } else {\n\n }\n }\n });\n return temp;\n }\n\n private stringToBoolean( s: string, lineNum: number, errors: ProcessError[] ) {\n switch ( s.toLowerCase().trim() ) {\n case 'true': case 'yes': case '1': case '✓': case 'úì': case '‚úì': return true;\n case 'false': case 'no': case '0': case '': case null: return false;\n default:\n errors.push( { line : lineNum, error: 'El valor ' + s + ' no es un boolean.' });\n return null;\n }\n }\n\n private stringToDate( s: string, lineNum: number, errors: ProcessError[]): string {\n if (s.trim() === '') {\n return '';\n }\n let newVal : moment.Moment;\n switch (this.dateFormat) {\n case 'dd/mm/yyyy':\n newVal = moment(s, 'DD/MM/YYYY HH:mm').add(1, 'hour');\n break;\n case 'mm/dd/yyyy':\n newVal = moment(s, 'MM/DD/YYYY HH:mm').add(1, 'hour');\n //console.log(newVal);\n break;\n default:\n newVal = moment(s, 'L').add(1, 'hour');\n }\n if (!newVal.isValid()) {\n console.log( this.chGlobal.translateStr(' FECHA NO VALIDA : ') + s);\n errors.push( { line: lineNum, error: this.chGlobal.translateStrWithParams('El valor de la columna %1 no es una fecha valida.', [s]) });\n } else {\n return newVal.format();\n }\n\n return '';\n }\n\n private stringToHour( s: string, lineNum: number, errors: ProcessError[]): string {\n const defaultVal = '00:00';\n const newVal = moment(s , 'H:mm:ss' );\n if (newVal.year() > 2020) {\n newVal.year( newVal.year() - 100);\n }\n if (!newVal.isValid()) {\n if (defaultVal != null) {\n return defaultVal;\n } else {\n console.log( this.chGlobal.translateStr(' HORA NO VALIDA : ') + s);\n errors.push( { line: lineNum, error: this.chGlobal.translateStrWithParams('El valor de la columna %1 no es una hora valida.', [s]) });\n }\n } else {\n return newVal.format();\n }\n return '';\n }\n\n private stringToWeekDays( s: string, lineNum: number, errors: ProcessError[]): string {\n var daysStr = '';\n let sArray = s.toUpperCase().split(',');\n\n if (sArray.includes('MO') || sArray.includes('L') || sArray.includes('LU')) {\n daysStr += 'L';\n }\n if (sArray.includes('TU') || sArray.includes('M') || sArray.includes('MA')) {\n daysStr += 'M';\n }\n if (sArray.includes('WE') || sArray.includes('X') || sArray.includes('MI')) {\n daysStr += 'X';\n }\n if (sArray.includes('TH') || sArray.includes('J') || sArray.includes('JU')) {\n daysStr += 'J';\n }\n if (sArray.includes('FR') || sArray.includes('V') || sArray.includes('VI')) {\n daysStr += 'V';\n }\n if (sArray.includes('SA') || sArray.includes('S') || sArray.includes('SA')) {\n daysStr += 'S';\n }\n if (sArray.includes('SU') || sArray.includes('D') || sArray.includes('DO')) {\n daysStr += 'D';\n }\n return daysStr;\n }\n\n private stringToRepeat( s: string, lineNum: number, errors: ProcessError[]): string {\n var repeatStr = '';\n let sLower = s.toLowerCase();\n\n if (sLower == '') {\n repeatStr = 'none';\n } else if (sLower == 'daily') {\n repeatStr = 'day';\n } else if (sLower == 'weekly') {\n repeatStr = 'week';\n } else if (sLower == 'monthly') {\n repeatStr = 'month';\n } else if (sLower == 'yearly') {\n repeatStr = 'year';\n } else {\n console.log( this.chGlobal.translateStr(' REPEAT NO VALIDA : ') + s);\n errors.push( { line: lineNum, error: this.chGlobal.translateStrWithParams('El valor de la columna %1 no es una frecuencia valida.', [s]) });\n return '';\n }\n\n return repeatStr;\n }\n\n private stringToTimeZone( s: string, lineNum: number, errors: ProcessError[]): string {\n const newTz = momentZone.tz(s);\n const utc: string = newTz.format('Z');\n const abbr: string = newTz.zoneAbbr();\n\n //console.log(utc)\n //console.log(`${s} (${utc})`)\n return `${s} (${utc})`;\n }\n\n private parseValue(value: string, type: string, lineNum: number, errors: ProcessError[]): any {\n try {\n switch (type) {\n case 'object':\n return null;\n case 'array':\n return null;\n case 'int':\n return parseInt( value, 10 );\n case 'boolean':\n return this.stringToBoolean(value, lineNum, errors);\n case 'float':\n return parseFloat( value );\n case 'actor':\n break;\n case 'date':\n return this.stringToDate(value, lineNum, errors);\n case 'hour':\n return this.stringToHour(value, lineNum, errors);\n case 'state':\n return value.trim();\n case 'repeat':\n return this.stringToRepeat(value, lineNum, errors);\n case 'weekdays':\n return this.stringToWeekDays(value, lineNum, errors);\n case 'timezone':\n return this.stringToTimeZone(value, lineNum, errors);\n default:\n return value.trim();\n }\n } catch (error) {\n errors.push( { line : lineNum, error: 'El valor ' + value + ' no ha podido ser interpretado.' });\n return null;\n }\n }\n}\n\n","export default \"/*\\n@import \\\"src/assets/styles/imports/_variables\\\";\\n\\n.right-config {\\n display: block;\\n float: none;\\n margin-top: 0;\\n position: relative;\\n padding: 0;\\n text-align: right\\n}\\n\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kYXRhL2NoLWRhdGFiYXNlZWRpdG9yL2NoLWRhdGFiYXNlZWRpdG9yLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Q0FBQSIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZGF0YS9jaC1kYXRhYmFzZWVkaXRvci9jaC1kYXRhYmFzZWVkaXRvci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5yaWdodC1jb25maWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHRcbn1cblxuKi8iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChDataTable } from '../ch-datatable';\n\n@Component({\n selector: 'app-ch-databaseeditor',\n templateUrl: './ch-databaseeditor.component.html',\n styleUrls: ['./ch-databaseeditor.component.scss']\n})\nexport class ChDatabaseEditorComponent implements OnInit {\n\n datatables: ChDataTable[] = null;\n siteName = '';\n\n constructor(private route: ActivatedRoute, private translate: TranslateService,\n private chGlobal: ChGlobalsService, private router: Router ) {\n this.datatables = chGlobal.getDatabaseTables();\n //console.log(this.datatables)\n this.siteName = route.snapshot.parent.paramMap.get('sitename');\n }\n\n ngOnInit() {\n }\n\n}\n","export default \"thead, tbody { display: block; }\\n\\ntbody {\\n height: 300px; /* Just for the demo */\\n overflow-y: auto; /* Trigger vertical scroll */\\n overflow-x: hidden; /* Hide the horizontal scroll */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9kYXRhL2NoLWRhdGFpbXBvcnRlci9jaC1kYXRhaW1wb3J0ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLGNBQWMsRUFBRTs7QUFFL0I7SUFDSSxhQUFhLFFBQVEsK0JBQStCO0lBQ3BELGdCQUFnQixLQUFLLCtCQUErQjtJQUNwRCxrQkFBa0IsR0FBRywrQkFBK0I7QUFDeEQiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2RhdGEvY2gtZGF0YWltcG9ydGVyL2NoLWRhdGFpbXBvcnRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGhlYWQsIHRib2R5IHsgZGlzcGxheTogYmxvY2s7IH1cblxudGJvZHkge1xuICAgIGhlaWdodDogMzAwcHg7ICAgICAgIC8qIEp1c3QgZm9yIHRoZSBkZW1vICAgICAgICAgICovXG4gICAgb3ZlcmZsb3cteTogYXV0bzsgICAgLyogVHJpZ2dlciB2ZXJ0aWNhbCBzY3JvbGwgICAgKi9cbiAgICBvdmVyZmxvdy14OiBoaWRkZW47ICAvKiBIaWRlIHRoZSBob3Jpem9udGFsIHNjcm9sbCAqL1xufSJdfQ== */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChTableHelper, ProcessError } from '../ch-datatable.helper';\n\nimport * as paparse from 'papaparse';\nimport { MessageType, OpResult } from 'app/chil/chilweb/ch-globals-def';\nimport { ChDataTable } from '../ch-datatable';\nimport { ChDataImporterHelper } from '../ch-data-importer-helper';\nimport { EWOULDBLOCK } from 'constants';\nimport { ChActorManagerService } from 'app/chil/actor/ch-actor-manager.service';\nimport { access } from 'fs';\n\n@Component({\n selector: 'app-ch-dataimporter',\n templateUrl: './ch-dataimporter.component.html',\n styleUrls: ['./ch-dataimporter.component.css']\n})\nexport class ChDataimporterComponent implements OnInit {\n\n private static table: ChDataTable = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n\n private helper: ChDataImporterHelper = null;\n\n @ViewChild('fileImportInput', { static: false})\n fileImportInput: any;\n buttonDisabled = true;\n buttonDisabled2 = true;\n preImportFinished = false;\n importRows = true;\n deleteAll = false;\n\n table: ChDataTable = null;\n\n title1 = 'Importar datos desde .csv';\n title2 = 'Veamos que tal';\n message = 'A ver como sale...';\n csvContent: string;\n\n fileContents: string;\n\n lineas = 0;\n errores = 0;\n correctas = 0;\n errors: Array = [];\n rows: Array = [];\n\n rowsImportedInBd = false;\n currentTable: ChDataTable = null;\n keyField = '';\n\n file = null;\n\n public static show(table: ChDataTable, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChDataimporterComponent.table = table;\n ChDataimporterComponent.modalRef = service.showModalWindow(this, config);\n ChDataimporterComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChDataimporterComponent.modalRef);\n if (executeCallback) {\n ChDataimporterComponent.callback();\n }\n }\n\n constructor(/*/public bsModalRef: BsModalRef, */\n private chGlobal: ChGlobalsService, private actorManager: ChActorManagerService ) {}\n\n ngOnInit() {\n this.currentTable = ChDataimporterComponent.table ;\n }\n\n confirm() {\n ChDataimporterComponent.hide(this.rowsImportedInBd);\n }\n\n decline() {\n ChDataimporterComponent.hide(this.rowsImportedInBd);\n }\n\n onFileSelect($event): void {\n // console.log($event);\n this.file = $event.target.files[0];\n if (this.file != null && this.file !== undefined) {\n this.buttonDisabled = (this.file === null);\n this.importRows = true;\n }\n }\n\n preImportValues() {\n this.helper = new ChDataImporterHelper( this.chGlobal, this.actorManager);\n\n if (this.file == null) {\n return;\n }\n\n this.chGlobal.showRunningWindow('Importando datos...');\n const reader = new FileReader();\n const me = this;\n let parseHeaders: Array = null;\n let parseValues: Array> = null;\n\n console.log('importando...');\n // console.log(me.file);\n\n this.errors = [];\n this.preImportFinished = false;\n this.rows = [];\n this.buttonDisabled2 = true;\n this.errores = me.errors.length;\n this.lineas = 0;\n this.correctas = 0;\n this.preImportFinished = false;\n this.buttonDisabled2 = true;\n\n reader.onloadend = function(e){\n // you can perform an action with readed data here\n // console.log(reader.result);\n\n const helper = new ChTableHelper(ChDataimporterComponent.table);\n\n try {\n const results: any = paparse.parse(reader.result, {encoding: 'UTF-8'});\n let fatalError = me.helper.parseHeaders(results.data[0], me.errors);\n if (!fatalError) {\n fatalError = me.helper.checkTableHeaders(ChDataimporterComponent.table.fields, me.errors);\n }\n // elimina la fila de cabeceras\n if (!fatalError) {\n results.data.shift();\n me.executePreImportRows( results.data )\n .then( result => {\n if (result === OpResult.OK) {\n me.preImportFinished = true;\n me.buttonDisabled2 = me.errors.length > 0;\n me.chGlobal.hideRunningWindow();\n }\n });\n }\n\n } catch (e) {\n me.errors.push({ line : 0, error: e.toString()});\n console.log(e);\n }\n\n\n /*\n parseHeaders = results.data[0];\n parseValues = results.data.slice(1);\n\n me.helper.parseHeaders(results.data[0]);\n\n if (me.importRows) {\n if (parseHeaders != null && parseValues != null) {\n const helper = new ChTableHelper(ChDataimporterComponent.table);\n const hresults = helper.validateFromCsv(parseHeaders, parseValues, 'Azul');\n if (hresults.errors.length > 0) {\n for (let i = 0; i < hresults.errors.length; i++) {\n me.errors.push(hresults.errors[i]);\n }\n }\n me.errores = me.errors.length;\n me.lineas = parseValues.length;\n me.correctas = hresults.data.length;\n me.rows = hresults.data;\n me.preImportFinished = true;\n me.buttonDisabled2 = me.errors.length > 0;\n console.log(me.rows);\n }\n } else {\n if (me.keyField !== '' && parseHeaders != null && parseValues != null) {\n const helper = new ChTableHelper(ChDataimporterComponent.table);\n const hresults = helper.validateExistingFromCsv(me.keyField, parseHeaders, parseValues, 'Azul');\n if (hresults.errors.length > 0) {\n for (let i = 0; i < hresults.errors.length; i++) {\n me.errors.push(hresults.errors[i]);\n }\n }\n me.errores = me.errors.length;\n me.lineas = parseValues.length;\n me.correctas = hresults.data.length;\n me.rows = hresults.data;\n me.preImportFinished = true;\n me.buttonDisabled2 = me.errors.length > 0;\n console.log(me.rows);\n }\n }\n me.chGlobal.hideRunningWindow();\n me.chGlobal.showMessage(MessageType.success, 'Datos importados', 'Se han importado ' + String(results.data.length - 1) + ' filas.');\n */\n\n // me.chGlobal.showMessage(MessageType.success, 'Datos importados', 'Se han importado ' + String(results.data.length - 1) + ' filas.');\n };\n\n reader.readAsText(me.file, 'UTF-8');\n\n /*\n paparse.parse(me.file, {\n complete : function(results, file) {\n console.log(results)\n parseHeaders = results.data[0];\n parseValues = results.data.slice(1);\n\n if (parseHeaders != null && parseValues != null) {\n var helper = new ChTableHelper(ChDataimporterComponent.table);\n let hresults = helper.validateFromCsv(parseHeaders, parseValues, 'Azul');\n if (hresults.errors.length > 0)\n for(let i=0;i 0;\n console.log(me.rows);\n\n me.chGlobal.hideRunningWindow();\n me.chGlobal.showMessage(MessageType.success,\"Datos importados\", \"Se han importado \"+String(results.data.length)+ \" filas.\");\n }\n }\n } );\n */\n }\n\n private executePreImportRows(rows: Array>): Promise {\n\n this.helper.initializeParseRows();\n\n let chain: Promise = null;\n const me = this;\n me.lineas = rows.length;\n me.correctas = 0;\n rows.forEach( (value, index ) => {\n const newPromise = function(row: Array, lineNum: number, errors: Array ) {\n return me.helper.parseRow(row, lineNum, errors);\n };\n\n if (chain === null) {\n chain = newPromise(value, index + 1, me.errors);\n } else {\n chain = chain\n .then(\n (val: OpResult) => {\n if (val === OpResult.OK) {\n me.correctas++;\n }\n // console.log('* Fila ' + String(index + 1) + ' (' + String(me.lineas) + ') leida...');\n me.chGlobal.showRunningWindowWithParams( 'Fila %1 (%2) leida... ', [String(index + 1),String(me.lineas)]);\n return newPromise(value, index + 1, me.errors);\n }\n );\n }\n });\n\n const endImport = function() {\n me.correctas++;\n me.chGlobal.hideRunningWindow();\n me.errores = me.errors.length;\n me.preImportFinished = true;\n me.buttonDisabled2 = me.errores > 0;\n console.log(me.helper.objects);\n };\n\n chain.then(\n (newval) => { endImport(); return new Promise ( (resolve) => { resolve(OpResult.OK); }); },\n (reason) => { endImport(); return new Promise ( (resolve) => { resolve(OpResult.OK); }); }\n )\n .catch( error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error en a importación',\n 'No todas las filas han podido ser analizadas.');\n });\n\n return chain;\n }\n\n setImportRows( importNewRows: boolean, deleteExisting: boolean) {\n this.importRows = importNewRows;\n this.deleteAll = deleteExisting;\n }\n\n importOrModifyValues() {\n if (this.importRows) {\n this.importValues();\n } else {\n this.modifyValues();\n }\n }\n\n importValues() {\n\n this.rows = this.helper.objects;\n\n if (this.rows.length === 0) {\n return;\n }\n // console.log('Importando.....');\n this.rowsImportedInBd = true;\n this.chGlobal.showRunningWindowWithParams( 'Importando %1 filas... ', [String(this.rows.length)]);\n\n const insertedRows = 0;\n const promises: Array> = [];\n let rechazados = 0;\n let insertados = 0;\n const total = this.rows.length;\n\n\n\n const chGlobal = this.chGlobal; // window['angularComponentRef'].component.chGlobal;\n\n const newPromise = function(v) { return window['angularComponentRef'].component.chGlobal\n .saveTableRow(ChDataimporterComponent.table.tableId, v, null);\n };\n\n let chain: Promise = null;\n\n if (this.deleteAll) {\n chain = this.chGlobal.deleteTableAll(ChDataimporterComponent.table.tableId);\n }\n\n this.rows.forEach( (value, index ) => {\n if (chain === null) {\n chain = newPromise(value);\n } else {\n chain = chain\n .then(\n (newval) => {\n insertados++;\n // console.log(newval);\n chGlobal.showRunningWindowWithParams( 'Fila %1 (%2) insertada... ', [String(index), String(total)]);\n return newPromise(value);\n },\n (reason) => {\n rechazados++;\n console.log(reason);\n chGlobal.showMessage(MessageType.warning, 'Fila rechazada', 'Fila ' + String(index) +\n ' (' + String(total) + ') rechazada...');\n return newPromise(value);\n }\n );\n }\n });\n\n const endImport = function() {\n const chGlobal = window['angularComponentRef'].component.chGlobal;\n chGlobal.hideRunningWindow();\n if (rechazados === 0) {\n chGlobal.showMessage(MessageType.success, 'Orden ejecutada', String(insertados) + ' filas insertadas.');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', String(insertados) +\n ' filas insertadas. ' + String(rechazados) + ' rechazadas.');\n }\n };\n\n chain.then(\n (newval) => { insertados++; endImport(); },\n (reason) => { rechazados++; endImport(); }\n )\n .catch( error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error en a importación',\n 'No todas las filas han podido ser insertadas en la base de datos.');\n });\n\n\n }\n\n\n modifyValues() {\n\n this.rows = this.helper.objects;\n\n if (this.rows.length === 0) {\n return;\n }\n\n // console.log('Modificando.....');\n this.rowsImportedInBd = true;\n this.chGlobal.showRunningWindowWithParams( 'Modificando %1 filas... ', [String(this.rows.length)]);\n\n const insertedRows = 0;\n const promises: Array> = [];\n let rechazados = 0;\n let insertados = 0;\n const total = this.rows.length;\n const keyField = this.keyField.trim().toLowerCase();\n let chain: Promise = null;\n\n /*\n console.log('TIPO DE DATOS DE LA CLAVE')\n console.log(this.helper.checkIndividualFieldType(keyField, ChDataimporterComponent.table.fields));\n console.log('DATOS ORIGINALES')\n console.log(this.currentTable.data);\n console.log('DATOS A IMPORTAR')\n console.log(this.rows)\n */\n\n this.rows.forEach( (value, index ) => {\n const chGlobal = window['angularComponentRef'].component.chGlobal;\n const newPromise = function(v, uid) {\n return window['angularComponentRef'].component.chGlobal\n .saveTableRow(ChDataimporterComponent.table.tableId, v, uid);\n };\n\n // tslint:disable-next-line:triple-equals\n const originalRow = this.currentTable.data.find( r => r[keyField] == value[keyField]);\n if (originalRow == null || originalRow === undefined) {\n console.log(' No hay fila para el ' + keyField + ' ' + value[keyField]);\n chGlobal.showMessage(MessageType.warning, 'Fila rechazada', 'Fila con valor ' + String(value[keyField]) + ' no existe...');\n throw 'NO ROW EXCEPTION'\n } else {\n\n for (const k in value) {\n if (originalRow.hasOwnProperty(k)) {\n originalRow[k] = value[k];\n }\n }\n\n chGlobal.calculateFields(ChDataimporterComponent.table.tableId, originalRow, originalRow.uid);\n\n if (chain === null) {\n chain = newPromise(originalRow, originalRow.uid);\n } else {\n chain = chain\n // .catch ( error => {\n // console.log(error)\n // rechazados++;\n // return newPromise(value);\n // }\n // )\n .then(\n (newval) => {\n insertados++;\n //console.log(newval);\n chGlobal.showRunningWindowWithParams( 'Fila %1 (%2) modificada... ', [String(index),String(total)]);\n return newPromise(originalRow, originalRow.uid);\n },\n (reason) => {\n rechazados++;\n console.log(reason);\n chGlobal.showMessage(MessageType.warning, 'Fila rechazada', 'Fila ' + String(index) + ' (' +\n String(total) + ') rechazada...');\n return newPromise(originalRow, originalRow.uid);\n }\n );\n }\n }\n });\n }\n\n\n preImportValues2(buffer: ArrayBuffer) {\n throw new Error('Función no implementada');\n }\n}\n","\nimport {map} from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\n\nimport { OpResult } from '../chilweb/ch-globals-def';\nimport { ChDataTable } from './ch-datatable';\nimport { templateJitUrl } from '@angular/compiler';\nimport { SystemConst } from 'systemConst';\nimport { ChEncoder } from '../chilweb/ch-encoder';\n\nconst OK = 0;\nconst NET_ERROR = 1;\n\n@Injectable()\nexport class ChDataManagerService {\n\n static bdUrl = SystemConst.chilMongoDb\n\n private tables: ChDataTable[] = [];\n\n constructor(private http: HttpClient) {\n\n }\n\n /**\n * Inicializa el entorno de datos cargando remotamente\n * los componentes\n * TODO: Es una versión simulada, hay que prograrmarla de verdad\n */\n loadDatabaseInfo(groupUid: string, token: string): Promise {\n this.tables = [];\n // console.log('loadDatabaseInfo :: GROUP : ' + groupUid + ' TOKEN : ' + token);\n return new Promise( (resolve, reject) => {\n const urlReq = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/tables';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams();\n this.http.get>(urlReq, {headers: header} ).subscribe(\n value => {\n for (let i = 0; i < value.length; i++) {\n this.tables.push(value[i]);\n }\n },\n error => {\n // observer.error(error);\n console.log(error);\n reject('Net error');\n },\n () => {\n // console.log('DATABASE LOADED');\n // console.log(this.tables);\n resolve(OK);\n }\n );\n });\n }\n /**\n * Borra la información de la base de datos\n */\n resetDatabaseInfo() {\n this.tables.splice(0, this.tables.length);\n }\n /**\n * Devuelve las tablas de la base de datos\n */\n getDatabaseTables(): ChDataTable[] {\n return this.tables;\n }\n /**\n * Busca una tabla con un uid dado en el esquea\n * @param uid uid de la tabla a buscar\n */\n private getTable(uid: string): ChDataTable {\n const result = this.tables.find( t => {return t.tableId === uid; });\n return result;\n }\n\n /**\n * Elimina un(os) registro(s) de la base de datos.\n * TODO: Esta en modo fake, Hacerlo de verdad\n * @param tableName Nombre de la tabla de datos\n * @param whereCondition Condicion where para incluir en la orden SQL\n */\n deleteTableRows(tableName, whereCondition): Promise {\n return new Promise((resolve, reject) => {\n setTimeout( () => {\n console.log('SQL: DELETE FROM ' + tableName + ' WHERE ' + whereCondition);\n return resolve(OK);\n },\n Math.floor(Math.random() * 1500) + 400\n );\n });\n }\n /**\n *\n * @param groupUid Uid del grupo\n * @param tableUid Uid de la tabla\n * @param token Token de autorización\n * @param whereCondition Condición de búsqueda\n * @param userid Usuario que realiza la busqueda\n * @param isManager Usuario que realiza la busqueda\n */\n loadTableData(groupUid: string, tableUid: string, token: string, whereCondition: any,\n useruid: string, isManager: boolean): Observable> {\n\n const table: ChDataTable = this.dataDefinitionUid(tableUid);\n\n return new Observable> (observer => {\n // console.log('leyendo tabla ' + tableUid);\n if (table == null) {\n console.log('ERROR! Tabla no encontrada');\n observer.error('datatable does not exists');\n observer.complete();\n return;\n } else if (table.restricted && !isManager) {\n observer.error('datatable is restricted');\n observer.complete();\n return;\n }\n // else if (table.origin == null)\n // table.origin = [];\n\n table.data = [];\n\n const urlReq: string = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/data';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n let params = new HttpParams();\n if (whereCondition !== null && whereCondition !== '') {\n const whereStr = btoa(JSON.stringify(whereCondition));\n params = params.set('where', whereStr);\n // console.log('>' + whereStr + '<');\n }\n // console.log(urlReq);\n this.http.get>(urlReq, { headers: header, params: params } ).subscribe(\n value => {\n for (let i = 0; i < value.length; i++) {\n value[i]['_id'] = i + 1;\n this.decodeObject(value[i], false);\n table.data.push(value[i]);\n }\n observer.next( value );\n // console.log(value);\n },\n error => {\n observer.error(error);\n console.log(error);\n },\n () => {\n // console.log(\"FINNNN\");\n observer.complete();\n }\n );\n });\n }\n\n// FUNCIONES INTERNAS\n\n /**\n * Devuelve el bearer para acceder a las funciones del Api\n * a partir del token\n * @param token Access token devuelto en el login\n */\n getAccessBearer(token: string): string {\n return 'Bearer ' + token;\n }\n\n private dataDefinition(tableName: string): ChDataTable {\n return this.tables.filter(t => t.name === tableName)[0];\n }\n\n private dataDefinitionUid(tableUid: string): ChDataTable {\n return this.tables.filter(t => t.tableId === tableUid)[0];\n }\n /**\n * Actualiza la definicion de una tabla en la base de datos\n * @param groupUid Uid del grupo\n * @param tableUid Uid de la tabla\n * @param token token de autorización tal y como se obtiene de Api.Chil.Me\n */\n /*\n saveTableConfig(groupUid: string, tableUid: string, data: any, token: string): Promise {\n if (tableUid === '') {\n return null;\n }\n const table = this.dataDefinitionUid(tableUid);\n // tslint:disable-next-line:forin\n for (const property in data) {\n // delete table[property.toLowerCase()];\n // delete table[property];\n // table[property.toLowerCase()] = data[property];\n table[property] = data[property];\n }\n // console.log(table);\n const urlReq = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/defupdate';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8')// 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('table', encodeURIComponent(JSON.stringify(table)));\n // .set('table', encodeURIComponent(stringify(table)));\n\n return this.http.post(urlReq, body,\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n // console.log(res);\n return { result : OpResult.OK};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise();\n }\n */\n\n saveTableConfig(groupUid: string, tableUid: string, data: any, token: string): Promise {\n // console.log(data);\n if (tableUid === '') {\n return null;\n }\n const table = this.dataDefinitionUid(tableUid);\n // tslint:disable-next-line:forin\n for (const property in data) {\n // delete table[property.toLowerCase()];\n // delete table[property];\n // table[property.toLowerCase()] = data[property];\n table[property] = data[property];\n }\n // console.log(table);\n const urlReq = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/defupdate';\n const header = new HttpHeaders()\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('table', encodeURIComponent(JSON.stringify(table)));\n\n console.log(JSON.stringify(table))\n console.log(encodeURIComponent(JSON.stringify(table)))\n\n return this.http.post(urlReq, body,\n { headers: header, observe: 'response' }).toPromise()\n .then( (response) => {\n if (response.status !== 200) {\n return { result : OpResult.NET_ERROR};\n } else {\n return { result : OpResult.OK };\n }\n },\n (error) => {\n console.log(error);\n return { result : OpResult.NET_ERROR };\n }\n )\n .catch ( (error) => {\n console.log(error);\n return { result : OpResult.NET_ERROR };\n });\n }\n\n /**\n * Crea una nueva tabla en la base de datos de usuario y lo inserta en la lista de tablas\n * @param groupUid Uid del rupo en el que se crea la tabla\n * @param tabledef los datos de la tabla a crear, campos etc, en formato ChDataTable\n * @param token token de autentificación\n */\n insertTableConfig(groupUid: string, tabledef: ChDataTable, token: string): Promise {\n\n const urlReq = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/create';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8')// 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('table', encodeURIComponent(JSON.stringify(tabledef)));\n // .set('table', encodeURIComponent(stringify(table)));\n\n return this.http.post(urlReq, body,\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n // console.log(res);\n tabledef.tableId = res['uid'];\n this.tables.push(tabledef);\n return { result : OpResult.OK, uid: res};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise();\n }\n\n insertTableRow(groupUid: string, tableUid: string, token: string, origin: any): Promise {\n const table = this.dataDefinitionUid(tableUid);\n\n const data = this.encodeObject(origin, true);\n\n const target = {};\n const targetuid = '';\n\n for (const f of table.fields) {\n if (data.hasOwnProperty(f.name.toLowerCase())) {\n target[f.name.toLowerCase()] = data[f.name.toLowerCase()];\n }\n }\n\n const urlReq: string = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/insert';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('fields', encodeURIComponent(JSON.stringify(target)));\n // console.log(data);\n // console.log(JSON.stringify(target));\n\n return this.http.post(urlReq, body,\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n // console.log(res);\n return { result : OpResult.OK};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise()\n .catch(error => { return Promise.reject('Rejected POST'); });\n }\n\n updateTableRow(groupUid: string, tableUid: string, rowuid: string, token: string, origin: any): Promise {\n\n const table = this.dataDefinitionUid(tableUid);\n let target = {};\n const targetuid = '';\n\n origin.uid = rowuid;\n target = table.data.find( r => r.uid === rowuid);\n const data = this.encodeObject(origin, true);\n console.log('SAVING....')\n console.log(data);\n const urlReq: string = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/insert';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('fields', encodeURIComponent(JSON.stringify(data)));\n\n return this.http.post(urlReq, body.toString(),\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n // console.log(res);\n return { result : OpResult.OK};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise();\n }\n\n deleteTableRow(groupUid: string, tableUid: string, rowuid: string, token: string): Promise {\n\n const urlReq: string = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/delete';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams()\n .set('rowid', rowuid);\n\n return this.http.post(urlReq, body,\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n console.log(res);\n return { result : OpResult.OK};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise();\n }\n\n deleteTableAll(groupUid: string, tableUid: string, token: string): Promise {\n\n const urlReq: string = ChDataManagerService.bdUrl + '/bd/' + groupUid + '/table/' + tableUid + '/deleteAll';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n const body = new HttpParams();\n\n return this.http.post(urlReq, body,\n { headers: header, responseType: 'text' } ).pipe(\n map (\n res => {\n console.log(res);\n return { result : OpResult.OK};\n },\n err => {\n console.log(err);\n return { result : OpResult.NET_ERROR };\n }\n ))\n .toPromise();\n }\n\n /**\n * Obtiene los campos calculados a partir los scripts de cada uno de ellos\n * usando data como origen.\n * Los campos optenidos se actualizand en data pero no se graban\n * CUIDADO!: Esta función no graba en la base de datos, solo calcula\n * @param tableUid uid de la tabla\n * @param data juego de datos inicial: CUIDADO!! Si es un juego incompleto los campos no se calcularán bien\n * @param rowuid uid de la fila (no es necesaria realmente)\n */\n calculateFields(tableUid: string, data: any, rowuid?: string) {\n const table = this.dataDefinitionUid(tableUid);\n if (table === null || table === undefined) {\n return;\n }\n for (const f of table.fields) {\n if (f.calculado === true && (f.calcscript !== null && f.calcscript !== '')) {\n const evalFunction = new Function('row', atob(f.calcscript));\n data[f.name.toLowerCase()] = evalFunction(data);\n }\n }\n }\n\n // ***************************************************************************************\n //\n // CREAR LAS TABKAS DE PEDIDOS Y FACTURAS PARA COMERCIO ELECTRONICO\n //\n // ***************************************************************************************\n //\n\n initElectronicCommerceTables(token: string, groupUid: string): Promise {\n console.log ('----- TABLAS ------');\n this.tables.forEach( t => {\n console.log (t.name);\n })\n console.log ('-------------------');\n console.log (token);\n console.log (groupUid);\n\n\n return new Promise( (resolve, reject ) => {\n\n const urlReq = ChDataManagerService.bdUrl + '/commerce/' + groupUid + '/create-commerce-tables';\n const header = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('Authorization', this.getAccessBearer(token));\n\n this.http.post(urlReq, null,\n { headers: header, responseType: 'text' } ).toPromise()\n .then( value => {\n console.log(value);\n resolve(true);\n },\n error => {\n reject(error);\n });\n });\n }\n\n // ***************************************************************************************\n //\n // ENCODING & DECODING TEXTOS LARGOS\n //\n // ***************************************************************************************\n //\n\n\n isEncoded(data: string) : boolean {\n return ChEncoder.isEncoded(data);\n }\n /**\n * ASCII to Unicode (decode Base64 to original data)\n * @param {string} b64\n * @return {string}\n */\n atou(b64: string) : string {\n return ChEncoder.atou(b64);\n }\n /**\n * Unicode to ASCII (encode data to Base64)\n * @param {string} data\n * @return {string}\n */\n utoa(data: string) : string {\n return ChEncoder.utoa(data);\n }\n\n encodeObject(base: object, cloneObject : boolean): object {\n return ChEncoder.encodeObject(base,cloneObject);\n }\n\n decodeObject(encoded: object, cloneObject : boolean): object {\n return ChEncoder.decodeObject(encoded, cloneObject);\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZGF0YS9jaC1kYXRhdGFibGUtZXhlY3V0ZS1kaWFsb2cvY2gtZGF0YXRhYmxlLWV4ZWN1dGUtZGlhbG9nLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChTableHelper, ValidationResult, ProcessError } from '../ch-datatable.helper';\n\nimport * as paparse from 'papaparse';\nimport { promise } from 'protractor';\nimport { Observable , BehaviorSubject} from 'rxjs';\nimport { ChDataTable, ChDataTableField } from '../ch-datatable';\n\n\n\nclass TableExecute {\n data : any;\n saveRow : (rowId:string, dataRow:any) => Promise;\n}\n\n@Component({\n selector: 'app-ch-datatable-execute-dialog',\n templateUrl: './ch-datatable-execute-dialog.component.html',\n styleUrls: ['./ch-datatable-execute-dialog.component.css']\n})\nexport class ChDatatableExecuteDialogComponent implements OnInit {\n\n @ViewChild('fileImportInput', { static: false})\n fileImportInput: any\n buttonDisabled : boolean = true;\n buttonDisabled2 : boolean = true;\n preImportFinished : boolean = false;\n\n table: ChDataTable = null;\n\n title1: string=\"Copiar datos a otra tabla\";\n\n fileContents : string;\n\n lineas : number = 0;\n errores: number = 0;\n correctas : number = 0;\n errors : Array = [];\n rows : Array = [];\n\n rowsImportedInBd : boolean = false;\n\n private static table : ChDataTable = null;\n private static passData : Array = null;\n private static modalRef : BsModalRef = null;\n private static callback : Function = null;\n\n currTable : ChDataTable = null;\n fields : Array = null;\n datatables : ChDataTable[] = null;\n targetTableId : string = \"\";\n data : Array = null;\n\n\n insertedRows : number = 0;\n messageTxt : BehaviorSubject = new BehaviorSubject(\"\");\n progressAdv : BehaviorSubject = new BehaviorSubject(0);\n calcscript :string = \"\";\n isRunning : boolean = false;\n\n constructor(/*public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n this.datatables = chGlobal.getDatabaseTables();\n\n }\n\n ngOnInit() {\n this.currTable = ChDatatableExecuteDialogComponent.table;\n this.fields = (JSON.parse(JSON.stringify(ChDatatableExecuteDialogComponent.table.fields)));\n for (let f of this.fields)\n f.selected = true;\n\n this.data = ChDatatableExecuteDialogComponent.passData;\n this.messageTxt.next(\"\");\n\n this.title1 = this.currTable.scripts[0].name;\n this.calcscript = this.currTable.scripts[0].script;\n\n //console.log(this.data)\n }\n\n confirm() {\n if (!this.isRunning)\n ChDatatableExecuteDialogComponent.hide(this.rowsImportedInBd);\n }\n\n decline() {\n if (!this.isRunning)\n ChDatatableExecuteDialogComponent.hide(this.rowsImportedInBd);\n }\n\n public static show(table: ChDataTable, data : Array, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChDatatableExecuteDialogComponent.table = table;\n ChDatatableExecuteDialogComponent.passData = data;\n ChDatatableExecuteDialogComponent.modalRef = service.showModalWindow(this, config);\n ChDatatableExecuteDialogComponent.callback = callback != null? callback : () => {};\n }\n\n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChDatatableExecuteDialogComponent.modalRef);\n if (executeCallback)\n ChDatatableExecuteDialogComponent.callback();\n }\n\n file = null;\n\n\n execute() {\n console.log(\"Ejecutando!\")\n\n if (this.currTable === null)\n return;\n if (this.data.length == 0)\n return;\n\n var table : TableExecute = new TableExecute();\n table.data = this.data;\n table.saveRow = (rowId:string, dataRow:any) => {\n dataRow.uid = rowId;\n return this.chGlobal.saveTableRow(this.currTable.tableId , dataRow, rowId);\n };\n\n //console.log(table);\n //console.log(this.chGlobal.atou(this.calcscript))\n\n\n let evalFunction = new Function('table','message','advance','resolveScript','rejectScript', this.chGlobal.atou(this.calcscript));\n\n this.isRunning = true;\n //console.log(\"Ahora !\")\n //console.log(evalFunction)\n let promise : Promise = new Promise(\n (resolve,reject) => {\n try {\n evalFunction(table,this.messageTxt,this.progressAdv,resolve,reject);\n }\n catch(error) {\n console.log(error)\n reject(error);\n }\n\n }\n );\n promise.then(\n (value) => {\n //console.log(\"Ejecución terminada\")\n this.isRunning = false;\n this.messageTxt.next(\"Ejecución terminada\");\n this.progressAdv.next(100);\n },\n (err) => {\n this.isRunning = false;\n console.log(\"ERROR En la ejecución\")\n this.messageTxt.next(\"ERROR En la ejecución\");\n this.progressAdv.next(100);\n }\n )\n\n /*\n\n this.rowsImportedInBd = true;\n this.insertedRows = 0;\n this.progressAdv.next(0)\n\n this.chGlobal.showRunningWindow(\"Exportando \"+String(this.rows.length)+\" filas...\")\n\n var insertedRows = 0;\n var promises : Array> = [];\n var rechazados : number = 0;\n var insertados : number = 0;\n let total : number = this.data.length;\n\n var chain : Promise = null;\n this.data.forEach( (value,index,array) => {\n //let chGlobal = window['angularComponentRef'].component.chGlobal;\n //let messageTxt = window['angularComponentRef'].component.messageTxt;\n let chGlobal = this.chGlobal;\n let messageTxt = this.messageTxt;\n let progressAdv = this.progressAdv;\n\n let tuid = this.targetTableId\n let newPromise = function(v) {\n chGlobal.calculateFields(tuid, v, null);\n // console.log(v);\n return chGlobal.saveTableRow(tuid, v, null);\n }\n\n if (chain === null)\n chain = newPromise(value);\n else {\n chain = chain\n .then(\n (newval) => { insertados++;\n //console.log(newval)\n chGlobal.showRunningWindow(\"Fila \"+String(index)+\" (\"+String(total)+\") exportada...\")\n messageTxt.next(\"Fila \" +String(index)+\" exportadas.\")\n progressAdv.next(index*100/total)\n return newPromise(value); },\n (reason) => {\n rechazados++;\n console.log(reason)\n chGlobal.showMessage(MessageType.warning,\"Fila rechazada\", \"Fila \"+String(index)+\" (\"+String(total)+\") rechazada...\");\n return newPromise(value);\n }\n )\n\n }\n })\n\n let endImport = function(chGlobal,messageTxt,progressAdv) {\n //let chGlobal = window['angularComponentRef'].component.chGlobal;\n //let messageTxt = window['angularComponentRef'].component.messageTxt;\n //let progressAdv = window['angularComponentRef'].component.progressAdv;\n\n console.log(window['angularComponentRef'].component)\n chGlobal.hideRunningWindow();\n window['angularComponentRef'].component.rowsImportedInBd = true;\n if (rechazados == 0)\n chGlobal.showMessage(MessageType.success,\"Orden ejecutada\", String(insertados)+\" filas exportadas.\");\n else\n chGlobal.showMessage(MessageType.warning,\"Orden ejecutada\", String(insertados)+\" filas exportadas. \"+String(rechazados)+\" rechazadas.\");\n\n messageTxt.next(String(insertados)+\" filas exportadas.\");\n progressAdv.next(100);\n };\n\n chain.then(\n (newval) => { insertados++; endImport(this.chGlobal,this.messageTxt,this.progressAdv); },\n (reason) => { rechazados++; endImport(this.chGlobal,this.messageTxt,this.progressAdv); }\n )\n .catch( error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error,\"Error en la exportacion\", \"No todas las filas han podido ser insertadas en la base de datos.\");\n })\n */\n\n }\n\n}\n","\nimport * as moment from 'moment';\nimport * as numeral from 'numeral';\nimport 'moment/locale/es';\nimport { ChDataTable } from './ch-datatable';\n\nexport class ProcessError {\n line: number;\n error: string\n}\n\nexport class ValidationResult {\n public errors : Array = [];\n public data : Array = [];\n}\n\nexport class ChTableHelper {\n\n\n basetable: ChDataTable\n\n constructor (basetable: ChDataTable) {\n this.basetable = basetable\n }\n\n validateFromCsv(headers : Array,values : Array>, color:string) : ValidationResult {\n var results = new ValidationResult();\n let keys = headers.map( v => v.trim().toLowerCase());\n var rowError : boolean = false;\n var line : number = 0;\n moment.locale('es');\n\n for (let k=0;k f.name.toLowerCase() === key );\n if (field !== null && field !== undefined) {\n // console.log('Importando campo ' + field.name + '(' + field.type + ') = ' + val);\n if (val === '') {\n if (field.type.startsWith('NVarChar') || field.type.startsWith('VarChar') \n || field.type.startsWith('Char') || field.type.startsWith('string'))\n row[key] = '';\n else\n row[key] = null;\n } else if (field.type === 'Int') {\n let newVal = parseInt(val);\n if (newVal === NaN) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es valido.'});\n rowError = true;\n break;\n }\n else\n row[key] = newVal;\n } else if (field.type === 'Bit' || field.type === 'boolean') {\n // console.log('Importando boolean ' + field.name + ' = ' + val);\n if (val.toLowerCase() === 'true' || val === '1' ) {\n row[key] = true;\n } else if (val.toLowerCase() === 'false' || val === '0' ) {\n row[key] = false;\n } else {\n results.errors.push( { line : line, error: 'El valor de la columna ' + key + ' no es valido.'});\n rowError = true;\n break;\n }\n } else if (field.type === 'Float') {\n const newVal = parseFloat(val);\n if (newVal === NaN) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es valido.'});\n rowError = true;\n break;\n } else{\n row[key] = newVal;}\n }\n else if (field.type === 'SmallDateTime' || field.type === 'DateTime'){\n\n let newVal = moment(val,'L').add(1, 'hour')\n if (newVal.year() > 2020)\n newVal.year( newVal.year() - 100);\n // console.log(val)\n // console.log(newVal)\n if (!newVal.isValid()) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es una fecha valida.'});\n rowError = true;\n break;\n }\n else\n row[key] = newVal;\n }\n else { /// Es un var char o string o estado\n if (field.type === 'State' || field.format === 'email') {\n row[key] = val.trim();\n } else if (field.format !== null && field.format !== undefined ) { // es muy posible que haya sido codificado como entero\n //let newVal = parseInt(val);\n row[key] = numeral(val).format(field.format);\n /*\n if (newVal === NaN) {\n results.errors.push( { line : line, error: \"El valor de la columna \"+key+\" no es válido.\"});\n rowError = true;\n break;\n } */\n }\n else if (field.length !== null && field.length !== undefined) {\n if (val.length > field.length)\n row[key] = val.substr(0, field.length);\n else\n row[key] = val;\n }\n else\n row[key] = val;\n // console.log('row['+key+']:'+val)\n }\n }\n }\n \n if (!rowError) {\n let rulesRes = this.validateRow(row)\n if (rulesRes !== 'Ok') {\n results.errors.push( { line : line, error: rulesRes});\n rowError = true;\n }\n else\n results.data.push(row);\n } \n }\n return results;\n }\n\n validateExistingFromCsv(keyFieldUp: String, headers : Array,values : Array>, color:string) : ValidationResult {\n var results = new ValidationResult();\n let keys = headers.map( v => v.trim().toLowerCase());\n let keyField = keyFieldUp.trim().toLowerCase();\n var rowError : boolean = false;\n var line : number = 0;\n moment.locale('es');\n\n for (let k=0;k f.name.toLowerCase() === key );\n if (field !== null && field !== undefined) {\n if (val === '') {\n if (field.type.startsWith('NVarChar') || field.type.startsWith('VarChar') || field.type.startsWith('Char'))\n row[key] = '';\n else\n row[key] = null;\n }\n else if (field.type === 'Int') {\n let newVal = parseInt(val);\n if (newVal === NaN) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es valido.'});\n rowError = true;\n break;\n }\n else\n row[key] = newVal;\n }\n else if (field.type === 'Bit'){\n let newVal = parseInt(val);\n if (val.toLowerCase() === 'true' || val === '1' ) \n row[key] = true;\n else if (val.toLowerCase() === 'false' || val === '0' ) \n row[key] = false;\n else {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es valido.'});\n rowError = true;\n break;\n }\n }\n else if (field.type === 'Float'){\n let newVal = parseFloat(val);\n if (newVal === NaN) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es valido.'});\n rowError = true;\n break;\n }\n else\n row[key] = newVal;\n }\n else if (field.type === 'SmallDateTime' || field.type === 'DateTime'){\n\n let newVal = moment(val,'L').add(1, 'hour')\n if (newVal.year() > 2020)\n newVal.year( newVal.year() - 100);\n // console.log(val)\n // console.log(newVal)\n if (!newVal.isValid()) {\n results.errors.push( { line : line, error: 'El valor de la columna '+key+' no es una fecha valida.'});\n rowError = true;\n break;\n }\n else\n row[key] = newVal;\n }\n else { /// Es un var char\n if (field.format != null && field.format != undefined ) { // es muy posible que haya sido codificado como entero\n //let newVal = parseInt(val);\n row[key] = numeral(val).format(field.format); \n /*\n if (newVal === NaN) {\n results.errors.push( { line : line, error: \"El valor de la columna \"+key+\" no es válido.\"});\n rowError = true;\n break;\n } */\n }\n else if (field.length !== null && field.length !== undefined) {\n if (val.length > field.length)\n row[key] = val.substr(0, field.length);\n else\n row[key] = val;\n }\n else\n row[key] = val;\n // (\"row[\"+key+\"]:\"+val)\n }\n }\n }\n \n if (!rowError) {\n let rulesRes = this.validateModifyingRow(row)\n if (rulesRes !== 'Ok') {\n results.errors.push( { line : line, error: rulesRes});\n rowError = true;\n }\n else\n results.data.push(row);\n } \n }\n return results;\n }\n \n validateRow(row:any) : string {\n // console.log(\"Validate row\")\n //console.log(row)\n for (let i=0;i f.name === rule.name);\n var value = row[rule.name.toLowerCase()];\n\n if (value === null || value === undefined) {\n if (rule.mandatory != null && rule.mandatory != undefined && rule.mandatory)\n {\n console.log('NO : '+field.name+' : NULL')\n return rule.message;\n } \n else \n console.log('OK : '+field.name+' : NULL')\n }\n else if (field.type === 'Int' || field.type === 'Float' ) {\n let minval = rule.minval != null && rule.minval != undefined ? rule.minval : -100000000;\n let maxval = rule.maxval != null && rule.maxval != undefined ? rule.maxval : 100000000;\n if (value < minval || value > maxval)\n return rule.message;\n else \n console.log('OK : '+field.name+' : '+String(value))\n }\n else if (field.type.startsWith('NVarChar') || field.type.startsWith('VarChar') || field.type.startsWith('Char')) {\n if (value ==='') {\n if (rule.mandatory != null && rule.mandatory != undefined && rule.mandatory){\n console.log('NO : '+field.name+' : \\'\\'')\n return rule.message;\n }\n }\n else if (rule.regex != null && rule.regex != undefined){\n var re = new RegExp(rule.regex);\n if (!re.test(value)){\n console.log('NO : '+field.name+' : '+value)\n console.log(rule.regex)\n return rule.message;\n }\n else \n console.log('OK : '+field.name+' : '+value)\n }\n } \n }\n return 'Ok';\n }\n\n validateModifyingRow(row:any) : string {\n console.log('Validate row')\n //console.log(row)\n for (let i=0;i f.name === rule.name);\n var value = row[rule.name.toLowerCase()];\n\n if (value === null || value === undefined) {\n }\n else if (field.type === 'Int' || field.type === 'Float' ) {\n let minval = rule.minval != null && rule.minval != undefined ? rule.minval : -100000000;\n let maxval = rule.maxval != null && rule.maxval != undefined ? rule.maxval : 100000000;\n if (value < minval || value > maxval)\n return rule.message;\n else \n console.log('OK : '+field.name+' : '+String(value))\n }\n else if (field.type.startsWith('NVarChar') || field.type.startsWith('VarChar') || field.type.startsWith('Char')) {\n if (value ==='') {\n if (rule.mandatory != null && rule.mandatory != undefined && rule.mandatory){\n console.log('NO : '+field.name+' : \\'\\'')\n return rule.message;\n }\n }\n else if (rule.regex != null && rule.regex != undefined){\n var re = new RegExp(rule.regex);\n if (!re.test(value)){\n console.log('NO : '+field.name+' : '+value)\n console.log(rule.regex)\n return rule.message;\n }\n else \n console.log('OK : '+field.name+' : '+value)\n }\n } \n }\n return 'Ok';\n }\n\n\n}\n\n","import { Type, Exclude, Expose } from 'class-transformer';\nimport { Length, IsNotEmpty, IsBoolean, IsString, IsOptional, IsArray, ValidateNested, IsInt } from 'class-validator';\n\n\n/**\n * Clase que encapsula un campo de una\n * tabla de datos\n */\n// @Exclude()\nexport class ChDataTableField {\n\n @IsString({message: 'El nombre del campo no del tipo adecuado'})\n @Length(2, 100, {message: 'El nombre debe tener una longitud de al menos dos caracteres'})\n @IsNotEmpty({message: 'El nombre del campo no puede estar vacío'})\n @Expose()\n name: string;\n @IsNotEmpty({message: 'El tipo de datos del campo no puede estar vacío'})\n @IsString({message: 'El tipo de datos del campo no es correcto'})\n @Expose()\n type: string;\n @IsNotEmpty({message: 'El el indicador de clave del campo no puede estar vacío'})\n @IsBoolean({message: 'El tipo de datos no es correcto'})\n @Expose()\n key = false;\n @Expose()\n @IsString({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n label?: string;\n @Expose()\n @IsBoolean({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n browseVisible?: boolean;\n @Expose()\n @IsInt({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n width?: number;\n @Expose()\n @IsInt({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n length?: number;\n @Expose()\n @IsString({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n default?: string;\n @Expose()\n @IsString({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n valid?: string;\n @Expose()\n @IsBoolean({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n calculado?: boolean;\n @Expose()\n @IsString({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n calcscript?: string;\n @Expose()\n @IsString({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n format?: string; // Formato de conversion de num a string y de string a num\n @Expose()\n @IsOptional()\n @IsArray({message: 'El tipo de datos no es correcto'})\n sort?: Array;\n @Expose()\n @IsBoolean({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n selected?: boolean;\n @Expose()\n @IsOptional()\n @IsArray({message: 'El tipo de datos no es correcto'})\n @ValidateNested()\n @Type(() => ChDataTableField)\n fields?: ChDataTableField[];\n }\n\n export class CHValidationRule {\n @IsString({message: 'El nombre de la regla no es del tipo adecuado'})\n @Length(2, 100, {message: 'El nombre de la regla debe tener una longitud de al menos dos caracteres'})\n @IsNotEmpty({message: 'El nombre de la regla no puede estar vacío'})\n @Expose()\n name: string;\n @IsString({message: 'El mensaje de validación de la regla no es del tipo adecuado'})\n @Length(2, 100, {message: 'El mensaje de validación debe tener una longitud de al menos dos caracteres'})\n @IsNotEmpty({message: 'El mensaje de validación no puede estar vacío'})\n @Expose()\n message: string;\n @Expose()\n @IsBoolean({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n mandatory?: boolean;\n @Expose()\n @IsInt({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n minval?: number;\n @Expose()\n @IsInt({message: 'El tipo de datos no es correcto'})\n @IsOptional()\n maxval?: number;\n @Expose()\n @IsString({message: 'La expresión regular de la regla no es del tipo adecuado'})\n @IsOptional()\n regex?: string;\n }\n\n export class CHTableState {\n @Expose()\n @IsString({message: 'El color del estado no es del tipo adecuado'})\n @IsNotEmpty({message: 'El color del estado no puede estar vacío'})\n color: string;\n @Expose()\n @IsString({message: 'El nombre del estado no es del tipo adecuado'})\n @IsNotEmpty({message: 'El nombre del estado no puede estar vacío'})\n name: string;\n @Expose()\n @IsBoolean({message: 'El campo no es del tipo adecuado'})\n @IsNotEmpty({message: 'El campo no puede estar vacío'})\n close: boolean;\n\n constructor(name: string, color: string, close: boolean) {\n this.name = name;\n this.color = color;\n this.close = close;\n }\n }\n\n export class CHTableScript {\n @Expose()\n @IsString({message: 'El nombre del script no es del tipo adecuado'})\n @IsNotEmpty({message: 'El nombre del script no puede estar vacío'})\n name: string;\n @Expose()\n @IsString({message: 'El script no es del tipo adecuado'})\n script: string;\n\n constructor(name: string, script: string) {\n this.name = name;\n this.script = script;\n }\n }\n\n /**\n * Clase que representa la definición de una tabla de datos\n */\n export class ChDataTable {\n name: string;\n tableId: string;\n\n @Type(() => ChDataTableField)\n fields: ChDataTableField[];\n\n uniqueFields: Array>;\n restricted: boolean;\n userDependent: boolean;\n closed: boolean;\n insert?: boolean;\n modify?: boolean;\n\n @Type(() => CHValidationRule)\n validation?: CHValidationRule[];\n data?: Array = null;\n form?: string;\n security?: any;\n\n @Type(() => CHTableScript)\n scripts?: CHTableScript[];\n counter?: number;\n // Nuevos atributos 15-04-2019\n reversed?: boolean;\n closerows?: boolean;\n statusfield?: boolean;\n\n @Type(() => CHTableState)\n states?: CHTableState[];\n // origin? : Array = null;\n\n static getNewuserTable(): ChDataTable {\n const temp = new ChDataTable();\n temp.name = 'Nueva Tabla';\n temp.fields = [\n {name: 'uid', type: 'string', length: 12, key: true, browseVisible: false },\n {name: '_marca', type: 'string', length: 12, key: false, label: '', format: 'color', browseVisible: false },\n {name: '_state', type: 'string', label: 'Estado', key: false, format: 'state', browseVisible: true },\n {name: '_user', type: 'string', length: 12, key: false, browseVisible: false },\n {name: '_closed', type: 'boolean', key: false, format: 'closed', browseVisible: false },\n ];\n temp.userDependent = true;\n temp.statusfield = true;\n temp.closerows = true;\n temp.states = [\n {name: 'Normal', color: 'green', close: false}\n ];\n\n return temp;\n }\n\n constructor() {\n this.name = '';\n this.tableId = '';\n this.fields = [];\n this.uniqueFields = [];\n this.restricted = true;\n this.userDependent = false;\n this.closed = false;\n this.insert = true;\n this.modify = true;\n this.reversed = false;\n this.closerows = false;\n this.statusfield = false;\n this.validation = [];\n this.data = null;\n this.form = '';\n this.security = null;\n this.scripts = [];\n this.counter = 0;\n this.states = [];\n }\n\n }\n\n\n export class ChDataTableRef { \n public userId: string;\n public tableId: string;\n public name: string;\n public restricted: boolean;\n\n constructor(userId: string, tableId: string, name: string, restricted: boolean) {\n this.userId = userId;\n this.tableId = tableId;\n this.name = name;\n this.restricted = restricted;\n }\n\n }\n","export default \".left-margin-button {\\n margin-left: 10px !important;\\n}\\n\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\n padding: 0.5em 0em;\\n}\\n\\n.red {\\n background-color: #FFD5D5;\\n}\\n\\n.blue {\\n background-color: #D5D5FF;\\n}\\n\\n.green {\\n background-color: #D5FFD5;\\n}\\n\\n.yellow {\\n background-color: #FFFED5;\\n}\\n\\n.orange {\\n background-color: #FFEBD5;\\n}\\n\\n.gray {\\n color: #C0C0C0;\\n}\\n\\n.selected td {\\n background-color: #D5D5D5 !important;\\n}\\n\\n.rowindex {\\n font-weight: bold;\\n}\\n\\n.dataTables_scrollHeadInner {\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 20px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ccc;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 4px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n}\\n\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\n border-bottom: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kYXRhL2NoLWRhdGF0YWJsZWJyb3dzZXIvY2gtZGF0YXRhYmxlYnJvd3Nlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY2hpbC9kYXRhL2NoLWRhdGF0YWJsZWJyb3dzZXIvY2gtZGF0YXRhYmxlYnJvd3Nlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLDRCQUFBO0FDREo7O0FESUE7RUFDQyxrQkFBQTtBQ0REOztBRElBO0VBQ0kseUJBQUE7QUNESjs7QURJQTtFQUNJLHlCQUFBO0FDREo7O0FESUE7RUFDSSx5QkFBQTtBQ0RKOztBRElBO0VBQ0kseUJBQUE7QUNESjs7QURJQTtFQUNJLHlCQUFBO0FDREo7O0FESUE7RUFDSSxjQUFBO0FDREo7O0FESUE7RUFDSSxvQ0FBQTtBQ0RKOztBRElBO0VBQ0MsaUJBQUE7QUNERDs7QURJQTtFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7QUNERDs7QURJQTtFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLHFDQUFBO0VBQ0Esa0JBQUE7RUFFQSwyQ0FBQTtBQ0REOztBRElBO0VBQ0MsbUJBQUE7QUNERCIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZGF0YS9jaC1kYXRhdGFibGVicm93c2VyL2NoLWRhdGF0YWJsZWJyb3dzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5sZWZ0LW1hcmdpbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDVENSBcbn1cblxuLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RkYgXG59XG5cbi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENSBcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkVENTtcbn1cblxuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJENSBcbn1cblxuLmdyYXkge1xuICAgIGNvbG9yOiAjQzBDMEMwIFxufVxuXG4uc2VsZWN0ZWQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENUQ1RDUgIWltcG9ydGFudDtcbn1cblxuLnJvd2luZGV4IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuLmRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTAwMDtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1pbi13aWR0aDogMjBweDtcblx0cGFkZGluZzogNXB4IDA7XG5cdG1hcmdpbjogMnB4IDAgMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59IiwiLmxlZnQtbWFyZ2luLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbn1cblxuLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkQ1RDU7XG59XG5cbi5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RDVGRjtcbn1cblxuLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q1RkZENTtcbn1cblxuLnllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZFRDU7XG59XG5cbi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFQkQ1O1xufVxuXG4uZ3JheSB7XG4gIGNvbG9yOiAjQzBDMEMwO1xufVxuXG4uc2VsZWN0ZWQgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDVENUQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3dpbmRleCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0YVRhYmxlc19zY3JvbGxIZWFkSW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn0iXX0= */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewEncapsulation, ViewChild, NgZone } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { ChSmallDialogComponent } from '../../utils/ch-small-dialog/ch-small-dialog.component';\n\nimport * as moment from 'moment';\n// import * as selectModule from 'datatables.net-select';\nimport 'datatables.net-select';\n\nimport { ChDataimporterComponent } from '../ch-dataimporter/ch-dataimporter.component';\nimport { ChCopyTableDataWindowComponent } from '../../data/ch-copytabledata-window/ch-copytabledata-window.component';\nimport { ChDatatableExecuteDialogComponent } from '../../data/ch-datatable-execute-dialog/ch-datatable-execute-dialog.component';\nimport { SiasaSolicitud2019Component } from '../../../siasa/siasa-solicitud2019/siasa-solicitud2019.component';\nimport { MessageType, OpResult } from '../../chilweb/ch-globals-def';\nimport { SiasaContrato2019Component } from '../../../siasa/siasa-contrato2019/siasa-contrato2019.component';\nimport { ChDataTable } from '../ch-datatable';\nimport { SiasaSolicitud2020Component } from '../../../siasa/siasa-solicitud2020/siasa-solicitud2020.component';\nimport { SiasaSolicitud2021Component } from '../../../siasa/siasa-solicitud2021/siasa-solicitud2021.component';\nimport { SiasaSolicitud2022Component } from '../../../siasa/siasa-solicitud2022/siasa-solicitud2022.component';\n\n\nconst spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n};\n\n\n@Component({\n selector: 'app-ch-datatablebrowser',\n templateUrl: './ch-datatablebrowser.component.html',\n styleUrls: ['./ch-datatablebrowser.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChDatatableBrowserComponent implements OnInit {\n a: ViewContainerRef;\n\n tableName = '';\n\n @ViewChild('tableDom', { static: true}) tableDom: ElementRef;\n\n siteName = '';\n currDataTable: ChDataTable = null;\n dtOptions: any = {};\n dtOptions2: any = {};\n tableInitiated = false;\n tableRows: Array = [];\n columnsDef: Array = [];\n\n marcIndex: number = -1;\n uidIndex: number = -1;\n\n readAllRows = false; // para aquellos casos en que haya cierre de filas\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n public modalService: BsModalService,\n private router: Router,\n private _ngZone: NgZone) {\n\n chGlobal.initToasts(vcr);\n window['angularComponentRef'] = { component: this, zone: _ngZone };\n }\n\n ngOnInit() {\n this.route.params.subscribe(\n params => {\n moment.locale('es');\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n const nRowsInScreen = Math.floor((screenHeight - 280) / 40);\n\n //console.log(\"WINDOW WIDTH: \" + screenWidth + \" HEIGHT: \" + screenHeight);\n\n // PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..\n this.siteName = this.route.parent.snapshot.paramMap.get('sitename');\n this.tableName = this.route.snapshot.paramMap.get('tablename');\n this.currDataTable = this.chGlobal.getTable(this.tableName);\n\n this.tableRows.splice(0, this.tableRows.length);\n\n this.marcIndex = -1;\n this.uidIndex = -1;\n for (let index = 0; index < this.currDataTable.fields.length; index++) {\n // console.log(this.currDataTable.fields[index].name)\n if (this.currDataTable.fields[index].name === '_marca') {\n this.marcIndex = index + 1; // Hay que añadirle elc ampo de id que es postizo, no esta en la bd\n } else if (this.currDataTable.fields[index].name === 'uid') {\n this.uidIndex = index + 1; // Hay que añadirle el campo de id que es postizo, no esta en la bd\n }\n }\n // console.log(\"MARCA : \"+String(this.marcIndex))\n // console.log(\"UID : \"+String(this.uidIndex))\n\n this.columnsDef = this.currDataTable.fields.filter(v => v.name !== '_user').map(\n (f, index) => {\n return {\n targets: [index + 1],\n title: f.name, // f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n name: f.name,\n label: f.label !== undefined && f.label !== null && f.label !== '' ? f.label : f.name,\n visible: f.browseVisible != null ? f.browseVisible : true,\n sType: this.setColumnType(f.type),\n render: this.renderFunction(f.type),\n bSortable: f.sort !== null && f.sort !== undefined\n };\n }\n );\n\n this.columnsDef.splice(0, 0,\n {\n targets: 0, title: '_id', label: 'id',\n visible: true,\n type: this.setColumnType('Int'),\n render: this.renderFunction('Identity'),\n bSortable: true\n }\n );\n // console.log(this.columnsDef)\n\n const columnArray: string[] = this.columnsDef.map((f, index) => { return f.title.toLowerCase(); });\n // var table2 = $(\"#datatable\").DataTable();\n // console.log(' > TABLA ' + this.tableName + ': Inicializada');\n this.tableInitiated = $.fn.dataTable.isDataTable('#datatable');\n\n /* let tableData = this.currDataTable.data ?\n (this.currDataTable.data as Array).map(\n row => {return ChGlobalsService.objToArray(row, columnArray) }\n )\n : null;\n\n console.log(tableData) */\n\n this.dtOptions = {\n pagingType: 'simple_numbers',\n pageLength: nRowsInScreen, //25,\n dom: '<\"row\"Bf><t>',\n columns: this.columnsDef,\n language: spanishTranslation,\n scrollX: true,\n scrolly: '70uv',\n // data: this.tableRows,\n autoWidth: true,\n // paging : false,\n order: [[ 0, this.currDataTable.reversed ? 'desc' : 'asc' ]],\n\n rowCallback: function (row, data, index) {\n const marcIndex = window['angularComponentRef'].component.marcIndex;\n // console.log(data[marcIndex]);\n const isSelected = row.classList.contains('selected');\n // console.log(isSelected)\n for (let i = 1; i < row.children.length; i++) {\n const column = row.children[i];\n column.classList.remove('red');\n column.classList.remove('blue');\n column.classList.remove('green');\n column.classList.remove('yellow');\n column.classList.remove('orange');\n column.classList.remove('gray');\n column.classList.remove('selected');\n\n if (data[marcIndex] !== null && !isSelected) {\n column.classList.remove('even');\n column.classList.remove('odd');\n if (row.classList.contains('selected')) {\n column.classList.add('selected');\n }\n if (data[marcIndex] === 'Rojo') {\n column.classList.add('red');\n } else if (data[marcIndex] === 'Azul') {\n column.classList.add('blue');\n } else if (data[marcIndex] === 'Verde') {\n column.classList.add('green');\n } else if (data[marcIndex] === 'Amarillo') {\n column.classList.add('yellow');\n } else if (data[marcIndex] === 'Naranja') {\n column.classList.add('orange');\n } else if (data[marcIndex] === 'Gris') {\n column.classList.add('gray');\n }\n }\n }\n },\n buttons: {\n buttons: this.getTableButtons(),\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n\n if (this.tableInitiated) {\n $('#datatable').DataTable().destroy();\n $('#datatable').empty();\n }\n\n $(this.tableDom.nativeElement).DataTable(this.dtOptions);\n\n // leer las filas. En caso de que haya cierre de filas leer solo las filas activas\n this.chGlobal.showRunningWindow('Leyendo filas...');\n\n const closedFilter = this.currDataTable.closerows !== undefined && this.currDataTable.closerows !== null &&\n this.currDataTable.closerows === true && this.readAllRows === false ?\n { _closed: { $ne: true } } : '';\n\n this.chGlobal.getTableRows(this.currDataTable.tableId, closedFilter).subscribe(\n value => {\n const len = value.length;\n // tslint:disable-next-line:prefer-const\n for (let i = 0; i < len; i++) {\n this.tableRows.push(value[i]);\n }\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de lectura',\n 'Se ha producido un error leyendo los datos de la tabla ' + this.tableName);\n },\n () => {\n this.chGlobal.hideRunningWindow();\n // console.log(' > TABLA ' + this.tableName + ': ' + String(this.tableRows.length) + ' filas leidas.');\n this.chGlobal.showMessageWithParams(MessageType.success, 'Operación realizada',\n '%1 filas leidas', [String(this.tableRows.length)]); /*\n for (let i = 0; i < this.tableRows.length; i++) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n */\n //console.log(this.tableRows)\n for (let i = this.tableRows.length - 1; i >= 0; i--) {\n // console.log(this.tableRows[i])\n $('#datatable').DataTable().rows.add([ChGlobalsService.objToArray(this.tableRows[i], columnArray)]);\n }\n /*\n if (this.currDataTable.reversed) {\n $('#datatable').DataTable().column(0).data().sort().reverse().draw();\n } else {\n $('#datatable').DataTable().column(0).data().sort().draw();\n }\n */\n $('#datatable').DataTable().draw();\n // console.log($('#datatable'));\n }\n );\n });\n }\n\n refreshtable() {\n this.ngOnInit();\n }\n\n openDeleteWindow() {\n const t = $(this.tableDom.nativeElement).DataTable();\n const nRegs = t.rows({ selected: true }).data().length;\n if (nRegs > 0) {\n // console.log($(this.tableDom.nativeElement).DataTable().rows( { selected: true } ).data()[0]);\n // console.log(this.tableDom.nativeElement.DataTable().rows( { selected: true } ).data());\n ChSmallDialogComponent.show( this.modalService,\n { initialState: {\n data: {\n title1: 'Eliminar registros',\n title2: nRegs === 1 ? 'Se va a eliminar una fila de la tabla. ' : 'Se van a eliminar ' + String(nRegs) +\n ' filas de la tabla. ',\n message: 'La información se perderá definitivamente. '\n }\n },\n class: 'modal-sm',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { this.deleteRows(t); }\n );\n }\n }\n /**\n * Borra los registros seleccionados de la tabla actual\n * TODO: Tal y como está solo sirve para campos id de tipo numérico, hay que generalizarlo\n * @param table Tabla DOM en HTML de tipo DataTable\n */\n async deleteRows(table: any) {\n\n const idIndex = this.uidIndex;\n let deletedRows = 0;\n const promises: Array> = [];\n const rows = table.rows({ selected: true });\n this.chGlobal.showRunningWindowWithParams( 'Eliminando %1 filas... ', [String(rows.data().length)]);\n\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n const row = this;\n const data = this.data();\n if (data == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n //console.log('BORRAR :' + currDataTable.tableId + ': ' + data[idIndex] + ':' + String(idIndex));\n const delResult: Promise = window['angularComponentRef'].component.chGlobal\n // .deleteTableRows(currDataTable.name,currDataTable.fields[idIndex].name+\" = \"+String(data[idIndex]));\n .deleteTableRow(currDataTable.tableId, data[idIndex]);\n delResult\n .then(\n (result) => {\n //console.log(result);\n if (result['result'] === OpResult.OK) {\n deletedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL', 'El registro ' + String(rowIdx) +\n ' no ha podido ser borrado. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(delResult);\n });\n Promise\n .all(promises)\n .then(values => {\n rows.remove().draw();\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Orden ejecutada', 'Se han eliminado ' + String(deletedRows) +\n ' filas de la tabla.');\n // console.log(values);\n\n },\n error => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Orden ejecutada', 'No todas las filas seleccionadas han podido ser eliminadas.');\n }\n );\n\n }\n\n openEditWindow(newRecord: boolean) {\n\n const t = $(this.tableDom.nativeElement).DataTable();\n let selUid;\n if (!newRecord) {\n console.log('ENTRADA EXISTENTE');\n if ( this.uidIndex > -1) {\n selUid = t.row({ selected: true }).data()[this.uidIndex];\n } else {\n selUid = this.currDataTable.data[t.row({ selected: true }).index()].uid;\n console.log(selUid);\n }\n } else {\n console.log('NUEVA ENTRADA');\n }\n // Editar en función de la tabla\n if (this.currDataTable.name === 'Pedidos') {\n if (newRecord) {\n console.log('//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order');\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order']);\n } else {\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/order/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Facturas') {\n if (newRecord) {\n console.log('//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice');\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice']);\n } else {\n this.router.navigate(['//' + this.chGlobal.getGroupInfo().identifier +'/commerce/invoice/' + selUid]);\n }\n }\n else if (this.currDataTable.name === 'Consultas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.infopacUid) {\n if (newRecord) {\n this.router.navigate(['//infopac/consulta']);\n } else {\n this.router.navigate(['//infopac/consulta/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasaUid) {\n if (newRecord) {\n this.router.navigate(['//siasa1/solicitud']);\n } else {\n this.router.navigate(['//siasa1/solicitud/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa2/solicitud']);\n } else {\n this.router.navigate(['//siasa2/solicitud/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa3/solicitud']);\n } else {\n this.router.navigate(['//siasa3/solicitud/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa4/solicitud']);\n } else {\n this.router.navigate(['//siasa4/solicitud/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2022Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa5/solicitud']);\n } else {\n this.router.navigate(['//siasa5/solicitud/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Contratos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasaUid) {\n if (newRecord) {\n this.router.navigate(['//siasa1/contrato']);\n } else {\n this.router.navigate(['//siasa1/contrato/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Contratos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa2/contrato']);\n } else {\n this.router.navigate(['//siasa2/contrato/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Contratos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa3/contrato']);\n } else {\n this.router.navigate(['//siasa3/contrato/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Contratos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa4/contrato']);\n } else {\n this.router.navigate(['//siasa4/contrato/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Contratos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2022Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa5/contrato']);\n } else {\n this.router.navigate(['//siasa5/contrato/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Tecnicos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasaUid) {\n if (newRecord) {\n this.router.navigate(['//siasa1/tecnico']);\n } else {\n this.router.navigate(['//siasa1/tecnico/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Tecnicos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n console.log('* Editar técnico 2019');\n if (newRecord) {\n this.router.navigate(['//siasa2/tecnico']);\n } else {\n this.router.navigate(['//siasa2/tecnico/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Tecnicos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n console.log('* Editar técnico 2020');\n if (newRecord) {\n this.router.navigate(['//siasa3/tecnico']);\n } else {\n this.router.navigate(['//siasa3/tecnico/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Tecnicos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n console.log('* Editar técnico 2021');\n if (newRecord) {\n this.router.navigate(['//siasa4/tecnico']);\n } else {\n this.router.navigate(['//siasa4/tecnico/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Tecnicos' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2022Uid) {\n console.log('* Editar técnico 2022');\n if (newRecord) {\n this.router.navigate(['//siasa5/tecnico']);\n } else {\n this.router.navigate(['//siasa5/tecnico/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Visitas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasaUid) {\n if (newRecord) {\n this.router.navigate(['//siasa1/visita']);\n } else {\n this.router.navigate(['//siasa1/visita/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Visitas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa2/visita']);\n } else {\n this.router.navigate(['//siasa2/visita/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Visitas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa3/visita']);\n } else {\n this.router.navigate(['//siasa3/visita/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Visitas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa4/visita']);\n } else {\n this.router.navigate(['//siasa4/visita/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Visitas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2022Uid) {\n if (newRecord) {\n this.router.navigate(['//siasa5/visita']);\n } else {\n this.router.navigate(['//siasa5/visita/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Entregas' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.agrovivaUid) {\n if (newRecord) {\n this.router.navigate(['//agroviva/entrega']);\n } else {\n this.router.navigate(['//agroviva/entrega/' + selUid]);\n }\n } else if (this.currDataTable.name === 'Depuración') {\n if (newRecord) {\n this.router.navigate(['//depuracion/bug']);\n } else {\n this.router.navigate(['//depuracion/bug/' + selUid]);\n }\n }\n\n }\n\n openImportWindow(newRecord: boolean) {\n // if (this.currDataTable.name !== \"Solicitudes\")\n // return;\n\n ChDataimporterComponent.show(\n this.currDataTable,\n {\n class: 'gray modal-dialog',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { this.refreshtable(); }\n );\n\n }\n\n openCopyTableWindow() {\n // if (this.currDataTable.name !== \"Solicitudes\")\n // return;\n\n const table = $(this.tableDom.nativeElement).DataTable();\n const rowsData = table.rows({ selected: true }).data();\n let data: Array = null;\n if (rowsData.length === 0) {\n data = this.currDataTable.data;\n } else {\n data = [];\n for (const r1 of this.currDataTable.data) {\n for (let i = 0; i < rowsData.length; i++) {\n if (r1.uid === rowsData[i][this.uidIndex]) {\n data.push(r1);\n }\n }\n }\n }\n\n // console.log(rowsData)\n // console.log(this.currDataTable.data)\n // console.log(data)\n\n ChCopyTableDataWindowComponent.show(\n this.currDataTable,\n data,\n {\n class: 'modal-dialog',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { }\n );\n\n }\n\n openExecuteWindow() {\n // if (this.currDataTable.name !== \"Solicitudes\")\n // return;\n\n const table = $(this.tableDom.nativeElement).DataTable();\n const rowsData = table.rows().data();\n let data: Array = null;\n if (rowsData.length === 0) {\n data = this.currDataTable.data;\n } else {\n data = [];\n for (const r1 of this.currDataTable.data) {\n for (let i = 0; i < rowsData.length; i++) {\n if (r1.uid === rowsData[i][this.uidIndex]) {\n data.push(r1);\n }\n }\n }\n }\n\n // console.log(rowsData)\n // console.log(this.currDataTable.data)\n // console.log(data)\n\n ChDatatableExecuteDialogComponent.show(\n this.currDataTable,\n data,\n {\n class: 'gray modal-dialog',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => { this.refreshtable(); }\n );\n\n }\n\n setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'string'; // 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n renderFunction(type: string): any {\n const me = this;\n switch (type) {\n case 'Actor':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + data.displayName + '
';\n }\n };\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('l') + '
';\n }\n };\n case 'DateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n\n // console.log(data)\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('DD/MM/YYYY HH:mm:ss') + '
';\n }\n };\n case 'Time':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '
';\n } else {\n return '
' + moment(data).format('h:mm:ss a') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' + data).slice(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Euro':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data === null? '' : data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + ' €
';\n };\n case 'boolean':\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 'true' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? '-------' : ('0000000' + data).slice(-7) ) + '
';\n };\n case 'Location':\n return function (data: any, _type: any, row: any, meta: any) {\n //console.log(data)\n if (data === null) {\n return '';\n } else {\n return '
' +\n ' ' + String(data.name) + '
';\n }\n };\n case 'State':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n '' +\n ' ' + String(data) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' +\n String( me.isDataObject(data) ? data['name'] : data ) + '
';\n }\n };\n }\n }\n // class='bg-warning' //\n renderData(data: any, type: any, row: any, meta: any): string {\n // console.log(tipo)\n console.log(type + ' . ' + String(data) + ' . ' + String(meta.col));\n return 'SI';\n }\n\n stateColor(stateName: string): string {\n if (this.currDataTable.states !== undefined && this.currDataTable.states !== null && this.currDataTable.states.length > 0 ) {\n for ( let i = 0; i < this.currDataTable.states.length; i++) {\n if (this.currDataTable.states[i].name === stateName) {\n return this.currDataTable.states[i].color;\n }\n }\n }\n return 'lightgray';\n };\n\n isDataObject(variable: any) : boolean {\n return typeof variable === 'object' && variable !== null && !Array.isArray(variable);\n }\n\n fixColor(color: string) {\n // console.log(this.currDataTable)\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n\n\n const promises: Array> = [];\n // this.chGlobal.showRunningWindow(\"Marcando \"+String(rows.data().length)+\" filas...\")\n const idIndex = this.uidIndex;\n let markedRows = 0;\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n }\n // console.log(rowIdx);\n console.log('Marcando :' + currDataTable.tableId + ': ' + rowdata[idIndex]);\n const marcResult: Promise = window['angularComponentRef'].component.chGlobal\n .saveTableRow(currDataTable.tableId, { _marca: color }, rowdata[idIndex]);\n\n marcResult\n .then(\n (result) => {\n // console.log(result);\n if (result['result'] === OpResult.OK) {\n markedRows++;\n } else {\n window['angularComponentRef'].component.chGlobal.showMessage(MessageType.error,\n 'Error en la orden SQL',\n 'El registro ' + String(rowIdx) + ' no ha podido ser cambiado de color. la operación se ha interrumpido');\n }\n },\n (err) => {\n console.log(err);\n }\n )\n .catch(err => console.log(err));\n promises.push(marcResult);\n });\n Promise\n .all(promises)\n .then(values => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Orden ejecutada\", \"Se han marcado \"+String(markedRows)+ \" filas de la tabla.\");\n\n t.rows({ selected: true }).every(function () {\n const d = this.data();\n //console.log(this);\n //console.log(d);\n //console.log('markindex :' + String(marcIndex));\n d[marcIndex] = color;\n this.invalidate(); // invalidate the data DataTables has cached for this row\n this.deselect();\n });\n t.draw();\n });\n\n }\n\n getTableButtons(): any {\n const buttons = [\n { extend: 'colvis', text: '', className: 'btn btn-link glyphicon glyphicon-collapse-down' },\n {\n extend: 'collection', text: '◉', className: 'btn btn-link', autoClose: true,\n buttons: [\n {\n text: ` Normal`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor(null);\n }\n },\n {\n text: ` Rojo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Rojo');\n }\n },\n {\n text: ` Azul`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Azul');\n }\n },\n {\n text: ` Amarillo`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Amarillo');\n }\n },\n {\n text: ` Verde`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Verde');\n }\n },\n {\n text: ` Naranja`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Naranja');\n }\n },\n {\n text: ` Gris`,\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.fixColor('Gris');\n }\n }\n ]\n },\n {\n text: this.readAllRows ?\n ' Todos' :\n ' Todos'\n ,\n action: this.readAllRows ?\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(false); } :\n function (e, dt, node, config) { window['angularComponentRef'].component.selectAllRows(true); },\n className: 'btn'\n },\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n text: ' Copiar a', className: 'btn btn-default',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openCopyTableWindow();\n },\n },\n {\n extend: 'csvHtml5', text: ' Exportar',\n className: 'btn btn-default', exportOptions: { columns: ':visible' }\n },\n {\n extend: 'collection', text: ' Imprimir',\n className: 'btn btn-default left-margin-button', autoClose: true,\n buttons: [\n {\n extend: 'print', text: 'Impr. Lista documentos',\n customize: function (win) {\n $(win.document.body).addClass('btn btn-default left-margin-button');\n $(win.document.body).css('font-size', '10px');\n $(win.document.body).prepend();\n $(win.document.body).find('table')\n .addClass('compact')\n .css('font-size', '10px');\n },\n exportOptions: { columns: ':visible' }\n },\n {\n text: `Impr. Formularios`,\n action: function (e, dt, node, config) {\n console.log('Imprimir masivamente!');\n window['angularComponentRef'].component.printForms();\n }\n },\n ]\n },\n /*\n {\n extend: 'print', text: ' Imprimir',\n className: 'btn btn-default left-margin-button',\n customize: function (win) {\n $(win.document.body).addClass('btn btn-default left-margin-button');\n $(win.document.body).css('font-size', '10px');\n $(win.document.body).prepend();\n $(win.document.body).find('table')\n .addClass('compact')\n .css('font-size', '10px');\n },\n exportOptions: { columns: ':visible' }\n },\n */\n {\n text: ' Importar',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openImportWindow(true);\n },\n className: 'btn btn-default left-margin-button'\n },\n {\n text: ' Nuevo',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(true);\n },\n className: 'btn btn-default'\n },\n {\n extend: 'selectedSingle', text: ' Editar',\n className: 'btn btn-default left-margin-button',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openEditWindow(false);\n }\n },\n {\n extend: 'selected', text: ' Eliminar', className: 'btn btn-default ',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openDeleteWindow();\n },\n enabled: false,\n config: this\n },\n {\n text: ' Ejecutar',\n action: function (e, dt, node, config) {\n window['angularComponentRef'].component.openExecuteWindow();\n },\n className: 'btn btn-default left-margin-button'\n },\n ];\n\n if (this.currDataTable.closed) {\n buttons.splice(1, 1);\n buttons.splice(6, 1);\n buttons.splice(6, 1);\n buttons.splice(7, 1);\n\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(1, 1);\n }\n\n } else {\n if (!this.currDataTable.insert) {\n buttons.splice(7, 1);\n buttons.splice(7, 1);\n buttons.splice(8, 1);\n }\n if (this.currDataTable.closerows === undefined || this.currDataTable.closerows === null ||\n this.currDataTable.closerows !== true ) {\n buttons.splice(2, 1);\n }\n if (!this.currDataTable.modify) {\n buttons.splice(1, 1);\n }\n }\n\n\n // Quitar el boton de ejecutar los scripts\n if (this.currDataTable.scripts === undefined || this.currDataTable.scripts === null ||\n this.currDataTable.scripts.length === 0 || this.currDataTable.closed || !this.chGlobal.currentUserIsManager) {\n buttons.pop();\n }\n\n return buttons;\n }\n\n /**\n * IMPRIMIR FORMULARIOS\n */\n\n printForms() {\n const t = $(this.tableDom.nativeElement).DataTable();\n if (this.marcIndex === -1) {\n console.log('Tabla sin campo de marca!!!');\n return;\n }\n if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n // console.log(row);\n } else {\n // console.log(rowdata);\n SiasaSolicitud2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2019Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaContrato2019Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n // console.log(rowdata);\n SiasaContrato2019Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa2/contrato/batchprint']);\n }\n ///\n /// CAMPAÑA 2020!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2020Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n //console.log(rowdata);\n SiasaSolicitud2020Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa3/solicitud/batchprint']);\n } else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2020Uid) {\n }\n ///\n /// CAMPAÑA 2021!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2021Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n //console.log(rowdata);\n SiasaSolicitud2021Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa4/solicitud/batchprint']);\n }\n ///\n /// CAMPAÑA 2021!!!\n else if (this.currDataTable.name === 'Solicitudes' && this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2022Uid) {\n const marcIndex = this.marcIndex;\n const rows = t.rows({ selected: true });\n\n SiasaSolicitud2022Component.resetBatchPrint();\n rows.every(function (rowIdx, tableLoop, rowLoop) {\n const currDataTable = window['angularComponentRef'].component.currDataTable;\n // console.log(currDataTable)\n const row = this;\n const rowdata = this.data();\n if (rowdata == null) {\n console.log('NO HAY DATOS!!');\n console.log(row);\n } else {\n //console.log(rowdata);\n SiasaSolicitud2022Component.addBatchPrint(rowdata[1]);\n }\n });\n this.router.navigate(['//siasa4/solicitud/batchprint']);\n }\n\n else if (this.currDataTable.name === 'Contratos' &&\n this.chGlobal.getGroupInfo().uid === ChGlobalsService.siasa2021Uid) {\n }\n }\n\n public selectAllRows(allRows: boolean) {\n console.log(' ** READ ALL ROWS ' + String(allRows));\n this.readAllRows = allRows;\n this.refreshtable();\n }\n\n}\n\n","export default \"/* @import url(\\\"https://ace.c9.io/api/resources/csses/ace_api.css\\\"); */\\n\\nbtn-group {\\n margin: 5px;\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\n.ch-proplist {\\n margin-top: 10px;\\n margin-right: 10px;\\n margin-left: 10px;\\n width: 100%;\\n padding-left: 10px;\\n padding-right:10px;\\n color: black;\\n}\\n\\n.ch-proplist > li {\\n border-bottom-style: solid;\\n border-width: 1px;\\n border-color: lightgray;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n list-style-type: none;\\n\\n}\\n\\n.ch-proplist > input {\\n color: blue;\\n\\n}\\n\\n.form-group {\\n margin: 0px;\\n padding: 0px;\\n\\n}\\n\\n.rowdefault {\\n background-color: white;\\n}\\n\\n.btn-table {\\n height: 20px;\\n font-size: 12px;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-bottom: 20px;\\n margin-left: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9kYXRhL2NoLXRhYmxlLWVkaXRvci1maWVsZC1kaWFsb2cvY2gtdGFibGUtZWRpdG9yLWZpZWxkLWRpYWxvZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEU7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIscUJBQXFCOztBQUV6Qjs7QUFFQTtJQUNJLFdBQVc7O0FBRWY7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTs7QUFFaEI7O0FBRUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9kYXRhL2NoLXRhYmxlLWVkaXRvci1maWVsZC1kaWFsb2cvY2gtdGFibGUtZWRpdG9yLWZpZWxkLWRpYWxvZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGltcG9ydCB1cmwoXCJodHRwczovL2FjZS5jOS5pby9hcGkvcmVzb3VyY2VzL2Nzc2VzL2FjZV9hcGkuY3NzXCIpOyAqL1xuXG5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogNXB4O1xufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uY2gtcHJvcGxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG4uY2gtcHJvcGxpc3QgPiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGdyYXk7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG59XG5cbi5jaC1wcm9wbGlzdCA+IGlucHV0IHtcbiAgICBjb2xvcjogYmx1ZTtcblxufVxuXG4uZm9ybS1ncm91cCB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuXG59XG5cbi5yb3dkZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi10YWJsZSB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufSJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { AceEditorModule } from 'ng2-ace-editor';\nimport { ChDataTableField } from '../ch-datatable';\n\n@Component({\n selector: 'ch-table-editor-field-dialog',\n templateUrl: './ch-table-editor-field-dialog.component.html',\n styleUrls: ['./ch-table-editor-field-dialog.component.css']\n})\nexport class ChTableEditorFieldDialogComponent implements OnInit {\n\n title1: string=\"Ventana de prueba\";\n title2: string=\"Veamos que tal\";\n message: string=\"A ver como sale...\";\n\n currField: ChDataTableField = null;\n field: ChDataTableField = null;\n\n private static stack : BsModalRef[] = [];\n private static stackCallbacks : Function[] = [];\n\n @ViewChild('scriptEditor', { static: false}) editor;\n\n constructor(/* public bsModalRef: BsModalRef, */private chGlobal: ChGlobalsService) {\n\n \n\n }\n \n ngOnInit() {\n this.field = (JSON.parse(JSON.stringify(this.currField)));\n if (this.currField.hasOwnProperty('calcscript'))\n this.field['calcscript'] = atob(this.currField['calcscript']);\n }\n\n ngAfterViewInit() {\n // console.log(this.editor)\n //this.editor.setTheme(\"twilight\");\n this.editor.setMode(\"javascript\");\n this.editor.getEditor().setOptions({\n enableBasicAutocompletion: true\n });\n\n this.editor.getEditor().commands.addCommand({\n name: \"showOtherCompletions\",\n bindKey: \"Ctrl-.\",\n exec: function (editor) {\n\n }\n })\n }\n confirm() {\n for (let key of Object.keys(this.field)) { \n this.currField[key] = this.field[key];\n // console.log(key + \" :\"+ String(this.field[key]));\n }\n if (this.field.hasOwnProperty('calcscript'))\n this.currField['calcscript'] = btoa(this.field['calcscript']);\n\n delete this.currField[\"mousePrimary\"];\n delete this.currField[\"mouseDelete\"];\n ChTableEditorFieldDialogComponent.hide(true);\n }\n \n decline() {\n delete this.currField[\"mousePrimary\"];\n delete this.currField[\"mouseDelete\"];\n ChTableEditorFieldDialogComponent.hide(false);\n } \n\n public static show( currField : ChDataTableField , config?: ModalOptions, callback? : Function ) {\n config.initialState['currField'] = currField;\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChTableEditorFieldDialogComponent.stack.push(service.showModalWindow(this, config));\n ChTableEditorFieldDialogComponent.stackCallbacks.push(callback != null? callback : () => {});\n }\n \n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChTableEditorFieldDialogComponent.stack.pop());\n let callback = ChTableEditorFieldDialogComponent.stackCallbacks.pop();\n if (executeCallback)\n callback();\n }\n}\n","export default \"p {\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n}\\n\\n/************************\\n TABLA\\n************************/\\n\\n/*table {\\n width: 100%;\\n border: 1px solid #000;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n }\\n th, td {\\n width: 25%;\\n text-align: left;\\n vertical-align: top;\\n border: 1px solid #000;\\n border-collapse: collapse;\\n padding: 0.3em;\\n caption-side: bottom;\\n }\\n caption {\\n padding: 0.3em;\\n color: #fff;\\n background: #000;\\n }\\n th {\\n background: #eee;\\n }\\n\\n\\n /**********************\\n SWITCHER\\n***********************/\\n\\n/* The switch - the box around the slider */\\n\\n.switch {\\n position: relative;\\n display: block;\\n width: 32px;\\n height: 16px;\\n margin-bottom: 0px;\\n margin-right: 188px;\\n float: right;\\n}\\n\\n/* Hide default HTML checkbox */\\n\\n.switch input {\\n display: none;\\n}\\n\\n/* The slider */\\n\\n.slider-box {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: 0.4s;\\n border-radius: 34px;\\n}\\n\\n.slider-box:before {\\n position: absolute;\\n content: \\\"\\\";\\n height: 12px;\\n width: 12px;\\n left: 2px;\\n bottom: 2px;\\n background-color: white;\\n transition: 0.4s;\\n border-radius: 50%;\\n}\\n\\ninput:checked + .slider-box {\\n background-color: #467efd;\\n}\\n\\ninput:focus + .slider-box {\\n box-shadow: 0 0 1px #467efd;\\n}\\n\\ninput:checked + .slider-box:before {\\n transform: translateX(16px);\\n}\\n\\n/*****************************\\n COLOR BUTTONS\\n*****************************/\\n\\n.colores {\\n margin-left: 20px;\\n display: inline-block;\\n box-shadow: none;\\n}\\n\\n.button1 {\\n background-color: #477cfd;\\n margin-bottom: 20px;\\n width: 30px;\\n height: 30px;\\n border-radius: 3px;\\n margin: 2px;\\n}\\n\\n/* Green */\\n\\n.button2 {\\n background-color: #6f757c;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Blue */\\n\\n.button3 {\\n background-color: #67a646;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Red */\\n\\n.button4 {\\n background-color: #c23849;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Gray */\\n\\n.button5 {\\n background-color: #edc125;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button6 {\\n background-color: #63a2b7;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button7 {\\n background-color: #f8f9fa;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button8 {\\n background-color: #353a40;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.mas {\\n margin-left: 6px;\\n line-height: 27px;\\n font-size: 31px;\\n font-weight: 100;\\n color: #467efd;\\n border: 1px solid #f9fafa;\\n border-radius: 3px;\\n text-align: center;\\n width: 30px;\\n height: 30px;\\n}\\n\\n.mas:hover {\\n background-color: #ddd4d4;\\n}\\n\\n/********************\\n SLIDER\\n********************/\\n\\n.text-size-slider {\\n position: absolute;\\n margin-top: 10px;\\n margin-left: 30px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n}\\n\\n.text-size-slider > span {\\n margin-right: 223px;\\n font-size: 12px;\\n}\\n\\n.slidecontainer {\\n width: 100%;\\n background-color: transparent;\\n /* Width of the outside container */\\n}\\n\\n/* The slider itself */\\n\\n.slider {\\n -webkit-appearance: none;\\n /* Override default CSS styles */\\n -moz-appearance: none;\\n appearance: none;\\n width: 58%;\\n /* Full-width */\\n height: 10px;\\n /* Specified height */\\n float: left;\\n margin-left: 30px;\\n border-radius: 55px;\\n background: #e0e0e0;\\n /* Grey background */\\n outline: none;\\n /* Remove outline */\\n opacity: 0.7;\\n /* Set transparency (for mouse-over effects on hover) */\\n /* 0.2 seconds transition on hover */\\n transition: opacity 0.2s;\\n}\\n\\n/* Mouse-over effects */\\n\\n.slider:hover {\\n opacity: 1;\\n /* Fully shown on mouse-over */\\n}\\n\\n/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */\\n\\n.slider::-webkit-slider-thumb {\\n -webkit-appearance: none;\\n /* Override default look */\\n appearance: none;\\n width: 15px;\\n /* Set a specific slider handle width */\\n height: 15px;\\n /* Slider handle height */\\n background: #467efd;\\n cursor: pointer;\\n /* Cursor on hover */\\n border-radius: 55px;\\n}\\n\\n.slider::-moz-range-thumb {\\n width: 25px;\\n /* Set a specific slider handle width */\\n height: 25px;\\n /* Slider handle height */\\n background: #467efd;\\n cursor: pointer;\\n /* Cursor on hover */\\n}\\n\\n/*******************\\n RADIO BUTTON\\n*******************/\\n\\n/* Customize the label (the container) */\\n\\n.container {\\n display: block;\\n position: relative;\\n padding-left: 35px;\\n margin-bottom: 12px;\\n margin-left: 30px;\\n cursor: pointer;\\n font-size: 12px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n/* Hide the browser's default radio button */\\n\\n.container input {\\n position: absolute;\\n opacity: 0;\\n}\\n\\n/* Create a custom radio button */\\n\\n.checkmark {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 16px;\\n width: 16px;\\n background-color: #eee;\\n border-radius: 50%;\\n}\\n\\n/* On mouse-over, add a grey background color */\\n\\n.container:hover input ~ .checkmark {\\n background-color: #ccc;\\n}\\n\\n/* When the radio button is checked, add a blue background */\\n\\n.container input:checked ~ .checkmark {\\n background-color: #467efd;\\n}\\n\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\n\\n.checkmark:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: none;\\n}\\n\\n/* Show the indicator (dot/circle) when checked */\\n\\n.container input:checked ~ .checkmark:after {\\n display: block;\\n}\\n\\n/* Style the indicator (dot/circle) */\\n\\n.container .checkmark:after {\\n top: 5px;\\n left: 5px;\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n background: white;\\n}\\n\\n.btn-group.active {\\n background-color: #467efd;\\n}\\n\\n/**\\n* NAVEGADOR\\n**/\\n\\nnav {\\n display: block;\\n position: relative;\\n margin-top: 10px;\\n background-color: white;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n text-align: center;\\n height: 45px;\\n}\\n\\nnav ul {\\n padding: 0;\\n margin: 0;\\n display: inline-block;\\n text-align: center;\\n}\\n\\nnav ul:after {\\n content: \\\".\\\";\\n display: block;\\n height: 0;\\n clear: both;\\n visibility: hidden;\\n}\\n\\nnav li {\\n position: relative;\\n float: left;\\n list-style-type: none;\\n}\\n\\nnav > ul > li > a {\\n text-transform: none;\\n}\\n\\nnav li a {\\n display: block;\\n padding: 10px 20px;\\n text-decoration: none;\\n color: inherit;\\n font-size: 14px;\\n font-weight: 300px;\\n}\\n\\nnav li:hover ul {\\n display: block;\\n}\\n\\nnav ul ul {\\n display: none;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background: white;\\n box-shadow: none;\\n margin-top: 0;\\n}\\n\\nnav ul ul li {\\n float: none;\\n}\\n\\nnav ul ul a {\\n padding: 10px 25px 10px 25px;\\n border-left: none;\\n border-right: none;\\n font-size: 12px;\\n}\\n\\nnav ul ul a:hover {\\n background-color: white;\\n}\\n\\nnav > ul > li {\\n padding: 1px 25px 1px 25px;\\n}\\n\\nnav > ul > li:hover {\\n box-shadow: 0px 0px 4px 0px #ebebeb;\\n}\\n\\nnav ul ul {\\n border-radius: 0px;\\n}\\n\\nnav ul ul li {\\n border-left: 1px solid rgba(0, 0, 0, 0.1);\\n border-right: 1px solid rgba(0, 0, 0, 0.1);\\n}\\n\\nnav ul ul li.ultimo {\\n border-left: 1px solid rgba(0, 0, 0, 0.1);\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\n border-bottom-left-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n\\nnav ul ul a:hover {\\n color: #2d8fc7;\\n}\\n\\n/******************+*****\\n DESCRIPTION-BOX\\n************************/\\n\\n.info {\\n display: inline;\\n position: relative;\\n}\\n\\n.sub-info {\\n display: none;\\n}\\n\\n.info:hover .sub-info {\\n font-size: 10px;\\n font-weight: 800;\\n width: 200px;\\n padding: 12px 6px 12px 12px;\\n text-align: justify;\\n line-height: 14px;\\n border: 1px solid #e0e0e0;\\n background-color: white;\\n margin-right: 3px;\\n position: absolute;\\n display: flex;\\n z-index: 2;\\n}\\n\\n/*******************\\n TEXT EDIT\\n*******************/\\n\\ninput:invalid {\\n border: 1px solid red;\\n}\\n\\n/*******************\\n RADIO GROUP\\n*******************/\\n\\n.btn-group button {\\n background-color: #eeeded;\\n /* Green background */\\n border: 1px solid #eeeded;\\n /* Green border */\\n height: 30px;\\n width: 60px;\\n font-size: 12px;\\n font-weight: 600;\\n line-height: 0px;\\n color: #467efd;\\n /* White text */\\n cursor: pointer;\\n /* Pointer/hand icon */\\n float: left;\\n /* Float the buttons side by side */\\n}\\n\\n/* Clear floats (clearfix hack) */\\n\\n.btn-group:after {\\n content: \\\"\\\";\\n clear: both;\\n display: table;\\n}\\n\\n.btn-group button:not(:last-child) {\\n border-right: none;\\n /* Prevent double borders */\\n}\\n\\n/* Add a background color on hover */\\n\\n.btn-group button:hover {\\n background-color: #71e3ff;\\n}\\n\\n/*******************\\n VENTANAS MODALES\\n*******************/\\n\\n.modal-title {\\n font-weight: bold;\\n font-size: larger;\\n padding-top: 0px;\\n padding-right: 10px;\\n padding-bottom: 0px;\\n padding-left: 15px;\\n margin: 0px;\\n}\\n\\n.modal-footer {\\n padding-top: 10px;\\n padding-right: 15px;\\n padding-bottom: 15px;\\n padding-left: 15px;\\n}\\n\\nbtn-group {\\n margin: 5px;\\n}\\n\\ninput[type=text] {\\n color: #467efd;\\n}\\n\\n.ch-proplist {\\n margin-top: 10px;\\n margin-right: 10px;\\n margin-left: 10px;\\n width: 100%;\\n padding-left: 10px;\\n padding-right: 10px;\\n color: black;\\n}\\n\\n.ch-proplist > li {\\n border-bottom-style: none;\\n border-width: 1px;\\n border-color: lightgray;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n list-style-type: none;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n}\\n\\n.ch-proplist > input {\\n color: #467efd;\\n}\\n\\n.form-group {\\n margin: 0px;\\n padding: 0px;\\n}\\n\\n.rowdefault {\\n background-color: white;\\n}\\n\\n.btn-table {\\n height: 20px;\\n font-size: 12px;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-bottom: 20px;\\n margin-left: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9mb3Jtcy5zY3NzIiwic3JjL2FwcC9jaGlsL2RhdGEvY2gtdGFibGUtZWRpdG9yL2NoLXRhYmxlLWVkaXRvci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kYXRhL2NoLXRhYmxlLWVkaXRvci9jaC10YWJsZS1lZGl0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0E7RUFDSSxvRUFmUztFQWdCVCxnQkFWVTtFQVdWLGVBVlE7QUNIWjs7QURnQkE7O3dCQUFBOztBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBQUE7O0FBNEJBLDJDQUFBOztBQUNBO0VBQ0ksa0JBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBQ2JKOztBRGdCQSwrQkFBQTs7QUFDQTtFQUFlLGFBQUE7QUNaZjs7QURjQSxlQUFBOztBQUNBO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLHNCQUFBO0VBRUEsZ0JBQUE7RUFDQSxtQkFBQTtBQ1hKOztBRGNBO0VBQ0ksa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUFBO0VBRUEsZ0JBQUE7RUFDQSxrQkFBQTtBQ1hKOztBRGNBO0VBQ0kseUJBbkZZO0FDd0VoQjs7QURjQTtFQUNJLDJCQUFBO0FDWEo7O0FEY0E7RUFHSSwyQkFBQTtBQ1hKOztBRGdCQTs7NkJBQUE7O0FBSUE7RUFDSSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QUNkSjs7QURpQkE7RUFD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aUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUQwaEJKOztBQ3ZoQkE7RUFDSSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxvRUY3QlM7RUU4QlQsZ0JGeEJVO0VFeUJWLGVGeEJRO0FDa2pCWjs7QUN2aEJBO0VBQ0ksY0Z6Qlk7QUNtakJoQjs7QUN0aEJBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7QUR5aEJKOztBQ3JoQkE7RUFDSSx1QkFBQTtBRHdoQko7O0FDcmhCQTtFQUNJLFlBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBRHdoQko7O0FDcmhCQTtFQUNJLG1CQUFBO0VBQ0EsaUJBQUE7QUR3aEJKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9kYXRhL2NoLXRhYmxlLWVkaXRvci9jaC10YWJsZS1lZGl0b3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkYmFzaWMtZm9udDogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiR0aXRsZS1zaXplOiAyNXB4O1xuJHRpdGxlLXdlaWdodDogMTAwO1xuJHRpdGxlLWxldHRlci1zcGFjZTogMXB4O1xuXG4kYm9keS13ZWlnaHQ6IDQwMDtcbiRib2R5LXNpemU6IDE0cHg7XG4kc3ViLWJvZHktc2l6ZTogMTJweDtcblxuJGRlZmF1bHQtY29sb3I6ICM0NjdlZmQ7XG4kYm9yZGVyLXJhZGl1czogM3B4O1xuJHN1Yi1tYXJnaW46IDMwcHg7XG5cbnAge1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXdlaWdodDogJGJvZHktd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJvZHktc2l6ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUQUJMQVxuKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyp0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuIH1cbiB0aCwgdGQge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiB9XG4gY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC4zZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiB9XG4gdGgge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gfVxuXG5cbiAvKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTV0lUQ0hFUlxuKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaGUgc3dpdGNoIC0gdGhlIGJveCBhcm91bmQgdGhlIHNsaWRlciAqL1xuLnN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxODhweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgXG4vKiBIaWRlIGRlZmF1bHQgSFRNTCBjaGVja2JveCAqL1xuLnN3aXRjaCBpbnB1dCB7ZGlzcGxheTpub25lO31cbiAgXG4vKiBUaGUgc2xpZGVyICovXG4uc2xpZGVyLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC40cztcbiAgICB0cmFuc2l0aW9uOiAuNHM7XG4gICAgYm9yZGVyLXJhZGl1czogMzRweDtcbn1cbiAgXG4uc2xpZGVyLWJveDpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgYm90dG9tOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbiAgXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlci1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xufVxuICBcbmlucHV0OmZvY3VzICsgLnNsaWRlci1ib3gge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggJGRlZmF1bHQtY29sb3I7XG59XG4gIFxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXItYm94OmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgQ09MT1IgQlVUVE9OU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jb2xvcmVzIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ1dHRvbjEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzdjZmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgbWFyZ2luOiAycHg7XG59IC8qIEdyZWVuICovXG4uYnV0dG9uMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzU3YztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuXG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xufSAvKiBCbHVlICovXG4uYnV0dG9uMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3YTY0NjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogUmVkICovIFxuLmJ1dHRvbjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMjM4NDk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogR3JheSAqLyBcbi5idXR0b241IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRjMTI1O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogQmxhY2sgKi9cbi5idXR0b242IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjNhMmI3O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogQmxhY2sgKi9cbi5idXR0b243IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogQmxhY2sgKi9cbi5idXR0b244IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzYTQwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogQmxhY2sgKi9cblxuLm1hc3tcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGNvbG9yOiAjNDY3ZWZkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmOWZhZmE7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBcbn1cbi5tYXM6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjEsIDIxMiwgMjEyKTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFNMSURFUlxuKioqKioqKioqKioqKioqKioqKiovXG4udGV4dC1zaXplLXNsaWRlcntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogJHN1Yi1tYXJnaW47XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9keS13ZWlnaHQ7XG59XG5cbi50ZXh0LXNpemUtc2xpZGVyID4gc3BhbntcbiAgICBtYXJnaW4tcmlnaHQ6IDIyM3B4O1xuICAgIGZvbnQtc2l6ZTogJHN1Yi1ib2R5LXNpemU7XG59XG5cbi5zbGlkZWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIFdpZHRoIG9mIHRoZSBvdXRzaWRlIGNvbnRhaW5lciAqL1xufVxuXG4vKiBUaGUgc2xpZGVyIGl0c2VsZiAqL1xuLnNsaWRlciB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAgLyogT3ZlcnJpZGUgZGVmYXVsdCBDU1Mgc3R5bGVzICovXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogNTglOyAvKiBGdWxsLXdpZHRoICovXG4gICAgaGVpZ2h0OiAxMHB4OyAvKiBTcGVjaWZpZWQgaGVpZ2h0ICovXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRzdWItbWFyZ2luO1xuICAgIGJvcmRlci1yYWRpdXM6IDU1cHg7XG4gICAgYmFja2dyb3VuZDogI2UwZTBlMDsgLyogR3JleSBiYWNrZ3JvdW5kICovXG4gICAgb3V0bGluZTogbm9uZTsgLyogUmVtb3ZlIG91dGxpbmUgKi9cbiAgICBvcGFjaXR5OiAwLjc7IC8qIFNldCB0cmFuc3BhcmVuY3kgKGZvciBtb3VzZS1vdmVyIGVmZmVjdHMgb24gaG92ZXIpICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnM7IC8qIDAuMiBzZWNvbmRzIHRyYW5zaXRpb24gb24gaG92ZXIgKi9cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbn1cblxuLyogTW91c2Utb3ZlciBlZmZlY3RzICovXG4uc2xpZGVyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyAvKiBGdWxseSBzaG93biBvbiBtb3VzZS1vdmVyICovXG59XG5cbi8qIFRoZSBzbGlkZXIgaGFuZGxlICh1c2UgLXdlYmtpdC0gKENocm9tZSwgT3BlcmEsIFNhZmFyaSwgRWRnZSkgYW5kIC1tb3otIChGaXJlZm94KSB0byBvdmVycmlkZSBkZWZhdWx0IGxvb2spICovIFxuLnNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogT3ZlcnJpZGUgZGVmYXVsdCBsb29rICovXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTVweDsvKiBTZXQgYSBzcGVjaWZpYyBzbGlkZXIgaGFuZGxlIHdpZHRoICovXG4gICAgaGVpZ2h0OiAxNXB4OyAvKiBTbGlkZXIgaGFuZGxlIGhlaWdodCAqL1xuICAgIGJhY2tncm91bmQ6ICRkZWZhdWx0LWNvbG9yOyBcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIEN1cnNvciBvbiBob3ZlciAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDU1cHg7XG59XG5cbi5zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAyNXB4OyAvKiBTZXQgYSBzcGVjaWZpYyBzbGlkZXIgaGFuZGxlIHdpZHRoICovXG4gICAgaGVpZ2h0OiAyNXB4OyAvKiBTbGlkZXIgaGFuZGxlIGhlaWdodCAqL1xuICAgIGJhY2tncm91bmQ6JGRlZmF1bHQtY29sb3I7IFxuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogQ3Vyc29yIG9uIGhvdmVyICovXG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFJBRElPIEJVVFRPTlxuKioqKioqKioqKioqKioqKioqKi9cbi8qIEN1c3RvbWl6ZSB0aGUgbGFiZWwgKHRoZSBjb250YWluZXIpICovXG4uY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6ICRzdWItbWFyZ2luO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6ICRzdWItYm9keS1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXdlaWdodDogJGJvZHktd2VpZ2h0O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgXG4gIC8qIEhpZGUgdGhlIGJyb3dzZXIncyBkZWZhdWx0IHJhZGlvIGJ1dHRvbiAqL1xuICAuY29udGFpbmVyIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBcbiAgLyogQ3JlYXRlIGEgY3VzdG9tIHJhZGlvIGJ1dHRvbiAqL1xuICAuY2hlY2ttYXJrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG4gIFxuICAvKiBPbiBtb3VzZS1vdmVyLCBhZGQgYSBncmV5IGJhY2tncm91bmQgY29sb3IgKi9cbiAgLmNvbnRhaW5lcjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIH1cbiAgXG4gIC8qIFdoZW4gdGhlIHJhZGlvIGJ1dHRvbiBpcyBjaGVja2VkLCBhZGQgYSBibHVlIGJhY2tncm91bmQgKi9cbiAgLmNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtY29sb3I7XG4gIH1cbiAgXG4gIC8qIENyZWF0ZSB0aGUgaW5kaWNhdG9yICh0aGUgZG90L2NpcmNsZSAtIGhpZGRlbiB3aGVuIG5vdCBjaGVja2VkKSAqL1xuICAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAvKiBTaG93IHRoZSBpbmRpY2F0b3IgKGRvdC9jaXJjbGUpIHdoZW4gY2hlY2tlZCAqL1xuICAuY29udGFpbmVyIGlucHV0OmNoZWNrZWQgfiAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLyogU3R5bGUgdGhlIGluZGljYXRvciAoZG90L2NpcmNsZSkgKi9cbiAgLmNvbnRhaW5lciAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cblxuICAuYnRuLWdyb3VwLmFjdGl2ZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICB9XG5cblxuLyoqXG4qIE5BVkVHQURPUlxuKiovXG5cbm5hdiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0Zm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ1cHg7XG59XG5cbm5hdiB1bCB7XG5cdHBhZGRpbmc6MDtcblx0bWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxubmF2IHVsOmFmdGVyIHtcblx0Y29udGVudDpcIi5cIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMDtcblx0Y2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5uYXYgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbm5hdiA+dWwgPiBsaSA+IGF7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5uYXYgbGkgYXtcbiAgICBkaXNwbGF5OmJsb2NrO1xuXHRwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgXG4gICAgY29sb3I6IGluaGVyaXQ7ICBcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMHB4OyBcbn1cblxubmF2IGxpOmhvdmVyIHVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cblxubmF2IHVsIHVsIHsgXG4gICAgZGlzcGxheTogbm9uZTsgXG4gICAgd2lkdGg6IDEwMCU7IFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgbGVmdDogMDsgXG4gICAgYmFja2dyb3VuZDogd2hpdGUgIDsgXG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxubmF2IHVsIHVsIGxpIHsgXG4gICAgZmxvYXQ6IG5vbmU7IFxufVxubmF2IHVsIHVsIGEgeyBcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHggMTBweCAyNXB4O1xuICAgIGJvcmRlci1sZWZ0OiBub25lOyBcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IFxuICAgIGZvbnQtc2l6ZTogMTJweDsgXG59XG5uYXYgdWwgdWwgYTpob3ZlciB7IFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBcbn1cblxuXG5uYXYgPiB1bCA+IGxpIHtcbiAgICBwYWRkaW5nOiAxcHggMjVweCAxcHggMjVweDtcbn1cbm5hdiA+IHVsID5saTpob3ZlciB7IFxuICAgIGJveC1zaGFkb3c6IDBweCAwcHggNHB4IDBweCAjZWJlYmViO1xufVxuXG5uYXYgdWwgdWwgeyBcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5uYXYgdWwgdWwgbGkgeyBcbiAgICBib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpOyBcbiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTsgXG59XG5uYXYgdWwgdWwgbGkudWx0aW1vIHsgXG4gICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTsgXG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4OyBcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7ICBcbn1cbm5hdiB1bCB1bCBhOmhvdmVyIHsgXG4gICAgY29sb3I6IHJnYig0NSwgMTQzLCAxOTkpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKyoqKioqXG4gICAgREVTQ1JJUFRJT04tQk9YXG4qKioqKioqKioqKioqKioqKioqKioqKiovXG4uaW5mb3tcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3ViLWluZm97XG4gICAgZGlzcGxheTogbm9uZTsgICAgXG59XG5cbi5pbmZvOmhvdmVyIC5zdWItaW5mb3tcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogMTJweCA2cHggMTJweCAxMnB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDs7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXJpZ2h0OjNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFRFWFQgRURJVFxuKioqKioqKioqKioqKioqKioqKi9cblxuaW5wdXQ6aW52YWxpZHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gICAgUkFESU8gR1JPVVBcbioqKioqKioqKioqKioqKioqKiovXG5cbi5idG4tZ3JvdXAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZGVkOyAvKiBHcmVlbiBiYWNrZ3JvdW5kICovXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWRlZDsgLyogR3JlZW4gYm9yZGVyICovXG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGZvbnQtc2l6ZTogJHN1Yi1ib2R5LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjsgLyogV2hpdGUgdGV4dCAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogUG9pbnRlci9oYW5kIGljb24gKi9cbiAgICBmbG9hdDogbGVmdDsgLyogRmxvYXQgdGhlIGJ1dHRvbnMgc2lkZSBieSBzaWRlICovXG59XG5cbi8qIENsZWFyIGZsb2F0cyAoY2xlYXJmaXggaGFjaykgKi9cbi5idG4tZ3JvdXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi5idG4tZ3JvdXAgYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTsgLyogUHJldmVudCBkb3VibGUgYm9yZGVycyAqL1xufVxuXG4vKiBBZGQgYSBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyICovXG4uYnRuLWdyb3VwIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcxZTNmZjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgICBWRU5UQU5BUyBNT0RBTEVTXG4qKioqKioqKioqKioqKioqKioqL1xuXG4ubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbiIsInAge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUQUJMQVxuKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyp0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuIH1cbiB0aCwgdGQge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiB9XG4gY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC4zZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiB9XG4gdGgge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gfVxuXG5cbiAvKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTV0lUQ0hFUlxuKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaGUgc3dpdGNoIC0gdGhlIGJveCBhcm91bmQgdGhlIHNsaWRlciAqL1xuLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxODhweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBIaWRlIGRlZmF1bHQgSFRNTCBjaGVja2JveCAqL1xuLnN3aXRjaCBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRoZSBzbGlkZXIgKi9cbi5zbGlkZXItYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuICB0cmFuc2l0aW9uOiAwLjRzO1xuICBib3JkZXItcmFkaXVzOiAzNHB4O1xufVxuXG4uc2xpZGVyLWJveDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIGxlZnQ6IDJweDtcbiAgYm90dG9tOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gIHRyYW5zaXRpb246IDAuNHM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXItYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2N2VmZDtcbn1cblxuaW5wdXQ6Zm9jdXMgKyAuc2xpZGVyLWJveCB7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggIzQ2N2VmZDtcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXItYm94OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBDT0xPUiBCVVRUT05TXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jb2xvcmVzIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ1dHRvbjEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc3Y2ZkO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xufVxuXG4vKiBHcmVlbiAqL1xuLmJ1dHRvbjIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3NTdjO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBCbHVlICovXG4uYnV0dG9uMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2N2E2NDY7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi8qIFJlZCAqL1xuLmJ1dHRvbjQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIzODQ5O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBHcmF5ICovXG4uYnV0dG9uNSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGMxMjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi8qIEJsYWNrICovXG4uYnV0dG9uNiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2M2EyYjc7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi8qIEJsYWNrICovXG4uYnV0dG9uNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi8qIEJsYWNrICovXG4uYnV0dG9uOCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNTNhNDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi8qIEJsYWNrICovXG4ubWFzIHtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIGZvbnQtc2l6ZTogMzFweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgY29sb3I6ICM0NjdlZmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmOWZhZmE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubWFzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDRkNDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFNMSURFUlxuKioqKioqKioqKioqKioqKioqKiovXG4udGV4dC1zaXplLXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnRleHQtc2l6ZS1zbGlkZXIgPiBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMjNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uc2xpZGVjb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIFdpZHRoIG9mIHRoZSBvdXRzaWRlIGNvbnRhaW5lciAqL1xufVxuXG4vKiBUaGUgc2xpZGVyIGl0c2VsZiAqL1xuLnNsaWRlciB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogT3ZlcnJpZGUgZGVmYXVsdCBDU1Mgc3R5bGVzICovXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiA1OCU7XG4gIC8qIEZ1bGwtd2lkdGggKi9cbiAgaGVpZ2h0OiAxMHB4O1xuICAvKiBTcGVjaWZpZWQgaGVpZ2h0ICovXG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTVweDtcbiAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgLyogR3JleSBiYWNrZ3JvdW5kICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIC8qIFJlbW92ZSBvdXRsaW5lICovXG4gIG9wYWNpdHk6IDAuNztcbiAgLyogU2V0IHRyYW5zcGFyZW5jeSAoZm9yIG1vdXNlLW92ZXIgZWZmZWN0cyBvbiBob3ZlcikgKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjJzO1xuICAvKiAwLjIgc2Vjb25kcyB0cmFuc2l0aW9uIG9uIGhvdmVyICovXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLyogTW91c2Utb3ZlciBlZmZlY3RzICovXG4uc2xpZGVyOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgLyogRnVsbHkgc2hvd24gb24gbW91c2Utb3ZlciAqL1xufVxuXG4vKiBUaGUgc2xpZGVyIGhhbmRsZSAodXNlIC13ZWJraXQtIChDaHJvbWUsIE9wZXJhLCBTYWZhcmksIEVkZ2UpIGFuZCAtbW96LSAoRmlyZWZveCkgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsb29rKSAqL1xuLnNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIE92ZXJyaWRlIGRlZmF1bHQgbG9vayAqL1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTVweDtcbiAgLyogU2V0IGEgc3BlY2lmaWMgc2xpZGVyIGhhbmRsZSB3aWR0aCAqL1xuICBoZWlnaHQ6IDE1cHg7XG4gIC8qIFNsaWRlciBoYW5kbGUgaGVpZ2h0ICovXG4gIGJhY2tncm91bmQ6ICM0NjdlZmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQ3Vyc29yIG9uIGhvdmVyICovXG4gIGJvcmRlci1yYWRpdXM6IDU1cHg7XG59XG5cbi5zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMjVweDtcbiAgLyogU2V0IGEgc3BlY2lmaWMgc2xpZGVyIGhhbmRsZSB3aWR0aCAqL1xuICBoZWlnaHQ6IDI1cHg7XG4gIC8qIFNsaWRlciBoYW5kbGUgaGVpZ2h0ICovXG4gIGJhY2tncm91bmQ6ICM0NjdlZmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQ3Vyc29yIG9uIGhvdmVyICovXG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gICAgUkFESU8gQlVUVE9OXG4qKioqKioqKioqKioqKioqKioqL1xuLyogQ3VzdG9taXplIHRoZSBsYWJlbCAodGhlIGNvbnRhaW5lcikgKi9cbi5jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBIaWRlIHRoZSBicm93c2VyJ3MgZGVmYXVsdCByYWRpbyBidXR0b24gKi9cbi5jb250YWluZXIgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIENyZWF0ZSBhIGN1c3RvbSByYWRpbyBidXR0b24gKi9cbi5jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBPbiBtb3VzZS1vdmVyLCBhZGQgYSBncmV5IGJhY2tncm91bmQgY29sb3IgKi9cbi5jb250YWluZXI6aG92ZXIgaW5wdXQgfiAuY2hlY2ttYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cblxuLyogV2hlbiB0aGUgcmFkaW8gYnV0dG9uIGlzIGNoZWNrZWQsIGFkZCBhIGJsdWUgYmFja2dyb3VuZCAqL1xuLmNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjdlZmQ7XG59XG5cbi8qIENyZWF0ZSB0aGUgaW5kaWNhdG9yICh0aGUgZG90L2NpcmNsZSAtIGhpZGRlbiB3aGVuIG5vdCBjaGVja2VkKSAqL1xuLmNoZWNrbWFyazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2hvdyB0aGUgaW5kaWNhdG9yIChkb3QvY2lyY2xlKSB3aGVuIGNoZWNrZWQgKi9cbi5jb250YWluZXIgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcms6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogU3R5bGUgdGhlIGluZGljYXRvciAoZG90L2NpcmNsZSkgKi9cbi5jb250YWluZXIgLmNoZWNrbWFyazphZnRlciB7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA1cHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uYnRuLWdyb3VwLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjdlZmQ7XG59XG5cbi8qKlxuKiBOQVZFR0FET1JcbioqL1xubmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDQ1cHg7XG59XG5cbm5hdiB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbm5hdiB1bDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5uYXYgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbm5hdiA+IHVsID4gbGkgPiBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbm5hdiBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwcHg7XG59XG5cbm5hdiBsaTpob3ZlciB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5uYXYgdWwgdWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxubmF2IHVsIHVsIGxpIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbm5hdiB1bCB1bCBhIHtcbiAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMjVweDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5uYXYgdWwgdWwgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG5uYXYgPiB1bCA+IGxpIHtcbiAgcGFkZGluZzogMXB4IDI1cHggMXB4IDI1cHg7XG59XG5cbm5hdiA+IHVsID4gbGk6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDRweCAwcHggI2ViZWJlYjtcbn1cblxubmF2IHVsIHVsIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG5uYXYgdWwgdWwgbGkge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5uYXYgdWwgdWwgbGkudWx0aW1vIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxubmF2IHVsIHVsIGE6aG92ZXIge1xuICBjb2xvcjogIzJkOGZjNztcbn1cblxuLyoqKioqKioqKioqKioqKioqKisqKioqKlxuICAgIERFU0NSSVBUSU9OLUJPWFxuKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmluZm8ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN1Yi1pbmZvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmluZm86aG92ZXIgLnN1Yi1pbmZvIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICB3aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDEycHggNnB4IDEycHggMTJweDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB6LWluZGV4OiAyO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFRFWFQgRURJVFxuKioqKioqKioqKioqKioqKioqKi9cbmlucHV0OmludmFsaWQge1xuICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gICAgUkFESU8gR1JPVVBcbioqKioqKioqKioqKioqKioqKiovXG4uYnRuLWdyb3VwIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVkZWQ7XG4gIC8qIEdyZWVuIGJhY2tncm91bmQgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWRlZDtcbiAgLyogR3JlZW4gYm9yZGVyICovXG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDYwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgY29sb3I6ICM0NjdlZmQ7XG4gIC8qIFdoaXRlIHRleHQgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiBQb2ludGVyL2hhbmQgaWNvbiAqL1xuICBmbG9hdDogbGVmdDtcbiAgLyogRmxvYXQgdGhlIGJ1dHRvbnMgc2lkZSBieSBzaWRlICovXG59XG5cbi8qIENsZWFyIGZsb2F0cyAoY2xlYXJmaXggaGFjaykgKi9cbi5idG4tZ3JvdXA6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5idG4tZ3JvdXAgYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIC8qIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgKi9cbn1cblxuLyogQWRkIGEgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xuLmJ0bi1ncm91cCBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFlM2ZmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFZFTlRBTkFTIE1PREFMRVNcbioqKioqKioqKioqKioqKioqKiovXG4ubW9kYWwtdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuYnRuLWdyb3VwIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0ge1xuICBjb2xvcjogIzQ2N2VmZDtcbn1cblxuLmNoLXByb3BsaXN0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uY2gtcHJvcGxpc3QgPiBsaSB7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6IGxpZ2h0Z3JheTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2gtcHJvcGxpc3QgPiBpbnB1dCB7XG4gIGNvbG9yOiAjNDY3ZWZkO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi5yb3dkZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5idG4tdGFibGUge1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufSIsIkBpbXBvcnQgJy4uLy4uL2Zvcm1zL2Zvcm1zLnNjc3MnO1xuXG5cbmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luOiA1cHg7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xufVxuXG4uY2gtcHJvcGxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG4uY2gtcHJvcGxpc3QgPiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0Z3JheTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9keS13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYm9keS1zaXplO1xufVxuXG4uY2gtcHJvcGxpc3QgPiBpbnB1dCB7XG4gICAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuXG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG5cbn1cblxuLnJvd2RlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLXRhYmxlIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59Il19 */\"","import { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterContentInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ChSmallDialogComponent } from 'app/chil/utils/ch-small-dialog/ch-small-dialog.component';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { ChTableEditorFieldDialogComponent } from '../ch-table-editor-field-dialog/ch-table-editor-field-dialog.component';\nimport { OpResult, MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { cursorTo } from 'readline';\nimport { ChDataTable, CHTableScript, ChDataTableField, CHTableState } from '../ch-datatable';\n\nimport {deserialize, deserializeArray} from 'class-transformer';\nimport {transformAndValidateSync} from 'class-transformer-validator'\n\n@Component({\n selector: 'app-ch-table-editor',\n templateUrl: './ch-table-editor.component.html',\n styleUrls: ['./ch-table-editor.component.scss', '../../forms/forms.scss']\n})\nexport class ChTableEditorComponent implements OnInit, AfterContentInit {\n\n tableId = '';\n longTableId = '';\n siteName = '';\n currTable: ChDataTable = null;\n radioModel = 'Html';\n myForm: FormGroup;\n dragger: any = null;\n currScriptIndex = 0;\n calcscript = '';\n scriptname = '';\n fieldsString = '[]';\n estados = [\n { color: 'yellow', name: 'Inicio', close: false},\n { color: 'purple', name: 'Primer borrar', close: false},\n { color: 'blue', name: 'Segundo borrado', close: false},\n { color: 'orange', name: 'Revision legal', close: false},\n { color: 'red', name: 'Corregir', close: false},\n { color: 'green', name: 'Contestar', close: false},\n { color: 'gray', name: 'Archivar', close: false}\n ];\n statesString = undefined;\n\n @ViewChild('fieldsTable', { static: false}) fieldsTable: ElementRef;\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n\n constructor(private formBuilder: FormBuilder, private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private router: Router, private modalService: BsModalService) {\n\n chGlobal.initToasts(vcr);\n }\n\n ngOnInit() {\n this.siteName = this.route.parent.snapshot.paramMap.get('sitename');\n this.tableId = this.route.snapshot.paramMap.get('tableid');\n this.longTableId = this.chGlobal.getGroupInfo().uid + '.' + this.route.snapshot.paramMap.get('tableid');\n // console.log(this.tableId);\n if (this.tableId !== undefined && this.tableId !== null && this.tableId !== '') {\n const originalTable = this.chGlobal.getTableFromId(this.tableId);\n if (originalTable === undefined || originalTable === null ) {\n this.router.navigate(['404']);\n }\n this.currTable = (JSON.parse(JSON.stringify(originalTable)));\n } else {\n this.currTable = ChDataTable.getNewuserTable();\n }\n //console.log(this.currTable);\n\n if (this.currTable.scripts !== undefined && this.currTable.scripts !== null &&\n this.currTable.scripts.length > 0) {\n this.currScriptIndex = 0;\n this.scriptname = this.currTable.scripts[0].name;\n this.calcscript = this.currTable.scripts[0].script;\n /*\n console.log( this.calcscript );\n try {\n console.log( atob( this.calcscript) );\n } catch (e) {\n console.log(e);\n }\n */\n } else {\n this.currScriptIndex = -1;\n this.scriptname = '';\n this.calcscript = btoa('');\n }\n\n this.fieldsString = this.currTable.fields === undefined || this.currTable.fields === null ? '[]' :\n JSON.stringify(this.currTable.fields, null, '\\t');\n this.statesString = this.currTable.states === undefined || this.currTable.states === null ? '[]' :\n JSON.stringify(this.currTable.states, null, '\\t');\n }\n\n ngAfterContentInit(): void {\n\n }\n\n saveTable() {\n /*\n if (!this.fieldVerify()) {\n this.chGlobal.showMessage(MessageType.error, 'Error en la configuración de los campos',\n 'La definción de los campos no es valida. Revíselos antes de guardar la tabla');\n return;\n }\n */\n\n if (this.calcscript.trim() === '') {\n if (this.currTable.scripts !== undefined && this.currTable.scripts !== null &&\n this.currTable.scripts.length > 0) {\n this.currTable.scripts.shift();\n }\n } else {\n if (this.currTable.scripts !== undefined && this.currTable.scripts !== null && this.currTable.scripts.length > 0) {\n this.currTable.scripts[0].script = this.calcscript; // btoa(this.calcscript);\n this.currTable.scripts[0].name = this.scriptname.trim();\n } else {\n this.currTable.scripts = [ new CHTableScript(this.scriptname.trim(), this.calcscript ) ]; //btoa(this.calcscript)) ];\n }\n }\n // Los campos de la tabla\n try {\n //console.log(this.fieldsString);\n const newFields = transformAndValidateSync(ChDataTableField, this.fieldsString, { transformer : { strategy: 'excludeAll'} });\n // const newFields = deserializeArray(ChDataTableField, this.fieldsString); //JSON.parse(this.fieldsString);\n //console.log(newFields);\n this.currTable.fields = newFields as ChDataTableField[];\n } catch(e) {\n const message = this.codeErrorToString(e);\n console.log(message);\n this.chGlobal.showMessage(MessageType.error, 'Error de codificación de los campos', message, 6000, true);\n return;\n }\n\n // Los estados de la tabla\n try {\n const newFields = transformAndValidateSync(CHTableState, this.statesString, { transformer : { strategy: 'excludeAll'} });\n // const newFields = deserializeArray(ChDataTableField, this.fieldsString); //JSON.parse(this.fieldsString);\n // console.log(newFields);\n this.currTable.states = newFields as CHTableState[];\n } catch(e) {\n const message = this.codeErrorToString(e);\n console.log(message);\n this.chGlobal.showMessage(MessageType.error, 'Error de codificación de los estados', message, 6000, true);\n return;\n }\n //console.log(this.currTable);\n\n if (this.currTable.tableId !== undefined && this.currTable.tableId !== null && this.currTable.tableId !== '') {\n this.chGlobal.showRunningWindowWithParams( 'Guardando tabla %1', [this.currTable.name]);\n this.chGlobal.saveTableConfig(this.currTable.tableId, this.currTable)\n .then( value => {\n this.chGlobal.hideRunningWindow();\n // console.log(value)\n if (value['result'] === OpResult.OK) {\n this.chGlobal.showMessage(MessageType.success, 'Operación efectuada', 'Tabla guardada');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando la tabla');\n }\n })\n .catch(error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'La tabla no ha podido ser guardada');\n });\n this.updateTableValues(this.currTable);\n } else {\n this.chGlobal.showRunningWindowWithParams( 'Creando tabla %1', [this.currTable.name]);\n this.chGlobal.createTableConfig(this.currTable)\n .then( value => {\n this.chGlobal.hideRunningWindow();\n //console.log(value);\n if (value === OpResult.OK) {\n this.chGlobal.showMessage(MessageType.success, 'Operación efectuada', 'Tabla Creada');\n this.router.navigate(['../../dbeditor'], { relativeTo: this.route });\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error creando la tabla');\n }\n })\n .catch(error => {\n console.log(error);\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'La tabla no ha podido ser guardada');\n });\n this.updateTableValues(this.currTable);\n }\n }\n\n codeErrorToString(e: any): string {\n let text = '';\n if (Array.isArray(e)) {\n for (let index = 0; index < e.length; index++) {\n if (e[index][0] !== undefined) {\n const row = e[index][0];\n //console.log(row);\n text = 'Error en el campo ';\n if (row['target']['name'] !== undefined ) {\n text += '\"' + row['target']['name'] + '\" ';\n } else {\n text += 'número ' + (index + 1).toString() + ' ';\n }\n text += 'propiedad \"' + row['property'].toString() + '\" :';\n for (const k in row['constraints']) {\n if (row['constraints'].hasOwnProperty(k)) {\n text += ' • ' + row['constraints'][k].toString();\n }\n }\n break;\n }\n }\n } else {\n text = e.toString();\n }\n return text;\n }\n\n removeField(f: ChDataTableField ) {\n\n ChSmallDialogComponent.show(\n this.modalService,\n { initialState : {\n data : { title1: 'Eliminar campo',\n title2: 'Desea eliminar el campo ' + f.name + '? ',\n message: 'La información se perderá definitivamente. '\n }\n },\n class: 'gray modal-sm',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n const index = this.currTable.fields.indexOf(f, 0);\n if (index > -1) {\n this.currTable.fields.splice(index, 1);\n }\n }\n );\n }\n\n editField(f: ChDataTableField ) {\n //console.log('EDIT');\n //console.log(f);\n\n ChTableEditorFieldDialogComponent.show(f,\n { initialState : {\n data : { title1: 'Editar campo',\n title2: 'Editar el campo ' + f.name + '? ',\n message: ''\n }\n },\n class: 'gray',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n\n }\n );\n\n }\n\n updateTableValues(model: any) {\n const originalTable = this.chGlobal.getTableFromId(this.tableId);\n if (originalTable === undefined || originalTable === null ) {\n return;\n }\n\n if (model.hasOwnProperty('name')) { originalTable.name = model.name; }\n if (model.hasOwnProperty('fields')) { originalTable.fields = model.fields; }\n if (model.hasOwnProperty('uniqueFields')) { originalTable.uniqueFields = model.uniqueFields; }\n if (model.hasOwnProperty('restricted')) { originalTable.restricted = model.restricted; }\n if (model.hasOwnProperty('userDependent')) { originalTable.userDependent = model.userDependent; }\n if (model.hasOwnProperty('closed')) { originalTable.closed = model.closed; }\n if (model.hasOwnProperty('insert')) { originalTable.insert = model.insert; }\n if (model.hasOwnProperty('modify')) { originalTable.modify = model.modify; }\n if (model.hasOwnProperty('reversed')) { originalTable.reversed = model.reversed; }\n if (model.hasOwnProperty('closerows')) { originalTable.closerows = model.closerows; }\n if (model.hasOwnProperty('statusfield')) { originalTable.statusfield = model.statusfield; }\n if (model.hasOwnProperty('validation')) { originalTable.validation = model.validation; }\n if (model.hasOwnProperty('form')) { originalTable.form = model.form; }\n if (model.hasOwnProperty('security')) { originalTable.security = model.security; }\n if (model.hasOwnProperty('scripts')) { originalTable.scripts = model.scripts; }\n if (model.hasOwnProperty('states')) { originalTable.states = model.states; }\n }\n}\n","export default \".ch-tree-container {\\n width: 100%;\\n height: 100%;\\n padding: 10px;\\n color: inherit;\\n background-color: #EFEFEF;\\n border: thin solid #e7eaec;\\n padding: 3px 10px;\\n font-size: 14px;\\n}\\n\\n.tree-node-icon {\\n margin-right: 5px;\\n font-size: 110%;\\n}\\n\\n.tree-node-icon.fa.fa-folder {\\n color: darkgreen;\\n}\\n\\n.tree-node-icon.fa.fa-file-text-o {\\n color: darkolivegreen;\\n}\\n\\n.tree-node-icon.fa.fa-file-o {\\n color: lightgray;\\n}\\n\\n.tree-node-icon.fa.fa-css3 {\\n color: lightcoral;\\n}\\n\\n.tree-node-icon.fa.fa-file-code-o {\\n color: darkgoldenrod;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kZXNpZ24vY2gtcGFnZS1icm93c2VyLWNvbnRyb2wvY2gtcGFnZS1icm93c2VyLmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2NoaWwvZGVzaWduL2NoLXBhZ2UtYnJvd3Nlci1jb250cm9sL2NoLXBhZ2UtYnJvd3Nlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSx5QkN5RGlCO0VEeERqQiwwQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBRUZGOztBRktBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0FFRkY7O0FGTUE7RUFDRSxnQkFBQTtBRUhGOztBRk1BO0VBQ0UscUJBQUE7QUVIRjs7QUZLQTtFQUNFLGdCQUFBO0FFRkY7O0FGSUE7RUFDRSxpQkFBQTtBRURGOztBRkdBO0VBQ0Usb0JBQUE7QUVBRiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZGVzaWduL2NoLXBhZ2UtYnJvd3Nlci1jb250cm9sL2NoLXBhZ2UtYnJvd3Nlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4uY2gtdHJlZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItYms7XG4gIGJvcmRlcjogdGhpbiBzb2xpZCAkcHJpbWFyeS1jb2xvci1iay1ib3JkZXI7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50cmVlLW5vZGUtaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBmb250LXNpemU6IDExMCU7XG59XG5cblxuLnRyZWUtbm9kZS1pY29uLmZhLmZhLWZvbGRlciB7XG4gIGNvbG9yOiBkYXJrZ3JlZW47XG59XG5cbi50cmVlLW5vZGUtaWNvbi5mYS5mYS1maWxlLXRleHQtbyB7XG4gIGNvbG9yOiBkYXJrb2xpdmVncmVlbjtcbn1cbi50cmVlLW5vZGUtaWNvbi5mYS5mYS1maWxlLW8ge1xuICBjb2xvcjogbGlnaHRncmF5O1xufVxuLnRyZWUtbm9kZS1pY29uLmZhLmZhLWNzczMge1xuICBjb2xvcjogbGlnaHRjb3JhbDtcbn1cbi50cmVlLW5vZGUtaWNvbi5mYS5mYS1maWxlLWNvZGUtbyB7XG4gIGNvbG9yOiBkYXJrZ29sZGVucm9kO1xufVxuIiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIiwiLmNoLXRyZWUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4gIGJvcmRlcjogdGhpbiBzb2xpZCAjZTdlYWVjO1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udHJlZS1ub2RlLWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZm9udC1zaXplOiAxMTAlO1xufVxuXG4udHJlZS1ub2RlLWljb24uZmEuZmEtZm9sZGVyIHtcbiAgY29sb3I6IGRhcmtncmVlbjtcbn1cblxuLnRyZWUtbm9kZS1pY29uLmZhLmZhLWZpbGUtdGV4dC1vIHtcbiAgY29sb3I6IGRhcmtvbGl2ZWdyZWVuO1xufVxuXG4udHJlZS1ub2RlLWljb24uZmEuZmEtZmlsZS1vIHtcbiAgY29sb3I6IGxpZ2h0Z3JheTtcbn1cblxuLnRyZWUtbm9kZS1pY29uLmZhLmZhLWNzczMge1xuICBjb2xvcjogbGlnaHRjb3JhbDtcbn1cblxuLnRyZWUtbm9kZS1pY29uLmZhLmZhLWZpbGUtY29kZS1vIHtcbiAgY29sb3I6IGRhcmtnb2xkZW5yb2Q7XG59Il19 */\"","import {Component, OnInit } from '@angular/core';\nimport { TREE_ACTIONS, KEYS, IActionMapping, ITreeOptions } from 'angular-tree-component';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChPageNode, ChPageRef } from '../ch-page-ref';\n\n@Component({\n selector: 'ch-page-browser-control',\n templateUrl: './ch-page-browser.component.html',\n styleUrls: ['./ch-page-browser.component.scss']\n})\nexport class ChPageBrowserControl implements OnInit {\n\n private sitePages: Array = [];\n\n private nodes : Array = [];\n\n options: ITreeOptions = {\n displayField: 'name',\n isExpandedField: 'expanded',\n idField: 'uid',\n hasChildrenField: 'nodes',\n actionMapping: {\n mouse: {\n dblClick: (tree, node, $event) => {\n if (node.hasChildren) TREE_ACTIONS.TOGGLE_EXPANDED(tree, node, $event);\n }\n },\n keys: {\n [KEYS.ENTER]: (tree, node, $event) => {\n node.expandAll();\n }\n }\n },\n nodeHeight: 23,\n allowDrag: (node) => {\n return true;\n },\n allowDrop: (node) => {\n return true;\n },\n allowDragoverStyling: true,\n levelPadding: 10,\n useVirtualScroll: true,\n animateExpand: true,\n scrollOnActivate: true,\n animateSpeed: 30,\n animateAcceleration: 1.2,\n scrollContainer: document.documentElement // HTML\n }\n\n constructor(private chGlobal: ChGlobalsService) { }\n\n\n ngOnInit() {\n console.log('Cargando páginas!')\n this.chGlobal.getSitePages()\n .then( pages => {\n this.sitePages = pages;\n this.loadTree();\n });\n }\n\n getNodeIconClass(datatype: string) : string {\n switch(datatype) {\n case 'folder':\n return 'fa-folder';\n case 'js':\n return 'fa-file-code-o';\n case 'page':\n return 'fa-file-text-o';\n case 'template':\n return 'fa-file-o';\n case 'css':\n return 'fa-css3';\n case 'fragment':\n return 'fa-code';\n default:\n return '';\n }\n }\n\n loadTree() {\n const files = [new ChPageNode('10','Templates','Templates','folder',\n this.sitePages.filter( p => p.type == 'template').map( p => { return ChPageNode.from(p); })) ]\n .concat( this.sitePages.filter( p => p.type == 'page').map( p => { return ChPageNode.from(p); }));\n\n console.log(files)\n this.nodes = [\n new ChPageNode('1','Páginas web','Páginas web','folder', files ),\n new ChPageNode('2','Esquemas CSS','Esquemas CSS','folder',\n this.sitePages.filter( p => p.type == 'css').map( p => { return ChPageNode.from(p); })),\n new ChPageNode('3','Fragmentos','Fragmentos','folder',\n this.sitePages.filter( p => p.type == 'fragment').map( p => { return ChPageNode.from(p); })),\n new ChPageNode('4','Scripts','Scripts','folder',\n this.sitePages.filter( p => p.type == 'js').map( p => { return ChPageNode.from(p); })),\n new ChPageNode('5','Otros','Otros','folder', undefined)\n ];\n };\n\n}\n","import { isNullOrUndefined } from \"util\";\n\n\n export class ChPageRef {\n uid = '';\n name = '';\n title = '';\n slug = '';\n status = 0;\n type = '';\n templateName = '';\n visibility = '';\n\n static from( source: object) : ChPageRef {\n\n const newPage = new ChPageRef;\n newPage.uid = isNullOrUndefined(source['uid']) ? '' : source['uid'];\n newPage.name = isNullOrUndefined(source['name']) ? '' : source['name'];\n newPage.slug = isNullOrUndefined(source['slug']) ? '' : source['slug'];\n newPage.title = isNullOrUndefined(source['title']) ? '' : source['title'];\n newPage.type = isNullOrUndefined(source['type']) ? '' : source['type'];\n newPage.status = isNullOrUndefined(source['status']) ? 0 : source['status'];\n newPage.templateName = isNullOrUndefined(source['templateName']) ? '' : source['templateName'];\n newPage.visibility = isNullOrUndefined(source['visibility']) ? '' : source['visibility'];\n\n return newPage;\n }\n\n get getKey() {\n switch(this.type) {\n case 'Stylesheet':\n return 'css/'+this.name;\n case 'Javascript':\n return 'js/'+this.name;\n case 'Fragment':\n return 'fragments/'+this.name;\n case 'Page':\n return 'pages/'+this.name;\n\n\n default:\n return this.name;\n }\n }\n\n }\n\n export class ChPageNode extends ChPageRef {\n\n children? : Array = undefined;\n\n constructor(uid: string, name: string, title: string, type: string, children? : Array) {\n super();\n this.uid = uid; this.name = name; this.title = title; this.type = type; this.children = children;\n }\n\n static from( source: object) : ChPageNode {\n const newNode = new ChPageNode('','','','', undefined);\n\n newNode.uid = isNullOrUndefined(source['uid']) ? '' : source['uid'];\n newNode.name = isNullOrUndefined(source['name']) ? '' : source['name'];\n newNode.slug = isNullOrUndefined(source['slug']) ? '' : source['slug'];\n newNode.title = isNullOrUndefined(source['title']) ? '' : source['title'];\n newNode.type = isNullOrUndefined(source['type']) ? '' : source['type'];\n newNode.status = isNullOrUndefined(source['status']) ? 0 : source['status'];\n newNode.templateName = isNullOrUndefined(source['templateName']) ? '' : source['templateName'];\n\n newNode.children = isNullOrUndefined(source['children']) ? undefined : source['children'];\n\n return newNode;\n }\n }\n","export default \".nav > li > a {\\n padding-left: 5px;\\n padding-top: 10px;\\n padding-bottom: 5px;\\n padding-right: 10px;\\n color: #676a6c;\\n font-weight: 400;\\n font-size: 10px;\\n text-transform: uppercase;\\n color: #676a6c;\\n background-color: transparent;\\n}\\n\\n.selected {\\n color: #7A2184 !important;\\n /* font-weight: bold !important; */\\n text-decoration: underline;\\n /* background-color: $selected-item-color-bk !important; */\\n}\\n\\n.nav > li > a:hover {\\n color: #7A2184;\\n}\\n\\n.nav > li.active {\\n border-left: 4px solid #f09b00;\\n color: inherit;\\n /* background: inherit; */\\n}\\n\\n.nav > li.active > a {\\n color: inherit;\\n}\\n\\n.nav > li {\\n border-left: 4px solid transparent;\\n color: inherit;\\n background: inherit;\\n}\\n\\n.nav-second-level li a {\\n padding-left: 32px;\\n padding-top: 5px;\\n padding-bottom: 5px;\\n}\\n\\n.ch-conf-area {\\n font-size: larger;\\n background-color: transparent;\\n}\\n\\n.chil-nav-icon {\\n width: 15px;\\n height: 15px;\\n margin: -3px 4px 0px 0px;\\n padding: 0px;\\n}\\n\\n.ch-web-status {\\n padding-top: 2px;\\n padding-bottom: 2px;\\n padding-left: 7px;\\n padding-right: 7px;\\n text-transform: uppercase;\\n font-size: smaller;\\n color: white;\\n background-color: #C4A855;\\n}\\n\\n.ch-web-status-active {\\n background-color: green;\\n}\\n\\n.ch-web-status-inactive {\\n background-color: darkred;\\n}\\n\\n.ch-web-status-other {\\n background-color: gray;\\n}\\n\\n/* TABLA DE FICHEROS */\\n\\n.table-bordered.config-files-table {\\n font-size: 16px;\\n width: 100%;\\n}\\n\\n.table-bordered.config-files-table thead > tr > th {\\n padding: 2px 5px;\\n}\\n\\n.table-bordered.config-files-table tr > td {\\n padding: 2px 5px;\\n cursor: default;\\n}\\n\\n.table-bordered.config-files-table tr > td.table-file-type {\\n text-transform: uppercase;\\n font-size: 80%;\\n}\\n\\n.table-bordered.config-files-table tr:hover {\\n color: #f09b00;\\n background-color: #EFEFEF;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kZXNpZ24vY2gtd2ViLWRlc2lnbi1yb290L2NoLXdlYi1kZXNpZ24tcm9vdC5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9jaGlsL2Rlc2lnbi9jaC13ZWItZGVzaWduLXJvb3QvY2gtd2ViLWRlc2lnbi1yb290LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksaUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQ0VTO0VERFQsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxjQzBEaUI7RUR6RGpCLDZCQUFBO0FFREo7O0FGSUE7RUFDSSx5QkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSwwREFBQTtBRURKOztBRklBO0VBQ0ksY0MyRGtCO0FDNUR0Qjs7QUZHQTtFQUNJLDhCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0FFQUo7O0FGR0E7RUFDSSxjQUFBO0FFQUo7O0FGR0E7RUFDSSxrQ0FBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtBRUFKOztBRkdBO0VBQ0ksa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FFQUo7O0FGR0E7RUFDSSxpQkFBQTtFQUNBLDZCQUFBO0FFQUo7O0FGR0E7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHdCQUFBO0VBQ0EsWUFBQTtBRUFKOztBRkdBO0VBQ0ksZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0FFQUo7O0FGR0E7RUFDSSx1QkFBQTtBRUFKOztBRkdBO0VBQ0kseUJBQUE7QUVBSjs7QUZHQTtFQUNJLHNCQUFBO0FFQUo7O0FGR0Esc0JBQUE7O0FBQ0E7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBRUFGOztBRkVFO0VBQ0UsZ0JBQUE7QUVBSjs7QUZHRTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtBRURKOztBRklFO0VBQ0UseUJBQUE7RUFDQSxjQUFBO0FFRko7O0FGS0U7RUFDRSxjQ3RDWTtFRHVDWix5QkN0Q2U7QUNtQ25CIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9kZXNpZ24vY2gtd2ViLWRlc2lnbi1yb290L2NoLXdlYi1kZXNpZ24tcm9vdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLm5hdiA+IGxpID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgIC8qIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3ItYmsgIWltcG9ydGFudDsgKi9cbn1cblxuLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yO1xufVxuLm5hdiA+IGxpLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiBiYWNrZ3JvdW5kOiBpbmhlcml0OyAqL1xufVxuXG4ubmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5uYXYgPiBsaSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXG59XG4ubmF2LXNlY29uZC1sZXZlbCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4uY2gtY29uZi1hcmVhIHtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmNoaWwtbmF2LWljb24ge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW46IC0zcHggNHB4IDBweCAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4uY2gtd2ViLXN0YXR1cyB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRBODU1O1xufVxuXG4uY2gtd2ViLXN0YXR1cy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xufVxuXG4uY2gtd2ViLXN0YXR1cy1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDtcbn1cblxuLmNoLXdlYi1zdGF0dXMtb3RoZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG59XG5cbi8qIFRBQkxBIERFIEZJQ0hFUk9TICovXG4udGFibGUtYm9yZGVyZWQuY29uZmlnLWZpbGVzLXRhYmxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3aWR0aDogMTAwJTtcblxuICB0aGVhZCA+IHRyID4gdGgge1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gIH1cblxuICB0ciA+IHRkIHtcbiAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIHRyID4gdGQudGFibGUtZmlsZS10eXBlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgdHI6aG92ZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1iaztcbiAgfVxuXG59XG4iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iLCIubmF2ID4gbGkgPiBhIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogIzY3NmE2YztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzY3NmE2YztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWxlY3RlZCB7XG4gIGNvbG9yOiAjN0EyMTg0ICFpbXBvcnRhbnQ7XG4gIC8qIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7ICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvci1iayAhaW1wb3J0YW50OyAqL1xufVxuXG4ubmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM3QTIxODQ7XG59XG5cbi5uYXYgPiBsaS5hY3RpdmUge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmMDliMDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiBiYWNrZ3JvdW5kOiBpbmhlcml0OyAqL1xufVxuXG4ubmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubmF2ID4gbGkge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLm5hdi1zZWNvbmQtbGV2ZWwgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogMzJweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmNoLWNvbmYtYXJlYSB7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmNoaWwtbmF2LWljb24ge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBtYXJnaW46IC0zcHggNHB4IDBweCAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbn1cblxuLmNoLXdlYi1zdGF0dXMge1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgcGFkZGluZy1yaWdodDogN3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M0QTg1NTtcbn1cblxuLmNoLXdlYi1zdGF0dXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG59XG5cbi5jaC13ZWItc3RhdHVzLWluYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDtcbn1cblxuLmNoLXdlYi1zdGF0dXMtb3RoZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xufVxuXG4vKiBUQUJMQSBERSBGSUNIRVJPUyAqL1xuLnRhYmxlLWJvcmRlcmVkLmNvbmZpZy1maWxlcy10YWJsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udGFibGUtYm9yZGVyZWQuY29uZmlnLWZpbGVzLXRhYmxlIHRoZWFkID4gdHIgPiB0aCB7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG4udGFibGUtYm9yZGVyZWQuY29uZmlnLWZpbGVzLXRhYmxlIHRyID4gdGQge1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4udGFibGUtYm9yZGVyZWQuY29uZmlnLWZpbGVzLXRhYmxlIHRyID4gdGQudGFibGUtZmlsZS10eXBlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiA4MCU7XG59XG4udGFibGUtYm9yZGVyZWQuY29uZmlnLWZpbGVzLXRhYmxlIHRyOmhvdmVyIHtcbiAgY29sb3I6ICNmMDliMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG59Il19 */\"","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChWebUploadZipWindow } from '../ch-web-upload-zip-window/ch-web-upload-zip-window.component';\n\n@Component({\n selector: 'ch-web-design-root',\n templateUrl: './ch-web-design-root.component.html',\n styleUrls: ['./ch-web-design-root.component.scss']\n})\nexport class ChWebDesignRootComponent implements OnInit {\n\n private webStartup = {\n status : 'active'\n };\n constructor(private chGlobal: ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n\n getStatusName() : string {\n return this.webStartup.status == 'active' ? 'ACTIVO' : 'INACTIVO';\n }\n\n dummy(event) {\n console.log(event);\n }\n\n downloadZip() {\n this.chGlobal.downloadSite()\n .then(res => {\n console.log('start download:',res);\n var url = window.URL.createObjectURL(res['data']);\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.setAttribute('style', 'display: none');\n a.href = url;\n a.download = res['filename'];\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove(); // remove the element\n }, error => {\n console.log('download error:', JSON.stringify(error));\n });\n }\n\n uploadZip() {\n ChWebUploadZipWindow.show(this.chGlobal.getGroupInfo().uid,\n { initialState : {\n data : {\n title: 'Importar diseño en la web',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n this.updateDesignFiles();\n }\n );\n }\n\n updateDesignFiles() {\n\n }\n\n}\n","export default \".execute-button-area {\\n padding: 10px;\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9kZXNpZ24vY2gtd2ViLXVwbG9hZC16aXAtd2luZG93L2NoLXdlYi11cGxvYWQtemlwLXdpbmRvdy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY2hpbC9kZXNpZ24vY2gtd2ViLXVwbG9hZC16aXAtd2luZG93L2NoLXdlYi11cGxvYWQtemlwLXdpbmRvdy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9kZXNpZ24vY2gtd2ViLXVwbG9hZC16aXAtd2luZG93L2NoLXdlYi11cGxvYWQtemlwLXdpbmRvdy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGVjdXRlLWJ1dHRvbi1hcmVhIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLmV4ZWN1dGUtYnV0dG9uLWFyZWEge1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59Il19 */\"","import { OnInit, Component, AfterViewInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from '../../forms/ch-form/ch-form';\nimport { MessageType } from '../../chilweb/ch-globals-def';\nimport { BehaviorSubject} from 'rxjs';\n\nimport * as JSZip from \"jszip\";\nimport { ChPageRef } from '../ch-page-ref';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-web-upload-zip-window',\n templateUrl: './ch-web-upload-zip-window.component.html',\n styleUrls: ['../../forms/forms.scss','./ch-web-upload-zip-window.component.scss']\n})\nexport class ChWebUploadZipWindow implements OnInit, AfterViewInit {\n\n private static hostUid: string = '';\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChWebUploadZipWindow = null;\n private progressAdv: BehaviorSubject = new BehaviorSubject(0);\n\n private title: String = 'Importar diseño en la web';\n private buttonText: String = 'Importar';\n\n private file: object | null = null;\n private deleteFiles: boolean = true;\n\n private filesRef: {type: string, name: string, key: string, content: string}[] = [];\n private pagesRef : ChPageRef[] = [];\n private isRunning = false;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(hostUid: string, config?: ModalOptions, callback?: Function ) {\n ChWebUploadZipWindow.hostUid = hostUid;\n ChWebUploadZipWindow.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChWebUploadZipWindow.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n if (executeCallback) {\n ChWebUploadZipWindow.callback();\n }\n ChGlobalsService.getInstance().hideModalWindow(ChWebUploadZipWindow.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n ChWebUploadZipWindow.currentWindow = this;\n }\n\n ngOnInit() {\n\n }\n\n ngAfterViewInit() {\n }\n\n openExecution() {\n this.isRunning = true;\n }\n\n closeExecution(ok: Boolean, errorMsg: string) {\n if (!ok) {\n console.log('--------- E R R O R ----------')\n console.log(errorMsg)\n console.log('--------------------------------')\n\n }\n this.isRunning = false;\n }\n\n import() {\n if (this.isRunning){\n return;\n }\n\n this.openExecution();\n\n this.doImport();\n\n }\n\n async doImport() {\n\n console.log('--------------------------------')\n console.log(' E J E C U T A N D O ')\n console.log('--------------------------------')\n\n console.log(this.filesRef)\n console.log(this.pagesRef)\n\n console.log('--- RESET SITE -----------------')\n\n if (await this.chGlobal.resetSite() ==false) {\n this.closeExecution(false, 'El sitio no ha podido ser borrado');\n return;\n }\n\n console.log('--- CREAR WEB RESOURCES ---------')\n\n for (var index = 0; index < this.pagesRef.length; index++) {\n const t: ChPageRef = this.pagesRef[index];\n if (t.type != 'Page') {\n console.log(' * ' + t.name);\n\n const fileRef = this.filesRef.find( f => f.key == t.getKey);\n if (fileRef == undefined) {\n this.closeExecution(false, 'El fichero ' + t.getKey + ' no está en el ZIP');\n return;\n }\n\n const wrUid = await this.chGlobal.createWebResource(t.name, t.type, fileRef.content);\n\n if (wrUid == undefined || wrUid == null ||wrUid == '') {\n this.closeExecution(false, 'El recurso ' + t.name + ' no ha podido ser creado.');\n return;\n }\n\n t.uid = wrUid;\n }\n }\n\n console.log('--- CREAR TEMPLATES ------------')\n\n for (var index = 0; index < this.pagesRef.length; index++) {\n const t: ChPageRef = this.pagesRef[index];\n if (t.type == 'Page' && t.templateName == '') {\n console.log(' * ' + t.name);\n\n const fileRef = this.filesRef.find( f => f.key == t.getKey);\n if (fileRef == undefined) {\n this.closeExecution(false, 'El fichero ' + t.getKey + ' no está en el ZIP');\n return;\n }\n\n const templateUid = await this.chGlobal.createPage(t.name, t.title, t.slug, t.status, '');\n\n if (templateUid == undefined || templateUid == null || templateUid == '') {\n this.closeExecution(false, 'El template ' + t.name + ' no ha podido ser creado.');\n return;\n }\n\n const updateResult = await this.chGlobal.updatePageContent(templateUid, fileRef.content);\n\n if (updateResult == false) {\n this.closeExecution(false, 'El template ' + t.name + ' no ha podido ser cargado.');\n return;\n }\n t.uid = templateUid;\n }\n }\n\n console.log('-------- CREAR PAGINAS -----------')\n\n for (var index = 0; index < this.pagesRef.length; index++) {\n const t: ChPageRef = this.pagesRef[index];\n if (t.type == 'Page' && t.templateName != '') {\n console.log(' * ' + t.name);\n\n const fileRef = this.filesRef.find( f => f.key == t.getKey);\n if (fileRef == undefined) {\n this.closeExecution(false, 'El fichero ' + t.getKey + ' no está en el ZIP');\n return;\n }\n\n const template = this.pagesRef.find( f => f.name == t.templateName);\n if (template == undefined) {\n this.closeExecution(false, 'El template ' + t.templateName + ' no está en el ZIP');\n return;\n }\n\n const pageUid = await this.chGlobal.createPage(t.name, t.title, t.slug, t.status, template.uid);\n\n if (pageUid == undefined || pageUid == null || pageUid == '') {\n this.closeExecution(false, 'La página ' + t.name + ' no ha podido ser creada.');\n return;\n }\n\n const updateResult = await this.chGlobal.updatePageContent(pageUid, fileRef.content);\n\n if (updateResult == false) {\n this.closeExecution(false, 'La página ' + t.name + ' no ha podido ser cargada.');\n return;\n }\n t.uid = pageUid;\n }\n }\n\n\n\n\n\n\n\n console.log('--------------------------------')\n\n\n await setTimeout( () => {}, 5000);\n\n this.closeExecution(true,'');\n }\n\n decline() {\n ChWebUploadZipWindow.hide(false);\n }\n\n validate(model: object): Boolean {\n if (model['name'].trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'La familia de categorías no puede tener un nombre vacío');\n return false;\n }\n return true;\n }\n\n async onChangeFile(event) {\n if (this.file == null) return;\n\n this.filesRef = [];\n\n try {\n const zip = await JSZip.loadAsync(this.file);\n const filesInZip = Object.keys(zip.files);\n filesInZip.forEach(key => {\n const file = zip.files[key];\n if (file.name == 'index.json') {\n file.async('text').then( txt => {\n //console.log(txt)\n const jsonData = JSON.parse(txt);\n console.log(jsonData)\n this.pagesRef = jsonData.map( v => { return ChPageRef.from(v);})\n //console.log(this.pagesRef);\n });\n } else {\n const fileName = file.name.split('/');\n file.async('text').then( txt => {\n //console.log(this.pagesRef);\n this.filesRef.push({\n name : fileName[1],\n type : fileName[0],\n key : key,\n content : txt\n });\n });\n }\n\n });\n } catch (err) {\n console.error(err);\n }\n }\n\n getNodeIconClass(datatype: string) : string {\n switch(datatype) {\n case 'folder':\n return 'fa-folder';\n case 'js':\n return 'fa-file-code-o';\n case 'pages':\n return 'fa-file-text-o';\n case 'template':\n return 'fa-file-o';\n case 'css':\n return 'fa-css3';\n case 'fragments':\n return 'fa-code';\n default:\n return '';\n }\n }\n}\n","export default \":host {\\n height: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC1keW5wYW5lbC1jYXJkL2NoLWR5bnBhbmVsLWNhcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2R5bnBhbmVsL2NoLWR5bnBhbmVsLWNhcmQvY2gtZHlucGFuZWwtY2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGhlaWdodDogMTAwJTtcbn0iXX0= */\"","import { Component, OnInit, Input} from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-dynpanel-card',\n templateUrl: './ch-dynpanel-card.component.html',\n styleUrls: ['./ch-dynpanel-card.component.css']\n})\nexport class ChDynpanelCardComponent implements OnInit {\n\n @Input() title: String = '';\n @Input() uid: String = '';\n @Input() titleSelected: String = '';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \":host {\\n height: 100%;\\n}\\n\\n.container {\\n height: 100%;\\n width: 100%;\\n display: flex;\\n /* or inline-flex */\\n flex-direction: column;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n align-items: flex-start;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n padding: 0px;\\n}\\n\\n.right-config {\\n display: block;\\n float: none;\\n margin-top: 0;\\n position: relative;\\n padding: 0;\\n text-align: right;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC1keW5wYW5lbC1pdGVtL2NoLWR5bnBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvZHlucGFuZWwvY2gtZHlucGFuZWwtaXRlbS9jaC1keW5wYW5lbC1pdGVtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0ksWUFBQTtBQ0FKOztBREdBO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQWUsbUJBQUE7RUFDZixzQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMkJBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUNBQUE7RUFDQSw0Q0FBQTtFQUNBLFlBQUE7QUNDSjs7QURHQTtFQUNJLGNBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0FDQUoiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2R5bnBhbmVsL2NoLWR5bnBhbmVsLWl0ZW0vY2gtZHlucGFuZWwtaXRlbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuOmhvc3Qge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IC8qIG9yIGlubGluZS1mbGV4ICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IFxuICAgIHBhZGRpbmc6IDBweDtcblxufVxuXG4ucmlnaHQtY29uZmlnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0XG59IiwiOmhvc3Qge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiBvciBpbmxpbmUtZmxleCAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4ucmlnaHQtY29uZmlnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufSJdfQ== */\"","import { Component, OnInit, ViewContainerRef, TemplateRef, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { collectExternalReferences } from '@angular/compiler/src/output/output_ast';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-dynpanel-item',\n templateUrl: './ch-dynpanel-item.component.html',\n styleUrls: ['./ch-dynpanel-item.component.scss']\n})\nexport class ChDynPanelItemComponent implements OnInit {\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService,private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) { \n }\n\n\n ngOnInit() {\n }\n\n}\n","export default \"/*\\n:host {\\n width: 100%;\\n padding: 0px; \\n}\\n*/\\n.container {\\n height: 100%;\\n width: 100%;\\n display: flex; /* or inline-flex */\\n flex-direction: row;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n align-items: flex-start;\\n overflow-x: auto;\\n overflow-y: hidden;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar; \\n background-color: inherit;\\n padding: 0px;\\n margin-bottom: 0px;\\n margin-top: 5px;\\n margin-left: -10px;\\n margin-right: 0px;\\n}\\n.child {\\n flex: 0 0 auto;\\n height: 100%;\\n width: 200px; /* Or whatever */\\n margin: auto; /* Magic! */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC1keW5wYW5lbC9jaC1keW5wYW5lbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztDQUtDO0FBQ0Q7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsaUNBQWlDO0lBQ2pDLDRDQUE0QztJQUM1Qyx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjtBQUVBO0VBQ0UsY0FBYztFQUNkLFlBQVk7RUFDWixZQUFZLEdBQUcsZ0JBQWdCO0VBQy9CLFlBQVksR0FBRyxXQUFXO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC1keW5wYW5lbC9jaC1keW5wYW5lbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbjpob3N0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBweDsgXG59XG4qL1xuLmNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IC8qIG9yIGlubGluZS1mbGV4ICovXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmNoaWxkIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDIwMHB4OyAgLyogT3Igd2hhdGV2ZXIgKi9cbiAgbWFyZ2luOiBhdXRvOyAgLyogTWFnaWMhICovXG59Il19 */\"","import { Component, AfterViewInit, ViewContainerRef, HostListener, ElementRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-dynpanel',\n templateUrl: './ch-dynpanel.component.html',\n styleUrls: ['./ch-dynpanel.component.css']\n})\nexport class ChDynPanelComponent implements AfterViewInit {\n\n @ViewChild('root', { static: false}) area: ElementRef;\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService,private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) { }\n\n ngAfterViewInit(): void {\n this.area.nativeElement.style.height = (window.innerHeight - 170) + 'px';\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: any) {\n console.log(' * RESIZE : ' + event.target.innerWidth + ', ' + event.target.innerHeight);\n // this.area.nativeElement.style.width = (event.target.innerWidth - 300) + 'px'; // 250\n this.area.nativeElement.style.height = (event.target.innerHeight - 170) + 'px';\n // console.log(this.area);\n }\n}\n\n/*\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-dynpanel-item',\n template: '
',\n styles: [' :host { height: 100%; background-color: blue} ' ]\n})\nexport class ChDynPanelItemComponent implements OnInit {\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService,private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) { }\n\n ngOnInit() {\n }\n\n}\n*/","import { Input, HostBinding, Component } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-workgroup-item',\n template: '',\n })\n// tslint:disable-next-line:component-class-suffix\nexport class ChWorkgroupItem {\n\n @HostBinding('style.width') width = '100%';\n @HostBinding('style.height') height = '100%';\n @HostBinding('style.padding-right') paddingRight = '0px';\n @HostBinding('style.padding-bottom') paddingBottom = '0px';\n @HostBinding('style.display') display = 'block';\n @Input() size = '*';\n @Input() minsize = '';\n @Input() maxsize = '';\n\n}\n","export default \":host {\\n margin: 0px;\\n padding: 0px;\\n}\\n\\n.workgroup-container {\\n margin: inherit;\\n padding: inherit;\\n width: inherit; \\n height: inherit; \\n display: block; /* or inline-flex */\\n flex-direction: row; \\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n align-items: flex-start;\\n overflow-x: auto;\\n overflow-y: hidden;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar; \\n background-color: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC13b3JrZ3JvdXAvY2gtd29ya2dyb3VwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7SUFDZixjQUFjLEdBQUcsbUJBQW1CO0lBQ3BDLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGlDQUFpQztJQUNqQyw0Q0FBNEM7SUFDNUMseUJBQXlCO0FBQzdCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC13b3JrZ3JvdXAvY2gtd29ya2dyb3VwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4ud29ya2dyb3VwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7IFxuICAgIGhlaWdodDogaW5oZXJpdDsgXG4gICAgZGlzcGxheTogYmxvY2s7ICAvKiBvciBpbmxpbmUtZmxleCAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IFxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59Il19 */\"","import { Component, Input, ContentChildren, AfterContentInit } from '@angular/core';\nimport { ResizedEvent } from 'angular-resize-event';\nimport { ChWorkgroupItem } from '../ch-workgroup-item/ch-workgroup-item';\nimport { ChWorkPanelComponent } from '../ch-workpanel/ch-workpanel.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-workgroup',\n templateUrl: './ch-workgroup.component.html',\n styleUrls: ['./ch-workgroup.component.css'],\n providers: [{ provide: ChWorkgroupItem, useExisting: ChWorkGroupComponent }]\n})\nexport class ChWorkGroupComponent extends ChWorkgroupItem implements AfterContentInit {\n\n @Input() orientation = 'horizontal'; // Orientación: horizontal / vertical\n @Input() margin = 3; // Margen entre elementos en px;\n @Input() uid = ''; // Margen entre elementos en px;\n\n private children: Array = undefined;\n\n @ContentChildren(ChWorkgroupItem , {descendants: false}) components;\n // @ContentChildren(ChWorkgroupItem, {descendants: false}) panels: QueryList;\n\n constructor() {\n super();\n }\n\n ngAfterContentInit() {\n // contentChildren is set\n this.children = this.components.filter((panel, index) => { return index > 0; }).map( (panel, index) => {\n const s = panel.size;\n if (s.endsWith('px')) {\n const size = s.replace('px', '');\n return { size: Number(size), unit: 'px' , object: panel};\n } else if (s.endsWith('*')) {\n const size = s.replace('*', '');\n return { size: size === '' ? 1 : Number(size), unit: '*' , object: panel};\n }\n });\n\n }\n /*\n onResized(event: ResizedEvent) {\n const newWidth = event.newWidth;\n const newHeight = event.newHeight;\n\n // tslint:disable-next-line:whitespace\n this.newSize( Number(newWidth), Number(newHeight), Number(this.margin); // Unica forma de convertirlos en número en Angular\n }\n */\n public newSize(newWidth: number, newHeight: number, margin: number) {\n // console.log(' * NEWWIDTH : ' + newWidth + ', NEWHEIGHT : ' + newHeight);\n // console.log(this);\n\n if (this.children === undefined) { // Eso es que se ha llamado a la función antes de inicializar\n return;\n }\n\n const measure = this.orientation === 'vertical' ? +newHeight : +newWidth;\n\n this.calculaReparto(measure, margin);\n // console.log(' SIZE : ' + measure);\n // console.log( this.children );\n this.children.forEach( (child, index, array) => {\n setTimeout(() => {\n const target: object = child['object'];\n // tslint:disable-next-line:whitespace\n const newSize: number = child['newSize']*1;\n if (this.orientation === 'vertical') {\n target['width'] = newWidth + 'px';\n target['height'] = newSize + 'px';\n target['paddingBottom'] = index === (array.length - 1) ? '0px' : margin + 'px';\n if (target instanceof ChWorkGroupComponent) {\n target.newSize(newWidth, newSize - (index === (array.length - 1) ? 0 : margin), margin );\n }\n target['display'] = 'block';\n } else {\n target['height'] = newHeight + 'px';\n target['width'] = newSize + 'px';\n target['paddingRight'] = index === (array.length - 1) ? '0px' : margin + 'px';\n if (target instanceof ChWorkGroupComponent) {\n target.newSize(newSize - (index === (array.length - 1) ? 0 : margin), newHeight , margin );\n }\n }\n\n });\n });\n\n }\n\n public setMargin(newMargin: number) {\n // tslint:disable-next-line:whitespace\n this.margin = newMargin;\n }\n\n private calculaReparto( totalMeasure: number, margin: number) {\n\n let fixedPixels = 0;\n let fixedAsterisk = 0;\n const nMaxIndex = this.children.length - 1;\n // console.log('calculaReparto');\n this.children.forEach( (element, index) => {\n // tslint:disable-next-line:whitespace\n const size: number = parseInt(element['size'], 10);\n const unit: string = element['unit'];\n // console.log(element)\n // console.log(element['visible'])\n if (unit === 'px') {\n fixedPixels += size;\n fixedPixels += index !== nMaxIndex ? +margin : 0;\n } else if (unit === '*') {\n fixedPixels += index !== nMaxIndex ? +margin : 0;\n fixedAsterisk += size;\n }\n });\n\n const freePixels = totalMeasure - fixedPixels;\n let remainingPixels = totalMeasure;\n\n this.children.forEach ( (element, index) => {\n const size: number = parseInt(element['size'], 10);\n const unit: string = element['unit'];\n /*\n console.log(' - SIZE : ' + size + ' UNITS : ' + unit + ' SET :'\n + (size + margin) + ' OTROS :' + (size+size) + ' ' + (margin+margin)\n + ' OTROS(+) :' + ((+size)+(+size)) + ' ' + ((+margin)+(+margin))\n + ' OTROS(Number) :' + (Number(size)+Number(+size)) + ' ' + (Number(margin)+Number(margin))\n + ' OTROS(*1) :' + ((size*1)+(size*1)) + ' ' + ((margin*1)+(margin*1)) ) ; */\n if (index === nMaxIndex) {\n element['newSize'] = Math.max(remainingPixels, 100);\n } else if (unit === 'px') {\n const newSize = size + margin;\n remainingPixels -= newSize;\n element['newSize'] = newSize;\n } else {\n const newSize = Math.max( (size / fixedAsterisk) * freePixels, 100) + margin;\n element['newSize'] = newSize;\n remainingPixels -= newSize;\n }\n });\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZHlucGFuZWwvY2gtd29ya3BhbmVsL2NoLXdvcmtwYW5lbC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input, HostBinding, OnChanges, SimpleChanges } from '@angular/core';\nimport { ChWorkgroupItem } from '../ch-workgroup-item/ch-workgroup-item';\nimport { basename } from 'path';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-workpanel',\n templateUrl: './ch-workpanel.component.html',\n styleUrls: ['./ch-workpanel.component.css'],\n providers: [{ provide: ChWorkgroupItem, useExisting: ChWorkPanelComponent }]\n})\nexport class ChWorkPanelComponent extends ChWorkgroupItem implements OnInit, OnChanges {\n\n @Input() label = '';\n @Input() uid = '';\n @Input() visible = true;\n @Input() isWorking = false;\n @Input() containerclass = '';\n \n @HostBinding('style.visibility') visibility = 'visible';\n @HostBinding('class.animated') animated = false;\n @HostBinding('class.fadeInRight') fadeInRight = false;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible']) {\n if (this.visible) {\n this.visibility = 'visible';\n this.animated = true;\n this.fadeInRight = true;\n } else {\n this.animated = false;\n this.fadeInRight = false;\n this.visibility = 'hidden';\n }\n }\n }\n\n}\n","export default \"/*\\n.container {\\n height: 100%;\\n width: 100%;\\n display: flex; \\n flex-direction: row;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n align-items: flex-start;\\n overflow-x: auto;\\n overflow-y: hidden;\\n -webkit-overflow-scrolling: touch;\\n -ms-overflow-style: -ms-autohiding-scrollbar; \\n background-color: inherit;\\n padding: 0px;\\n margin-bottom: 0px;\\n margin-top: 5px;\\n margin-left: -10px;\\n margin-right: 0px;\\n}\\n\\n.child {\\n flex: 0 0 auto;\\n height: 100%;\\n width: 200px; \\n margin: auto; \\n}\\n\\n*/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9keW5wYW5lbC9jaC13b3Jrc3BhY2UvY2gtd29ya3NwYWNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E0QkMiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2R5bnBhbmVsL2NoLXdvcmtzcGFjZS9jaC13b3Jrc3BhY2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4uY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDsgXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmNoaWxkIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDIwMHB4OyBcbiAgbWFyZ2luOiBhdXRvOyAgXG59XG5cbiovIl19 */\"","import { Component, AfterViewInit, ViewContainerRef, HostListener, ElementRef, ViewChild, Input, ContentChildren } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ChWorkGroupComponent } from '../ch-workgroup/ch-workgroup.component';\nimport { ResizedEvent } from 'angular-resize-event';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-workspace',\n templateUrl: './ch-workspace.component.html',\n styleUrls: ['./ch-workspace.component.css']\n})\n\nexport class ChWorkSpaceComponent implements AfterViewInit {\n\n @Input() margins = 3; // Margenes internos en px (El mismo para margenes horizontales y verticales)\n @Input() orientation = 'horizontal'; // Orientación del workgroup raiz\n @Input() bottomgap = 170; //Margen con respecto al fondo, no se poeque hace falta\n\n @ViewChild('root', { static: false}) root: ElementRef;\n @ContentChildren(ChWorkGroupComponent , {descendants: true}) groups;\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private modalService: BsModalService,\n private router: Router) { }\n\n ngAfterViewInit(): void {\n const newHeight = window.innerHeight - this.bottomgap;\n this.root.nativeElement.style.height = newHeight + 'px';\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: any) {\n // console.log(' * ON RESIZE EVENT: ' );\n const newHeight = event.target.innerHeight - this.bottomgap;\n this.root.nativeElement.style.height = newHeight + 'px';\n }\n\n onResized(event: ResizedEvent) {\n const newWidth = event.newWidth;\n const newHeight = event.newHeight;\n\n // console.log(this.groups);\n // console.log(' * RESIZE SPACE : ' + newWidth + ' * ' + newHeight);\n // tslint:disable-next-line:whitespace\n // this.newSize( Number(newWidth), Number(newHeight), Number(this.margin); // Unica forma de convertirlos en número en Angular\n if (this.groups !== undefined && this.groups.first !== undefined) {\n this.groups.first.newSize(+event.newWidth, +event.newHeight, +this.margins);\n }\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZXJyb3JzL2Vycm9yNDA0L2Vycm9yNDA0LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'app-error404',\n templateUrl: './error404.component.html',\n styleUrls: ['./error404.component.css']\n})\nexport class Error404Component implements OnInit {\n\n translate : TranslateService;\n isLoading : boolean;\n\n constructor(translate : TranslateService) { \n this.translate = translate;\n this.isLoading = true;\n }\n\n ngOnInit() {\n this.isLoading = false;\n }\n\n}\n","import { Component, Input, Output, EventEmitter, ContentChildren, QueryList, AfterContentInit, ElementRef } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-form',\n template: '
'\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChForm implements AfterContentInit {\n\n private _value: object = {};\n private isSetting = false;\n\n @Input() onWindow: Boolean = false;\n @Input() get value() {\n // console.log(' * FORM GET NUEVO VALOR :' + this._value.toString());\n // console.log(this._value);\n return this._value;\n };\n @Output() valueChange = new EventEmitter();\n @Output() dirty = new EventEmitter();\n\n set value(val) {\n // console.log(' * FORM SET NUEVO VALOR :' + val.toString());\n // console.log(val);\n this._value = val;\n this.loadValues();\n this.valueChange.emit(this._value);\n };\n\n @ContentChildren(ChFormsControl, {descendants: true, read: ChFormsControl}) componentList: QueryList;\n\n ngAfterContentInit() {\n if (this.componentList !== undefined && this.componentList !== null ) {\n this.componentList.toArray().forEach(\n (item) => {\n item.onWindow = this.onWindow;\n });\n }\n this.loadValues();\n }\n\n public loadValues() {\n if (this.isSetting) {\n return;\n }\n this.isSetting = true;\n if (this._value != undefined && this._value != null && this.componentList !== undefined && this.componentList !== null ) {\n // console.log(' * CHFORM: Loadvalues');\n // 1. Primer algoritmo. asigna unicamente las propiedades que ya existan en el\n // objeto de destino, vamos a dejarlo porque impide que los objetos evolucionen\n /*\n this.componentList.toArray().forEach(\n (item) => {\n const tagName = item.name;\n // console.log(' - ' + tagName + ' + ' + this._value[tagName as PropertyKey]);\n if ( tagName !== '' && this._value.hasOwnProperty(tagName as PropertyKey)) {\n item.assignValueToObject(this._value, tagName as PropertyKey);\n }\n // console.log(item);\n });\n */\n //console.log('form set values')\n // 2. Segundo algoritmo. asigna las propiedades existan o no en el\n // objeto de destino, permite que los objetos evolucionen\n this.componentList.toArray().forEach(\n (item) => {\n //console.log(item.name)\n const tagName = item.name;\n if (tagName !== undefined && tagName !== null && tagName !== '') {\n if (!tagName.includes('.')) {\n //2.1 Caso más sencillo. La propiedad es simple\n // (No pertenece a un objeto secundario)\n item.assignValueToObject(this._value, tagName as PropertyKey);\n item.valueChange.subscribe( v => this.setDirty());\n } else {\n // 2.2 Caso más complejo hay objetos secundarios\n const tags = tagName.split('.');\n var ref = this._value;\n tags.forEach( (tag, index) => {\n //console.log(ref);\n //console.log(tag);\n if (index == (tags.length -1)) {\n item.assignValueToObject(ref, tag as PropertyKey);\n item.valueChange.subscribe( v => this.setDirty());\n } else {\n if (ref[tag] == undefined && ref[tag] == null) {\n ref[tag] = {};\n }\n ref = ref[tag];\n }\n })\n }\n }\n\n const tagName2 = item.name2;\n if (tagName2 !== undefined && tagName2 !== null && tagName2 !== '') {\n if (!tagName2.includes('.')) {\n //2.1 Caso más sencillo. La propiedad es simple\n // (No pertenece a un objeto secundario)\n item.assignValueToObject2(tagName2 as PropertyKey);\n item.value2Change.subscribe( v => this.setDirty());\n } else {\n // 2.2 Caso más complejo hay objetos secundarios\n const tags = tagName2.split('.');\n var ref = this._value;\n tags.forEach( (tag, index) => {\n if (index == (tags.length -1)) {\n item.assignValueToObject2(tag as PropertyKey);\n item.value2Change.subscribe( v => this.setDirty());\n } else {\n if (ref[tag] == undefined && ref[tag] == null) {\n ref[tag] = {};\n }\n ref = ref[tag];\n }\n })\n }\n }\n\n });\n\n }\n this.isSetting = false;\n }\n\n public updateValues(name : string) {\n if (this.isSetting) {\n return;\n }\n this.isSetting = true;\n console.log(\"Update \" + name);\n\n if (this._value != undefined && this._value != null && this.componentList !== undefined && this.componentList !== null ) {\n this.componentList.toArray().forEach(\n (item) => {\n const tagName = item.name;\n //console.log(\" \" + tagName);\n if (tagName !== undefined && tagName !== null && tagName !== '') {\n if (!tagName.includes('.')) {\n //2.1 Caso más sencillo. La propiedad es simple\n // (No pertenece a un objeto secundario)\n if (name == '' || name == tagName) {\n item.assignValueToObject(this._value, tagName as PropertyKey);\n }\n } else {\n // 2.2 Caso más complejo hay objetos secundarios\n const tags = tagName.split('.');\n var ref = this._value;\n var refreshItem = false;\n tags.forEach( (tag, index) => {\n refreshItem = refreshItem || name == '' || name == tag;\n //console.log(ref);\n //console.log(tag);\n if (index == (tags.length -1)) {\n if (refreshItem) {\n item.assignValueToObject(ref, tag as PropertyKey);\n }\n } else {\n if (ref[tag] == undefined && ref[tag] == null) {\n ref[tag] = {};\n }\n ref = ref[tag];\n }\n })\n }\n }\n\n const tagName2 = item.name2;\n if (tagName2 !== undefined && tagName2 !== null && tagName2 !== '') {\n if (!tagName2.includes('.')) {\n //2.1 Caso más sencillo. La propiedad es simple\n // (No pertenece a un objeto secundario)\n if (name == '' || name == tagName2) {\n item.assignValueToObject2(tagName2 as PropertyKey);\n }\n } else {\n // 2.2 Caso más complejo hay objetos secundarios\n const tags = tagName2.split('.');\n var ref = this._value;\n var refreshItem = false;\n tags.forEach( (tag, index) => {\n refreshItem = refreshItem || name == '' || name == tag;\n if (index == (tags.length -1)) {\n if (refreshItem) {\n item.assignValueToObject2(tag as PropertyKey);\n }\n } else {\n if (ref[tag] == undefined && ref[tag] == null) {\n ref[tag] = {};\n }\n ref = ref[tag];\n }\n })\n }\n }\n });\n }\n this.isSetting = false;\n }\n\n public readSimpleValue(name : string) : object | null {\n if (this.isSetting) {\n return;\n }\n this.isSetting = true;\n //console.log(\"Read \" + name);\n\n var valueResult: object | null = null;\n this.componentList.toArray().forEach(\n (item) => {\n if (item.name === name) {\n valueResult = item.value;\n return;\n }\n });\n this.isSetting = false;\n return valueResult;\n }\n\n setDirty() {\n if (this.isSetting) {\n return;\n }\n this.isSetting = true;\n this.dirty.emit();\n this.isSetting = false;\n }\n}\n","import { Component, Input, OnInit, ViewChild, AfterViewInit, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChImageCropperDialogComponent } from '../../images/ch-image-cropper-dialog/ch-image-cropper-dialog.component';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFileSelectWindowComponent} from '../../cloud/ch-file-select-window/ch-file-select-window.component';\n\nimport * as piexif from 'piexifjs';\nimport { ChFileCompact } from 'app/chil/cloud/ch-file';\nimport { isNullOrUndefined } from 'util';\nimport { ChAttachment } from 'app/chil/post/ch-post';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-attachments-picker',\n templateUrl: './ch-forms-attachments-picker.html',\n styleUrls: ['../ch-forms.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{ provide: ChFormsControl, useExisting: ChFormsAttachmentsPicker }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsAttachmentsPicker extends ChFormsControl implements OnInit, AfterViewInit {\n\n @Input() height = 150;\n @Input() formratio = undefined; // Relacion entre el ancho y el alto de la imagen\n @Input() targetdir = undefined; // Uid del directorio de destino\n @Input() valtype = 'file'; // 'file', 'attachment, 'string'\n @Input() maxSizeX = 800; // Máxima dimension horizontal de la imagen redimensionada (muy alto, tamaño natural)\n @Input() maxSizeY = 800; // Máxima dimension vertical de la imagen redimensionada (muy alto, tamaño natural)\n @Input() backgroundColor = 'transparent'; // Color de fondo\n @Input() fname = undefined; // Nombre del fichero\n @Input() description = undefined; // Descripción del fichero\n @Input() printExif = false; // Imprime los datos de EXIF de la foto sobre ella: nombre/fecha/posicion\n @Input() filetypes = 'documents'; // Tipos de fichero permitidos\n\n @ViewChild('inputMultDoc', { static: true}) inputMultDoc: any;\n\n private imagewidth = 400;\n private imageheight = 100;\n\n private fileName = '';\n private fileType = '';\n private exifData = { fileName: '', date: '', location: ''};\n\n private isWorking = false;\n private isDownloading = false;\n\n constructor(private chGlobal: ChGlobalsService, private changeDetector: ChangeDetectorRef) {\n super();\n this.value = [];\n }\n\n ngOnInit(): void {\n this.calculateSize();\n }\n\n calculateSize() {\n\n this.imageheight = this.height - 20;\n this.imagewidth = this.imageheight;\n /*\n if (this.height < 50) {\n this.imageheight = this.height;\n this.imagewidth = this.imageheight * this.formratio;\n } else {\n this.imageheight = this.height - 20;\n if (this.formratio && this.formratio > 0.0) {\n if (this.formratio < 2.5) {\n this.imageheight *= 1.0;\n } else if (this.formratio < 3.0) {\n this.imageheight *= 0.9;\n } else if (this.formratio < 5) {\n this.imageheight *= 0.8;\n } else if (this.formratio < 8) {\n this.imageheight *= 0.7;\n } else {\n this.imageheight *= 0.6;\n }\n this.imagewidth = this.imageheight * this.formratio;\n } else {\n this.imagewidth = this.height * 2;\n }\n }\n */\n }\n\n ngAfterViewInit() {\n // init upload btn, after dom content loaded init down.\n\n console.log(this._value);\n setTimeout(() => {\n // tslint:disable-next-line:no-unused-expression\n // console.log(this.inputMultDoc);\n console.log(this._value);\n this.inputMultDoc.nativeElement.onchange = () => {\n const files = this.inputMultDoc.nativeElement.files;\n console.log(files);\n if (files && files.length > 0) {\n const file = files[0];\n // Only can upload pdf format.\n //if (!/(pdf|PDF)/.test(file.type)) {\n if (false) {\n // console.log(' - ERROR: Tipo equivocado');\n this.chGlobal.showMessage(MessageType.error, 'Tipo de fichero equivocado',\n 'Es necesario seleccionar un fichero de tipo PDF');\n } else {\n console.log(file);\n this.isWorking = true;\n this.chGlobal.addFile(file, { filename: this.fname, filedescr: this.description, folderUid: this.targetdir }).then( (result) => {\n if ( isNullOrUndefined(result)) {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Se ha producido un error subiendo el fichero al servidor. Disculpen las molestias');\n } else {\n const base = result;\n console.log(base);\n const newFile = ChFileCompact.fileFromObject(base);\n console.log(newFile);\n this.addFile(newFile);\n }\n this.isWorking = false;\n });\n };\n }\n };\n // console.log(this.inputMultDoc);\n }, 1000);\n }\n\n\n private loadEXIF(dataURL: string) {\n this.exifData = { fileName: this.fname, date: '', location: ''};\n try {\n const exifObj = piexif.load(dataURL);\n const imageDateTime = exifObj.Exif[piexif.ExifIFD.DateTimeOriginal];\n if (imageDateTime) {\n this.exifData.date = imageDateTime.toString(); // moment(imageDateTime).format('DD-MM-YYYY HH:mm:ss');\n }\n const imageLatitudeRef = exifObj.GPS[piexif.GPSIFD.GPSLatitudeRef];\n const imageLatitude = exifObj.GPS[piexif.GPSIFD.GPSLatitude];\n const imageLongitudeRef = exifObj.GPS[piexif.GPSIFD.GPSLongitudeRef];\n const imageLongitude = exifObj.GPS[piexif.GPSIFD.GPSLongitude];\n const imageAltitude = exifObj.GPS[piexif.GPSIFD.GPSAltitude];\n\n const formatCoords = (c: Array> ) => {\n return (c[0][0] / c[0][1]).toFixed(0) + 'º' +\n (c[1][0] / c[1][1]).toFixed(0) + '\\'' +\n (c[2][0] / c[2][1]).toFixed(2) + '\\'\\'';\n };\n\n if (imageLatitude && imageLongitude) {\n this.exifData.location = formatCoords(imageLatitude) + imageLatitudeRef + ' ' +\n formatCoords(imageLongitude) + imageLongitudeRef + ' ' +\n (imageAltitude[0] / imageAltitude[1]).toFixed(1) + 'm.';\n }\n } catch (err) {\n console.error(err);\n }\n\n }\n\n public onReturnData(data: any) {\n // Do what you want to do\n // console.warn(JSON.parse(data));\n }\n\n public openImagePicker(url: string, exifData: object) {\n ChImageCropperDialogComponent.show(\n {\n class: 'image-cropper-dialog',\n initialState: {url: url, autoCropArea: 0.95, aspectRatio: this.formratio,\n maxSizeX: this.maxSizeX, maxSizeY: this.maxSizeY, exif: this.printExif ? exifData : undefined},\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false,\n },\n (data: Blob) => {\n // console.log(data);\n const me = this;\n this.blobToDataURL(data)\n .then ((dataUrl: string) => {\n // me.dataURL = dataUrl; // Ahora lo ponemos\n });\n me.isWorking = true;\n\n const file = new File([data], this.fname /* this.fileName */, {type: this.fileType, lastModified: Date.now()});\n me.chGlobal.addFile(file, { filename: this.fname, filedescr: this.description, folderUid: this.targetdir }).then( (result) => {\n if (me.valtype === 'file') {\n me.value = file;\n } else {\n me.value = result['previewUrl'];\n }\n // me.value = result;\n me.isWorking = false;\n });\n });\n }\n\n\n\n public blobToDataURL(blob) {\n return new Promise((fulfill, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onload = (e) => fulfill(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n public dataURL(item: ChFileCompact | ChAttachment) : String{\n if (!item || item === null) {\n return '';\n } else {\n if (typeof item === 'string' || item instanceof String ) {\n return String(item);\n } else if (item['preview']) {\n return String(item['preview'].url);\n } else if (item['previewUrl']) {\n return String(item['previewUrl']);\n } else {\n return '';\n }\n }\n }\n\n selectCloud() {\n ChFileSelectWindowComponent.show(this.filetypes,\n { initialState : {\n data : {\n title: 'Seleccionar fichero',\n }\n },\n class: 'ch-modal-big',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (file: ChFileCompact) => {\n this.addFile(file);\n }\n );\n }\n\n addFile(file?: ChFileCompact){\n var newArray;\n if ( isNullOrUndefined(this.value)) {\n newArray = [];\n } else {\n newArray = [].concat(this.value);\n }\n if (file != undefined) {\n if (this.valtype === 'attachment') {\n newArray.push( ChAttachment.fromFile(file)); // this.value.push(file); //\n } else if (this.valtype === 'file') {\n newArray.push( file ); // this.value.push(file); //\n } else {\n newArray.push(file.previewUrl); // this.value.push(file.previewUrl); //\n }\n }\n\n this.value = newArray;\n\n //this.fileArray.push(file);\n this.changeDetector.detectChanges();\n }\n\n deleteFile(file: ChFileCompact) {\n console.log(file)\n const newArray = [].concat(this.value);\n const index = newArray.indexOf(file);\n //const index = this.value.indexOf(file);\n if (index > -1) {\n //this.value.splice(index, 1);\n newArray.splice(index, 1);\n this.value = newArray;\n }\n this.changeDetector.detectChanges();\n }\n\n public openFile(file: ChFileCompact) {\n if (!this.isDownloading && file.contentUrl !== '' ) {\n this.isDownloading = true;\n if (file.contentUrl.substr(0,4).toLowerCase() == 'http') {\n window.open(file.contentUrl);\n } else {\n window.open('https://chil.me' + file.contentUrl);\n }\n setTimeout(() => { this.isDownloading = false; }, 5000);\n }\n };\n\n}\n","import { Component, Input, Output, EventEmitter, ContentChildren,\n QueryList, ElementRef, AfterContentInit} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-button-group',\n templateUrl: './ch-forms-buttongroup.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsButtonGroup }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsButtonGroup extends ChFormsControl implements AfterContentInit {\n\n @Input() values: String = 'Norte,Sur,Este,Oeste';\n\n private valuesArray: Array = [];\n\n // @ContentChildren(ChFormsButtonGroupButton) buttonList: QueryList;\n\n ngAfterContentInit() {\n this.valuesArray = this.values.split(',');\n // console.log(this.valuesArray);\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { isArray, isNullOrUndefined } from 'util';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChCategoria, ChFamiliaCategoria } from 'app/chil/categories/ch-categoria';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-category-editor',\n templateUrl: './ch-forms-category-editor.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCategoryEditor }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCategoryEditor extends ChFormsControl implements OnInit {\n\n private catArray: any[] = [];\n @Input() size: String = 'normal'; // 'normal', 'big' o 'bigger'\n @Input() placeholder: String = '+ Categoría'; // 'normal', 'big' o 'bigger'\n @Input() familiasArray : ChFamiliaCategoria[] | null = null;\n\n private categoriesList = [];\n private categoryGroups = [];\n\n private isCatNew = false;\n private isRunning= false;\n private inputBox = null;\n private model: ChCategoria = new ChCategoria();\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n this.calculateCategories();\n }\n\n ngOnInit() {\n }\n\n private calculateCategories() {\n\n const families : ChFamiliaCategoria[] = this.familiasArray == null ? this.chGlobal.getGroupCategories() : this.familiasArray;\n this.categoriesList = [];\n this.categoryGroups = [];\n\n families.forEach (f => {\n this.categoryGroups.push( {uid: f.uid, name: f.name } );\n f.categories.forEach ( c => {\n this.categoriesList.push( c );\n })\n })\n }\n\n protected valueSetted(val) {\n // console.log(val)\n if (isNullOrUndefined(val)) {\n this.value = [];\n } else if (isArray(val)) {\n this.catArray = val;\n }\n }\n\n onDelete(tag){\n //console.log(\"Eliminar categoria\");\n //console.log(tag);\n const index = this.catArray.indexOf(tag);\n if (index > -1) {\n this.catArray.splice(index, 1);\n }\n }\n\n onAddTag(tagname){\n let newTag = {\n name: tagname.toLowerCase(),\n use: 'tag'\n };\n //console.log(\"Añadir categoria\");\n //console.log(newTag);\n this.catArray.push(newTag);\n\n }\n\n onSelect(event){\n // console.log('onSelect ' + event);\n }\n\n onNoFoundCategory(event){\n // console.log(event);\n // console.log('onNoFoundCategory ' + event.noMatch + ' ' + event.input.value);\n this.isCatNew = event.noMatch;\n if (this.isCatNew) {\n this.inputBox = event.input;\n this.model.uid = '';\n this.model.name = (' ' + this.inputBox.value).slice(1);\n if ( isNullOrUndefined(this.model.group) || this.model.group.uid == '') {\n this.model.group = { uid: '', name: '', color: 0 };\n }\n this.model.use = 'public';\n }\n }\n\n createCategory($event) {\n if (this.isRunning) {\n return;\n }\n /*\n console.log(\"NUEVA CATEGORIA\");\n console.log(this.model.name);\n console.log(this.model.group);\n console.log(this.model.use);\n */\n this.isRunning = true;\n\n this.chGlobal.addCategory(this.chGlobal.getGroupInfo().uid, this.model)\n .then( (value) => { // Acepted\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Categoría creada',\n 'La categoría ' + this.model['name'].trim() + ' Ha sido creada');\n this.catArray.push(this.model);\n this.model = new ChCategoria();\n this.calculateCategories();\n this.inputBox.value = '';\n this.isCatNew = false;\n\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n }\n this.isRunning = false;\n },\n (value) => { // Rejected\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La categoría no ha podido ser guardada en la base de datos.');\n this.isRunning = false;\n }\n );\n }\n\n}\n","export default \"::ng-deep .ng2-tag-input.foundation-theme {\\n display: block;\\n flex-direction: row;\\n flex-wrap: wrap;\\n position: relative;\\n cursor: text;\\n border-bottom: 0px transparent;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme:focus {\\n outline: 0;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--dropping {\\n opacity: 0.7;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--loading {\\n border: none;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme.ng2-tag-input--disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme .ng2-tags-container {\\n flex-wrap: wrap;\\n display: flex;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n font-weight: 200;\\n color: #676a6c;\\n border-radius: 12px;\\n height: 20px;\\n line-height: 19px;\\n background: #efefef;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n overflow: hidden;\\n outline: 0;\\n cursor: pointer;\\n position: relative;\\n padding-left: 17px;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(.readonly):not(.tag--editing):focus {\\n background: #c9c9c9;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(.readonly):not(.tag--editing):active {\\n background: #c9c9c9;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover {\\n background: #c9c9c9;\\n color: #676a6c;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.readonly {\\n cursor: default;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.readonly:focus, ::ng-deep .ng2-tag-input.foundation-theme tag:focus {\\n outline: 0;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag.tag--editing {\\n cursor: text;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon {\\n text-align: right;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon path {\\n fill: #676a6c;\\n}\\n::ng-deep .ng2-tag-input.foundation-theme tag delete-icon svg {\\n vertical-align: bottom;\\n height: 34px;\\n}\\n.tags-input__tag {\\n display: inline-block;\\n margin-bottom: 7px;\\n margin-right: 7px;\\n padding: 6px 10px;\\n border-radius: 14px;\\n cursor: pointer;\\n border: 1px solid lightgray;\\n}\\n.nav .label, .ibox .label {\\n font-size: 12px;\\n}\\n.ibox-title h5 {\\n white-space: nowrap;\\n width: 80%;\\n overflow: hidden;\\n}\\n.ibox-title {\\n border-width: 0px;\\n min-height: 40px;\\n}\\n.ibox-title.title-empty-category {\\n padding-top: 5px;\\n padding-right: 5px;\\n}\\n.ch-white-button-xs .glyphicon.glyphicon-plus {\\n margin-right: 5px;\\n}\\n/*\\n@keyframes open-edit-panels {\\n from {height: 84%}\\n to {height: 70%}\\n}\\n\\n@keyframes close-edit-panels {\\n from {height: 70%}\\n to {height: 84%}\\n}\\n*/\\n.list-category-container.modal-body {\\n width: 100%;\\n max-height: none;\\n height: 84%;\\n /*\\n animation-name: close-edit-panels;\\n animation-duration: 0.5s;\\n\\n &.foot-editor-open {\\n height: 70%;\\n animation-name: open-edit-panels;\\n animation-duration: 0.5s;\\n }\\n */\\n}\\n.modal-content .modal-footer {\\n overflow: hidden;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci13aW5kb3cvY2gtZm9ybXMtY2F0ZWdvcnktc2VsZWN0b3Itd2luZG93LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9ub2RlX21vZHVsZXMvbmd4LWNoaXBzL2NvcmUvc3R5bGVzL2NvcmUvX21peGlucy5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yLXdpbmRvdy9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci13aW5kb3cuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQkE7RUM5QkksY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBT0EsWUFBQTtFQUVBLDhCQUFBO0FDTko7QURVSTtFQUNJLFVBQUE7QUNSUjtBRFdJO0VBQ0ksWUFBQTtBQ1RSO0FEb0JJO0VBQ0ksWUFBQTtBQ2xCUjtBRHFCSTtFQUNJLFlBQUE7RUFDQSxtQkFBQTtBQ25CUjtBRDBCSTtFQUNJLGVBQUE7RUFDQSxhQUFBO0FDeEJSO0FGV0E7RUN3QkksYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUdBLGdCQUFBO0VBSUEsY0FBQTtFQUNBLG1CQUFBO0VBT0EsWUFBQTtFQUNBLGlCQUFBO0VBRUEsbUJBQUE7RUFFQSx5QkFBQTtLQUFBLHNCQUFBO01BQUEscUJBQUE7VUFBQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFRGhEQSxrQkFBQTtBRUtKO0FENkNJO0VBQ0ksbUJBQUE7QUMzQ1I7QURnREk7RUFDSSxtQkFBQTtBQzlDUjtBRG1ESTtFQUNJLG1CQUFBO0VBQ0EsY0FBQTtBQ2pEUjtBRHFESTtFQUNJLGVBQUE7QUNuRFI7QURzREk7RUFFSSxVQUFBO0FDckRSO0FEd0RJO0VBR0ksWUFBQTtBQ3hEUjtBRnJCQTtFQzJHSSxpQkFBQTtBQ2xGSjtBRG9GSTtFQUNJLGFBQUE7QUNsRlI7QURxRkk7RUFDSSxzQkFBQTtFQUNBLFlBQUE7QUNuRlI7QUYzQkE7RUFDSSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLDJCQUFBO0FFOEJKO0FGM0JBO0VBQ0ksZUFBQTtBRThCSjtBRjNCQTtFQUNFLG1CQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0FFOEJGO0FGM0JBO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBRThCRjtBRjNCQTtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7QUU4Qko7QUYxQkU7RUFDRSxpQkFBQTtBRTZCSjtBRjFCQTs7Ozs7Ozs7OztDQUFBO0FBV0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0E7Ozs7Ozs7OztHQUFBO0FFc0NGO0FGMUJBO0VBQ0UsZ0JBQUE7QUU2QkYiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yLXdpbmRvdy9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci13aW5kb3cuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJub2RlX21vZHVsZXMvbmd4LWNoaXBzL2NvcmUvc3R5bGVzL2NvcmUvX2NvcmUuc2Nzc1wiO1xuQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzXCI7XG5cblxuJGZvdW5kYXRpb24tcHJpbWFyeTogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcbiRmb3VuZGF0aW9uLXByaW1hcnktZGFyazogZGFya2VuKCRmb3VuZGF0aW9uLXByaW1hcnksIDE1JSk7XG5cbiRmb3VuZGF0aW9uLXRoZW1lOiAoXG4gICAgY29udGFpbmVyLWJvcmRlci1ib3R0b206IDBweCB0cmFuc3BhcmVudFxuKTtcblxuJGZvdW5kYXRpb24tdGFnLXRoZW1lOiAoXG4gICAgZm9udC13ZWlnaHQ6IDIwMCxcbiAgICBiYWNrZ3JvdW5kOiAkZm91bmRhdGlvbi1wcmltYXJ5LFxuICAgIGJhY2tncm91bmQtZm9jdXNlZDogJGZvdW5kYXRpb24tcHJpbWFyeS1kYXJrLFxuICAgIGJhY2tncm91bmQtYWN0aXZlOiAkZm91bmRhdGlvbi1wcmltYXJ5LWRhcmssXG4gICAgYmFja2dyb3VuZC1ob3ZlcjogJGZvdW5kYXRpb24tcHJpbWFyeS1kYXJrLFxuXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLFxuICAgIGNvbG9yLWhvdmVyOiAkdGV4dC1jb2xvcixcblxuICAgIGJvcmRlci1yYWRpdXM6IDEycHgsXG4gICAgaGVpZ2h0OiAyMHB4ICxcbiAgICBsaW5lLWhlaWdodDogMTlweFxuICAgICk7XG5cbiRmb3VuZGF0aW9uLWljb24tdGhlbWU6IChcbiAgICBmaWxsOiAkdGV4dC1jb2xvcixcbiAgICBmaWxsLWZvY3VzOiAkdGV4dC1jb2xvclxuKTtcblxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUge1xuICAgIEBpbmNsdWRlIHRhZy1pbnB1dC10aGVtZSgkZm91bmRhdGlvbi10aGVtZSk7XG59XG5cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZyB7XG4gICAgQGluY2x1ZGUgdGFnLXRoZW1lKCRmb3VuZGF0aW9uLXRhZy10aGVtZSk7XG4gICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xufVxuXG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcgZGVsZXRlLWljb24ge1xuICAgIEBpbmNsdWRlIGljb24tdGhlbWUoJGZvdW5kYXRpb24taWNvbi10aGVtZSk7XG59XG5cblxuLnRhZ3MtaW5wdXRfX3RhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XG59XG5cbi5uYXYgLmxhYmVsLCAuaWJveCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmlib3gtdGl0bGUgaDUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogODAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaWJveC10aXRsZSB7XG4gIGJvcmRlci13aWR0aDogMHB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4uaWJveC10aXRsZS50aXRsZS1lbXB0eS1jYXRlZ29yeSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5jaC13aGl0ZS1idXR0b24teHMge1xuICAuZ2x5cGhpY29uLmdseXBoaWNvbi1wbHVzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxufVxuLypcbkBrZXlmcmFtZXMgb3Blbi1lZGl0LXBhbmVscyB7XG4gIGZyb20ge2hlaWdodDogODQlfVxuICB0byB7aGVpZ2h0OiA3MCV9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtZWRpdC1wYW5lbHMge1xuICBmcm9tIHtoZWlnaHQ6IDcwJX1cbiAgdG8ge2hlaWdodDogODQlfVxufVxuKi9cbi5saXN0LWNhdGVnb3J5LWNvbnRhaW5lci5tb2RhbC1ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGhlaWdodDogODQlO1xuICAvKlxuICBhbmltYXRpb24tbmFtZTogY2xvc2UtZWRpdC1wYW5lbHM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcblxuICAgJi5mb290LWVkaXRvci1vcGVuIHtcbiAgICBoZWlnaHQ6IDcwJTtcbiAgICBhbmltYXRpb24tbmFtZTogb3Blbi1lZGl0LXBhbmVscztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIH1cbiAgKi9cbn1cblxuLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCJAbWl4aW4gdGFnLWlucHV0LXRoZW1lKCR0aGVtZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRoZW1lLCB0cmFuc2l0aW9uKTtcblxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZW1lLCAnY29udGFpbmVyLXBhZGRpbmcnKTtcbiAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2NvbnRhaW5lci1oZWlnaHQnKTtcblxuICAgIGN1cnNvcjogdGV4dDtcblxuICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZW1lLCAnY29udGFpbmVyLWJvcmRlci1ib3R0b20nKTtcbiAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCR0aGVtZSwgJ2JveC1zaGFkb3cnKTtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR0aGVtZSwgJ2JvcmRlci1yYWRpdXMnKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICYubmcyLXRhZy1pbnB1dC0tZHJvcHBpbmcge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuXG4gICAgJi5uZzItdGFnLWlucHV0LS1mb2N1c2VkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlbWUsICdjb250YWluZXItYm9yZGVyLWJvdHRvbS1mb2N1c2VkJyk7XG4gICAgfVxuXG4gICAgJi5uZzItdGFnLWlucHV0LS1pbnZhbGlkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlbWUsICdjb250YWluZXItYm9yZGVyLWJvdHRvbS1pbnZhbGlkJyk7XG4gICAgfVxuXG4gICAgJi5uZzItdGFnLWlucHV0LS1sb2FkaW5nIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgICYubmcyLXRhZy1pbnB1dC0tZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkdGhlbWUsICdjb250YWluZXItbWFyZ2luJyk7XG4gICAgfVxuXG4gICAgLm5nMi10YWdzLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbkBtaXhpbiBlcnJvci1tZXNzYWdlKCR0aGVtZSkge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdGhlbWUsICdlcnJvci1tZXNzYWdlLWZvbnQtc2l6ZScpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgJ2Vycm9yLW1lc3NhZ2UtY29sb3InKTtcbiAgICBtYXJnaW46IG1hcC1nZXQoJHRoZW1lLCAnZXJyb3ItbWVzc2FnZS1tYXJnaW4nKTtcbn1cblxuQG1peGluIHRhZy10aGVtZSgkdGhlbWUpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJHRoZW1lLCAnZm9udC1mYW1pbHknKTtcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlbWUsICdmb250LXdlaWdodCcpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdGhlbWUsICdmb250LXNpemUnKTtcbiAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkdGhlbWUsICdsZXR0ZXItc3BhY2luZycpO1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCAnY29sb3InKTtcbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR0aGVtZSwgJ2JvcmRlci1yYWRpdXMnKTtcblxuICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRoZW1lLCAndHJhbnNpdGlvbicpO1xuXG4gICAgbWFyZ2luOiBtYXAtZ2V0KCR0aGVtZSwgJ21hcmdpbicpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZW1lLCAncGFkZGluZycpO1xuXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2hlaWdodCcpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2xpbmUtaGVpZ2h0Jyk7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgJ2JhY2tncm91bmQnKTtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3V0bGluZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoLnJlYWRvbmx5KTpub3QoLnRhZy0tZWRpdGluZyk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgJ2JhY2tncm91bmQtZm9jdXNlZCcpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsICdjb2xvci1mb2N1c2VkJyk7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHRoZW1lLCAnYm94LXNoYWRvdycpO1xuICAgIH1cblxuICAgICY6bm90KC5yZWFkb25seSk6bm90KC50YWctLWVkaXRpbmcpOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCAnYmFja2dyb3VuZC1hY3RpdmUnKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCAnY29sb3ItYWN0aXZlJyk7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJHRoZW1lLCAnYm94LXNoYWRvdycpO1xuICAgIH1cblxuICAgICY6bm90KDpmb2N1cyk6bm90KC50YWctLWVkaXRpbmcpOm5vdCg6YWN0aXZlKTpub3QoLnJlYWRvbmx5KTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCAnYmFja2dyb3VuZC1ob3ZlcicpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsICdjb2xvci1ob3ZlcicpO1xuICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCR0aGVtZSwgJ2JveC1zaGFkb3cnKTtcbiAgICB9XG5cbiAgICAmLnJlYWRvbmx5IHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICYucmVhZG9ubHk6Zm9jdXMsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJi50YWctLWVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgJ2JhY2tncm91bmQtZWRpdGluZycpO1xuICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHRoZW1lLCAnYm9yZGVyLWVkaXRpbmcnKTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgIH1cbn1cblxuQG1peGluIHRhZy1pbnB1dC1mb3JtLXRoZW1lKCR0aGVtZSkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgYm9yZGVyOiBtYXAtZ2V0KCR0aGVtZSwgJ2lucHV0LWJvcmRlcicpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZW1lLCAnaW5wdXQtcGFkZGluZycpO1xuICAgIGhlaWdodDogbWFwLWdldCgkdGhlbWUsICdpbnB1dC1oZWlnaHQnKTtcblxuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdGhlbWUsICdpbnB1dC1mb250LXNpemUnKTtcbiAgICBmb250LWZhbWlseTogbWFwLWdldCgkdGhlbWUsICdmb250LWZhbWlseScpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZD10cnVlXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG59XG5cbkBtaXhpbiBpY29uLXRoZW1lKCR0aGVtZSkge1xuICAgIHdpZHRoOiBtYXAtZ2V0KCR0aGVtZSwgJ3dpZHRoJyk7XG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCR0aGVtZSwgJ2hlaWdodCcpO1xuICAgIHRyYW5zaXRpb246IG1hcC1nZXQoJHRoZW1lLCAndHJhbnNpdGlvbicpO1xuICAgIGRpc3BsYXk6IG1hcC1nZXQoJHRoZW1lLCAnZGlzcGxheScpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IG1hcC1nZXQoJHRoZW1lLCAnZmlsbCcpO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICB9XG59XG5cbkBtaXhpbiBpY29uLXRoZW1lLWZvY3VzZWQoJHRoZW1lKSB7XG4gICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IG1hcC1nZXQoJHRoZW1lLCAnZmlsbC1mb2N1cycpO1xuICAgIH1cbn1cbiIsIjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHRleHQ7XG4gIGJvcmRlci1ib3R0b206IDBweCB0cmFuc3BhcmVudDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lLm5nMi10YWctaW5wdXQtLWRyb3BwaW5nIHtcbiAgb3BhY2l0eTogMC43O1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUubmcyLXRhZy1pbnB1dC0tbG9hZGluZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lLm5nMi10YWctaW5wdXQtLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgLm5nMi10YWdzLWNvbnRhaW5lciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuOjpuZy1kZWVwIC5uZzItdGFnLWlucHV0LmZvdW5kYXRpb24tdGhlbWUgdGFnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzY3NmE2YztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE3cHg7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWc6bm90KC5yZWFkb25seSk6bm90KC50YWctLWVkaXRpbmcpOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2M5YzljOTtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZzpub3QoLnJlYWRvbmx5KTpub3QoLnRhZy0tZWRpdGluZyk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2M5YzljOTtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZzpub3QoOmZvY3VzKTpub3QoLnRhZy0tZWRpdGluZyk6bm90KDphY3RpdmUpOm5vdCgucmVhZG9ubHkpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgY29sb3I6ICM2NzZhNmM7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcucmVhZG9ubHkge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcucmVhZG9ubHk6Zm9jdXMsIDo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcudGFnLS1lZGl0aW5nIHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuXG46Om5nLWRlZXAgLm5nMi10YWctaW5wdXQuZm91bmRhdGlvbi10aGVtZSB0YWcgZGVsZXRlLWljb24ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZyBkZWxldGUtaWNvbiBwYXRoIHtcbiAgZmlsbDogIzY3NmE2Yztcbn1cbjo6bmctZGVlcCAubmcyLXRhZy1pbnB1dC5mb3VuZGF0aW9uLXRoZW1lIHRhZyBkZWxldGUtaWNvbiBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBoZWlnaHQ6IDM0cHg7XG59XG5cbi50YWdzLWlucHV0X190YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbn1cblxuLm5hdiAubGFiZWwsIC5pYm94IC5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmlib3gtdGl0bGUgaDUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogODAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaWJveC10aXRsZSB7XG4gIGJvcmRlci13aWR0aDogMHB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4uaWJveC10aXRsZS50aXRsZS1lbXB0eS1jYXRlZ29yeSB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmNoLXdoaXRlLWJ1dHRvbi14cyAuZ2x5cGhpY29uLmdseXBoaWNvbi1wbHVzIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi8qXG5Aa2V5ZnJhbWVzIG9wZW4tZWRpdC1wYW5lbHMge1xuICBmcm9tIHtoZWlnaHQ6IDg0JX1cbiAgdG8ge2hlaWdodDogNzAlfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlLWVkaXQtcGFuZWxzIHtcbiAgZnJvbSB7aGVpZ2h0OiA3MCV9XG4gIHRvIHtoZWlnaHQ6IDg0JX1cbn1cbiovXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIubW9kYWwtYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBoZWlnaHQ6IDg0JTtcbiAgLypcbiAgYW5pbWF0aW9uLW5hbWU6IGNsb3NlLWVkaXQtcGFuZWxzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG5cbiAgICYuZm9vdC1lZGl0b3Itb3BlbiB7XG4gICAgaGVpZ2h0OiA3MCU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG9wZW4tZWRpdC1wYW5lbHM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB9XG4gICovXG59XG5cbi5tb2RhbC1jb250ZW50IC5tb2RhbC1mb290ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufSJdfQ== */\"","import { OnInit, Component, AfterViewInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChGridContainer } from '../../../grid/ch-grid-container.component';\nimport { ChWorkPanelComponent } from '../../../dynpanel/ch-workpanel/ch-workpanel.component';\nimport { ChCategoria, ChFamiliaCategoria } from 'app/chil/categories/ch-categoria';\nimport { ChCategoryEditorWindowComponent } from 'app/chil/categories/ch-category-editor-window/ch-category-editor-window.component';\nimport { ChFamilyCategoryEditorWindowComponent } from 'app/chil/categories/ch-family-category-editor-window/ch-family-category-editor-window.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-category-selector-window',\n templateUrl: './ch-forms-category-selector-window.html',\n styleUrls: ['../../../forms/forms.scss', './ch-forms-category-selector-window.scss']\n})\nexport class ChFormsCategorySelectorWindow implements OnInit, AfterViewInit {\n\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChFormsCategorySelectorWindow = null;\n private static selectedCats : Object[] | null = null;\n private static editCategories = false;\n\n private fileType = '';\n private title = 'SELECCIONAR LAS CATEGORIAS NECESARIAS';\n private buttonText = 'Select';\n\n private editCategories = true;\n private isWorking = false;\n private selectedCats : Object[] | null = null;\n _blocked = false;\n\n private newFamilyEdit = false;\n private newCategoryEdit = false;\n\n familiaCategorias: ChFamiliaCategoria[] = null;\n\n public static show(selectedCats: Object[], editCategories : boolean, config?: ModalOptions, callback?: () => void ) {\n ChFormsCategorySelectorWindow.selectedCats = selectedCats;\n ChFormsCategorySelectorWindow.editCategories = editCategories;\n ChFormsCategorySelectorWindow.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChFormsCategorySelectorWindow.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n if (executeCallback) {\n ChFormsCategorySelectorWindow.callback();\n }\n ChGlobalsService.getInstance().hideModalWindow(ChFormsCategorySelectorWindow.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */\n private chGlobal: ChGlobalsService) {\n\n this.familiaCategorias = chGlobal.getGroupCategories();\n\n this.editCategories = ChFormsCategorySelectorWindow.editCategories;\n this.selectedCats = ChFormsCategorySelectorWindow.selectedCats;\n this.editCategories = ChFormsCategorySelectorWindow.editCategories;\n\n ChFormsCategorySelectorWindow.currentWindow = this;\n\n }\n\n ngOnInit() {\n\n\n //console.log(this.selectedCats);\n }\n\n ngAfterViewInit() {\n }\n\n confirm() {\n ChFormsCategorySelectorWindow.hide(true);\n }\n\n decline() {\n ChFormsCategorySelectorWindow.hide(false);\n }\n\n dummy(event) {\n console.log(event);\n }\n\n public onSelect(cat: Object) {\n // console.log(' * SELECT ')\n // console.log(cat)\n // console.log(this.selectedCats)\n\n if (!this.blocked()) {\n this.blockSelect();\n const index = this.selectedCats.findIndex( (t) => t['uid'] ? t['uid'] == cat['uid'] : t == cat );\n // console.log(index)\n if (index == -1 ) {\n // console.log(' - PUSH ')\n this.selectedCats.push(cat);\n } else {\n // console.log(' - POP ')\n this.selectedCats.splice(index, 1);\n }\n this.freeSelect();\n } else {\n this.freeSelect();\n }\n };\n\n blockSelect() {\n this._blocked = true;\n }\n\n freeSelect() {\n this._blocked = false;\n }\n\n blocked(): boolean {\n return this._blocked;\n }\n\n newCategory( family: ChFamiliaCategoria) {\n // this.model = new ChCategoria();\n this.newCategoryEdit = !this.newCategoryEdit;\n this.newFamilyEdit = false;\n\n const category = new ChCategoria();\n ChCategoryEditorWindowComponent.show(category,\n { initialState : {\n data : {\n title: category.uid !== '' ? 'Editar categoría' : 'Nueva categorías',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n this.cancelarEdicion();\n }\n );\n\n }\n\n newFamily() {\n this.newCategoryEdit = false;\n this.newFamilyEdit = !this.newFamilyEdit;\n\n const familia = new ChFamiliaCategoria();\n\n ChFamilyCategoryEditorWindowComponent.show(familia,\n { initialState : {\n data : {\n title: familia.uid !== '' ? 'Editar familia' : 'Nueva familia de categorías',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n this.cancelarEdicion();\n }\n );\n }\n\n cancelarEdicion() {\n this.newCategoryEdit = false;\n this.newFamilyEdit = false;\n }\n\n}\n","export default \".ng-select.ch-cat-select .ng-select-container {\\n min-height: 30px;\\n font-size: 14px;\\n padding: 3px;\\n padding-top: 3px;\\n padding-bottom: 3px;\\n width: 100%;\\n color: #416ED9;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n border-radius: 0;\\n box-shadow: none;\\n padding-top: 0px;\\n padding-bottom: 0px;\\n font-size: 11px;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container {\\n padding: 1px;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value {\\n font-size: 0.9em;\\n margin-right: 5px;\\n margin-bottom: 0px;\\n}\\n\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input {\\n padding-bottom: 0px;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon {\\n display: inline-block;\\n padding: 0px 3px;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label {\\n display: inline-block;\\n padding: 0px 5px 0px 0px;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left {\\n border-right: none;\\n}\\n\\n.ng-select.ch-cat-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-star-inserted {\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n background-color: #D1DADE;\\n color: #5E5E5E;\\n border-color: #D1DADE;\\n border-radius: 12px;\\n font-size: 12px;\\n font-weight: 600;\\n padding: 1px 4px;\\n margin-top: 2px;\\n}\\n\\n.ch-cat-select-item {\\n color: #416ED9;\\n font-size: 11px;\\n padding: 2px 10px 1px 2px;\\n margin: 1px;\\n}\\n\\n.ch-cat-select-item-categoria {\\n color: #416ED9;\\n font-weight: normal;\\n padding-left: 10px;\\n margin: 1px;\\n}\\n\\n.ch-cat-select-item-familia {\\n font-weight: bold;\\n margin: 1px;\\n margin-top: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yL2NoLWZvcm1zLWNhdGVnb3J5LXNlbGVjdG9yLnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDSSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0osV0FBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNGSjs7QURLQTtFQUNJLFlBQUE7QUNGSjs7QURLQTtFQUNJLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQ0ZKOztBREtBO0VBQ0ksbUJBQUE7QUNGSjs7QURLQTtFQUNJLHFCQUFBO0VBQ0EsZ0JBQUE7QUNGSjs7QURLQTtFQUNJLHFCQUFBO0VBQ0Esd0JBQUE7QUNGSjs7QURJQTtFQUNJLGtCQUFBO0FDREo7O0FESUE7RUFDSSx3RUFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QUNESjs7QURJQTtFQUNJLGNFNEdpQjtFRjNHakIsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtBQ0RKOztBREtBO0VBQ0ksY0VvR2lCO0VGbkdqQixtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBQ0ZKOztBREtBO0VBQ0ksaUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBQ0ZKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci9jaC1mb3Jtcy1jYXRlZ29yeS1zZWxlY3Rvci5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3NcIjtcblxuLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICM0MTZFRDk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDFweDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMHB4IDNweDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwcHggNXB4IDBweCAwcHg7XG59XG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZS5uZy1zdGFyLWluc2VydGVkIHtcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QxREFERTtcbiAgICBjb2xvcjogIzVFNUU1RTtcbiAgICBib3JkZXItY29sb3I6I0QxREFERTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDFweCA0cHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uY2gtY2F0LXNlbGVjdC1pdGVtIHtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMnB4IDEwcHggMXB4IDJweDtcbiAgICBtYXJnaW46IDFweDtcbn1cblxuXG4uY2gtY2F0LXNlbGVjdC1pdGVtLWNhdGVnb3JpYSB7XG4gICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG59XG5cbi5jaC1jYXQtc2VsZWN0LWl0ZW0tZmFtaWxpYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuIiwiLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAzcHg7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzQxNkVEOTtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jYXQtc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMXB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXQge1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwcHggM3B4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMHB4IDVweCAwcHggMHB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNhdC1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnQge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5uZy1zZWxlY3QuY2gtY2F0LXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctc3Rhci1pbnNlcnRlZCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMURBREU7XG4gIGNvbG9yOiAjNUU1RTVFO1xuICBib3JkZXItY29sb3I6ICNEMURBREU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMXB4IDRweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uY2gtY2F0LXNlbGVjdC1pdGVtIHtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogMnB4IDEwcHggMXB4IDJweDtcbiAgbWFyZ2luOiAxcHg7XG59XG5cbi5jaC1jYXQtc2VsZWN0LWl0ZW0tY2F0ZWdvcmlhIHtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgbWFyZ2luOiAxcHg7XG59XG5cbi5jaC1jYXQtc2VsZWN0LWl0ZW0tZmFtaWxpYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDFweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","import { Component, AfterContentInit, Input, ViewEncapsulation, ViewChild } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChFormsCategorySelectorWindow } from './ch-forms-category-selector-window/ch-forms-category-selector-window';\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-category-select',\n templateUrl: './ch-forms-category-selector.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-category-selector.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCategorySelector }],\n encapsulation: ViewEncapsulation.None\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCategorySelector extends ChFormsControl implements AfterContentInit {\n\n @Input() valuesArray = [];\n @Input() appendTo=\"body\";\n @Input() editCategories=false;\n\n @ViewChild(NgSelectComponent, { static: false}) selectControl: NgSelectComponent;\n\n set multiple(value: string) {\n if (value === 'true') {\n this.inputType = 'checkbox';\n } else {\n this.inputType = 'radio';\n }\n }\n private inputType = 'radio';\n\n private openBig = false;\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n let nCats = 0;\n const familiaCategorias = chGlobal.getGroupCategories();\n familiaCategorias.forEach( (familia) => {\n this.valuesArray.push({uid: familia.uid, name: familia.name, familia: true});\n familia.categories.forEach( (cat) => {\n nCats++;\n this.valuesArray.push({uid: cat.uid, name: cat.name, familia: false});\n });\n });\n\n this.openBig = nCats > 20;\n }\n\n ngAfterContentInit(): void {\n\n }\n\n dataChanged(data: Boolean) {\n\n }\n\n setValue(newValue: object) {\n // console.log(' * COMBO. New value :' + JSON.stringify(newValue));\n }\n\n onOpen(event: any) {\n //console.log( ' * OPEN');\n //console.log( this.value );\n\n this.selectControl.close();\n\n ChFormsCategorySelectorWindow.show(this.value, this.editCategories,\n { initialState : {\n data : {\n title: 'Seleccionar categorias',\n }\n },\n class: 'ch-modal-80',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n //console.log( ' * CERRAR');\n // console.log( this.value );\n\n const newSelectedItems = this.value.map( cat => {\n const existingOption : NgOption | undefined = this.selectControl.itemsList.items.find( i => i.value['uid'] == cat['uid']);\n if (existingOption) {\n //console.log(existingOption);\n return existingOption;\n } else {\n const newCatRef = {uid: cat['uid'], name: cat['name'], familia: false};\n this.valuesArray.push(newCatRef);\n const newItem = this.selectControl.itemsList.addItem(newCatRef);\n return newItem;\n }\n });\n const unselectedItems = this.selectControl.selectedItems.filter( i => this.value.findIndex( cat => i.value['uid'] == cat['uid'] ) == -1 )\n\n //console.log( newSelectedItems );\n //console.log( unselectedItems );\n\n // this.selectControl.itemsList.selectedItems.forEach( item => this.selectControl.unselect(item) );\n newSelectedItems.forEach( item => {\n if (item) {\n this.selectControl.select(item);\n }\n });\n unselectedItems.forEach( item => this.selectControl.unselect(item) );\n\n }\n );\n\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-check',\n templateUrl: './ch-forms-check.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCheck }]\n})\n\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCheck extends ChFormsControl {\n\n @Input() translateLabel = true;\n\n constructor(private chGlobal : ChGlobalsService) {\n super();\n }\n\n @Input() grouped: Boolean = undefined;\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtY2hlY2tncm91cC9jaC1mb3Jtcy1jaGVja2dyb3VwLmNzcyJ9 */\"","import { Component, Input, Output, EventEmitter, OnInit, ContentChildren, QueryList, AfterContentInit } from '@angular/core';\nimport { ChFormsCheck } from '../ch-forms-check/ch-forms-check';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-check-group',\n templateUrl: './ch-forms-checkgroup.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-checkgroup.css'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCheckGroup }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCheckGroup extends ChFormsControl implements AfterContentInit {\n\n @ContentChildren(ChFormsCheck) checkboxList: QueryList;\n\n ngAfterContentInit() {\n this.checkboxList.toArray().forEach(\n (item) => {\n item.valueChange.subscribe(\n (data: Boolean) => this.dataChanged(data),\n (error: any) => console.log(error));\n });\n }\n\n dataChanged(data: Boolean) {\n const newVal: Array = [];\n this.checkboxList.toArray().forEach(\n (item: ChFormsCheck) => {\n if (item.value) {\n newVal.push(item.name === '' ? item.label : item.name);\n }\n });\n if (this.value.length != newVal.length) {\n /*\n console.log('-- DATA CHANGED --')\n console.log(newVal)\n console.log('--- END CHANGED --')\n */\n this.setValueNoTreatment(newVal);\n }\n /* else {\n console.log('-- DATA CHANGED - NONE -')\n } */\n }\n\n protected valueSetted(val: Array ) {\n setTimeout( () => {\n //console.log('-- VALUE SETTED --')\n //console.log(val)\n val.forEach ( v => {\n this.checkboxList.toArray().forEach(\n (item: ChFormsCheck) => {\n\n if (item.name === v || item.label === v) {\n //console.log(' * ' + item.name + ' : ' + v + ' TRUE')\n item.setValueNoTreatment(true);\n //item.value = true;\n } else {\n //console.log(' - ' + item.name + ' : ' + v )\n }\n });\n });\n this.setValueNoTreatment(val);\n //console.log('--- END SETTED ---')\n }, 500);\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild, AfterViewInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport 'brace/theme/chrome';\nimport 'brace/mode/javascript';\nimport 'brace/mode/json';\nimport 'brace/mode/jsoniq';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-code',\n templateUrl: './ch-forms-code.component.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCode }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCode extends ChFormsControl implements AfterViewInit {\n\n static colors: String[] = null;\n\n @Input() height = 200;\n @Input() encode = false;\n @Input() model = 'javascript';\n protected _value: number | String = null;\n @Input()\n public get value() {\n return this._value;\n };\n public set value(val) {\n if (this._value === val) {\n return;\n }\n this._value = val;\n\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = val;\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n };\n\n private get source(): string {\n // console.log(' * GET CODE ');\n if (this.encode) {\n try {\n // console.log(' - CODED : ' );\n return this.chGlobal.atou(this.value as string); //atob(this.value as string);\n } catch (exception) {\n console.log('error de codificacion atob');\n return this.value as string;\n }\n } else {\n //console.log(' - UNCODED : ');\n return this.value as string;\n }\n };\n\n private set source(val: string) {\n // console.log(' * SET CODE : ');\n if (this.encode) {\n // console.log(' - CODED : ');\n this.value = this.chGlobal.utoa(val);\n } else {\n this.value = val;\n }\n };\n\n private options: any = {maxLines: 3000, printMargin: false};\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngAfterViewInit() {\n\n }\n}\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {ColorPickerService} from 'ngx-color-picker';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\nimport Color from '../../utils/color';\nimport { Console } from 'console';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-color',\n templateUrl: './ch-forms-color.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsColor }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsColor extends ChFormsControl {\n\n static colors: String[] = null;\n @Input()\n public allowUndefined = true;\n\n protected _value: number | String | undefined = null;\n @Input()\n public get value() {\n // console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString() + ' (' + (typeof this._value) + ')');\n if ( this._value == undefined || this._value == null) {\n return undefined;\n } else if ( (typeof this._value) === 'number') {\n if (isNaN(this._value as number)) {\n // console.log(' - DEVUELVE VACIO');\n return '';\n } else {\n // console.log(' - DEVUELVE ' + new Color(this._value).getHex() + ' . ' + this._value);\n return new Color(this._value).getHex();\n }\n } else {\n return this._value;\n }\n };\n\n public set value(val) {\n let newVal: number | String | undefined = null;\n if (typeof this._value === 'number') {\n newVal = new Color(val)._decimal;\n } else {\n newVal = val;\n }\n // console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val.toString() + ' - ' + newVal.toString());\n this._value = newVal;\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = newVal;\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n };\n\n constructor(private cpService: ColorPickerService) {\n super();\n const colorsStr = localStorage.getItem('ch-edit-colors');\n if (colorsStr !== null) {\n ChFormsColor.colors = JSON.parse(colorsStr);\n } else {\n ChFormsColor.colors = [\n '#000000',\n '#ffffff',\n '#ff0000',\n '#00ff00',\n '#0000ff',\n '#FFFB00',\n '#942192',\n '#919191',\n '#424242',\n '#00000000',\n '#D6D6D6',\n '#945200'\n ];\n }\n\n if (this.default == null) {\n this.default = 0xffffff;\n } else if (this.default == 'undefined') {\n this.default = undefined;\n } else if (this.default == 'null') {\n this.default = null;\n }\n }\n\n\n get lastColors() {\n return ChFormsColor.colors;\n }\n\n showColor(targetColor: String): String {\n if (targetColor == 'undefined' || targetColor == 'null' ||\n targetColor == undefined || targetColor == null ||\n targetColor == '' || targetColor == 'NaN' ) {\n return 'Transparent';\n }\n //console.log(' * SHOW COLOR :' + targetColor.toString());\n return targetColor;\n }\n\n borderStyle(targetColor: String): String {\n if (targetColor == 'undefined' || targetColor == undefined || targetColor == null || targetColor == '' || targetColor == 'NaN') {\n return 'Dashed';\n }\n const color = new Color(targetColor.toString().toLowerCase());\n if (color._alpha < 0.5) {\n return 'Dashed';\n }\n const colorLight = (color._red + color._green + color._blue) / 3;\n if (colorLight > 230 ) {\n return 'Solid';\n } else {\n return 'None';\n }\n }\n\n selectColor(targetColorIndex: number) {\n this.value = ChFormsColor.colors[targetColorIndex];\n }\n\n removeColor() {\n this.value = this.default;\n }\n\n afterColorSelect(newColor: String) {\n // console.log('New Color : ' + newColor);\n for (let i = 0; i < ChFormsColor.colors.length; i++) {\n if (ChFormsColor.colors[ i ] === newColor) {\n return;\n }\n }\n // Correr los colores hacia la derecha\n for (let i = 1; i < ChFormsColor.colors.length; i++) {\n ChFormsColor.colors[ i - 1 ] = ChFormsColor.colors[ i ];\n }\n ChFormsColor.colors[ ChFormsColor.colors.length - 1 ] = newColor;\n localStorage.setItem('ch-edit-colors', JSON.stringify(ChFormsColor.colors));\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-combo-multiple',\n templateUrl: './ch-forms-combo-multiple.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsComboMultiple }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsComboMultiple extends ChFormsControl implements OnInit {\n\n @Input() itemId = 'id';\n @Input() itemName = 'name';\n @Input() newdelete = false;\n @Input() appendTo = '';\n\n private selectedItems = 4;\n private valuesArray: Array = [];\n\n private _values: any = 'Norte, Sur, Este, Oeste';\n @Input()\n public get values() {\n return this._values;\n };\n public set values(val) {\n this._values = val;\n if (typeof this.values === 'string') {\n this.valuesArray = this.values.split(',').map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = index;\n newObj[this.itemName] = current;\n return newObj;\n });\n } else if ( Array.isArray(this.values) ) {\n this.valuesArray = this.values;\n };\n }\n\n /*\n constructor(private config: NgSelectConfig) {\n this.config.notFoundText = 'Custom not found';\n }\n */\n ngOnInit() {\n\n }\n\n setValue(newValue: object) {\n // console.log(' * COMBO. New value :' + JSON.stringify(newValue));\n }\n\n dataChanged(target: any, data: Boolean) {\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-combo',\n templateUrl: './ch-forms-combo.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsCombo }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsCombo extends ChFormsControl implements OnInit {\n\n @Input() itemId = 'id';\n @Input() itemName = 'name';\n @Input() newdelete = false;\n @Input() appendTo = '';\n @Input() color = false;\n @Input() bindValue = '';\n @Input() translateLabels = false;\n\n private selectedItems = 4;\n private valuesArray: Array = [];\n\n private _values: any = 'Norte, Sur, Este, Oeste';\n @Input()\n public get values() {\n return this._values;\n };\n public set values(val) {\n this._values = val;\n if (typeof this.values === 'string') {\n this.valuesArray = this.values.split(',').map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = index;\n newObj[this.itemName] = this.translateLabels ? this.chGlobal.translateStr(current) : current;\n return newObj;\n });\n } else if ( Array.isArray(this.values) ) {\n if (this.translateLabels && this.itemId != '' && this.itemName != \"\") {\n\n this.valuesArray = this.values.map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = current[this.itemId];\n newObj[this.itemName] = this.chGlobal.translateStr(current[this.itemName]);\n return newObj;\n });\n } else {\n this.valuesArray = this.values;\n }\n };\n }\n\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit() {\n\n }\n\n setValue(newValue: object) {\n this.setValueNoTreatment(newValue);\n //console.log(' * COMBO. New value :' + JSON.stringify(newValue));\n }\n\n dataChanged(target: any, data: Boolean) {\n }\n}\n","import { Component, AfterContentInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-control-generic',\n templateUrl: './ch-forms-control-generic.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsControlGeneric }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsControlGeneric extends ChFormsControl implements AfterContentInit {\n\n ngAfterContentInit() {\n\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-forms-control-title',\n templateUrl: './ch-forms-control-title.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['../ch-forms.scss']\n})\nexport class ChFormsControlTitle implements OnInit {\n\n @Input() label = '';\n @Input() info = '';\n @Input() infotitle = '';\n @Input() infoplacement = '';\n @Input() onWindow = false;\n @Input() required = false;\n @Input() important = false;\n\n\n constructor(private chGlobal : ChGlobalsService) {\n\n }\n\n ngOnInit() {\n }\n\n}\n","import { Input, Output, EventEmitter, Directive } from '@angular/core';\nimport { isNullOrUndefined } from 'util';\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsControl {\n\n @Input() label: string = 'Nombre';\n @Input() info: string = '';\n @Input() infotitle: string = '';\n @Input() infoplacement: string = 'left';\n @Input() required: Boolean = false;\n @Input() important = false;\n @Input() onWindow: Boolean = false;\n @Input() decoration: Boolean = true;\n @Input() default: any = null;\n @Input() default3: any = null;\n @Input() readonly: boolean = false;\n\n protected _obj: object = null;\n\n @Input() name: string = null;\n protected _value: any = this.default;\n protected _key: PropertyKey = null;\n\n @Input()\n public get value() {\n if (this._value === undefined || this._value === null) {\n this._value = this.default;\n // console.log(' * (' + this.label + ') GET NUEVO VALOR : ---' );\n } else {\n // console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString());\n }\n return this._value;\n };\n\n @Output()\n valueChange = new EventEmitter();\n public set value(val) {\n /*\n if (val === undefined || val === null ) {\n console.log(' * (' + this.label + ') SET NUEVO VALOR : ---');\n } else {\n console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val.toString());\n }\n */\n if (this._value === val) {\n return;\n }\n\n this._value = val;\n //console.log(this._obj);\n //console.log(this._key);\n\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = val;\n //console.log(' - SET VALUE : ' + this._obj[this._key]);\n //console.log(this._obj);\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n\n };\n\n public setValueNoTreatment(val) {\n this._value = val;\n }\n\n protected valueSetted(val) {\n }\n\n public assignValueToObject(obj?: object, key?: PropertyKey) {\n this._key = key;\n this._obj = obj;\n //console.log(' - SET REF : ' + key.toString());\n if (this._obj !== undefined && this._obj !== null && this._key !== undefined && this._key !== null) {\n if (!isNullOrUndefined(this._obj[this._key]))\n this._value = this._obj[this._key];\n else {\n this._value = this.default;\n this._obj[this._key] = this._value;\n }\n } else {\n this._value = this.default;\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n }\n\n // --------------------------------------------------------\n\n // datos del segundo valor.\n // Solo se usa cuando es necesario\n\n // tslint:disable-next-line:member-ordering\n @Input() name2: String = null;\n // tslint:disable-next-line:member-ordering\n protected _value2: any = null;\n // tslint:disable-next-line:member-ordering\n protected _key2: PropertyKey = null;\n\n @Input()\n public get value2() {\n /*\n if (this._value2 === undefined || this._value2 === null) {\n console.log(' * (' + this.label + ') GET NUEVO VALOR 2 : ---' );\n } else {\n console.log(' * (' + this.label + ') GET NUEVO VALOR 2 :' + this._value2.toString());\n }\n */\n return this._value2;\n };\n // tslint:disable-next-line:member-ordering\n @Output() value2Change = new EventEmitter();\n public set value2(val) {\n // console.log(' * (' + this.label + ') SET NUEVO VALOR 2 :' + val.toString());\n if (this._value2 === val) {\n return;\n }\n\n this._value2 = val;\n // console.log(this._obj);\n // console.log(this._key);\n\n if (this._obj !== null && this._key2 !== null) {\n this._obj[this._key2] = val;\n // console.log(' - SET VALUE : ' + this._obj[this._key]);\n // console.log(this._obj);\n }\n this.valueSetted2(this._value2);\n this.value2Change.emit(this._value2);\n\n };\n\n public setValueNoTreatment2(val) {\n this._value2 = val;\n }\n\n protected valueSetted2(val) {\n }\n\n public assignValueToObject2(key?: PropertyKey) {\n this._key2 = key;\n // console.log(' - SET REF : ' + key.toString());\n if (this._obj !== null && this._key2 !== null) {\n if (!isNullOrUndefined(this._obj[this._key2]))\n this._value2 = this._obj[this._key2];\n else {\n this._value2 = this.default;\n this._obj[this._key2] = this._value2;\n }\n } else {\n this._value2 = this.default;\n }\n this.valueSetted2(this._value2);\n this.value2Change.emit(this._value2);\n }\n\n\n\n // --------------------------------------------------------\n\n // datos del tercer valor.\n // Solo se usa cuando es necesario. En casos muy especiales en que en un\n // solo control\n\n // tslint:disable-next-line:member-ordering\n @Input() name3: String = null;\n // tslint:disable-next-line:member-ordering\n protected _value3: any = null;\n // tslint:disable-next-line:member-ordering\n protected _key3: PropertyKey = null;\n\n @Input()\n public get value3() {\n /*\n if (this._value2 === undefined || this._value2 === null) {\n console.log(' * (' + this.label + ') GET NUEVO VALOR 2 : ---' );\n } else {\n console.log(' * (' + this.label + ') GET NUEVO VALOR 2 :' + this._value2.toString());\n }\n */\n return this._value3;\n };\n // tslint:disable-next-line:member-ordering\n @Output() value3Change = new EventEmitter();\n public set value3(val) {\n // console.log(' * (' + this.label + ') SET NUEVO VALOR 2 :' + val.toString());\n if (this._value3 === val) {\n return;\n }\n\n this._value3 = val;\n // console.log(this._obj);\n // console.log(this._key);\n\n if (this._obj !== null && this._key3 !== null) {\n this._obj[this._key3] = val;\n // console.log(' - SET VALUE : ' + this._obj[this._key]);\n // console.log(this._obj);\n }\n this.valueSetted3(this._value3);\n this.value3Change.emit(this._value3);\n\n };\n\n public setValueNoTreatment3(val) {\n this._value2 = val;\n }\n\n protected valueSetted3(val) {\n }\n\n public assignValueToObject3(key?: PropertyKey) {\n this._key3 = key;\n // console.log(' - SET REF : ' + key.toString());\n if (this._obj !== null && this._key3 !== null) {\n if (!isNullOrUndefined(this._obj[this._key3]))\n this._value3 = this._obj[this._key3];\n else {\n this._value3 = this.default;\n this._obj[this._key3] = this._value3;\n }\n } else {\n this._value3 = this.default3;\n }\n this.valueSetted3(this._value3);\n this.value3Change.emit(this._value3);\n }\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n/*\\n.ch-form-control-datezone {\\n width: 34px;\\n background: white;\\n border: 1px solid darkgray;\\n margin: 4px;\\n color: #416ED9;\\n height: 35px;\\n font-weight: bold;\\n padding-top: 6px;\\n}\\n*/\\n\\n.timezone-holder.important {\\n border: 1px solid;\\n width: 35px;\\n margin-left: 4px;\\n}\\n\\nng2-timezone-picker .select2-container--default .select2-selection--single,\\nng2-timezone-picker .select2-container--default .select2-selection--multiple {\\n border-color: blue;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1kYXRldGltZS9jaC1mb3Jtcy1kYXRldGltZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RTtJQUNJLHFCQUFxQjtJQUNyQiw2Q0FBNkM7SUFDN0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBOzs7Ozs7Ozs7OztDQVdDOztBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxnQkFBZ0I7QUFDbEI7O0FBRUE7O0VBRUUsa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1kYXRldGltZS9jaC1mb3Jtcy1kYXRldGltZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbi5jaC1mb3JtLWNvbnRyb2wtZGF0ZXpvbmUge1xuICB3aWR0aDogMzRweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmF5O1xuICBtYXJnaW46IDRweDtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGhlaWdodDogMzVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG59XG4qL1xuXG4udGltZXpvbmUtaG9sZGVyLmltcG9ydGFudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICB3aWR0aDogMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxubmcyLXRpbWV6b25lLXBpY2tlciAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsXG5uZzItdGltZXpvbmUtcGlja2VyIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWNvbG9yOiBibHVlO1xufVxuIl19 */\"","\nimport { Component, AfterContentInit, Input , Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { listLocales } from 'ngx-bootstrap/chronos';\nimport { registerLocaleData } from '@angular/common';\nimport {DEFAULT_SELECT_CONFIG, formatTimeZone, SelectTimeZoneConfig, TZone} from './timezone-models';\nimport * as momentZone from 'moment-timezone';\nimport { isNullOrUndefined } from 'util';\nimport { time } from 'console';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-datetime',\n templateUrl: './ch-forms-datetime.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-datetime.css'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsDatetime }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsDatetime extends ChFormsControl implements AfterContentInit {\n\n @Input() placeholder1: String = '';\n @Input() placeholder2: String = '';\n @Input() includeTime = false;\n @Input() singleDate = false;\n @Input() includeTimeZone = false;\n\n private dateFormat1 = '';\n private dateFormat2 = '';\n\n private timeZones: Array;\n\n private _configTz: SelectTimeZoneConfig = DEFAULT_SELECT_CONFIG;\n\n get configTz(): SelectTimeZoneConfig {\n return this._configTz;\n }\n\n constructor(private _localeService: BsLocaleService, private chGlobal: ChGlobalsService) {\n super();\n const lang = chGlobal.getLang()\n //console.log(lang)\n //console.log(listLocales())\n\n if (listLocales().includes(lang)) {\n this._localeService.use( lang );\n } else {\n this._localeService.use( 'en' );\n }\n /*\n else {\n\n import('@angular/common/locales/' + lang).then(locale => {\n registerLocaleData(locale);\n });\n } */\n\n\n //this.minDate = moment(\"01-01-1900\").toDate();\n //this.maxDate = moment(\"31-12-1999\").toDate();\n }\n\n public ngOnInit(): void {\n if (this.includeTimeZone) {\n this.timeZones = momentZone.tz.names().map((zone: string) => formatTimeZone(zone));\n //console.log(this.timeZones)\n }\n }\n\n ngAfterContentInit(): void {\n if (this.includeTime) {\n this.dateFormat1 = 'dd-MM-yyyy HH:mm:ss'; // formato de el date pipe de Angular\n this.dateFormat2 = 'DD-MM-YYYY hh:mm:ss'; // formato de BsDatepicker\n } else {\n this.dateFormat1 = 'dd-MM-yyyy'; // formato de el date pipe de Angular\n this.dateFormat2 = 'DD-MM-YYYY'; // formato de BsDatepicker\n }\n if (this.includeTimeZone) {\n this.guessUserTimezone();\n }\n }\n\n dataChanged(data) {\n console.log(data)\n }\n\n isDate(input: any) : boolean {\n if ( Object.prototype.toString.call(input) === \"[object Date]\" )\n return true;\n return false;\n };\n\n // TimeZone functions\n\n private guessUserTimezone(): void {\n if (isNullOrUndefined(this.value3)) {\n setTimeout(() => {\n const guessedZone = momentZone.tz.guess(true);\n const timeZone = this.timeZones.find( tz => tz.nameValue == guessedZone);\n this.value3 = isNullOrUndefined(timeZone) ? null : timeZone.name;\n });\n }\n\n }\n\n private clearZone() {\n }\n\n private validateZoneFromUpperLevels(zone: string | TZone): TZone | null {\n if (typeof zone === 'string' && zone.length > 0) {\n let tz = this.timeZones.find(z => z.nameValue === zone)\n\n }\n if (typeof zone === 'object') {\n let tz = this.timeZones.find(z => z.nameValue === zone.nameValue)\n return isNullOrUndefined(tz) ? null : tz;\n }\n return null;\n }\n\n writeValue(zone: string | TZone | null | undefined): void {\n if (!zone) {\n this.clearZone();\n console.warn('Invalid zone passed');\n return;\n }\n\n let _zone: TZone | null = this.validateZoneFromUpperLevels(zone);\n\n }\n\n getDateZone() : string{\n return \" Spain - Madrid (GMT+1:00)\";\n }\n\n changeTimezone(event) {\n console.log(event)\n }\n}\n","import * as momentZone from 'moment-timezone';\n\nexport class TZone {\n name: string;\n nameValue: string;\n timeValue: string;\n group: string;\n abbr: string;\n}\n\nexport interface SelectTimeZoneConfig {\n appearance: 'underline' | 'outline';\n appendTo: string;\n clearOnBackspace: boolean;\n closeOnSelect: boolean;\n dropdownPosition: 'auto' | 'bottom' | 'top';\n hideSelected: boolean;\n searchable: boolean;\n}\n\n/**\n * Make TZone object from simple string.\n */\nexport const formatTimeZone = (zone: string): TZone => {\n const foundZone = momentZone.tz(zone);\n const utc: string = foundZone.format('Z');\n const abbr: string = foundZone.zoneAbbr();\n return {\n name: `${zone} (${utc})`,\n nameValue: zone,\n timeValue: utc,\n group: zone.split('/', 1)[0],\n abbr: abbr\n };\n};\n\n\nexport const DEFAULT_SELECT_CONFIG: SelectTimeZoneConfig = {\n hideSelected: false,\n dropdownPosition: 'auto',\n appearance: 'underline',\n clearOnBackspace: true,\n closeOnSelect: true,\n appendTo: null,\n searchable: true,\n};\n","import { Component, Input, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFileSelectWindowComponent } from 'app/chil/cloud/ch-file-select-window/ch-file-select-window.component';\nimport { ChFileCompact } from 'app/chil/cloud/ch-file';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-document-picker',\n templateUrl: './ch-forms-document-picker.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsDocumentPicker }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsDocumentPicker extends ChFormsControl implements OnInit, AfterViewInit {\n\n @Input() height = 150;\n @Input() targetdir = undefined; // Uid del directorio de destino\n @Input() name = undefined; // Nombre del fichero\n @Input() description = undefined; // Descripción del fichero\n\n @ViewChild('inputImage', { static: true}) inputImage: any;\n\n private imagewidth = 400;\n private imageheight = 100;\n\n private fileName = '';\n private fileType = '';\n private dataURL = '';\n private contentUrl = '';\n\n private isWorking = false;\n private isDownloading = false;\n\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n this.calculateSize();\n }\n\n calculateSize() {\n this.imageheight = this.height - 20;\n this.imagewidth = this.imageheight * (210\t/ 297);\n }\n\n ngAfterViewInit() {\n // init upload btn, after dom content loaded init down.\n setTimeout(() => {\n // tslint:disable-next-line:no-unused-expression\n this.inputImage.nativeElement.onchange = () => {\n const files = this.inputImage.nativeElement.files;\n\n if (files && files.length > 0) {\n const file = files[0];\n // Only can upload pdf format.\n if (!/(pdf|PDF)/.test(file.type)) {\n // console.log(' - ERROR: Tipo equivocado');\n this.chGlobal.showMessage(MessageType.error, 'Tipo de fichero equivocado',\n 'Es necesario seleccionar un fichero de tipo PDF');\n } else {\n //console.log(file);\n this.value = null;\n this.isWorking = true;\n this.chGlobal.addFile(file, { filename: this.name, filedescr: this.description, folderUid: this.targetdir }).then( (result) => {\n if (result != null) {\n //console.log(result)\n this.value = ChFileCompact.cast(result);\n }\n\n this.isWorking = false;\n });\n };\n }\n };\n }, 0);\n }\n\n public onReturnData(data: any) {\n // Do what you want to do\n console.warn(JSON.parse(data));\n }\n\n protected valueSetted(val: object) {\n // console.log(val);\n // console.log(val);\n if (!val || val === null) {\n this.dataURL = '';\n } else {\n if (val['preview']) {\n this.dataURL = val['preview'].url;\n } else if (val['previewUrl']) {\n this.dataURL = val['previewUrl']\n } else {\n this.dataURL = '';\n }\n }\n // this.dataURL = val && val !== null && val['preview'] ? val['preview'].url : '';\n this.contentUrl = val && val !== null && val['contentUrl'] ? val['contentUrl'] : '';\n }\n\n public openFile() {\n if (!this.isDownloading && this.contentUrl !== '' ) {\n this.isDownloading = true;\n if (this.contentUrl.substr(0,4).toLowerCase() == 'http') {\n window.open(this.contentUrl);\n } else {\n window.open('https://chil.me' + this.contentUrl);\n }\n\n setTimeout(() => { this.isDownloading = false; }, 5000);\n }\n };\n\n selectCloud() {\n ChFileSelectWindowComponent.show('documents',\n { initialState : {\n data : {\n title: 'Seleccionar fichero',\n }\n },\n class: 'ch-modal-big',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (file: ChFileCompact) => {\n this.value = file;\n }\n );\n }\n}\n","export default \".duration-holder {\\n display: flex;\\n padding: 5px;\\n margin-top: -5px;\\n margin-left: 10px;\\n}\\n.duration-holder .duration-item {\\n margin-left: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1kdXJhdGlvbi9jaC1mb3Jtcy1kdXJhdGlvbi5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLWR1cmF0aW9uL2NoLWZvcm1zLWR1cmF0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUNERjtBREdFO0VBQ0UsZ0JBQUE7QUNESiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtZHVyYXRpb24vY2gtZm9ybXMtZHVyYXRpb24uc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLmR1cmF0aW9uLWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgLmR1cmF0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cblxufVxuIiwiLmR1cmF0aW9uLWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4uZHVyYXRpb24taG9sZGVyIC5kdXJhdGlvbi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn0iXX0= */\"","import { Component, AfterContentInit, Input , Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport * as moment from 'moment';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-duration',\n templateUrl: './ch-forms-duration.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-duration.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsDuration }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsDuration extends ChFormsControl implements AfterContentInit {\n\n @Input() days: boolean = false;\n @Input() hours: boolean = true;\n @Input() minutes: boolean = true;\n @Input() seconds: boolean = false;\n /*\n @Input() placeholder2: String = '';\n @Input() includeTime = false;\n @Input() singleDate = false;\n private dateFormat1 = '';\n private dateFormat2 = '';\n */\n\n private nSeconds = 0;\n private nMinutes = 0;\n private nHours = 0;\n private nDays = 0;\n\n constructor(private _localeService: BsLocaleService, private chGlobal: ChGlobalsService) {\n super();\n /*\n const lang = chGlobal.getLang()\n\n if (listLocales().includes(lang)) {\n this._localeService.use( lang );\n } else {\n this._localeService.use( 'en' );\n }*/\n }\n\n ngAfterContentInit(): void {\n }\n\n dataChanged(data) {\n //console.log(data)\n }\n\n protected valueSetted(val) {\n //console.log(val)\n if (!isNullOrUndefined(val) && typeof val === 'number') {\n var nValue: number = val as number;\n const nDays2 = Math.trunc( nValue / (24 * 60 * 60) );\n nValue -= nDays2 * (24 * 60 * 60);\n const nHours2 = Math.trunc( nValue / ( 60 * 60) );\n nValue -= nHours2 * (60 * 60);\n const nMinutes2 = Math.trunc( nValue / 60 );\n nValue -= nMinutes2 * (60 * 60);\n const nSeconds2 = nValue;\n if (nDays2 != this.nDays) { this.nDays = nDays2}\n if (nHours2 != this.nHours) { this.nHours = nHours2}\n if (nMinutes2 != this.nMinutes) { this.nMinutes = nMinutes2}\n if (nSeconds2 != this.nSeconds) { this.nSeconds = nSeconds2}\n }\n }\n\n updateValues() {\n this.value = this.nMinutes * 60 + this.nHours * 60 * 60 + this.nDays * 24 * 60 * 60;\n //console.log( this.value )\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-external',\n templateUrl: './ch-forms-external.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsExternal }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsExternal extends ChFormsControl {\n\n @Input() text = '';\n @Input() selected = false;\n @Output() click = new EventEmitter();\n\n fire() {\n this.click.emit();\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtZmlsZS9jaC1mb3Jtcy1maWxlLnNjc3MifQ== */\"","import { Component, Input, Output, EventEmitter, OnInit, AfterContentInit, ViewChild, ElementRef} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { by } from 'protractor';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-file',\n templateUrl: './ch-forms-file.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-file.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsFile }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsFile extends ChFormsControl implements OnInit, AfterContentInit {\n\n @Input() accept: string = '*';\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n // this.config['height'] = this.height + 'px';\n }\n\n ngAfterContentInit(): void {\n\n }\n\n ngAfterViewInit() {\n\n }\n\n\n onChange(ev) {\n var file = ev.target.files.item(0);\n this.value = file;\n }\n\n fileSize(size: number) : string {\n if (size < 1024) {\n return size +' bytes';\n }\n size = size / 1024;\n if (size < 1024) {\n return Math.round(size * 10) / 10 +' kb.';\n }\n size = size / 1000;\n if (size < 1000) {\n return Math.round(size * 10) / 10 + ' Mb.';\n }\n size = size / 1000;\n return Math.round(size * 10) / 10 +' Gb.';\n }\n\n}\n","export default \".upload-area {\\n border: 3px dotted #BFBFBF;\\n background-color: #EFEFEF;\\n overflow: hidden;\\n}\\n\\n.upload-area.dragover {\\n border-color: black;\\n}\\n\\n.upload-area h3 {\\n color: #BFBFBF;\\n text-align: center;\\n padding: 10px;\\n margin-top: 10px;\\n margin-bottom: 10px;\\n}\\n\\n.upload-area input {\\n width: 100%;\\n padding: 5px 20px;\\n border: none;\\n}\\n\\n.files-table {\\n width: 90%;\\n margin-top: 10px;\\n margin-left: 5%;\\n margin-right: 5%;\\n table-layout: fixed;\\n color: #416ED9;\\n}\\n\\n.files-table td {\\n padding-bottom: 2px;\\n}\\n\\n.files-table .file-name {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n width: 50%;\\n text-align: left;\\n}\\n\\n.files-table .file-type {\\n text-transform: uppercase;\\n font-size: 80%;\\n width: 35%;\\n text-align: center;\\n}\\n\\n.files-table .file-size {\\n font-size: 90%;\\n width: 15%;\\n text-align: right;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1maWxlcy9jaC1mb3Jtcy1maWxlcy5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtZmlsZXMvY2gtZm9ybXMtZmlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLDBCQUFBO0VBQ0EseUJDNkRpQjtFRDVEakIsZ0JBQUE7QUVERjs7QUZJQTtFQUNFLG1CQUFBO0FFREY7O0FGSUE7RUFDRSxjQ3lEb0I7RUR4RHBCLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUVERjs7QUZJQTtFQUNFLFdBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7QUVERjs7QUZLQTtFQUNFLFVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0N3SW1CO0FDMUlyQjs7QUZLQTtFQUNFLG1CQUFBO0FFRkY7O0FGS0E7RUFDRSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QUVGRjs7QUZLQTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtBRUZGOztBRktBO0VBRUUsY0FBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtBRUhGIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1maWxlcy9jaC1mb3Jtcy1maWxlcy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4udXBsb2FkLWFyZWEge1xuICBib3JkZXI6IDNweCBkb3R0ZWQgJHRleHQtc2Vjb25kYXJ5Y29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWJrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udXBsb2FkLWFyZWEuZHJhZ292ZXIge1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuXG4udXBsb2FkLWFyZWEgaDMge1xuICBjb2xvcjogJHRleHQtc2Vjb25kYXJ5Y29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnVwbG9hZC1hcmVhIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cblxuLmZpbGVzLXRhYmxlIHtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDUlO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbn1cblxuLmZpbGVzLXRhYmxlIHRkIHtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLmZpbGVzLXRhYmxlIC5maWxlLW5hbWUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZpbGVzLXRhYmxlIC5maWxlLXR5cGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDgwJTtcbiAgd2lkdGg6IDM1JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmlsZXMtdGFibGUgLmZpbGUtc2l6ZVxue1xuICBmb250LXNpemU6IDkwJTtcbiAgd2lkdGg6IDE1JTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iLCIudXBsb2FkLWFyZWEge1xuICBib3JkZXI6IDNweCBkb3R0ZWQgI0JGQkZCRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VGRUZFRjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVwbG9hZC1hcmVhLmRyYWdvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBibGFjaztcbn1cblxuLnVwbG9hZC1hcmVhIGgzIHtcbiAgY29sb3I6ICNCRkJGQkY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnVwbG9hZC1hcmVhIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5maWxlcy10YWJsZSB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1JTtcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5maWxlcy10YWJsZSB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5maWxlcy10YWJsZSAuZmlsZS1uYW1lIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiA1MCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5maWxlcy10YWJsZSAuZmlsZS10eXBlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIHdpZHRoOiAzNSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpbGVzLXRhYmxlIC5maWxlLXNpemUge1xuICBmb250LXNpemU6IDkwJTtcbiAgd2lkdGg6IDE1JTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59Il19 */\"","import { Component, Input, Output, EventEmitter, OnInit, AfterContentInit, ViewChild, ElementRef} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { by } from 'protractor';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-files',\n templateUrl: './ch-forms-files.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-files.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsFiles }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsFiles extends ChFormsControl implements OnInit, AfterContentInit {\n\n @Input() height = 150;\n @Input() multiple = true;\n @Input() types = \"\"; // \"image\"\n @Input() closeOnSelect = true;\n\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n // this.config['height'] = this.height + 'px';\n }\n\n ngAfterContentInit(): void {\n\n }\n\n ngAfterViewInit() {\n\n }\n\n private dragover = false;\n private closed = false;\n\n allowDrop(ev) {\n if (this.closed) { return; }\n\n ev.preventDefault();\n this.dragover = true;\n\n }\n\n drag(ev) {\n if (this.closed) { return; }\n\n //ev.dataTransfer.setData(\"text\", ev.target.id);\n this.dragover = true;\n }\n\n drop(ev) {\n if (this.closed) { return; }\n\n ev.preventDefault();\n var files;\n if (ev.dataTransfer.files == undefined || ev.dataTransfer.files == null || ev.dataTransfer.files.length == 0) {\n files = [];\n } else if (this.multiple) {\n files = Array.from(ev.dataTransfer.files);\n } else {\n files= [ev.dataTransfer.files.item(0)];\n }\n this.dragover = false;\n\n //console.log(files);\n this.value = this.filterFiles(files);\n this.closed = this.value.length > 0;\n\n }\n\n dragLeave(ev) {\n if (this.closed) { return; }\n\n this.dragover = false;\n }\n\n onChange(ev) {\n var files;\n //console.log(ev);\n if (ev.target.files == undefined || ev.target.files == null || ev.target.files.length == 0) {\n files = [];\n } else if (this.multiple) {\n files = Array.from(ev.target.files);\n } else {\n files = [ev.target.files.item(0)];\n }\n //console.log(files);\n this.value = this.filterFiles(files);\n this.closed = this.value.length > 0;\n }\n\n fileSize(size: number) : string {\n if (size < 1024) {\n return size +' bytes';\n }\n size = size / 1024;\n if (size < 1024) {\n return Math.round(size * 10) / 10 +' kb.';\n }\n size = size / 1000;\n if (size < 1000) {\n return Math.round(size * 10) / 10 + ' Mb.';\n }\n size = size / 1000;\n return Math.round(size * 10) / 10 +' Gb.';\n }\n\n filterFiles(origin: File[]) : File[] {\n\n if (this.types == '') {\n return origin;\n } else {\n const temp : File[] = [];\n const fileTypes: string[] = this.types.toLowerCase().split(',');\n for(let i = 0;i any;\n}\n\n\nexport class Font implements FontInterface {\n public size: string = '16px';\n public style: string = 'regular';\n public family: string = 'monospace';\n\n public files: any = null;\n public styles: string[] = ['regular'];\n\n constructor(props?: Partial) {\n if (props) {\n this.size = props.size || '16px';\n this.style = props.style || 'regular';\n this.family = props.family || 'monospace';\n\n this.files = props.files || null;\n this.styles = props.styles || ['regular'];\n }\n }\n\n public getStyles(): any {\n return {\n 'font-size': this.size || '16px',\n 'font-style': this.style.includes('italic') ?\n 'italic' : 'normal',\n 'font-family': this.family || 'monospace',\n 'font-weight': isNaN(Number(this.style.slice(0, 3))) ?\n 'normal' : this.style.slice(0, 3)\n };\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtZm9udC9jaC1mb3Jtcy1mb250LmNvbXBvbmVudC5zY3NzIn0= */\"","\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport Color from 'app/chil/utils/color';\nimport {ColorPickerService} from 'ngx-color-picker';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { Font } from './ch-font';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-font',\n templateUrl: './ch-forms-font.component.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-font.component.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsFont }]\n})\nexport class ChFormsFont extends ChFormsControl {\n\n // ---------------------\n // Valor, el font\n // ---------------------\n protected _value: Font | null = null;\n @Input()\n public get value() : Font | null {\n // console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString() + ' (' + (typeof this._value) + ')');\n if ( this._value == null) {\n return null;\n } else {\n return this._value;\n }\n };\n\n public set value(val: Font | null) {\n // console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val.toString() + ' - ' + newVal.toString());\n if ( !this.fontEquals(val, this._value)){\n this._value = val;\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n }\n };\n\n // ---------------------\n // Color de font, opcional\n // ---------------------\n protected _color: number | String | undefined = null;\n @Input()\n public get color() {\n // console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString() + ' (' + (typeof this._value) + ')');\n if ( this._color == undefined || this._color == null) {\n return undefined;\n } else if ( (typeof this._color) === 'number') {\n if (isNaN(this._color as number)) {\n // console.log(' - DEVUELVE VACIO');\n return '';\n } else {\n // console.log(' - DEVUELVE ' + new Color(this._value).getHex() + ' . ' + this._value);\n return new Color(this._color).getHex();\n }\n } else {\n return this._color;\n }\n };\n\n // ---------------------\n // Constructor\n // ---------------------\n @Output()\n colorChange = new EventEmitter();\n public set color(val) {\n let newVal: number | String | undefined = null;\n if (typeof this._color === 'number') {\n newVal = new Color(val)._decimal;\n } else {\n newVal = val;\n }\n // console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val.toString() + ' - ' + newVal.toString());\n this._color = newVal;\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = newVal;\n }\n this.colorChange.emit(this._color);\n };\n\n\n\n constructor(private cpService: ColorPickerService) {\n super();\n }\n ngOnInit(): void {\n throw new Error('Method not implemented.');\n }\n\n showColor(targetColor: String): String {\n if (targetColor == 'undefined' || targetColor == 'null' ||\n targetColor == undefined || targetColor == null ||\n targetColor == '' || targetColor == 'NaN' ) {\n return 'Transparent';\n }\n //console.log(' * SHOW COLOR :' + targetColor.toString());\n return targetColor;\n }\n\n borderStyle(targetColor: String): String {\n if (targetColor == 'undefined' || targetColor == undefined || targetColor == null || targetColor == '' || targetColor == 'NaN') {\n return 'Dashed';\n }\n const color = new Color(targetColor.toString().toLowerCase());\n if (color._alpha < 0.5) {\n return 'Dashed';\n }\n const colorLight = (color._red + color._green + color._blue) / 3;\n if (colorLight > 230 ) {\n return 'Solid';\n } else {\n return 'None';\n }\n }\n\n\n\n // ---------------------\n // Funciones auxiliares\n // ---------------------\n\n\n private fontEquals(val1 : Font | null, val2 : Font | null) : boolean {\n\n const stylesEquals = (styles1: string[] | null, styles2: string[] | null ) => {\n if (styles1 == null && styles2 == null) {\n return true;\n }\n if (styles1 == null || styles2 == null) {\n return false;\n }\n if (styles1.length == 0 && styles2.length == 0) {\n return true;\n }\n if (styles1.length == 0 || styles2.length == 0) {\n return false;\n }\n\n var result = true;\n styles1.forEach( (v: string) => {\n if (!styles2.includes(v)) {\n result = false;\n }\n })\n\n return result;\n };\n\n if (val1 == null && val2 == null) {\n return true;\n }\n if (val1 == null || val2 == null) {\n return false;\n }\n if (val1.size != val2.size || val1.style != val2.style || val1.family != val2.family || val1.files != val2.files || !stylesEquals(val1.styles,val2.styles) ) {\n return false;\n }\n\n return true;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-group',\n templateUrl: './ch-forms-group.html',\n styleUrls: ['../ch-forms.scss']\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsGroup implements OnInit {\n\n @Input() title: String = '';\n @Input() header: String = '';\n @Input() footer: String = '';\n @Input() info: String = '';\n @Input() infotitle: String = '';\n @Input() infoplacement: String = 'left';\n @Input() onWindow: Boolean = false;\n\n constructor(private chGlobal : ChGlobalsService) {\n\n }\n\n ngOnInit() {\n }\n\n}\n","export default \"\\n.pic-item {\\n background-color: transparent;\\n min-height: 10px;\\n}\\n\\n.pic-sizer-1 {\\n width: 100%;\\n}\\n\\n.pic-sizer-2 {\\n width: 50%;\\n}\\n\\n.pic-sizer-3 {\\n width: 33.33%;\\n}\\n\\n.pic-sizer-4 {\\n width: 25%;\\n}\\n\\n.pic-sizer-5 {\\n width: 20%;\\n}\\n\\n.pic-sizer-6 {\\n width: 16.66%;\\n}\\n\\n.pic-sizer-7 {\\n width: 14.29%;\\n}\\n\\n.pic-sizer-8 {\\n width: 12.5%;\\n}\\n\\n.pic-sizer-9 {\\n width: 11.11%;\\n}\\n\\n.pic-sizer-10 {\\n width: 10%;\\n}\\n\\n.pic-sizer-11 {\\n width: 9.09%;\\n}\\n\\n.pic-sizer-12 {\\n width: 8.33%;\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1pbWFnZS1tb3NhaWMvY2gtZm9ybXMtaW1hZ2UtbW9zYWljLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSw2QkFBNkI7RUFDN0IsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUNBO0VBQ0UsVUFBVTtBQUNaOztBQUNBO0VBQ0UsYUFBYTtBQUNmOztBQUNBO0VBQ0UsVUFBVTtBQUNaOztBQUNBO0VBQ0UsVUFBVTtBQUNaOztBQUNBO0VBQ0UsYUFBYTtBQUNmOztBQUNBO0VBQ0UsYUFBYTtBQUNmOztBQUNBO0VBQ0UsWUFBWTtBQUNkOztBQUNBO0VBQ0UsYUFBYTtBQUNmOztBQUNBO0VBQ0UsVUFBVTtBQUNaOztBQUNBO0VBQ0UsWUFBWTtBQUNkOztBQUNBO0VBQ0UsWUFBWTtBQUNkIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1pbWFnZS1tb3NhaWMvY2gtZm9ybXMtaW1hZ2UtbW9zYWljLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLnBpYy1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1pbi1oZWlnaHQ6IDEwcHg7XG59XG5cbi5waWMtc2l6ZXItMSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBpYy1zaXplci0yIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5waWMtc2l6ZXItMyB7XG4gIHdpZHRoOiAzMy4zMyU7XG59XG4ucGljLXNpemVyLTQge1xuICB3aWR0aDogMjUlO1xufVxuLnBpYy1zaXplci01IHtcbiAgd2lkdGg6IDIwJTtcbn1cbi5waWMtc2l6ZXItNiB7XG4gIHdpZHRoOiAxNi42NiU7XG59XG4ucGljLXNpemVyLTcge1xuICB3aWR0aDogMTQuMjklO1xufVxuLnBpYy1zaXplci04IHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnBpYy1zaXplci05IHtcbiAgd2lkdGg6IDExLjExJTtcbn1cbi5waWMtc2l6ZXItMTAge1xuICB3aWR0aDogMTAlO1xufVxuLnBpYy1zaXplci0xMSB7XG4gIHdpZHRoOiA5LjA5JTtcbn1cbi5waWMtc2l6ZXItMTIge1xuICB3aWR0aDogOC4zMyU7XG59XG5cbiJdfQ== */\"","import { Component, Input, Output, EventEmitter, OnInit, ViewChild, AfterContentInit} from '@angular/core';\nimport { ChfileOptions } from 'app/chil/api/ch-api.service';\nimport { ChFileCompact, FileType } from 'app/chil/cloud/ch-file';\nimport { ChAttachment } from 'app/chil/post/ch-post';\nimport { NgxMasonryComponent, NgxMasonryOptions } from 'ngx-masonry';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-image-mosaic',\n templateUrl: './ch-forms-image-mosaic.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-image-mosaic.css'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsImageMosaic }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsImageMosaic extends ChFormsControl implements AfterContentInit {\n\n // @Input() readonly: boolean = false;\n @Input() columns = 3;\n @Input() width = 350;\n\n protected _value: object[] = [];\n @Input()\n public get value() : object[] {\n if (this._value === undefined || this._value === null) {\n this._value = [];\n //console.log(' * MOSAIC GET NUEVO VALOR : ---' );\n } else {\n //console.log(' * MOSAIC GET NUEVO VALOR :' + this._value.toString());\n }\n return this._value;\n };\n\n public set value(val : object[] | null | undefined) {\n if (val === undefined || val === null || !Array.isArray(val)) {\n this._value = [];\n } else {\n this._value = val;\n }\n\n this.images = []\n this._value.forEach(item => {\n if (item['type'] != undefined &&\n (item['type'] == FileType.image || item['type'] == 'image') ) {\n if (item instanceof ChFileCompact) {\n this.images.push( item as ChFileCompact);\n } else if (item instanceof ChAttachment) {\n this.images.push( (item as ChAttachment).toFile() );\n } else {\n this.images.push(ChFileCompact.fileFromObject(item));\n }\n }\n });\n //console.log(this.images)\n }\n\n masonryOptions : NgxMasonryOptions = {\n gutter : 0,\n columnWidth: '.pic-sizer-4',\n itemSelector: '.pic-item'\n }\n\n images : ChFileCompact[] = [];\n columnWidth : number = 150;\n\n constructor() {\n super();\n\n\n }\n\n ngAfterContentInit(): void {\n this.columnWidth = Math.floor(this.width / this.columns);\n this.masonryOptions.columnWidth = '.pic-sizer-' + this.columns.toString();\n\n //console.log(' WIDTH : ' + this.width)\n //console.log(' COLUMNS : ' + this.columns)\n //console.log(' OPTIONS : ' + this.masonryOptions.columnWidth)\n\n //console.log(this.images);\n }\n\n ngOnInit(): void {\n\n }\n}\n","import { Component, Input, OnInit, ViewChild, AfterViewInit, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChImageCropperDialogComponent } from '../../images/ch-image-cropper-dialog/ch-image-cropper-dialog.component';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFileSelectWindowComponent} from '../../cloud/ch-file-select-window/ch-file-select-window.component';\n\nimport * as piexif from 'piexifjs';\nimport { ChFileCompact, ChPictureRef } from 'app/chil/cloud/ch-file';\nimport { IsString } from 'class-validator';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-image-picker',\n templateUrl: './ch-forms-image-picker.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsImagePicker }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsImagePicker extends ChFormsControl implements OnInit, AfterViewInit {\n\n @Input() height = 150;\n @Input() formratio = undefined; // Relacion entre el ancho y el alto de la imagen\n @Input() targetdir = undefined; // Uid del directorio de destino\n @Input() name = undefined; // Nombre del fichero\n @Input() valtype = 'file'; // 'file', 'pictureRef' 'string'\n @Input() description = undefined; // Descripción del fichero\n @Input() maxSizeX = 800; // Máxima dimension horizontal de la imagen redimensionada (muy alto, tamaño natural)\n @Input() maxSizeY = 800; // Máxima dimension vertical de la imagen redimensionada (muy alto, tamaño natural)\n @Input() printExif = false; // Imprime los datos de EXIF de la foto sobre ella: nombre/fecha/posicion\n @Input() backgroundColor = 'transparent'; // Color de fondo\n @Input() nopreview = false;\n\n @ViewChild('inputImage', { static: true}) inputImage: any;\n\n @Output() fileChange = new EventEmitter();\n\n public imagewidth = -1;\n public imageheight = -1;\n\n public fileName = '';\n private fileType = '';\n public dataURL = '';\n private exifData = { fileName: '', date: '', location: ''};\n\n public isWorking = false;\n\n\n constructor(private chGlobal: ChGlobalsService, private el: ElementRef) {\n super();\n\n }\n\n ngOnInit(): void {\n\n }\n\n calculateSize() {\n //console.log('------------------------------')\n if (this.imageheight == -1 ) {\n\n //console.log('IMAGEHEIGHT 1 :' + this.el.nativeElement.offsetHeight)\n //console.log('IMAGEHEIGHT 2 :' + this.height)\n\n this.imageheight = Math.min(this.el.nativeElement.offsetHeight, this.height);\n if ( this.imageheight > 60) {\n this.imageheight -= 20;\n }\n }\n //console.log('IMAGEHEIGHT :' + this.imageheight)\n if (this.imagewidth == -1 ) {\n //console.log('IMAGEWIDTH 1 :' + this.el.nativeElement.offsetWidth)\n //console.log('IMAGEWIDTH 2 :' + this.width)\n this.imagewidth = this.el.nativeElement.offsetWidth\n if ( this.imagewidth > 60) {\n this.imagewidth -= 20;\n }\n }\n //console.log('IMAGEWIDTH :' + this.imagewidth)\n /*\n this.imageheight = this.height - 20\n this.imagewidth = this.el.nativeElement.offsetWidth - 20\n\n console.log('IMAGEHEIGHT 1 :' + this.imageheight )\n console.log('IMAGEHEIGHT 2 :' + this.imagewidth)\n */\n /*\n if (this.height < 50) {\n this.imageheight = this.height;\n this.imagewidth = this.imageheight * this.formratio;\n } else {\n this.imageheight = this.height - 20;\n if (this.formratio && this.formratio > 0.0) {\n if (this.formratio < 2.5) {\n this.imageheight *= 1.0;\n } else if (this.formratio < 3.0) {\n this.imageheight *= 0.9;\n } else if (this.formratio < 5) {\n this.imageheight *= 0.8;\n } else if (this.formratio < 8) {\n this.imageheight *= 0.7;\n } else {\n this.imageheight *= 0.6;\n }\n this.imagewidth = this.imageheight * this.formratio;\n } else {\n this.imagewidth = this.height * 2;\n }\n\n }\n */\n }\n\n ngAfterViewInit() {\n\n\n // init upload btn, after dom content loaded init down.\n setTimeout(() => {\n this.calculateSize();\n // tslint:disable-next-line:no-unused-expression\n this.inputImage.nativeElement.onchange = () => {\n console.log('inputImag.click')\n const files = this.inputImage.nativeElement.files;\n\n if (files && files.length > 0) {\n const file = files[0];\n // Only can upload image format.\n if (!/^(image\\/*)/.test(file.type)) {\n // console.log(' - ERROR: Tipo equivocado');\n this.chGlobal.showMessage(MessageType.error, 'Tipo de fichero equivocado',\n 'Es necesario seleccionar un fichero de tipo imagen: jpg,png,gif');\n } else {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n try {\n const dataurl: string = reader.result as string;\n this.fileName = file.name;\n this.fileType = file.type;\n\n if (this.printExif) {\n this.loadEXIF(dataurl);\n }\n this.openImagePicker(dataurl, this.exifData);\n } catch (err) {\n console.error(err);\n this.chGlobal.showMessage(MessageType.error, 'Error de lectura',\n 'se ha producido un error leyendo el fichero seleccionado');\n }\n };\n // Read in the image file as a data URL.\n reader.readAsDataURL(file);\n }\n };\n };\n }, 0);\n }\n\n private loadEXIF(dataURL: string) {\n this.exifData = { fileName: this.name, date: '', location: ''};\n try {\n const exifObj = piexif.load(dataURL);\n const imageDateTime = exifObj.Exif[piexif.ExifIFD.DateTimeOriginal];\n if (imageDateTime) {\n this.exifData.date = imageDateTime.toString(); // moment(imageDateTime).format('DD-MM-YYYY HH:mm:ss');\n }\n const imageLatitudeRef = exifObj.GPS[piexif.GPSIFD.GPSLatitudeRef];\n const imageLatitude = exifObj.GPS[piexif.GPSIFD.GPSLatitude];\n const imageLongitudeRef = exifObj.GPS[piexif.GPSIFD.GPSLongitudeRef];\n const imageLongitude = exifObj.GPS[piexif.GPSIFD.GPSLongitude];\n const imageAltitude = exifObj.GPS[piexif.GPSIFD.GPSAltitude];\n\n const formatCoords = (c: Array> ) => {\n return (c[0][0] / c[0][1]).toFixed(0) + 'º' +\n (c[1][0] / c[1][1]).toFixed(0) + '\\'' +\n (c[2][0] / c[2][1]).toFixed(2) + '\\'\\'';\n };\n\n if (imageLatitude && imageLongitude) {\n this.exifData.location = formatCoords(imageLatitude) + imageLatitudeRef + ' ' +\n formatCoords(imageLongitude) + imageLongitudeRef + ' ' +\n (imageAltitude[0] / imageAltitude[1]).toFixed(1) + 'm.';\n }\n } catch (err) {\n console.error(err);\n }\n\n }\n\n public onReturnData(data: any) {\n // Do what you want to do\n // console.warn(JSON.parse(data));\n }\n\n public resetValue() {\n this.value = null;\n this.fileChange.emit(null);\n }\n\n public openImagePicker(url: string, exifData: object) {\n ChImageCropperDialogComponent.show(\n {\n class: 'image-cropper-dialog',\n initialState: {url: url, autoCropArea: 1.0 /*0.95*/, aspectRatio: this.formratio,\n maxSizeX: this.maxSizeX, maxSizeY: this.maxSizeY, exif: this.printExif ? exifData : undefined},\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false,\n },\n (data: Blob) => {\n console.log(data);\n const me = this;\n this.blobToDataURL(data)\n .then ((dataUrl: string) => {\n me.dataURL = dataUrl;\n });\n me.isWorking = true;\n\n const file = new File([data], this.name /* this.fileName */, {type: this.fileType, lastModified: Date.now()});\n me.chGlobal.addFile(file, { filename: this.name, filedescr: this.description, folderUid: this.targetdir }).then( (result) => {\n\n if ( isNullOrUndefined(result) ) {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'Se ha producido un error subiendo el fichero al servidor. Disculpen las molestias');\n me.dataURL = '';\n } else {\n if (me.valtype === 'file') {\n me.value = result as ChFileCompact;\n } else if (this.valtype === 'pictureRef') {\n\n if (result['preview']) {\n me.value = new ChPictureRef({ uid: result['preview']['uid'],\n url: result['preview']['url'],\n width: result['preview']['width'],\n height: result['preview']['height']} );\n } else if (result['previewUrl']) {\n me.value = new ChPictureRef({ uid: result['uid'],\n url: result['previewUrl'],\n width: result['previewWidth'] ? result['previewWidth'] : 0,\n height: result['previewHeight'] ? result['previewHeight'] : 0} );\n } else {\n me.value = null;\n }\n } else {\n if (result['previewUrl']) {\n me.value = result['previewUrl'];\n } else if (result['preview']) {\n me.value = result['preview']['url'];\n } else {\n me.value = null;\n }\n }\n me.fileChange.emit(result as ChFileCompact);\n }\n me.isWorking = false;\n });\n });\n }\n\n public blobToDataURL(blob) {\n return new Promise((fulfill, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onload = (e) => fulfill(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n protected valueSetted(val: object) {\n if (!val || val === null) {\n this.dataURL = '';\n } else {\n if (typeof val === 'string' || val instanceof String ) {\n this.dataURL = String(val);\n } else if (val['preview']) {\n this.dataURL = String(val['preview'].url);\n } else if (val['previewUrl']) {\n this.dataURL = String(val['previewUrl']);\n } else if (val['url']) {\n this.dataURL = String(val['url']);\n } else {\n this.dataURL = '';\n }\n }\n }\n\n selectCloud() {\n ChFileSelectWindowComponent.show('images',\n { initialState : {\n data : {\n title: 'Seleccionar fichero',\n }\n },\n class: 'ch-modal-big',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (file: ChFileCompact) => {\n // console.log(file);\n if (this.valtype === 'file') {\n this.value = file;\n } else if (this.valtype === 'pictureRef') {\n this.value = new ChPictureRef({ uid: file.uid, url: file.previewUrl, width: file.previewWidth, height: file.previewHeight } );\n } else {\n this.value = this.nopreview ? file.contentUrl : file.previewUrl;\n }\n this.fileChange.emit(file);\n }\n );\n }\n}\n","import { Component, Input} from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-info-icon',\n templateUrl: './ch-forms-info-icon.component.html',\n styleUrls: ['../ch-forms.scss']\n})\n\nexport class ChFormsInfoIconComponent {\n @Input() title: String = '';\n @Input() text: String = '';\n @Input() placement: String = 'left';\n @Input() onWindow: Boolean = false;\n\n constructor() { }\n\n\n\n}\n","import { Component, Input, OnInit, ViewEncapsulation, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { isNullOrUndefined } from 'util';\n//import { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-ivoox-player',\n templateUrl: './ch-forms-ivoox-player.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsIvooxPlayer }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsIvooxPlayer extends ChFormsControl implements OnInit {\n\n @Input() width : number | null = null;\n @Input() height : number = 200;\n @Input() color : number = 0x2a7a28;\n\n private audioId = '';\n public audioLink : SafeUrl ;\n\n\n constructor(private sanitizer: DomSanitizer, private cdRef: ChangeDetectorRef) {\n super()\n }\n\n ngOnInit() {\n if ( isNullOrUndefined(this.height)) {\n this.height = Math.floor(this.width / 1.75);\n console.log(this.width + ' x ' + this.height)\n }\n }\n\n private ivoox_parser(url) : string | null {\n var regExp = /^.*((www.ivoox.com\\/)(.*))(_rf_)([^#&?]*)(_1.html)/;\n var match = url.match(regExp);\n return match? match[5] : '';\n }\n\n public getSafeUrl() : SafeResourceUrl | null {\n if (typeof this.value == \"string\") {\n this.audioId = this.ivoox_parser(this.value)\n this.audioLink = this.sanitizer.bypassSecurityTrustResourceUrl('https://www.ivoox.com/player_ej_' + this.audioId +\n '_6_1.html?c1=' + this.color.toString(16));\n return this.audioLink;\n } else {\n return null;\n }\n }\n}\n","\nimport { Input } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-label',\n templateUrl: './ch-forms-label.html',\n styleUrls: ['../ch-forms.scss'],\n //providers: [{ provide: ChFormsControl, useExisting: ChFormsLabel }]\n})\nexport class ChFormsLabel implements OnInit {\n\n @Input() label: String = 'Nombre';\n @Input() info: String = '';\n @Input() infotitle: String = '';\n @Input() infoplacement: String = 'left';\n @Input() required: Boolean = false;\n @Input() important = false;\n @Input() notranslate = false;\n\n constructor(private chGlobal : ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChPostLanguage } from 'app/chil/post/ch-post';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-forms-language-picker',\n templateUrl: './ch-forms-language-picker.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsLanguagePicker }]\n})\nexport class ChFormsLanguagePicker extends ChFormsControl implements OnInit {\n\n @Input() includeAll = false;\n\n private languageList: Array = [];\n\n ngOnInit() {\n for (let element in ChPostLanguage) {\n if ( this.includeAll || ChPostLanguage[element] != '*') {\n this.languageList.push({id: ChPostLanguage[element], label: ChGlobalsService.getInstance().translateStr(element) });\n //console.log(ChPostLanguage[element] + ' - ' + element)\n }\n }\n }\n\n}\n","export default \".link-info-table {\\n min-height: 100px;\\n margin: 10px;\\n}\\n.link-info-table td {\\n vertical-align: top;\\n}\\n.link-info-table .link-pic {\\n width: 150px;\\n min-height: 80px;\\n margin-right: 10px;\\n background-color: gray;\\n}\\n.link-info-table .link-title {\\n font-size: 14px;\\n font-weight: bold;\\n}\\n.link-info-table .link-descr {\\n font-size: 12px;\\n}\\n.link-info-table .link-pic-controls {\\n margin-right: 10px;\\n color: gray;\\n text-align: center;\\n}\\n.link-info-table .link-pic-controls .fa {\\n margin-left: 10px;\\n margin-right: 10px;\\n}\\n.link-info-table .link-pic-controls .fa:hover {\\n color: lightblue;\\n}\\n.link-url-table {\\n margin: 0px;\\n width: 100%;\\n}\\n.link-url-table td {\\n vertical-align: top;\\n}\\n.link-url-table td.button-column {\\n width: 74px;\\n vertical-align: bottom;\\n padding-bottom: 8px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1saW5rL2NoLWZvcm1zLWxpbmstZWRpdG9yLXdpbmRvdy9jaC1mb3Jtcy1saW5rLWVkaXRvci13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtbGluay9jaC1mb3Jtcy1saW5rLWVkaXRvci13aW5kb3cvY2gtZm9ybXMtbGluay1lZGl0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsaUJBQUE7RUFDQSxZQUFBO0FDREY7QURHRTtFQUNFLG1CQUFBO0FDREo7QURJRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUNGSjtBRElFO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0FDRko7QURJRTtFQUNFLGVBQUE7QUNGSjtBRElFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QUNGSjtBRElJO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTtBQ0ZOO0FESUk7RUFDRSxnQkFBQTtBQ0ZOO0FET0E7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBQ0pGO0FES0U7RUFDRSxtQkFBQTtBQ0hKO0FES0U7RUFDRSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBQ0hKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1saW5rL2NoLWZvcm1zLWxpbmstZWRpdG9yLXdpbmRvdy9jaC1mb3Jtcy1saW5rLWVkaXRvci13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLmxpbmstaW5mby10YWJsZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IDEwcHg7XG5cbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAubGluay1waWMge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICB9XG4gIC5saW5rLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmxpbmstZGVzY3Ige1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAubGluay1waWMtY29udHJvbHMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuZmEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC5mYTpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRibHVlO1xuICAgIH1cbiAgfVxufVxuXG4ubGluay11cmwtdGFibGUge1xuICBtYXJnaW46IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIHRkLmJ1dHRvbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA3NHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcblxuICB9XG59XG4iLCIubGluay1pbmZvLXRhYmxlIHtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogMTBweDtcbn1cbi5saW5rLWluZm8tdGFibGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmxpbmstaW5mby10YWJsZSAubGluay1waWMge1xuICB3aWR0aDogMTUwcHg7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbn1cbi5saW5rLWluZm8tdGFibGUgLmxpbmstdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxpbmstaW5mby10YWJsZSAubGluay1kZXNjciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5saW5rLWluZm8tdGFibGUgLmxpbmstcGljLWNvbnRyb2xzIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxpbmstaW5mby10YWJsZSAubGluay1waWMtY29udHJvbHMgLmZhIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5saW5rLWluZm8tdGFibGUgLmxpbmstcGljLWNvbnRyb2xzIC5mYTpob3ZlciB7XG4gIGNvbG9yOiBsaWdodGJsdWU7XG59XG5cbi5saW5rLXVybC10YWJsZSB7XG4gIG1hcmdpbjogMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5saW5rLXVybC10YWJsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubGluay11cmwtdGFibGUgdGQuYnV0dG9uLWNvbHVtbiB7XG4gIHdpZHRoOiA3NHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufSJdfQ== */\"","import { OnInit, Component, AfterViewInit, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from '../../../forms/ch-form/ch-form';\nimport { MessageType } from '../../../chilweb/ch-globals-def';\nimport { ChLink, ChLinkType } from 'app/chil/post/ch-link';\nimport { lightSpeedIn } from 'ng-animate';\nimport { BehaviorSubject } from 'rxjs';\nimport { isTemplateExpression } from 'typescript';\nimport { timeout } from 'rxjs-compat/operator/timeout';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-link-editor-window',\n templateUrl: './ch-forms-link-editor-window.component.html',\n styleUrls: ['../../../forms/forms.scss', './ch-forms-link-editor-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ChFormsLinkEditorWindowComponent implements OnInit, AfterViewInit {\n\n private static passLink: ChLink | null = null;\n private static modalRef: BsModalRef = null;\n private static callback: (newvalue: ChLink) => void | null = null;\n private static currentWindow: ChFormsLinkEditorWindowComponent = null;\n\n private link: ChLink | null = null;\n private title: String = '';\n private buttonText: String = '';\n\n private progressAdv: BehaviorSubject = new BehaviorSubject(0);\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(link: ChLink, config?: ModalOptions, callback?: (newvalue: ChLink) => void ) {\n ChFormsLinkEditorWindowComponent.passLink = link;\n ChFormsLinkEditorWindowComponent.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChFormsLinkEditorWindowComponent.callback = callback != null ? callback : (newvalue: ChLink) => {};\n }\n\n public static hide(executeCallback: boolean, newLink: ChLink) {\n if (executeCallback) {\n ChFormsLinkEditorWindowComponent.callback(newLink);\n }\n ChGlobalsService.getInstance().hideModalWindow(ChFormsLinkEditorWindowComponent.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService, private cdRef: ChangeDetectorRef) {\n ChFormsLinkEditorWindowComponent.currentWindow = this;\n //cdRef.detach();\n }\n\n ngOnInit() {\n this.link = ChFormsLinkEditorWindowComponent.passLink.copy();\n console.log(this.link)\n this.title = 'CONFIGURAR LINK';\n this.buttonText = 'Aceptar';\n }\n\n ngAfterViewInit() {\n }\n\n confirm() {\n ChFormsLinkEditorWindowComponent.hide(true, this.link);\n }\n\n decline() {\n ChFormsLinkEditorWindowComponent.hide(false, this.link);\n }\n\n clickDerecho() {\n console.log('CLICK D!')\n }\n clickIzquierdo() {\n console.log('CLICK I!')\n }\n\n isValidUrl(urlString : string) : boolean {\n var urlPattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // validate protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // validate domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // validate OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // validate port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // validate query string\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // validate fragment locator\n return !!urlPattern.test(urlString);\n }\n\n private isRunning = false;\n\n private metaHasTag(meta: HTMLMetaElement, tag: string) : boolean {\n const name : string = meta.name;\n const property : string = meta.getAttribute('property');\n\n if (!isNullOrUndefined(property) && property.includes(tag))\n return true;\n else if (name.includes(tag))\n return true\n return false;\n }\n\n async buscarUrl() {\n\n if (this.isRunning) {\n return;\n }\n\n this.link.title = \"\";\n this.link.descr = \"\";\n this.link.picUrl = \"\";\n\n if (!this.isValidUrl(this.link.url)) {\n this.chGlobal.showMessage(MessageType.error,'URL no válida','El texto introducido no es una dirección url válida.')\n } else if (ChLink.getLinkType(this.link.url) == ChLinkType.YouTube) {\n let youTubeId = ChLink.parseYouTubeUrl(this.link.url);\n console.log(youTubeId)\n if (youTubeId == null || youTubeId == '') {\n this.chGlobal.showMessage(MessageType.error,'URL no válida','El texto introducido no es una dirección url válida.')\n } else {\n let videoDescr : Object = await this.chGlobal.loadYouTubeVideoInfo(youTubeId);\n console.log(videoDescr)\n this.link.descr = videoDescr['description'].substring(0, Math.min(255,videoDescr['description'].length));\n this.link.title = videoDescr['title'];\n if (!isNullOrUndefined(videoDescr['thumbnails'] && !isNullOrUndefined(videoDescr['thumbnails']['standard'])) ) {\n this.link.picUrl = videoDescr['thumbnails']['standard']['url']\n }\n }\n\n } else {\n this.isRunning = true;\n\n this.progressAdv.next(50);\n var doc :Document = await this.chGlobal.loadHTMLFile(this.link.url);\n var list = doc.head.getElementsByTagName(\"meta\");\n console.log('-----');\n console.log(doc)\n console.log('-----');\n for (var i = 0; i < list.length; i++) {\n console.log(list[i]);\n if ( this.metaHasTag(list[i],'description')) {\n this.link.descr = list[i].content.substring(0, Math.min(255,list[i].content.length)); ;\n console.log(' DESCR : ' + list[i].content);\n } else if ( this.metaHasTag(list[i],'title')) {\n this.link.title = list[i].content;\n console.log(' TITLE : ' + list[i].content);\n } else if ( this.metaHasTag(list[i],'image')) {\n if (list[i].content.startsWith('https://')) {\n this.link.picUrl = list[i].content;\n console.log(' PIC : ' + list[i].content);\n }\n }\n }\n //console.log('-----');\n setTimeout(() => {\n this.progressAdv.next(100);\n this.isRunning = false;\n }, 200);\n }\n }\n\n\n}\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChLink } from 'app/chil/post/ch-link';\nimport { ChFormsLinkEditorWindowComponent } from './ch-forms-link-editor-window/ch-forms-link-editor-window.component';\n\n@Component({\n selector: 'ch-forms-link',\n templateUrl: './ch-forms-link.html',\n styleUrls: ['../ch-forms.scss']\n})\nexport class ChFormsLink extends ChFormsControl implements OnInit {\n\n private _title: string | null = null;\n @Input()\n public get title() {\n return this._title;\n };\n\n @Output()\n titleChange = new EventEmitter();\n public set title(val) {\n if (this._title == val) {\n return;\n }\n\n this._title = val;\n this.titleChange.emit(this._title);\n\n };\n\n private _descr: string | null = null;\n @Input()\n public get descr() {\n return this._descr;\n };\n\n @Output()\n descrChange = new EventEmitter();\n public set descr(val) {\n if (this._descr == val) {\n return;\n }\n\n this._descr = val;\n this.descrChange.emit(this._descr);\n\n };\n\n private _picUrl: string | null = null;\n @Input()\n public get picUrl() {\n return this._picUrl;\n };\n\n @Output()\n picUrlChange = new EventEmitter();\n public set picUrl(val) {\n if (this._picUrl == val) {\n return;\n }\n\n this._picUrl = val;\n this.picUrlChange.emit(this._picUrl);\n\n };\n\n\n constructor() {\n super()\n }\n\n ngOnInit() {\n }\n\n getIconLink() : string {\n return ChLink.getLinkIcon(ChLink.getLinkType(this.value));\n }\n\n openLinkWindow() {\n if (this.readonly) {\n return;\n }\n let link = new ChLink(this.value)\n link.title = this.title;\n link.descr = this.descr;\n link.picUrl = this.picUrl;\n ChFormsLinkEditorWindowComponent.show(link,\n { initialState : {\n data : {\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (newValue : ChLink) => {\n console.log(newValue)\n this.value = newValue.url;\n this.title = newValue.title;\n this.descr = newValue.descr;\n this.picUrl = newValue.picUrl;\n }\n );\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChLocationPickerWindowComponent } from '../../location/ch-location-picker-window/ch-location-picker-window.component';\nimport { ChGeoLocation, ChGeoLocationExtended } from 'app/chil/location/ch-geo-location';\nimport { isNullOrUndefined } from 'util';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-location-picker',\n templateUrl: './ch-forms-location-picker.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsLocationPicker }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsLocationPicker extends ChFormsControl {\n\n @Input() text = '';\n @Input() selected = false;\n @Input() virtual = false; // Si se permite geolocalización virtual\n @Input() extended = false; // Si se quiere devolver una geolocalización extendida\n\n @Output() valueChange = new EventEmitter();\n\n constructor(public chGlobal: ChGlobalsService) {\n super();\n }\n\n fire() {\n console.log(this.value )\n ChLocationPickerWindowComponent.show( this.isValidValue() ? this.value : null, this.extended,\n this.virtual,\n {\n class: 'ch-location-picker-window',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false,\n },\n (data: ChGeoLocation | ChGeoLocationExtended ) => {\n console.log(data);\n this.value = data;\n this.valueChange.emit(data);\n });\n }\n\n public isValidValue(): boolean {\n if (this._value === undefined || this._value === null) {\n return false;\n }\n if (this.isVirtual()) {\n if (this._value['name'] === undefined || this._value['name'] === null) {\n return false\n }\n } else {\n if (this._value['latitude'] === undefined || this._value['latitude'] === null || this._value['latitude'] === 0 ) {\n return false;\n }\n if (this._value['longitude'] === undefined || this._value['longitude'] === null || this._value['longitude'] === 0 ) {\n return false;\n }\n }\n\n return true;\n }\n\n public isVirtual(): boolean {\n if (this._value === undefined || this._value === null) {\n return false;\n }\n\n if ( isNullOrUndefined(this._value['latitude']) || isNullOrUndefined(this._value['longitude']) ) {\n return false;\n }\n if ( !this.virtual ) {\n return false;\n }\n if ( this._value['latitude'] !== 0 && this._value['latitude'] !== -256) {\n return false;\n }\n if ( this._value['longitude'] !== 0 && this._value['longitude'] !== -256) {\n return false;\n }\n return true;\n }\n\n}\n","export default \".map {\\n height: 100%;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1tYXAtZGlzcGxheS9jaC1mb3Jtcy1tYXAtZGlzcGxheS5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLW1hcC1kaXNwbGF5L2NoLWZvcm1zLW1hcC1kaXNwbGF5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFBTSxZQUFBO0VBQWMsV0FBQTtBQ0NwQiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtbWFwLWRpc3BsYXkvY2gtZm9ybXMtbWFwLWRpc3BsYXkuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLm1hcCB7aGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJSB9XG4iLCIubWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, Input, OnInit, AfterViewInit, EventEmitter, Output} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ChGeoLocation, ChMapDefinition } from '../../location/ch-geo-location';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport OlMap from 'ol/Map';\nimport OlXYZ from 'ol/source/XYZ';\nimport OlTileLayer from 'ol/layer/Tile';\nimport OlView from 'ol/View';\nimport OlStyle from 'ol/style/Style';\nimport OlCircle from 'ol/style/Circle';\nimport OlFill from 'ol/style/Fill';\nimport Select from 'ol/interaction/Select';\nimport {Vector as VectorSource} from 'ol/source.js';\nimport {Layer, Vector as VectorLayer} from 'ol/layer.js';\nimport {Geometry, Point } from 'ol/geom';\n\nimport { fromLonLat, transform } from 'ol/proj';\nimport { Feature } from 'ol';\nimport { isNullOrUndefined } from 'util';\nimport { Icon, Style } from 'ol/style';\nimport { FeatureLike } from 'ol/Feature';\nimport {altKeyOnly, click, pointerMove} from 'ol/events/condition';\nimport { Pixel } from 'ol/pixel';\nimport { createOrUpdateFromCoordinates, extendFlatCoordinates, Extent } from 'ol/extent';\n\n\n\nexport class ChFormsMapDisplayPoint {\n public uid : number | string = '';\n public title = '';\n public position : ChGeoLocation = undefined;\n public innerHtml = '';\n public icon = 'assets/images/maps/marker48b.png';\n public iconSelected = 'assets/images/maps/marker48b.png';\n public scale = 0.6;\n}\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-map-display',\n templateUrl: './ch-forms-map-display.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-map-display.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsMapDisplay }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsMapDisplay extends ChFormsControl implements OnInit, AfterViewInit {\n\n defaultLatitude = 40.41831;\n defaultLongitude = -3.70275;\n defaultZoom = 8;\n //\n // Tamaño fisico del mapa en pixeles\n @Input() mapHeight = 300;\n //\n // Latitud del centro del mapa\n private _latitude = this.defaultLatitude;\n @Input() public set latitude(value) {\n if (value != this._latitude) {\n //console.log(\"LATITUDE : \" + value);\n this._latitude = value;\n this.setMapCoordinates();\n }\n }\n public get latitude() {\n return this._latitude;\n }\n //\n // longitud del centro del mapa\n private _longitude = this.defaultLongitude;\n @Input() public set longitude(value) {\n if (value != this._longitude) {\n //console.log(\"LONGITUDE : \" + value);\n this._longitude = value;\n this.setMapCoordinates();\n }\n }\n public get longitude() {\n return this._longitude;\n }\n //\n // Zoom del mapa\n private _zoom = this.defaultZoom;\n @Input() public set zoom(value) {\n if (value != this._zoom) {\n //console.log(\"ZOOM : \" + value);\n this._zoom = value;\n this.setMapCoordinates();\n }\n }\n public get zoom() {\n return this._zoom;\n }\n //\n // Lista de puntos del mapa\n private _points : ChFormsMapDisplayPoint[] = []\n @Input() public set points(value) {\n if (value != this._points) {\n //console.log(\"POINTS : \" + value.length);\n this._points = value;\n this.generatePoints();\n }\n }\n public get points() {\n return this._points;\n }\n public getPointFromId(id: number | string): ChFormsMapDisplayPoint | undefined {\n return this._points.find( p => p.uid == id );\n }\n\n\n private centerPoint: number[];\n private resetMapCoordinates = false;\n \n /*\n name = '';\n valuesArray: ChGeoLocation[] = [];\n \n mapCenter: Feature;\n */\n\n map: OlMap;\n raster: OlXYZ;\n rasterLayer: OlTileLayer;\n vector: VectorSource;\n vectorLayer: VectorLayer;\n view: OlView;\n\n isExecuting = false;\n\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n\n if (this.default == null) {\n this.default = new ChMapDefinition(); \n }\n\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n setTimeout( () => {\n this.setupMap();\n }, 250);\n }\n\n async setupMap() {\n this.raster = new OlXYZ({\n \n /* url: 'http://tile.osm.org/{z}/{x}/{y}.png' */\n url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png' \n /* url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png' */\n });\n\n this.rasterLayer = new OlTileLayer({\n source: this.raster\n });\n\n this.view = new OlView({\n center: fromLonLat([ this.longitude, this.latitude ]),\n zoom: this.zoom\n });\n \n this.vector = new VectorSource({ wrapX: false});\n\n this.vectorLayer = new VectorLayer({\n source: this.vector\n });\n\n this.map = new OlMap({\n target: 'map',\n layers: [this.rasterLayer,this.vectorLayer],\n view: this.view,\n controls: []\n });\n const me = this;\n this.map.on('singleclick', function(evt) {\n const pixelExtent = me.getPixelExtent(evt.pixel,16);\n const pickedFeature = me.vector.forEachFeatureInExtent(pixelExtent, (f) => {\n return f;\n })\n me.selectFeature(pickedFeature);\n });\n }\n\n\n setCurrentPosition(coordinate: number[]) {\n if (!isNullOrUndefined(this._value)) {\n this.view.setCenter(coordinate);\n }\n }\n\n centerMap() {\n if (this.centerPoint !== undefined) {\n this.view.setCenter(this.centerPoint);\n }\n }\n\n setMapCoordinates() {\n if (this.resetMapCoordinates) {\n return;\n }\n\n if (this.view == null) {\n return;\n }\n this.resetMapCoordinates = true;\n setTimeout(() => {\n if (this.resetMapCoordinates) {\n this.view.setCenter(fromLonLat([ this.longitude, this.latitude ]));\n this.view.setZoom(this.zoom);\n this.resetMapCoordinates = false;\n }\n }, 500);\n }\n\n getPixelExtent(pixel: Pixel, radius: number) : Extent {\n const c0 = this.map.getCoordinateFromPixel([pixel[0]-radius,pixel[1]-radius]);\n const c1 = this.map.getCoordinateFromPixel([pixel[0]+radius,pixel[1]+radius]);\n return createOrUpdateFromCoordinates([c0,c1]);\n }\n\n generatePoints() {\n /*\n const circle_style = new OlStyle({\n image: new OlCircle({\n radius: 5,\n fill: new OlFill({\n color: 'rgba(255, 0, 0, 2)'\n })\n })\n });\n */\n this._points.forEach( point => {\n const feature = new Feature({\n geometry: new Point(fromLonLat([point.position.longitude, point.position.latitude])),\n id: point.uid, name: point.title\n });\n\n feature.setId(point.uid);\n //feature.setStyle(circle_style);\n \n feature.setStyle(new Style({\n image: new Icon({\n crossOrigin: 'anonymous',\n src: point.icon,\n scale: point.scale\n })\n }));\n \n this.vector.addFeature( feature );\n });\n }\n\n // Seleccionar y deseleccionar\n selectedFeature: Feature = undefined;\n\n // \n // Un nuevo punto ha sido seleccionado\n protected valueSetted(val) {\n if (val == undefined) {\n this.unselectFeature();\n } else {\n this.selectFeature(this.vector.getFeatureById(val));\n }\n }\n\n selectFeature(feature: Feature) {\n if (this.selectedFeature == feature) {\n return;\n } else {\n this.unselectFeature();\n if (feature == undefined) {\n this.value = undefined;\n } else {\n this.selectedFeature = feature;\n const point: ChFormsMapDisplayPoint = this.getPointFromId(this.selectedFeature.getId())\n if (point != undefined) {\n this.selectedFeature.setStyle(new Style({\n image: new Icon({\n crossOrigin: 'anonymous',\n src: point.iconSelected,\n scale: point.scale\n })\n }));\n }\n this.value = this.selectedFeature.getId();\n }\n }\n }\n\n unselectFeature() {\n if (this.selectedFeature != undefined) {\n const point: ChFormsMapDisplayPoint = this.getPointFromId(this.selectedFeature.getId())\n if (point != undefined) {\n this.selectedFeature.setStyle(new Style({\n image: new Icon({\n crossOrigin: 'anonymous',\n src: point.icon,\n scale: point.scale\n })\n }));\n }\n this.selectedFeature = undefined;\n }\n }\n\n}\n","export default \".map {\\n height: 100%;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1tYXAtc2V0dGVyL2NoLWZvcm1zLW1hcC1zZXR0ZXIuc2NzcyIsInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1tYXAtc2V0dGVyL2NoLWZvcm1zLW1hcC1zZXR0ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUFNLFlBQUE7RUFBYyxXQUFBO0FDQ3BCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1tYXAtc2V0dGVyL2NoLWZvcm1zLW1hcC1zZXR0ZXIuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLm1hcCB7aGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJSB9XG4iLCIubWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, Input, OnInit, AfterViewInit, EventEmitter, Output} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChGeoLocation, ChMapDefinition } from 'app/chil/location/ch-geo-location';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\nimport OlMap from 'ol/Map';\nimport OlXYZ from 'ol/source/XYZ';\nimport OlTileLayer from 'ol/layer/Tile';\nimport OlView from 'ol/View';\nimport {Vector as VectorSource} from 'ol/source.js';\nimport {Vector as VectorLayer} from 'ol/layer.js';\nimport {Point } from 'ol/geom';\nimport Geolocation from 'ol/Geolocation';\n\nimport { fromLonLat, transform } from 'ol/proj';\nimport { Feature } from 'ol';\nimport { Style, Icon, Stroke } from 'ol/style';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-map-setter',\n templateUrl: './ch-forms-map-setter.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-map-setter.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsMapSetter }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsMapSetter extends ChFormsControl implements OnInit, AfterViewInit {\n\n @Input() height = 300;\n \n private static passData: Array = null;\n private static passLocation: ChGeoLocation = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n\n name = '';\n valuesArray: ChGeoLocation[] = [];\n\n centerPoint: number[];\n mapCenter: Feature;\n\n map: OlMap;\n raster: OlXYZ;\n rasterLayer: OlTileLayer;\n vector: VectorSource;\n vectorLayer: VectorLayer;\n view: OlView;\n\n isExecuting = false;\n\n @Input()\n public get value() {\n if ( isNullOrUndefined(this._value ) ) {\n this._value = this.default;\n // console.log(' * (' + this.label + ') GET NUEVO VALOR : ---' );\n } else {\n // console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString());\n }\n return this._value; \n };\n\n\n @Output()\n valueChange = new EventEmitter();\n public set value(val) {\n if (isNullOrUndefined(val)) {\n this._value = this.default;\n } else {\n if (this._value === val || \n (\n this._value['latitude'] == val['latitude'] &&\n this._value['longitude'] == val['longitude'] &&\n this._value['zoom'] == val['zoom']\n )\n ) {\n return;\n }\n this._value = val;\n }\n\n this.setMapCoordinates();\n\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = val;\n //console.log(' - SET VALUE : ' + this._key.toString());\n //console.log(this._obj[this._key]);\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n\n };\n\n public assignValueToObject(obj?: object, key?: PropertyKey) {\n super.assignValueToObject(obj,key);\n this.setMapCoordinates()\n }\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n\n if (this.default == null) {\n this.default = new ChMapDefinition(); \n }\n\n }\n\n ngOnInit(): void {\n \n setTimeout(() => {\n this.raster = new OlXYZ({\n /* url: 'http://tile.osm.org/{z}/{x}/{y}.png' */\n url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png' \n /* url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png' */\n });\n\n this.rasterLayer = new OlTileLayer({\n source: this.raster\n });\n\n if (isNullOrUndefined(this._value)) {\n this.view = new OlView();\n } else {\n this.view = new OlView({\n center: fromLonLat([ this._value.longitude, this._value.latitude ]),\n zoom: this._value.zoom\n });\n }\n\n this.vector = new VectorSource({ wrapX: false});\n\n this.vectorLayer = new VectorLayer({\n source: this.vector\n });\n this.map = new OlMap({\n target: 'map',\n layers: [this.rasterLayer, this.vectorLayer],\n view: this.view\n });\n\n const me = this;\n \n this.view.on('change', function(e) { // 'change:center'\n const coord = me.view.getCenter()\n const lonlat = transform(coord, 'EPSG:3857', 'EPSG:4326');\n const zoom = me.view.getZoom();\n if (!isNullOrUndefined(me._value)) {\n me._value.longitude = lonlat[0];\n me._value.latitude = lonlat[1];\n me._value.zoom = zoom;\n }\n });\n }, 200);\n \n }\n\n ngAfterViewInit(): void {\n\n }\n\n \n setCurrentPosition(coordinate: number[]) {\n if (!isNullOrUndefined(this._value)) {\n this.view.setCenter(coordinate);\n }\n }\n\n centerMap() {\n if (this.centerPoint !== undefined) {\n this.view.setCenter(this.centerPoint);\n }\n }\n\n setMapCoordinates() {\n if (this.view == null) {\n return;\n }\n // console.log(' SET MAP ' + this.MaptoString() )\n \n if ( !isNullOrUndefined(this._value) && !isNullOrUndefined(this._value['latitude']) && !isNullOrUndefined(this._value['longitude']) && !isNullOrUndefined(this._value['zoom']) ) {\n this.view.setCenter(fromLonLat([ this._value['longitude'], this._value['latitude'] ]));\n this.view.setZoom(this._value['zoom']);\n }\n }\n\n MaptoString() : string {\n // console.log(this._value)\n if ( !isNullOrUndefined(this._value) && !isNullOrUndefined(this._value['latitude']) && !isNullOrUndefined(this._value['longitude']) && !isNullOrUndefined(this._value['zoom']) ) {\n return 'LAT: ' + this._value.latitude.toFixed(5) + ' LONG: ' + this._value.longitude.toFixed(5) + ' ZOOM: ' + this._value.zoom.toFixed(1);\n } else {\n return '';\n }\n }\n\n}\n","import { ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChZoneCompact } from 'app/chil/zone/ch-zone';\nimport { ChPostReference } from 'app/chil/post/ch-post';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n@Component({\n selector: 'ch-forms-post-selector',\n templateUrl: './ch-forms-post-selector.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsPostSelector }]\n})\nexport class ChFormsPostSelector extends ChFormsControl implements OnInit {\n\n private isRunning = false;\n @Input() types = '';\n @Input() zoneUid = '';\n\n private postRefValues : Array = [];\n\n constructor(private chGlobal: ChGlobalsService,private ref: ChangeDetectorRef) {\n super();\n\n }\n\n ngOnInit() {\n this.search()\n }\n\n setValue(newValue: object) {\n // console.log('ZONA SELECCIONADA ');\n // console.log(newValue);\n }\n\n dataChanged(target: any, data: Boolean) {\n }\n\n reset() {\n this.postRefValues = [];\n }\n\n initCombo() {\n }\n\n search() {\n if (this.isRunning) {\n return;\n }\n\n this.isRunning = true;\n this.reset();\n\n this.chGlobal.showRunningWindow( 'Leyendo datos ...');\n var newValues : Array = [];\n let filterArray = this.types.split(',');\n\n const flujoDatos = this.chGlobal.getPostAnalytics(this.chGlobal.getGroupInfo().uid, this.zoneUid,'' ,'',[], filterArray, false, true )\n .subscribe(\n (values: ChPostReference[]) => { // Next\n values.forEach( (v) => { newValues.push(v); });\n this.chGlobal.showRunningWindowWithParams( '%1 entradas leidas ...', [String(this.postRefValues.length)]);\n },\n (error: any) => { // Error\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n flujoDatos.unsubscribe();\n this.isRunning = false;\n },\n () => { //Complete\n this.isRunning = false;\n flujoDatos.unsubscribe();\n setTimeout(() => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessageWithParams(MessageType.success, 'Datos leidos',\n '%1 filas leidas', [newValues.length.toString()]);\n\n this.postRefValues = newValues;\n console.log(this.postRefValues);\n setTimeout(() => {\n this.initCombo();\n }, 250);\n\n }, 250);\n }\n );\n }\n\n}\n","export default \"\\n.ch-inline-button {\\n width: 15px;\\n height: 15px;\\n margin-right: 2px;\\n}\\n\\n.ch-posttype-inline {\\n margin-right: 5px;\\n}\\n\\n.ch-inline-button.all-nothing-check {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1wb3N0LXR5cGUtc2VsZWN0L2NoLWZvcm1zLXBvc3QtdHlwZS1zZWxlY3QuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixVQUFVO0FBQ1oiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLXBvc3QtdHlwZS1zZWxlY3QvY2gtZm9ybXMtcG9zdC10eXBlLXNlbGVjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi5jaC1pbmxpbmUtYnV0dG9uIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5jaC1wb3N0dHlwZS1pbmxpbmUge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uY2gtaW5saW5lLWJ1dHRvbi5hbGwtbm90aGluZy1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG59XG4iXX0= */\"","import { Component, AfterContentInit, Input } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-post-type-select',\n templateUrl: './ch-forms-post-type-select.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-post-type-select.css'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsPostTypeSelect }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsPostTypeSelect extends ChFormsControl implements AfterContentInit {\n\n private postTypes = [ 'post','news','event','document',\n 'question','form','page','link','image',\n 'publi','theme','test','postbox'];\n\n @Input()\n set multiple(value: string) {\n if (value === 'true') {\n this.inputType = 'checkbox';\n } else {\n this.inputType = 'radio';\n }\n }\n private inputType = 'radio';\n constructor() { super(); }\n\n ngAfterContentInit(): void {\n\n }\n\n dataChanged(data: Boolean) {\n // console.log('DATA CHANGED');\n /*\n const newVal: Array = [];\n this.checkboxList.toArray().forEach(\n (item: ChFormsCheck) => {\n if (item.value) {\n newVal.push(item.name === '' ? item.label : item.name);\n }\n });\n this.value = newVal;\n */\n }\n\n check(postType: string, checked: boolean) {\n if (this.inputType === 'checkbox') {\n this._value[postType] = checked;\n } else {\n this.postTypes.forEach ((key) => {\n this._value[key] = false;\n });\n this._value[postType] = checked;\n }\n this.valueChange.emit(this._value);\n }\n\n /**\n * Devuelce el estado de checkeo de los elementos:\n * 0 - Ninguno\n * 1 - Algunos\n * 2 - Todos\n */\n checkStatus() : Number {\n let nChecked = 0;\n Object.keys(this._value).forEach ((key) => {\n nChecked += this._value[key] == true ? 1 : 0;\n });\n if (nChecked == 0) {\n return 0;\n } else if (nChecked >= this.postTypes.length) {\n return 2;\n } else {\n return 1;\n }\n }\n\n checkAll() {\n const allValue = this.checkStatus() !== 2;\n this.postTypes.forEach ((key) => {\n this._value[key] = allValue;\n });\n }\n}\n","export default \".product-families-container {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n}\\n.product-families-container .family-group-title {\\n font-size: 14px;\\n font-weight: bold;\\n padding-top: 10px;\\n}\\n.product-families-container .family-container-ext {\\n padding: 2px;\\n}\\n.product-families-container .family-container-ext .family-container-int {\\n padding: 5px;\\n padding-bottom: 20px;\\n border: 1px solid #EEEEEE;\\n background-color: #FAFAFA;\\n overflow: hidden;\\n position: relative;\\n cursor: pointer;\\n}\\n.product-families-container .family-container-ext .family-container-int.selected {\\n border-color: #7A2184;\\n background-color: #F2E7F2;\\n border-width: 2px;\\n}\\n.product-families-container .family-container-ext .family-container-int .family-pic-container {\\n aspect-ratio: 1/1;\\n background-color: #FAFAFA;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: cover;\\n margin: 20px;\\n}\\n.product-families-container .family-container-ext .family-container-int .family-label {\\n width: 100%;\\n text-align: center;\\n position: absolute;\\n bottom: 1px;\\n margin: 0px;\\n font-size: 12px;\\n padding-right: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1wcm9kdWN0cy1mYW1pbHktcGlja2VyL2NoLWZvcm1zLXByb2R1Y3RzLWZhbWlseS1waWNrZXIuc2NzcyIsInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1wcm9kdWN0cy1mYW1pbHktcGlja2VyL2NoLWZvcm1zLXByb2R1Y3RzLWZhbWlseS1waWNrZXIuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsaUJBQUE7RUFDQSxvQkFBQTtBQ0RGO0FER0U7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtBQ0RKO0FESUU7RUFDRSxZQUFBO0FDRko7QURJSTtFQUNFLFlBQUE7RUFDQSxvQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJFMEVnQjtFRnpFaEIsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNGTjtBRElNO0VBQ0UscUJFeURjO0VGeERkLHlCRXlEaUI7RUZ4RGpCLGlCQUFBO0FDRlI7QURLTTtFQUNFLGlCQUFBO0VBQ0EseUJFeUVrQjtFRnhFbEIsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtBQ0hSO0FETU07RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0FDSlIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLXByb2R1Y3RzLWZhbWlseS1waWNrZXIvY2gtZm9ybXMtcHJvZHVjdHMtZmFtaWx5LXBpY2tlci5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4ucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXJ7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAuZmFtaWx5LWdyb3VwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICAuZmFtaWx5LWNvbnRhaW5lci1leHQge1xuICAgIHBhZGRpbmc6IDJweDtcblxuICAgIC5mYW1pbHktY29udGFpbmVyLWludCB7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJwYW5lbC1iYWNrZ3JvdW5kO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIH1cblxuICAgICAgLmZhbWlseS1waWMtY29udGFpbmVyIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgIH1cblxuICAgICAgLmZhbWlseS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4ucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXIgLmZhbWlseS1ncm91cC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuLnByb2R1Y3QtZmFtaWxpZXMtY29udGFpbmVyIC5mYW1pbHktY29udGFpbmVyLWV4dCB7XG4gIHBhZGRpbmc6IDJweDtcbn1cbi5wcm9kdWN0LWZhbWlsaWVzLWNvbnRhaW5lciAuZmFtaWx5LWNvbnRhaW5lci1leHQgLmZhbWlseS1jb250YWluZXItaW50IHtcbiAgcGFkZGluZzogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXIgLmZhbWlseS1jb250YWluZXItZXh0IC5mYW1pbHktY29udGFpbmVyLWludC5zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogIzdBMjE4NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRTdGMjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4ucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXIgLmZhbWlseS1jb250YWluZXItZXh0IC5mYW1pbHktY29udGFpbmVyLWludCAuZmFtaWx5LXBpYy1jb250YWluZXIge1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW46IDIwcHg7XG59XG4ucHJvZHVjdC1mYW1pbGllcy1jb250YWluZXIgLmZhbWlseS1jb250YWluZXItZXh0IC5mYW1pbHktY29udGFpbmVyLWludCAuZmFtaWx5LWxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDFweDtcbiAgbWFyZ2luOiAwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { getSupportedInputTypes } from '@angular/cdk/platform';\nimport { Component, Input, Output, EventEmitter} from '@angular/core';\nimport { CHProductType } from 'app/chil/comercio/ch-product';\nimport { FALSE } from 'ol/functions';\nimport { isNullOrUndefined } from 'util';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-products-family-picker',\n templateUrl: './ch-forms-products-family-picker.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-products-family-picker.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsProductsFamilyPicker }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsProductsFamilyPicker extends ChFormsControl {\n\n @Input() readonly: boolean = false;\n\n _types: Array = [];\n get types(): Array {\n return this._types;\n }\n @Input() set types(value: Array ) {\n this._types = value;\n this.sortTypes()\n }\n\n constructor() {\n super();\n\n if (this.default == null) {\n this.default= '';\n }\n }\n\n sortTypes() {\n\n this.types.sort( (a,b) => {\n if (a.firstFamily == undefined && b.firstFamily == undefined) {\n return a.name.localeCompare(b.name);\n } else if (a.firstFamily != undefined && b.firstFamily == undefined) {\n return 1;\n } else if (a.firstFamily == undefined && b.firstFamily != undefined) {\n return -1;\n } else if (a.firstFamily.uid === b.firstFamily.uid) {\n return a.name.localeCompare(b.name);\n } else {\n return a.firstFamily.uid.localeCompare(b.firstFamily.uid);\n }\n });\n }\n\n isNewFamilyType(i: number) : boolean {\n if (i == 0) {\n return true;\n } else {\n const f1 = this.types[i-1];\n const f2 = this.types[i];\n if (f1.firstFamily == undefined && f2.firstFamily == undefined) {\n return false;\n } else if ( (f1.firstFamily != undefined && f2.firstFamily == undefined) || (f1.firstFamily == undefined && f2.firstFamily != undefined)) {\n return true;\n } else {\n return f1.firstFamily.uid != f2.firstFamily.uid;\n }\n }\n }\n\n switchSelect(family: CHProductType) {\n console.log(family);\n if ( isNullOrUndefined(this._value) || !Array.isArray(this._value)) {\n this.value = [ family.uid ];\n } else {\n if (!this._value.includes(family.uid)) {\n this._value.push(family.uid)\n } else {\n const index = this._value.indexOf(family.uid);\n if (index > -1) {\n this._value.splice(index, 1);\n }\n\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n }\n }\n\n\n isSelected(family: CHProductType) : boolean {\n if ( isNullOrUndefined(this._value) || !Array.isArray(this._value)) {\n return false;\n } else {\n return this._value.includes(family.uid);\n }\n\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-radiobutton',\n templateUrl: './ch-forms-radiobutton.html',\n styleUrls: ['../ch-forms.scss']\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsRadioButton extends ChFormsControl implements OnInit {\n\n //@Input() groupname: String = '';\n private _groupname : String = ''\n @Input() set groupname(val : String) {\n setTimeout(() => {\n this._groupname = val;\n }, 0);\n };\n\n @Input() grouped: Boolean = true;\n @Input() translateLabel: Boolean = false;\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n this._value = false;\n }\n\n}\n","import { Component, ContentChildren, QueryList, AfterContentInit, OnInit, Input } from '@angular/core';\nimport { ChFormsRadioButton } from '../ch-forms-radiobutton/ch-forms-radiobutton';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-radio-group',\n templateUrl: './ch-forms-radiogroup.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsRadioGroup }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsRadioGroup extends ChFormsControl implements OnInit, AfterContentInit {\n\n @ContentChildren(ChFormsRadioButton) radioList: QueryList;\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterContentInit() {\n //console.log('---------------');\n //console.log(this.radioList);\n //console.log(this.value);\n this.radioList.toArray().forEach(\n (item: ChFormsRadioButton) => {\n item.groupname = this.name;\n if (item.name === this.value) {\n //console.log('BUTTON!')\n item.setValueNoTreatment(true);\n }\n item.valueChange.subscribe(\n (data: Boolean) => this.dataChanged(item, data),\n (error: any) => console.log(error));\n });\n }\n\n dataChanged(target: any, data: Boolean) {\n if (target.value) {\n // console.log('DATA CHANGED' + target.name === '' ? target.label : target.name);\n const newVal: String = target.name === '' ? target.label : target.name;\n this.value = newVal;\n }\n if (this.radioList !== undefined) {\n this.radioList.toArray().forEach(\n (item: ChFormsRadioButton) => {\n if (item !== target) {\n item.value = false;\n }\n });\n }\n }\n\n protected valueSetted(val: string) {\n if (this.radioList !== undefined) {\n this.radioList.toArray().forEach(\n (item: ChFormsRadioButton) => {\n const itemlabel: String = item.name === '' ? item.label : item.name;\n if (val == itemlabel) {\n item.setValueNoTreatment(true);\n //item.value = true;\n } else {\n item.setValueNoTreatment(false);\n //item.value = false;\n }\n });\n }\n this.setValueNoTreatment(val);\n }\n\n\n}\n","export default \".scheduling-area {\\n margin-top: 30px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1yZXBlYXQtcHJvZ3JhbW1pbmcvY2gtZm9ybXMtcmVwZWF0LWVkaXRvci13aW5kb3cvY2gtZm9ybXMtcmVwZWF0LWVkaXRvci13aW5kb3cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtcmVwZWF0LXByb2dyYW1taW5nL2NoLWZvcm1zLXJlcGVhdC1lZGl0b3Itd2luZG93L2NoLWZvcm1zLXJlcGVhdC1lZGl0b3Itd2luZG93LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2NoZWR1bGluZy1hcmVhIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbiJdfQ== */\"","\nimport { Component, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from 'app/chil/forms/ch-form/ch-form';\nimport { ChProgramming } from 'app/chil/post/ch-programming';\nimport { isNullOrUndefined } from 'util';\nimport { ChPostStatus } from 'app/chil/post/ch-post';\nimport * as moment from 'moment';\nimport { setTime } from 'ngx-bootstrap/chronos/utils/date-setters';\n\n\n@Component({\n selector: 'app-ch-forms-repeat-editor-window',\n templateUrl: './ch-forms-repeat-editor-window.component.html',\n styleUrls: ['../../../forms/forms.scss', './ch-forms-repeat-editor-window.component.css']\n})\nexport class ChFormsRepeatEditorWindowComponent implements OnInit, AfterViewInit {\n\n\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static programming: ChProgramming | null = null;\n private static isEvent: boolean = false;\n private static refDate : Date = new Date()\n\n private title: String = '';\n private buttonText: String = '';\n private statusList : Array<{id: string, name: string }> = [];\n private isEvent: boolean = false;\n private refDate : Date = new Date()\n private calcDate : Date = new Date()\n private finiStr = '';\n\n private schedulingValues = ChProgramming.schedulingValues;\n\n model: ChProgramming | null = null;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(programming: ChProgramming | null, isEvent: boolean, refDate: Date, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChFormsRepeatEditorWindowComponent.programming = programming;\n ChFormsRepeatEditorWindowComponent.isEvent = isEvent;\n ChFormsRepeatEditorWindowComponent.refDate = refDate;\n ChFormsRepeatEditorWindowComponent.modalRef = service.showModalWindow(this, config);\n ChFormsRepeatEditorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChFormsRepeatEditorWindowComponent.modalRef);\n if (executeCallback) {\n ChFormsRepeatEditorWindowComponent.callback();\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n\n this.model = new ChProgramming(ChFormsRepeatEditorWindowComponent.programming);\n\n this.isEvent = ChFormsRepeatEditorWindowComponent.isEvent;\n this.refDate = ChFormsRepeatEditorWindowComponent.refDate;\n\n if (this.model.changeEventDates == null){\n this.model.changeEventDates = false;\n }\n }\n\n ngOnInit() {\n\n this.title = this.chGlobal.translateStr('PROGRAMAR PERIODO');\n this.buttonText = this.chGlobal.translateStr('Aceptar');\n\n for (let element in ChPostStatus) {\n if (isNaN(Number(element))) {\n this.statusList.push({id: ChPostStatus[element], name:\n ChPostStatus[element].replace(/_/g, ' ')});\n //console.log(ChPostStatus[element] + ' - ' + element)\n }\n }\n }\n\n ngAfterViewInit() {\n this.calcFirstDate();\n }\n\n confirm() {\n if (!isNullOrUndefined(ChFormsRepeatEditorWindowComponent.programming)) {\n ChFormsRepeatEditorWindowComponent.programming.copyFrom(this.model);\n // console.log(ChFormsRepeatEditorWindowComponent.programming)\n }\n ChFormsRepeatEditorWindowComponent.hide(true);\n }\n\n decline() {\n ChFormsRepeatEditorWindowComponent.hide(false);\n }\n\n validate(model: object): Boolean {\n return true;\n }\n\n updateData(model: ChProgramming) {\n }\n\n\n valuesChange(event) {\n this.calcFirstDate()\n }\n\n calcFirstDate() {\n let initialDate : Date = this.calcInitialDate();\n const nowDate : Date = new Date();\n while (initialDate != null && initialDate < nowDate) {\n switch (this.model.schedule) {\n case 'none':\n initialDate = null;\n break;\n case 'day':\n case 'time':\n initialDate = moment(initialDate).add(this.model.interval, 's').toDate();\n break;\n case 'month':\n initialDate = moment(initialDate).add(1, 'M').toDate();\n break;\n case 'week':\n const weekInitialDate = this.calculateWeekFirstDate(initialDate);\n if (weekInitialDate == null) {\n initialDate = null;\n } else {\n initialDate = weekInitialDate;\n }\n break;\n case 'year':\n initialDate = moment(initialDate).add(1, 'y').toDate();\n break;\n default:\n initialDate = null;\n break;\n }\n }\n /*\n console.log('-------------------')\n console.log(' > ' + this.refDate)\n console.log(' > ' + this.calcInitialDate())\n console.log(' * ' + initialDate)\n */\n this.model.fini = initialDate;\n\n if (this.model.fini == null) {\n this.finiStr = '';\n } else {\n this.finiStr = moment(this.model.fini).format('D-M-YYYY H:mm:ss');\n }\n }\n\n calculateWeekFirstDate(initial: Date) : Date | null {\n for(let i=1; i<=7; i++) {\n let newDate = moment(initial).add(i, 'd');\n //console.log(newDate.format() + ' : ' + this.model.weekplan + ' : ' + newDate.weekday())\n if (this.model.weekplan.includes(this.weekDayInitial(newDate.day()))) {\n return newDate.toDate();\n }\n }\n return null;\n }\n\n weekDayInitial(weekDayNum: number) : string {\n switch(weekDayNum) {\n case 0: return 'd';\n case 1: return 'l';\n case 2: return 'm';\n case 3: return 'x';\n case 4: return 'j';\n case 5: return 'v';\n case 6: return 's';\n }\n return '';\n }\n\n calcInitialDate() : Date {\n\n const nowMoment = moment();\n const initialMoment = moment(this.refDate);\n\n switch (this.model.schedule) {\n case 'none':\n return new Date();\n break;\n case 'time':\n if (this.model.interval != 0) {\n const secondsDifference = nowMoment.diff(initialMoment,'s');\n //console.log(' . Seconds diff :' + secondsDifference)\n //console.log(' . Interval :' + this.model.interval)\n if (secondsDifference == 0) {\n return initialMoment.toDate();\n } else {\n return initialMoment.add(Math.trunc(secondsDifference / this.model.interval) * this.model.interval,'s').toDate();\n }\n } else {\n return new Date();\n }\n break;\n case 'month':\n const monthsDifference = Math.trunc(nowMoment.diff(initialMoment,'M'));\n if (monthsDifference == 0) {\n return initialMoment.toDate();\n } else {\n return initialMoment.add(monthsDifference,'M').toDate();\n }\n break;\n case 'week':\n const weeksDifference = Math.trunc(nowMoment.diff(initialMoment,'w'));\n if (weeksDifference == 0) {\n return initialMoment.toDate();\n } else {\n return initialMoment.add(weeksDifference,'w').toDate();\n }\n break;\n case 'year':\n const yearsDifference = Math.trunc(nowMoment.diff(initialMoment,'y'));\n if (yearsDifference == 0) {\n return initialMoment.toDate();\n } else {\n return initialMoment.add(yearsDifference,'y').toDate();\n }\n break;\n default:\n return new Date();\n break;\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { isNullOrUndefined } from 'util';\nimport { ChProgramming } from 'app/chil/post/ch-programming';\nimport { ChFormsRepeatEditorWindowComponent } from './ch-forms-repeat-editor-window/ch-forms-repeat-editor-window.component';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-forms-repeat-programming',\n templateUrl: './ch-forms-repeat-programming.html',\n styleUrls: ['../ch-forms.scss']\n})\nexport class ChFormsRepeatProgramming extends ChFormsControl implements OnInit {\n\n /*\n private _title: string | null = null;\n @Input()\n public get title() {\n return this._title;\n };\n */\n\n @Input() public refDate : Date | null = null;\n @Input() public isEvent : boolean = false;\n\n constructor() {\n super()\n }\n\n\n ngOnInit() {\n }\n\n get isEmpty(): boolean {\n return isNullOrUndefined(this._value) || (this._value as ChProgramming).schedule == 'none';\n }\n\n openProgrammingWindow() {\n\n if (isNullOrUndefined(this.value)) {\n this.value = new ChProgramming(null);\n }\n\n ChFormsRepeatEditorWindowComponent.show(this.value, this.isEvent,\n this.refDate == null ? new Date() : this.refDate, null, () => {});\n\n console.log(' > OPEN PROGRMMMING WINDOW');\n }\n\n getProgrammingText() : string {\n return isNullOrUndefined(this._value) ?\n ChGlobalsService.getInstance().translateStr(ChProgramming.schedulingValues[0].label) :\n (this._value as ChProgramming).toString();\n }\n\n\n}\n\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtcmljaGVkaXQvY2gtZm9ybXMtcmljaGVkaXQuc2NzcyJ9 */\"","import { Component, Input, Output, EventEmitter, OnInit, AfterContentInit, ViewChild, ElementRef} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { codeBlockButton, fileCloudButton, fileImportButton, textPasteButton } from './richedit-custom-buttons';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChPasteRichTextWindow } from './ch-paste-rich-text-window/ch-paste-rich-text-window';\nimport { HtmlSanitizer } from 'app/chil/utils/ch-html-sanitize';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-richedit',\n templateUrl: './ch-forms-richedit.html',\n styleUrls: ['../ch-forms.scss','./ch-forms-richedit.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsRichEdit }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsRichEdit extends ChFormsControl implements OnInit, AfterContentInit {\n\n\n @ViewChild('summernote', { read: ElementRef, static: false }) summernote1: ElementRef;\n\n //@Input() height = 150;\n private _height: number | undefined = undefined;\n get height(): number | undefined {\n return this._height;\n }\n @Input() set height(value: number) {\n if (this._height != value) {\n this._height = value;\n /*\n let content = $('#summernote').summernote('code');\n\n this.summernote1.summernote('destroy');\n $('#summernote').summernote(summernoteOptions);\n $('#summernote').summernote('code', content);\n */\n }\n }\n @Input() showButtons = true;\n @Input() hidenButtonsPasteRich = false;\n\n private _valuetest: string = null;\n get valuetest(): string {\n return this._valuetest;\n }\n set valuetest(value: string) {\n\n if (this._valuetest != value) {\n this._valuetest = value;\n this.value = value;\n }\n if (this._value != value) {\n this.value = value;\n }\n }\n\n @Input() richHtml = false;\n\n config: object | null = null;\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit(): void {\n\n // height: 420,\n //minHeight: 420,\n //maxHeight: 420,\n this.config = {\n tabsize: 2,\n minHeight: 150,\n dialogsInBody: true,\n toolbar: [\n // [groupName, [list of button]]\n //['style', ['style']],\n ['font', ['fontsize','fontname','color']],\n ['attr', ['bold', 'italic', 'underline', 'strikethrough', 'clear']],\n ['para', ['ul', 'ol', 'paragraph']],\n this.richHtml ? ['insert', ['text','table','fileImport','cloud','link','video']] : ['insert', ['text','table']],\n //['insert', ['table','picture','link','video','cloud']],\n ['view', ['fullscreen','codeview']]\n ],\n buttons: {\n text: textPasteButton,\n cloud: fileCloudButton,\n fileImport: fileImportButton\n },\n codeviewFilter: false,\n codeviewFilterRegex: /<\\/*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|ilayer|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|t(?:itle|extarea)|xml)[^>]*?>/gi,\n prettifyHtml: false,\n codemirror: {\n theme: 'default',\n mode: \"text/html\",\n lineNumbers: true,\n tabMode: 'indent'\n },\n callbacks: {\n\n onPaste: function(e) {\n if (me.showButtons || me.hidenButtonsPasteRich ) {\n\n ChGlobalsService.getInstance().getDataFromClipBoard( e as ClipboardEvent).then( bufferText => {\n console.log('onPaste:', bufferText);\n //document.execCommand('insertText', false, bufferText);\n if (!isNullOrUndefined(bufferText)) {\n document.execCommand('insertHTML', false, bufferText);\n }\n })\n } else { // No buttons asi que solo se pega el texto sin atributos, excepto si pasteRich == true\n const sanitizer = new HtmlSanitizer();\n sanitizer.setFonts(false);\n sanitizer.setBorders(false);\n sanitizer.setColor(false);\n sanitizer.setLinks(true);\n sanitizer.setImg(false);\n sanitizer.setTitles(true);\n sanitizer.setBackground(false);\n sanitizer.setEnum(true);\n sanitizer.setTables(false);\n sanitizer.setTextAtrs(false);\n sanitizer.setClasses(!false);\n sanitizer.setMeasures(false);\n\n var bufferText = ((e.originalEvent || e).clipboardData).getData('text/plain');\n\n console.log('onPaste:', bufferText);\n e.preventDefault();\n e.stopPropagation();\n\n let newHtml = sanitizer.sanitizeHtml(bufferText);\n document.execCommand('insertText', false, newHtml);\n }\n }\n }\n };\n\n if (this.height != undefined) {\n this.config['height'] = this.height + 'px';\n this.config['minHeight'] = this.height + 'px';\n this.config['maxHeight'] = this.height + 'px';\n }\n if (!this.showButtons) {\n this.config['toolbar'] = []\n }\n\n const me = this;\n\n setTimeout(\n function() {\n me.valuetest = me.value;\n }, 200);\n\n }\n\n ngAfterContentInit(): void {\n\n }\n\n}\n","export default \".modal-content.flex-content {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n}\\n.modal-content.flex-content .model-body {\\n flex-grow: 1;\\n}\\n.modal-content.flex-content .model-body .model-row {\\n height: 100%;\\n}\\n.modal-content.flex-content .model-body .model-row > div {\\n height: 100%;\\n}\\n.modal-content.flex-content .model-body .model-row .input-container {\\n padding: 5px;\\n}\\n.modal-content.flex-content .model-body .model-row .filter-container {\\n padding: 10px;\\n}\\n.modal-content.flex-content .model-body .model-row .filter-container .ch-form-label {\\n font-family: inherit;\\n font-weight: inherit;\\n font-size: 13px;\\n}\\n.modal-content.flex-content .model-body .model-row .preview-container {\\n padding-top: 10px;\\n padding-left: 10px;\\n padding-bottom: 10px;\\n padding-right: 10px;\\n display: flex;\\n flex-direction: column;\\n}\\n.modal-content.flex-content .model-body .model-row .preview-container .ch-form-label {\\n font-family: inherit;\\n font-weight: inherit;\\n font-size: 13px;\\n}\\n.modal-content.flex-content .model-body .model-row .preview-container .preview {\\n background-color: white;\\n border: 1px solid lightgray;\\n flex-grow: 1;\\n overflow-x: hidden;\\n overflow-y: scroll;\\n padding: 3px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1yaWNoZWRpdC9jaC1wYXN0ZS1yaWNoLXRleHQtd2luZG93L2NoLXBhc3RlLXJpY2gtdGV4dC13aW5kb3cuc2NzcyIsInNyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy1yaWNoZWRpdC9jaC1wYXN0ZS1yaWNoLXRleHQtd2luZG93L2NoLXBhc3RlLXJpY2gtdGV4dC13aW5kb3cuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0FDQUY7QURFRTtFQUNFLFlBQUE7QUNBSjtBREVJO0VBQ0UsWUFBQTtBQ0FOO0FERU07RUFDRSxZQUFBO0FDQVI7QURFTTtFQUNFLFlBQUE7QUNBUjtBREVNO0VBQ0UsYUFBQTtBQ0FSO0FERVE7RUFDRSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtBQ0FWO0FESU07RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtBQ0ZSO0FESVE7RUFDRSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtBQ0ZWO0FES1E7RUFDRSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FDSFYiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLXJpY2hlZGl0L2NoLXBhc3RlLXJpY2gtdGV4dC13aW5kb3cvY2gtcGFzdGUtcmljaC10ZXh0LXdpbmRvdy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4ubW9kYWwtY29udGVudC5mbGV4LWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLm1vZGVsLWJvZHkge1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5tb2RlbC1yb3cge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5pbnB1dC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB9XG4gICAgICAuZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgLmNoLWZvcm0tbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAucHJldmlldy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2gtZm9ybS1sYWJlbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpZXcge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICBwYWRkaW5nOjNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1vZGFsLWNvbnRlbnQuZmxleC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm1vZGFsLWNvbnRlbnQuZmxleC1jb250ZW50IC5tb2RlbC1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xufVxuLm1vZGFsLWNvbnRlbnQuZmxleC1jb250ZW50IC5tb2RlbC1ib2R5IC5tb2RlbC1yb3cge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9kYWwtY29udGVudC5mbGV4LWNvbnRlbnQgLm1vZGVsLWJvZHkgLm1vZGVsLXJvdyA+IGRpdiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5tb2RhbC1jb250ZW50LmZsZXgtY29udGVudCAubW9kZWwtYm9keSAubW9kZWwtcm93IC5pbnB1dC1jb250YWluZXIge1xuICBwYWRkaW5nOiA1cHg7XG59XG4ubW9kYWwtY29udGVudC5mbGV4LWNvbnRlbnQgLm1vZGVsLWJvZHkgLm1vZGVsLXJvdyAuZmlsdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4ubW9kYWwtY29udGVudC5mbGV4LWNvbnRlbnQgLm1vZGVsLWJvZHkgLm1vZGVsLXJvdyAuZmlsdGVyLWNvbnRhaW5lciAuY2gtZm9ybS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLm1vZGFsLWNvbnRlbnQuZmxleC1jb250ZW50IC5tb2RlbC1ib2R5IC5tb2RlbC1yb3cgLnByZXZpZXctY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubW9kYWwtY29udGVudC5mbGV4LWNvbnRlbnQgLm1vZGVsLWJvZHkgLm1vZGVsLXJvdyAucHJldmlldy1jb250YWluZXIgLmNoLWZvcm0tbGFiZWwge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5tb2RhbC1jb250ZW50LmZsZXgtY29udGVudCAubW9kZWwtYm9keSAubW9kZWwtcm93IC5wcmV2aWV3LWNvbnRhaW5lciAucHJldmlldyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDNweDtcbn0iXX0= */\"","import { OnInit, Component, AfterViewInit, ViewChild, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { HtmlSanitizer } from 'app/chil/utils/ch-html-sanitize';\nimport { timeout } from 'rxjs/operators';\n// import * as sanitizeHtml from 'sanitize-html';\n// import { HtmlSanitizer } from '@jitbit/htmlsanitizer'\n\n@Component({\n selector: 'ch-paste-rich-text-window',\n templateUrl: './ch-paste-rich-text-window.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['../../../forms/forms.scss', './ch-paste-rich-text-window.scss'],\n})\nexport class ChPasteRichTextWindow implements OnInit {\n\n private static fileType = '';\n private static rawText : string | null = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChPasteRichTextWindow = null;\n\n private fileType = '';\n public title = 'PEGADO DE TEXTO ESPECIAL';\n public buttonText = 'Pegar';\n\n public isWorking = false;\n\n private _origen = '';\n get origen(): string {\n return this._origen;\n }\n set origen(val: string) {\n if (this._origen != val){\n this._origen = val;\n this.processHTMLFilter();\n }\n }\n\n public html = '';\n\n public original = true\n public noFonts = false\n public noColor = false\n public noLinks = false\n public noImg = false\n public noBorder = false\n public noTitles = false\n public noBackground = false\n public noEnums = false\n public noTables = false\n public noFontAttrs = false\n public noClasses = false\n public noMeasures = false\n\n /*\n @ViewChild('folderPanel', { static: false}) public folderPanel: ChWorkPanelComponent;\n @ViewChild('itemsPanel', { static: false}) public itemsPanel: ChWorkPanelComponent;\n */\n\n public static show(rawText : string | null, config?: ModalOptions, callback?: (html : string) => void ) {\n ChPasteRichTextWindow.rawText = rawText;\n ChPasteRichTextWindow.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChPasteRichTextWindow.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean, html?: string) {\n if (executeCallback) {\n ChPasteRichTextWindow.callback(html);\n }\n ChGlobalsService.getInstance().hideModalWindow(ChPasteRichTextWindow.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */\n private chGlobal: ChGlobalsService, private changeDetector: ChangeDetectorRef) {\n\n ChPasteRichTextWindow.currentWindow = this;\n //this.origen = ChPasteRichTextWindow.rawText;\n\n }\n\n ngOnInit() {\n /*\n if (ChPasteRichTextWindow.rawText != null) {\n setTimeout(() => {\n this.origen = ChPasteRichTextWindow.rawText;\n //this.processHTMLFilter();\n }, 2000);\n\n }\n */\n }\n\n confirm() {\n if ( this.html.length > 0) {\n console.log(this.html)\n ChPasteRichTextWindow.hide(true, this.html);\n }\n\n }\n\n decline() {\n ChPasteRichTextWindow.hide(false);\n }\n\n dummy(event) {\n console.log(event);\n }\n\n switchOriginalFormat() {\n this.noFonts = !this.original\n this.noBorder = !this.original\n this.noColor = !this.original\n this.noLinks = !this.original\n this.noImg = !this.original\n this.noTitles = !this.original\n this.noBackground = !this.original\n this.noEnums = !this.original\n this.noTables = !this.original\n this.noFontAttrs = !this.original\n this.noClasses = !this.original\n this.noMeasures = !this.original\n\n this.changeDetector.detectChanges();\n\n this.processHTMLFilter()\n }\n\n\n processHTMLFilter() {\n\n if (this.original) {\n let newHtml = this._origen.slice()\n if ( this.html != newHtml) {\n this.html = newHtml;\n \n console.log('--------------')\n console.log(this._origen)\n console.log('--------------')\n console.log(this.html)\n\n this.changeDetector.detectChanges();\n }\n return;\n }\n\n const sanitizer = new HtmlSanitizer();\n\n sanitizer.setFonts(!this.noFonts);\n sanitizer.setBorders(!this.noBorder);\n sanitizer.setColor(!this.noColor);\n sanitizer.setLinks(!this.noLinks);\n sanitizer.setImg(!this.noImg);\n sanitizer.setTitles(!this.noTitles);\n sanitizer.setBackground(!this.noBackground);\n sanitizer.setEnum(!this.noEnums);\n sanitizer.setTables(!this.noTables);\n sanitizer.setTextAtrs(!this.noFontAttrs);\n sanitizer.setClasses(!this.noClasses);\n sanitizer.setMeasures(!this.noMeasures);\n\n\n let newHtml = sanitizer.sanitizeHtml(this._origen.slice());\n\n if ( this.html != newHtml) {\n this.html = newHtml;\n\n console.log('--------------')\n console.log(this._origen)\n console.log('--------------')\n console.log(this.html)\n this.changeDetector.detectChanges();\n }\n }\n\n}\n","import { ChGlobalsService } from \"app/chil/chilweb/ch-globals.service\";\nimport { ChFileCompact, ChFolder } from \"app/chil/cloud/ch-file\";\nimport { ChFileImportWindowUrlComponent } from \"app/chil/cloud/ch-file-import-url-window/ch-file-import-url-window.component\";\nimport { ChFileSelectWindowComponent } from \"app/chil/cloud/ch-file-select-window/ch-file-select-window.component\";\nimport { ChPasteRichTextWindow } from \"./ch-paste-rich-text-window/ch-paste-rich-text-window\";\nimport { isNullOrUndefined } from \"util\";\n\ndeclare var $;\n\nconst codeBlockButtonStyle = `font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;\nfont-size: 12px;\npadding: 14px 12px;\nmargin-bottom: 12px;\nline-height: 1.42857;\nword-break: break-all;\noverflow-wrap: break-word;\nbackground-color: rgb(250, 251, 253);\nborder: 1px solid rgb(234, 236, 240);\nborder-radius: 4px; color: #60a0b0;\nwhite-space: pre-wrap;`;\n\nexport const codeBlockButton = function(context) {\n const ui = $.summernote.ui;\n\n // create button\n const button = ui.button({\n contents: ' Code block',\n tooltip: 'Add code block',\n container: '.note-editor',\n className: 'note-btn',\n click: function() {\n let selectedText = null;\n // The below code will copy the selected block and add it into our code block\n if (window.getSelection) {\n selectedText = window\n .getSelection()\n .toString()\n .replace(/^\\s+|\\s+$/g, '');\n }\n const codeText = selectedText ? selectedText : `Place your code here.`;\n const codeBlock = `
${codeText}
`;\n context.invoke('editor.pasteHTML', codeBlock);\n }\n });\n\n return button.render(); // return button as jquery object\n};\n\nexport const fileCloudButton = function(context) {\n const ui = $.summernote.ui;\n\n // create button\n const button = ui.button({\n contents: '',\n tooltip: 'Añadir foto o documento de la nube',\n container: '.note-editor',\n className: 'file-cloud-btn',\n click: function() {\n\n ChFileSelectWindowComponent.show('images',\n { initialState : {\n data : {\n title: 'Seleccionar imagen almacenada',\n }\n },\n class: 'ch-modal-big',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (file: ChFileCompact) => {\n if (file != null) {\n context.invoke('editor.insertImage', file.previewUrl, file.name);\n }\n }\n );\n }\n });\n\n return button.render(); // return button as jquery object\n };\n\nexport const textPasteButton = function(context) {\n const ui = $.summernote.ui;\n\n // create button\n const button = ui.button({\n contents: '',\n tooltip: 'Pegar texto enriquecido desde el procesador de textos u otra web',\n container: '.note-editor',\n className: 'paste-text-btn',\n click: function() {\n ChPasteRichTextWindow.show( null,\n { initialState : {\n data : {\n title: 'Seleccionar imagen almacenada',\n }\n },\n class: 'ch-modal-big-big',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n (html: string) => {\n setTimeout(\n function() {\n console.log(context);\n //console.log(html);\n //context.invoke('editor.pasteHTML', '

Hola!!

');\n //context.invoke('editor.insertText', 'HOLA HOLA HOLA.....');\n context.invoke('editor.pasteHTML', html);\n }, 1000);\n }\n );\n }\n });\n\n return button.render(); // return button as jquery object\n};\n\nexport const fileImportButton = function(context) {\n const ui = $.summernote.ui;\n\n // create button\n const button = ui.button({\n contents: '',\n tooltip: 'Añadir foto desde la web o el ordenador',\n container: '.note-editor',\n className: 'file-import-btn',\n click: function() {\n let chGlobal: ChGlobalsService = ChGlobalsService.getInstance();\n chGlobal.getGroupRootFolder().then(\n (rootFolder :ChFolder) => {\n console.log(rootFolder)\n const imageFolder = rootFolder.subFolders.find( f => f.name == 'Images')\n console.log(imageFolder)\n\n ChFileImportWindowUrlComponent.show(null, null, imageFolder ? imageFolder.uid : rootFolder.uid, null,\n (file: ChFileCompact) => {\n //console.log(file)\n if (file != null && !isNullOrUndefined(file.previewUrl)) {\n context.invoke('editor.insertImage', file.previewUrl, file.name);\n }\n }\n );\n\n }\n )\n\n }\n });\n\n return button.render(); // return button as jquery object\n};\n","import { Component, Input, Output, EventEmitter, ContentChildren, QueryList } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChFormsSelectItem } from '../ch-forms-select-item/ch-forms-select-item';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-select-group',\n templateUrl: './ch-forms-select-group.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsSelectGroup }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsSelectGroup extends ChFormsControl {\n\n @Input() height: number = 100;\n @Input() singleSelect: boolean = false;\n @Input() selectAll: boolean = false;\n\n @ContentChildren(ChFormsSelectItem) selectList: QueryList;\n\n\n ngOnInit() {\n // this.initializeChldren();\n\n\n }\n\n ngAfterContentInit() {\n\n this.initializeChldren();\n\n this.selectList.changes.subscribe( v => {\n this.initializeChldren();\n })\n }\n\n initializeChldren() {\n /*\n if (this.selectAll) {\n this.selectList.toArray().forEach(\n (item) => {\n item.value = true;\n });\n }\n */\n this.selectList.toArray().forEach(\n (item) => {\n item.grouped = true;\n // item.setValueNoTreatment(true);\n item.valueChange.subscribe(\n (data: Boolean) => this.dataChanged(item.name, data),\n (error: any) => console.log(error));\n });\n\n if (this.selectAll) {\n setTimeout(() => {\n this.selectList.toArray().forEach(\n (item) => {\n item.value = true;\n });\n },500);\n }\n }\n\n dataChanged(name: string, data: Boolean) {\n\n if (this.singleSelect) {\n if (data) {\n this.selectList.toArray().forEach(\n (item: ChFormsSelectItem) => {\n if (item.name === name) {\n this.value = name;\n } else {\n item.setValueNoTreatment(false);\n }\n });\n } else {\n this.value = '';\n }\n } else {\n const newVal: Array = [];\n this.selectList.toArray().forEach(\n (item: ChFormsSelectItem) => {\n if (item.value) {\n newVal.push(item.name === '' ? item.label : item.name);\n }\n });\n this.value = newVal;\n }\n\n }\n\n onContentChange(changes: MutationRecord[]) {\n // logs everything that changed\n this.initializeChldren();\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-select-item',\n templateUrl: './ch-forms-select-item.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsSelectItem }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsSelectItem extends ChFormsControl {\n\n @Input() grouped: Boolean = undefined;\n @Input() selected: Boolean = undefined;\n\n\n switch() {\n this.value = !this.value;\n }\n}\n","import { Component, OnInit, ViewChild} from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-slider',\n templateUrl: './ch-forms-slider.html',\n styleUrls: ['../forms.scss']\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsSlider implements OnInit {\n\n ngOnInit() {\n\n }\n}\n","import { Component, Input, ElementRef, ViewChild, OnInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-switch',\n templateUrl: './ch-forms-switch.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsSwitch }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsSwitch extends ChFormsControl implements OnInit {\n\n @Input() values: Array = [false, true];\n @ViewChild('prueba', { read: ElementRef, static: true }) switchComponent: ElementRef;\n\n private switchColor: String = 'Blue';\n\n constructor() {\n super();\n \n if (this.default == null) {\n this.default = false; \n }\n }\n\n ngOnInit(): void {\n // console.log(this.switchComponent);\n // console.log(this.switchComponent.nativeElement);\n this.switchColor = getComputedStyle(this.switchComponent.nativeElement).getPropertyValue('color');\n }\n\n public getValue(): boolean {\n try {\n if (this._value === this.values[0]) {\n // console.log(' * SWITCH: show: ' + this.values[0]);\n return false;\n } else {\n // console.log(' * SWITCH: show: ' + this.values[1]);\n return true;\n }\n } catch (error) {\n // console.log(' * SWITCH ERROR : ' + error.text);\n return false;\n }\n }\n\n public setValue(newval: boolean) {\n // console.log(' * SWITCH: nuevo valor: ' + newval);\n try {\n if (newval) {\n // console.log(' * SWITCH: set: ' + this.values[1]);\n if (this.value !== this.values[1]) {\n this.value = this.values[1];\n }\n } else {\n // console.log(' * SWITCH: set: ' + this.values[0]);\n if (this.value !== this.values[0]) {\n this.value = this.values[0];\n }\n }\n\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = this.value;\n // console.log(' - SET VALUE : ' + this._obj[this._key]);\n // console.log(this._obj);\n }\n } catch (error) {\n // console.log(' * SWITCH ERROR : ' + error.text);\n return false;\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { isString, isArray } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-tags-editor',\n templateUrl: './ch-forms-tags-editor.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsTagsEditor }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsTagsEditor extends ChFormsControl implements OnInit {\n\n private tagArray: any[] = [];\n @Input() size: String = 'normal'; // 'normal', 'big' o 'bigger'\n @Input() placeholder: String = '+ Tag'; // 'normal', 'big' o 'bigger'\n @Input() grouped: Boolean = false;\n\n ngOnInit() {\n }\n\n protected valueSetted(val) {\n // console.log(val);\n if (isString(val)) {\n this.tagArray = val.toLowerCase().split(',').filter(v => v.trim() != '').map((v) =>{ return { name: v.trim(), use: 'tag'}}) ;\n } else if (isArray(val)) {\n if (val.length === 0) {\n this.tagArray = [];\n } else if (isString(val[0])) {\n this.tagArray = val.map((v) =>{ return { name: v.toLowerCase(), use: 'tag'}}) ;\n }\n }\n }\n\n onDelete(tag){\n const index = this.tagArray.indexOf(tag);\n if (index > -1) {\n this.tagArray.splice(index, 1);\n }\n this.fixNewValue();\n }\n\n onAddTag(tagname){\n let newTag = {\n name: tagname.toLowerCase(),\n use: 'tag'\n };\n this.tagArray.push(newTag);\n this.fixNewValue();\n }\n\n onSelect(event){\n\n }\n\n fixNewValue() {\n console.log('Fix value!!!')\n if (isString(this._value)) {\n var newVal = '';\n for(let i=0; i< this.tagArray.length; i++) {\n newVal += (i>0? ',' : '') + this.tagArray[i].name.trim().toLowerCase();\n }\n this.value = newVal;\n //this.valueChange.emit(this._value);\n } else if (isArray(this._value)) {\n var newValArray: string[] = [];\n for(let i=0; i< this.tagArray.length; i++) {\n newValArray.push(this.tagArray[i].name.trim().toLowerCase());\n }\n this.value = newValArray;\n //this.valueChange.emit(this._value);\n }\n\n }\n\n}\n","import { Component, Input, Output, EventEmitter} from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-textbox',\n templateUrl: './ch-forms-textbox.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsTextBox }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsTextBox extends ChFormsControl {\n\n @Input() readonly: boolean = false;\n @Input() rows = 5;\n\n constructor() {\n super();\n \n if (this.default == null) {\n this.default= ''; \n }\n }\n\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport emailMask from 'text-mask-addons/dist/emailMask'\nimport { isNullOrUndefined } from 'util';\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-textedit',\n templateUrl: './ch-forms-textedit.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsTextEdit }]\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsTextEdit extends ChFormsControl {\n\n @Input() mask: String = \"\";\n @Input() type: string = \"open\"; // number, text, url\n\n private prefix = '';\n private sufix = '';\n\n //Almacenamiento del valor temporal hasta que se inicia el tipo\n private _tempValue = undefined;\n @Input()\n public get value() {\n /*\n if (this._value === undefined || this._value === null) {\n console.log(' * (' + this.label + ') GET NUEVO VALOR : ---' );\n } else {\n console.log(' * (' + this.label + ') GET NUEVO VALOR :' + this._value.toString());\n }\n */\n return this._value;\n };\n @Output()\n valueChange = new EventEmitter();\n public set value(val) {\n var val2: any;\n\n if (!isNullOrUndefined(this._value) && !isNullOrUndefined(val) && this._value == val) {\n //console.log(' *** VALOR IGUAL : ' + val + ' ORIGEN : ' + this._value)\n return;\n }\n //console.log(' * (' + this.label + ') SET NUEVO VALOR : ' + val.toString() + ' OLD : ' + this._value)\n\n if (isNullOrUndefined(val)) {\n if (this.type == 'number') {\n val2 = 0\n } else {\n val2 = '';\n }\n } else {\n switch(this.type) {\n case \"open\":\n //console.log(' *** VALOR OPEN (' + this.label + ') ' + val + ' ORIGEN : ' + this._value)\n val2 = val;\n break;\n case \"text\":\n //console.log(' *** VALOR TEXT (' + this.label + ') ' + val + ' ORIGEN : ' + this._value)\n\n if (typeof val == 'number') {\n val2 = val.toString();\n } else {\n val2 = val;\n }\n break;\n case \"number\":\n //console.log(val)\n if (typeof val == 'number') {\n val2 = val;\n } else {\n if (this.sufix != '') {\n val = val.slice(0, -1 * this.sufix.length )\n }\n val = val.replace(/,/g, '');\n val2 = Number(val);\n }\n //console.log(' *** VALOR NUMBER (' + this.label + ') ' + val2 + ' : ' + val + ' ORIGEN : ' + this._value)\n break;\n case \"url\":\n let url;\n\n try {\n url = new URL(val.toString());\n\n if (url.protocol === 'http:' || url.protocol === 'https:') {\n val2 = val;\n } else {\n val2 = '';\n }\n\n } catch (_) {\n val2 = '';\n }\n break;\n\n default:\n val2 = val;\n }\n }\n\n /*\n if (isNullOrUndefined(val2)) {\n console.log(' * (' + this.label + ') SET NUEVO VALOR : ---');\n } else {\n console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val2.toString() + ' ' + (typeof val2) + (isNullOrUndefined(this._value) ? ' NEW' : ' OLD:' + this._value.toString() + ' ' + (typeof this._value)));\n }\n */\n if (!isNullOrUndefined(this._value) && this._value.toString() == val2.toString()) {\n return;\n }\n\n //setTimeout(()=> {\n //console.log(' *** OLD VALUE ' + this._value + \"(\" + (typeof this._value ) + \")\");\n //console.log(' *** NEW VALUE ' + val2 + \"(\" + (typeof val2 ) + \")\");\n // console.log(this._obj);\n // console.log(this._key);\n this._value = val2;\n\n if (this._obj !== null && this._key !== null) {\n this._obj[this._key] = val2;\n // console.log(' - SET VALUE : ' + this._obj[this._key]);\n // console.log(this._obj);\n }\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n //}, 100);\n\n };\n\n constructor() {\n super();\n\n if (this.default == null) {\n if ( this.type == 'text' || this.type == 'url') {\n this.default= '';\n } else if (this.type == 'number') {\n this.default = 0;\n } else {\n this.default = null;\n }\n //console.log(' *** CONTROL INITIATED (' + this.label + ') TYPE : ' + this.type + ' ORIGEN : ' + this._value)\n }\n }\n\n /*\n INFORMACION SOBRE createNumberMask\n ----------------------------------\n createNumberMask returns a numberMask function that will format user input as currency. createNumberMask accepts an object with the following keys:\n\n prefix (string): what to display before the amount. Defaults to '$'.\n suffix (string): what to display after the amount. Defaults to empty string.\n includeThousandsSeparator (boolean): whether or not to separate thousands. Defaults to to true.\n thousandsSeparatorSymbol (string): character with which to separate thousands. Default to ','.\n allowDecimal (boolean): whether or not to allow the user to enter a fraction with the amount. Default to false.\n decimalSymbol (string): character that will act as a decimal point. Defaults to '.'\n decimalLimit (number): how many digits to allow after the decimal. Defaults to 2\n integerLimit (number): limit the length of the integer number. Defaults to null for unlimited\n requireDecimal (boolean): whether or not to always include a decimal point and placeholder for decimal digits after the integer. Defaults to false.\n allowNegative (boolean): whether or not to allow negative numbers. Defaults to false\n allowLeadingZeroes (boolean): whether or not to allow leading zeroes. Defaults to falseç\n\n */\n\n textMask() : Boolean | Array {\n\n const nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n const imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n const percentMask = [/[0-9]/, /[0-9]/, /[0-9]/, '.', /[0-9]/, /[0-9]/, '%' ];\n const integerMask = [/[0-9]/, /[0-9]/, /[0-9]/,/[0-9]/, /[0-9]/, /[0-9]/,/[0-9]/, /[0-9]/, /[0-9]/,/[0-9]/, /[0-9]/, /[0-9]/,/[0-9]/, /[0-9]/, /[0-9]/,/[0-9]/, /[0-9]/, /[0-9]/ ];\n\n if (this.type == 'number' && this.mask == '') {\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: '',\n allowDecimal: true,\n allowNegative: true\n });\n } else {\n switch(this.mask) {\n case \"#EMAIL\":\n return emailMask;\n case \"#NIF\":\n return nifMask;\n case \"#IME\":\n return imeMask;\n case \"#FLOATFIX\":\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: '',\n allowDecimal: true,\n allowNegative: true\n });\n case \"#FLOATFIXPOSITIVE\":\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: '',\n allowDecimal: true,\n allowNegative: false\n });\n case \"#INT\":\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: '',\n allowDecimal: false,\n });\n case \"#INTPOSITIVE\":\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: '',\n allowDecimal: false,\n allowNegative: false\n });\n case \"#PERCENT\":\n this.sufix = ' %';\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: false,\n suffix: ' %',\n allowDecimal: true,\n allowNegative: true,\n integerLimit: 3\n });\n case \"#EURO\":\n this.sufix = ' €';\n return createNumberMask({\n prefix: '',\n includeThousandsSeparator: true,\n suffix: ' €',\n allowDecimal: true,\n allowNegative: true\n });\n default:\n return false\n }\n }\n }\n\n\n}\n","\nimport { Component, Input, OnInit, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-user-picker',\n templateUrl: './ch-forms-user-picker.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsUserPicker }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsUserPicker extends ChFormsControl implements OnInit {\n\n @Input() values: any = undefined;\n @Input() itemId = 'id';\n @Input() itemName = 'name';\n @Input() list = undefined;\n @Input() followers = false;\n @Input() includeDescr = true;\n @Input() highperformance = false;\n @Output() userChange = new EventEmitter();\n private selectedItems = 4;\n private valuesArray: Array = [];\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n }\n\n ngOnInit() {\n\n /*\n if (this.followers !== false ) {\n console.log(' * Buscar seguidores');\n this.chGlobal.getFollowers()\n .then ( (result) => {\n const array = result;\n array.sort ( (a, b) => { return a.displayName > b.displayName ? 1 : -1; });\n this.valuesArray = result;\n console.log(result);\n },\n (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n }\n );\n } else if ( this.list == undefined || this.list == '') {\n if (this.values == undefined) {\n this.chGlobal.getFollowers()\n .then ( (result) => {\n const array = result;\n array.sort ( (a, b) => { return a.displayName > b.displayName ? 1 : -1; });\n this.valuesArray = result;\n console.log(result);\n },\n (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n }\n );\n }\n else if( typeof this.values === 'string') {\n this.valuesArray = this.values.split(',').map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = index;\n newObj[this.itemName] = current.trim();\n return newObj;\n });\n } else if ( Array.isArray(this.values) ) {\n this.valuesArray = this.values;\n }\n }\n */\n\n\n\n\n if (this.followers !== false ) {\n //console.log(' * Buscar seguidores');\n this.chGlobal.getFollowers()\n .then ( (result) => {\n const array = result;\n array.sort ( (a, b) => { return a.displayName > b.displayName ? 1 : -1; });\n this.valuesArray = result;\n //console.log(result);\n },\n (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n }\n );\n } else if (this.list == undefined || this.list == '') {\n if (typeof this.values === 'string') {\n this.valuesArray = this.values.split(',').map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = index;\n newObj[this.itemName] = current.trim();\n return newObj;\n });\n } else if ( Array.isArray(this.values) ) {\n this.valuesArray = this.values;\n };\n } else {\n // let actors = [];\n this.chGlobal.getListMembers(this.list)\n .then ( (result) => {\n const array = result;\n array.sort ( (a, b) => { return a.displayName > b.displayName ? 1 : -1; });\n this.valuesArray = result;\n // console.log(result);\n },\n (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n }\n );\n }\n }\n\n protected valueSetted(val: string) {\n console.log(\"USUARIO :\" + val);\n if (val === undefined) {\n return;\n } else if (val === null) {\n this.userChange.emit(null);\n return;\n } else {\n const userSelected = this.valuesArray.find( v => { return v[\"uid\"] == val; } );\n if (userSelected !== undefined) {\n this.userChange.emit(userSelected);\n }\n }\n }\n\n}\n","export default \".week-holder {\\n display: flex;\\n padding: 5px;\\n margin-top: -5px;\\n margin-left: 10px;\\n}\\n.week-holder .week-day {\\n margin-left: 0px;\\n padding: 2px;\\n color: #416ED9;\\n background-color: #FFFFFF;\\n}\\n.week-holder .week-day.selected {\\n color: #FFFFFF;\\n background-color: #416ED9;\\n}\\n.week-holder .week-day.saturday {\\n color: #4F8F00;\\n}\\n.week-holder .week-day.saturday.selected {\\n color: #FFFFFF;\\n background-color: #4F8F00;\\n}\\n.week-holder .week-day.sunday {\\n color: darkred;\\n}\\n.week-holder .week-day.sunday.selected {\\n color: #FFFFFF;\\n background-color: darkred;\\n}\\n.week-holder .week-day.interactive {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy13ZWVrLXBsYW4vY2gtZm9ybXMtd2Vlay1wbGFuLnNjc3MiLCJzcmMvYXBwL2NoaWwvZm9ybXMvY2gtZm9ybXMtd2Vlay1wbGFuL2NoLWZvcm1zLXdlZWstcGxhbi5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUNERjtBREdFO0VBQ0UsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0U4SmlCO0VGN0pqQix5QkU4RWU7QUQvRW5CO0FER0k7RUFDRSxjRTJFYTtFRjFFYix5QkV5SmU7QUQxSnJCO0FESUk7RUFDRSxjRStITTtBRGpJWjtBRElNO0VBQ0UsY0VtRVc7RUZsRVgseUJFMkhJO0FEN0haO0FES0k7RUFDRSxjRTZIUztBRGhJZjtBREtNO0VBQ0UsY0UyRFc7RUYxRFgseUJFeUhPO0FENUhmO0FET0k7RUFDRSxlQUFBO0FDTE4iLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLXdlZWstcGxhbi9jaC1mb3Jtcy13ZWVrLXBsYW4uc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLndlZWstaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAud2Vlay1kYXkge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iYWNrZ3JvdW5kO1xuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogJHBhbmVsLWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yO1xuICAgIH1cblxuICAgICYuc2F0dXJkYXkge1xuICAgICAgY29sb3I6ICRzdGF0dXMtb247XG5cbiAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogJHBhbmVsLWJhY2tncm91bmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGF0dXMtb247XG4gICAgICB9XG4gICAgfVxuICAgICYuc3VuZGF5IHtcbiAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0LW9uO1xuXG4gICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgY29sb3I6ICRwYW5lbC1iYWNrZ3JvdW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnaGxpZ2h0LW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaW50ZXJhY3RpdmUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLndlZWstaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi53ZWVrLWhvbGRlciAud2Vlay1kYXkge1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBwYWRkaW5nOiAycHg7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLndlZWstaG9sZGVyIC53ZWVrLWRheS5zZWxlY3RlZCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE2RUQ5O1xufVxuLndlZWstaG9sZGVyIC53ZWVrLWRheS5zYXR1cmRheSB7XG4gIGNvbG9yOiAjNEY4RjAwO1xufVxuLndlZWstaG9sZGVyIC53ZWVrLWRheS5zYXR1cmRheS5zZWxlY3RlZCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEY4RjAwO1xufVxuLndlZWstaG9sZGVyIC53ZWVrLWRheS5zdW5kYXkge1xuICBjb2xvcjogZGFya3JlZDtcbn1cbi53ZWVrLWhvbGRlciAud2Vlay1kYXkuc3VuZGF5LnNlbGVjdGVkIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtyZWQ7XG59XG4ud2Vlay1ob2xkZXIgLndlZWstZGF5LmludGVyYWN0aXZlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","\nimport { Component, AfterContentInit, Input , Output, EventEmitter } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-week-plan',\n templateUrl: './ch-forms-week-plan.html',\n styleUrls: ['../ch-forms.scss', './ch-forms-week-plan.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsWeekPlan }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsWeekPlan extends ChFormsControl implements AfterContentInit {\n\n private weekSymbols = ['l','m','x','j','v','s','d']\n private weekSelect = [false,false,false,false,false,false,false]\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n /*\n const lang = chGlobal.getLang()\n */\n }\n\n ngAfterContentInit(): void {\n\n if (!isNullOrUndefined(this._value) && typeof this._value == 'string') {\n for(let i=0; i<7; i++) {\n this.weekSelect[i] = this._value.includes(this.weekSymbols[i])\n }\n }\n }\n\n dataChanged(data) {\n // console.log(data)\n }\n\n protected valueSetted(val) {\n // console.log(val)\n }\n\n updateValues() {\n //this.value = this.nMinutes * 60 + this.nHours * 60 * 60 + this.nDays * 24 * 60 * 60;\n //console.log( this.value )\n }\n\n selectWeekDay(wd: number) {\n this.weekSelect[wd] = this.weekSelect[wd] ? false : true ;\n const valStr = this.createValue();\n if (this._value != valStr) {\n this.value = valStr;\n }\n }\n\n isWdSelected(wd: number) : boolean {\n return this.weekSelect[wd];\n }\n\n createValue() : string {\n let valStr = '';\n for(let i=0; i<7; i++) {\n if (this.weekSelect[i]) {\n valStr += this.weekSymbols[i];\n }\n }\n\n return valStr;\n }\n\n}\n","\nimport { Component, Input, OnInit, ViewEncapsulation, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { isNullOrUndefined } from 'util';\n//import { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\nimport { ChLink } from 'app/chil/post/ch-link';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-youtube-player',\n templateUrl: './ch-forms-youtube-player.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsYoutubePlayer }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsYoutubePlayer extends ChFormsControl implements OnInit {\n\n @Input() width : number = 385;\n @Input() height : number | null = null;\n\n private videoId = '';\n public videoLink : SafeUrl ;\n\n\n constructor(private sanitizer: DomSanitizer, private cdRef: ChangeDetectorRef ) {\n super()\n }\n\n ngOnInit() {\n if ( isNullOrUndefined(this.height)) {\n this.height = Math.floor(this.width / 1.75);\n console.log(this.width + ' x ' + this.height)\n }\n }\n\n private youtube_parser(url) : string | null {\n return ChLink.parseYouTubeUrl(url);\n }\n\n public getSafeUrl() : SafeResourceUrl | null {\n if (typeof this.value == \"string\") {\n this.videoId = this.youtube_parser(this.value)\n this.videoLink = this.sanitizer.bypassSecurityTrustResourceUrl('https://www.youtube.com/embed/' + this.videoId);\n return this.videoLink;\n } else {\n return null;\n }\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChZoneCompact, UserListReference } from 'app/chil/zone/ch-zone';\n// import { NgSelectConfig } from '@ng-select/ng-select';\nimport { Length } from 'class-validator';\nimport { map } from 'rxjs/operators';\nimport { ChUserList } from '../../population/ch-user-list';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-zone-auth',\n templateUrl: './ch-forms-zone-auth.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsZoneAuth }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsZoneAuth extends ChFormsControl implements OnInit {\n\n @Input() zoneUid = '';\n @Input() name = 'prueba';\n @Input() lists: Array = [];\n\n private selectedUids: Array = [];\n /*\n constructor(private config: NgSelectConfig) {\n this.config.notFoundText = 'Custom not found';\n }\n */\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n // console.log(this.zoneGroups);\n}\n\n ngOnInit() {\n // console.log('LISTS:');\n // console.log(this.lists);\n if (this._value == undefined || this._value == null) {\n this._value = { value: 'admin', lists: []};\n }\n if (this._value !== undefined && this._value !== null &&\n this._value.lists !== undefined && this._value.lists !== null && this._value.lists.length > 0) {\n this.selectedUids = this._value.lists.map( v => { return v.uid; });\n } else {\n this._value.lists = [];\n this.selectedUids = [];\n }\n // console.log(this.selectedUids);\n }\n\n public set value(val: object | undefined | null) {\n /*\n if (val === undefined || val === null ) {\n console.log(' * (' + this.label + ') SET NUEVO VALOR : ---');\n } else {\n console.log(' * (' + this.label + ') SET NUEVO VALOR :' + val.toString());\n console.log( val );\n }\n */\n // tslint:disable-next-line:triple-equals\n if (this._value == val) {\n return;\n }\n\n if (val == undefined || val == null) {\n this._value = { value: 'admin', lists: []};\n } else {\n this._value = val;\n }\n\n if (this._value.lists !== undefined && this._value.lists !== null && this._value.lists.length > 0) {\n this.selectedUids = this._value.lists.map( v => { return v.uid; });\n } else {\n this._value.lists = [];\n this.selectedUids = [];\n }\n // console.log(this.selectedUids );\n this.valueSetted(this._value);\n this.valueChange.emit(this._value);\n };\n\n public setListsValue(valueArray: Array) {\n if (this._value === undefined || this._value === null) {\n return;\n }\n // Carga la nueva lista de listas\n const temp: Array = valueArray.map (v => { return {uid: v.uid, name: v.name }; });\n this._value.lists = temp;\n this._value.modified = true;\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ChFormsControl } from '../ch-forms-control/ch-forms-control';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChZoneCompact } from 'app/chil/zone/ch-zone';\n// import { NgSelectConfig } from '@ng-select/ng-select';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-forms-zone-selector',\n templateUrl: './ch-forms-zone-selector.html',\n styleUrls: ['../ch-forms.scss'],\n providers: [{ provide: ChFormsControl, useExisting: ChFormsZoneSelector }]\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChFormsZoneSelector extends ChFormsControl implements OnInit {\n\n @Input() values: any = 'Norte, Sur, Este, Oeste';\n @Input() itemId = 'zoneUid';\n @Input() itemName = 'name';\n @Input() newdelete = false;\n @Input() appendTo = '';\n\n private selectedItems = 4;\n private valuesArray: Array = [];\n\n private zoneGroups: string[] = [];\n private zones: ChZoneCompact[] = [];\n /*\n constructor(private config: NgSelectConfig) {\n this.config.notFoundText = 'Custom not found';\n }\n */\n\n constructor(private chGlobal: ChGlobalsService) {\n super();\n this.zones = chGlobal.getGroupZones();\n this.zones.sort( (a, b) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n\n });\n // onsole.log(this.zones);\n for (let _i = 0; _i < this.zones.length; _i++) {\n const z = this.zones[_i];\n if ( z.name === 'ROOT') {\n z.name = chGlobal.getGroupInfo().name;\n }\n if ( z.description.trim() !== '' && this.zoneGroups.find( (v) => v === z.description ) === undefined) {\n this.zoneGroups.push(z.description.trim());\n }\n }\n // console.log(this.zoneGroups);\n}\n\n ngOnInit() {\n if (typeof this.values === 'string') {\n this.valuesArray = this.values.split(',').map( (current, index ) => {\n const newObj = {};\n newObj[this.itemId] = index;\n newObj[this.itemName] = current;\n return newObj;\n });\n } else if ( Array.isArray(this.values) ) {\n this.valuesArray = this.values;\n };\n }\n\n setValue(newValue: object) {\n // console.log('ZONA SELECCIONADA ');\n // console.log(newValue);\n }\n\n dataChanged(target: any, data: Boolean) {\n }\n}\n","export default \".ch-form-control-holder {\\n padding: 5px;\\n width: 100%;\\n margin-bottom: inherit;\\n}\\n.ch-form-control-holder.important {\\n border: 1px solid yellow;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n background-color: lightyellow;\\n}\\n.ch-form-control-holder input,\\n.ch-form-control-holder .simulated-input {\\n font-size: 14px;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n}\\n.ch-form-control-holder input .link-type-icon,\\n.ch-form-control-holder .simulated-input .link-type-icon {\\n height: 14px;\\n margin-top: -5px;\\n margin-right: 5px;\\n}\\n.ch-form-control-holder input::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder input::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder input::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder input::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder .simulated-input-txt {\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n background-color: white;\\n}\\n.ch-form-control-holder .simulated-input-txt.read-only {\\n color: #333;\\n /* font-weight: bold; */\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ch-form-control-holder .simulated-input-txt.important {\\n padding: 5px;\\n font-size: 16px;\\n font-weight: bold;\\n}\\n.ch-form-control-holder .simulated-input-txt.important .link-type-icon {\\n height: 16px;\\n margin-top: -4px;\\n}\\n.ch-form-control-holder .simulated-input-txt.empty {\\n color: LightBlue;\\n}\\n.ch-form-control-holder .simulated-pointer {\\n cursor: pointer;\\n}\\n.ch-form-control-holder .simulated-pointer.read-only {\\n cursor: unset;\\n}\\n.ch-form-control-holder input[type=number] {\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n background-color: white;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n width: 50px;\\n}\\n.ch-form-control-holder input[type=number].doble-size {\\n width: 75px;\\n}\\n.ch-form-control-holder input[type=number].triple-size {\\n width: 100px;\\n}\\n.ch-form-control-holder input[type=number]:-moz-read-only, .ch-form-control-holder input[type=number][readonly=\\\"\\\"] {\\n color: #333;\\n /* font-weight: bold; */\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ch-form-control-holder input[type=number]:read-only, .ch-form-control-holder input[type=number][readonly=\\\"\\\"] {\\n color: #333;\\n /* font-weight: bold; */\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ch-form-control-holder input[type=text] {\\n padding: 4px;\\n width: 100%;\\n color: #416ED9;\\n background-color: white;\\n}\\n.ch-form-control-holder input[type=text]:-moz-read-only, .ch-form-control-holder input[type=text][readonly=\\\"\\\"] {\\n color: #333;\\n /* font-weight: bold; */\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ch-form-control-holder input[type=text]:read-only, .ch-form-control-holder input[type=text][readonly=\\\"\\\"] {\\n color: #333;\\n /* font-weight: bold; */\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ch-form-control-holder > textarea {\\n font-size: 14px;\\n padding: 3px;\\n width: 100%;\\n color: #416ED9;\\n overflow: auto;\\n resize: vertical;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n}\\n.ch-form-control-holder > textarea::-webkit-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder > textarea::-moz-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder > textarea::-ms-input-placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder > textarea::placeholder {\\n /* Chrome, Firefox, Opera, Safari 10.1+ */\\n color: LightBlue;\\n opacity: 1;\\n /* Firefox */\\n}\\n.ch-form-control-holder input[type=text].important {\\n padding: 5px;\\n font-size: 16px;\\n font-weight: bold;\\n}\\n.ch-form-control-holder.ch-form-control-holder-no-decoration {\\n padding-top: 0px;\\n padding-left: 5px;\\n padding-bottom: 0px;\\n padding-right: 5px;\\n}\\n.ch-form-label, .ch-form-label-active {\\n font-size: 14px;\\n color: inherit;\\n margin-left: 2px;\\n margin-right: 2px;\\n margin-bottom: 3px;\\n}\\n.ch-form-mini-label {\\n font-size: 12px;\\n color: inherit;\\n margin-left: 2px;\\n margin-right: 2px;\\n margin-bottom: 3px;\\n}\\n.ch-form-micro-label {\\n font-size: 10px;\\n color: inherit;\\n margin-left: 2px;\\n margin-right: 2px;\\n margin-bottom: 3px;\\n}\\n.ch-form-label.important, .important.ch-form-label-active {\\n font-size: 16px;\\n font-weight: 600;\\n}\\n.ch-form-label-active {\\n font-size: 14px;\\n margin-bottom: 2px;\\n}\\n.ch-form-label-active.location {\\n padding-right: 40px;\\n}\\n.ch-form-group-container {\\n margin-left: 25px;\\n padding-top: 5px;\\n padding-bottom: 5px;\\n}\\n.ch-form-group-container.rtl {\\n margin-right: 25px;\\n margin-left: 2px;\\n}\\n.row.ch-form-group-container {\\n margin-right: 0px;\\n}\\n.ch-active-text {\\n color: #416ED9;\\n}\\n.ch-inactive-text {\\n color: LightBlue;\\n}\\n.ch-label-selected {\\n color: #7A2184;\\n text-decoration: underline;\\n}\\n.ch-combo-box.ng-select.ng-select-single {\\n flex-grow: 1;\\n max-width: 100%;\\n}\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container {\\n min-height: 30px;\\n font-size: 14px;\\n padding: 3px;\\n width: 100%;\\n color: #416ED9;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n border-radius: 0;\\n box-shadow: none;\\n}\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container.no-border {\\n border: none !important;\\n}\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container .ng-value-container {\\n padding-left: 0px;\\n}\\n.ng-select.ch-combo-box ::ng-deep .ng-select-container .ng-select.ng-select-single {\\n height: 30px;\\n}\\n.ng-select.ch-combo-box.ng-select-disabled ::ng-deep .ng-select-container {\\n color: #333;\\n background-color: #F3F3F3;\\n border-color: #EFEFEF;\\n}\\n.ng-select.ch-combo-box.ch-panelborder ::ng-deep .ng-select-container {\\n border-color: #E7E7E7 !important;\\n}\\n.ng-select.ch-combo-box.no-border ::ng-deep .ng-select-container {\\n border: none;\\n}\\n.ng-select.ch-combo-box.ng-select-single ::ng-deep .ng-select-container {\\n height: 30px;\\n}\\n.ng-select.ch-combo-box.ch-combo-box-mini.ng-select-single ::ng-deep .ng-select-container {\\n height: 25px;\\n min-height: 25px;\\n font-size: 12px;\\n}\\n.ng-select.ch-combo-box.ch-combo-box-mini.ng-select-single ::ng-deep .ng-select-container.no-border {\\n border: none;\\n}\\n.ng-select.ch-combo-box.ch-combo-box-mini.ng-select-single ::ng-deep .ng-select-container .ng-placeholder,\\n.ng-select.ch-combo-box.ch-combo-box-mini.ng-select-single ::ng-deep .ng-select-container .ng-arrow-wrapper {\\n margin-top: 8px;\\n}\\n.ng-select.ch-combo-box.ch-combo-box-mini.ng-select-single ::ng-deep .ng-select-container .ng-value-container .ng-input {\\n top: 0px;\\n}\\n.ng-select.ch-combo-box.ng-select-single.no-border ::ng-deep .ng-value-container .ng-placeholder {\\n color: LightBlue;\\n}\\n.ch-combo-group {\\n text-transform: uppercase;\\n font-weight: bold;\\n border-top: 1px solid lightgray;\\n padding-top: 5px;\\n}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled {\\n color: #0B1F29;\\n margin-bottom: 0px;\\n padding-bottom: 0px;\\n}\\n.chil-combo-nav-icon {\\n height: 15px;\\n width: 15px;\\n margin-right: 5px;\\n}\\n.ch-combo-new {\\n margin-left: 5px;\\n margin-top: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: #EFEFEF;\\n color: #676a6c;\\n}\\n.ch-combo-new:hover {\\n background-color: #f09b00;\\n color: #EFEFEF;\\n}\\n.ch-combo-delete {\\n margin-left: 5px;\\n margin-top: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: #EFEFEF;\\n color: #676a6c;\\n}\\n.ch-combo-delete:hover {\\n background-color: red;\\n color: #EFEFEF;\\n}\\n.ch-color-selection-area {\\n height: 30px;\\n margin-top: 0px;\\n margin-left: 25px;\\n margin-right: 0px;\\n padding: 0px;\\n vertical-align: middle;\\n}\\n.ch-color-color-dot, .ch-color-selected-color-dot {\\n height: 12px;\\n width: 12px;\\n border-radius: 50%;\\n border-width: 1px;\\n border-style: solid;\\n border-color: darkgray;\\n display: inline-block;\\n margin-left: 3px;\\n}\\n.ch-color-null-dot {\\n height: 12px;\\n width: 12px;\\n font-size: 12px;\\n color: darkred;\\n margin-left: 5px;\\n}\\n.ch-color-selected-color-dot {\\n height: 30px;\\n width: 30px;\\n margin-left: 0px;\\n}\\n.ch-color-selected-color-dot > input {\\n /* [type=\\\"color\\\"] */\\n display: block;\\n width: 37px;\\n margin-top: 1px;\\n padding: 5px;\\n height: 15px;\\n margin-left: 1px;\\n border-style: none;\\n border-width: 1px;\\n border-radius: 15px;\\n padding-top: 18px;\\n opacity: 0;\\n cursor: pointer;\\n}\\n.note-btn-group > .note-btn {\\n display: inline-block;\\n font-weight: 400;\\n margin-bottom: 0;\\n text-align: center;\\n vertical-align: middle;\\n touch-action: manipulation;\\n cursor: pointer;\\n background-image: none;\\n white-space: nowrap;\\n outline: 0;\\n color: #416ED9;\\n background-color: #EFEFEF;\\n border: thin solid #e7eaec;\\n padding: 3px 10px;\\n font-size: 14px;\\n line-height: 1.5;\\n border-radius: 5px;\\n border-top-right-radius: 5px;\\n border-bottom-right-radius: 5px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.note-btn-group > .note-btn:hover {\\n background-color: #f09b00;\\n border-color: #f09b00;\\n color: white;\\n}\\n/************************\\n BUTTON GROUP\\n************************/\\n.ch-btn-group {\\n position: relative;\\n display: inline-block;\\n vertical-align: middle;\\n}\\n.ch-btn-group > .btn {\\n position: relative;\\n float: left;\\n background-color: white;\\n border-color: darkgray;\\n /* $input-active-color; */\\n border-width: thin;\\n color: #416ED9;\\n padding: 3px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 5px;\\n border-top-right-radius: 5px;\\n border-bottom-right-radius: 5px;\\n}\\n.ch-btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n.ch-btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\\n border-radius: 0;\\n}\\n.ch-btn-group > .btn:last-child:not(:first-child), .ch-btn-group > .dropdown-toggle:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n.ch-btn-group .btn + .btn, .ch-btn-group .btn + .ch-btn-group, .ch-btn-group .ch-btn-group + .btn, .ch-btn-group .ch-btn-group + .ch-btn-group {\\n margin-left: -1px;\\n}\\n.ch-btn-group .btn:hover {\\n background-color: LightBlue;\\n border-color: LightBlue;\\n}\\n.ch-btn-group > .focus, .ch-btn-group > .active {\\n background-color: #416ED9;\\n color: white;\\n border-color: #416ED9;\\n /* $input-border; */\\n}\\n.ch-group-header {\\n margin-bottom: 10px;\\n}\\n.ch-group-footer {\\n margin-top: 10px;\\n}\\n.ch-form-control-holder.ch-button-group {\\n margin-bottom: 0px;\\n}\\n.ch-ace-container {\\n border: 1px solid darkgray;\\n}\\n.ch-image-picker-area {\\n background-color: white;\\n padding: 10px;\\n height: 150px;\\n margin: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.ch-form-delete-button {\\n margin: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: transparent;\\n color: #999999;\\n border: 2px transparent;\\n}\\n.ch-form-delete-button:hover {\\n border-color: red;\\n color: red;\\n}\\n.ch-form-white-button {\\n margin: 4px;\\n height: 22px;\\n width: 22px;\\n background-color: transparent;\\n color: #999999;\\n border: 2px transparent;\\n}\\n.ch-form-white-button:hover {\\n border-color: #f09b00;\\n color: #f09b00;\\n}\\n.ch-image-picker-area2 {\\n margin-left: 0px;\\n margin-right: 40px;\\n height: 100%;\\n display: block;\\n overflow-y: hidden;\\n overflow-x: auto;\\n}\\n.ch-image-picker-area3 {\\n display: flex;\\n}\\n.ch-image-delete-button-small {\\n position: absolute;\\n right: 0px;\\n top: 5px;\\n padding: 1px 4px 1px 4px;\\n display: block;\\n background-color: red;\\n border-radius: 10px;\\n font-size: 10px;\\n color: white;\\n}\\n.ch-image-picker-item {\\n position: relative;\\n margin-right: 5px;\\n}\\n.ng-select.ch-combo-box.ch-user-picker.ng-select-single ::ng-deep .ng-select-container {\\n height: 40px;\\n}\\n.ng-select.ch-combo-box.ch-user-picker.ng-select-single.no-description ::ng-deep .ng-select-container {\\n height: 32px;\\n}\\n.ch-user-picker .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\n padding: 2px 2px;\\n}\\n.ch-form-zone-auth-option {\\n margin-right: 15px;\\n}\\np.ch-form-zone-auth-list-item {\\n margin: 0px;\\n}\\n.ch-form-zone-auth-list-item-zone {\\n text-decoration: underline;\\n}\\n.new-category-block {\\n width: 100%;\\n border-color: #F3F3F3;\\n border-style: solid;\\n border-width: 1px;\\n position: relative;\\n display: flex;\\n margin-top: 10px;\\n background: #FAFAFA;\\n padding: 0px;\\n}\\n.tags-input input[type=text].tags-input__input-field {\\n width: unset;\\n}\\n.pics-grid {\\n background-color: #FAFAFA;\\n}\\ninput.ch-form-file-imput {\\n font-size: 14px;\\n padding: 3px;\\n width: 100%;\\n color: #416ED9;\\n border-color: darkgray;\\n border-style: solid;\\n border-width: 1px;\\n border-radius: 0;\\n box-shadow: none;\\n}\\n.ch-forms-item-select-container {\\n cursor: pointer;\\n color: #416ED9;\\n}\\n.ch-forms-item-select-container:not(.grouped) {\\n padding: 5px;\\n border: 1px solid darkgray;\\n background-color: transparent;\\n}\\n.ch-forms-item-select-container.grouped {\\n padding: 2px;\\n}\\n.ch-forms-item-select-container.selected {\\n color: #7A2184;\\n background-color: #F2E7F2;\\n}\\n.ch-forms-item-group-select-container {\\n padding: 5px;\\n border: 1px solid darkgray;\\n overflow-x: hidden;\\n overflow-y: auto;\\n background-color: #FAFAFA;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9jaC1mb3Jtcy5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLFlBQUE7RUFFQSxXQUFBO0VBQ0Esc0JBQUE7QUNGSjtBRElJO0VBQ0Usd0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsNkJFa0YwQjtBRHBGaEM7QURLSTs7RUFFSSxlRW1KWTtFRmxKWixzQkUwSk87RUZ6SlAsbUJBQUE7RUFDQSxpQkFBQTtBQ0hSO0FES1E7O0VBQ0UsWUU2SVU7RUY1SVYsZ0JBQUE7RUFDQSxpQkFBQTtBQ0ZWO0FETUk7RUFDRSx5Q0FBQTtFQUNFLGdCRTRJVTtFRjNJVixVQUFBO0VBQVksWUFBQTtBQ0hwQjtBREFJO0VBQ0UseUNBQUE7RUFDRSxnQkU0SVU7RUYzSVYsVUFBQTtFQUFZLFlBQUE7QUNIcEI7QURBSTtFQUNFLHlDQUFBO0VBQ0UsZ0JFNElVO0VGM0lWLFVBQUE7RUFBWSxZQUFBO0FDSHBCO0FEQUk7RUFDRSx5Q0FBQTtFQUNFLGdCRTRJVTtFRjNJVixVQUFBO0VBQVksWUFBQTtBQ0hwQjtBRE1JO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxjRW1JYTtFRmxJYix1QkVnSVc7QURwSW5CO0FET1E7RUFDSSxXRXlCYztFRnhCZCx1QkFBQTtFQUNBLHlCRTJIZ0I7RUYxSGhCLHFCRStIWTtBRHBJeEI7QURRUTtFQUNFLFlBQUE7RUFDQSxlRWtIb0I7RUZqSHBCLGlCQUFBO0FDTlY7QURRVTtFQUNFLFlFOEdrQjtFRjdHbEIsZ0JBQUE7QUNOWjtBRFVRO0VBQ0UsZ0JFOEdRO0FEdEhsQjtBRFlJO0VBQ0UsZUFBQTtBQ1ZOO0FEWU07RUFDRSxhQUFBO0FDVlI7QURjSTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0U2RmU7RUY1RmYsdUJFMEZhO0VGekZiLHNCRThGUztFRjdGVCxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtBQ1pOO0FEY007RUFDRSxXQUFBO0FDWlI7QURjTTtFQUNFLFlBQUE7QUNaUjtBRGVNO0VBRUksV0V4QmdCO0VGeUJoQix1QkFBQTtFQUNBLHlCRTBFa0I7RUZ6RWxCLHFCRThFYztBRDVGeEI7QURTTTtFQUVJLFdFeEJnQjtFRnlCaEIsdUJBQUE7RUFDQSx5QkUwRWtCO0VGekVsQixxQkU4RWM7QUQ1RnhCO0FEa0JJO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxjRW1FYTtFRmxFYix1QkVnRVc7QURoRm5CO0FEbUJRO0VBRUksV0V4Q2M7RUZ5Q2QsdUJBQUE7RUFDQSx5QkUwRGdCO0VGekRoQixxQkU4RFk7QURoRnhCO0FEYVE7RUFFSSxXRXhDYztFRnlDZCx1QkFBQTtFQUNBLHlCRTBEZ0I7RUZ6RGhCLHFCRThEWTtBRGhGeEI7QURzQkk7RUFDSSxlRWdEWTtFRi9DWixZQUFBO0VBQ0EsV0FBQTtFQUNBLGNFa0RhO0VGakRiLGNBQUE7RUFDQSxnQkFBQTtFQUNBLHNCRWtETztFRmpEUCxtQkFBQTtFQUNBLGlCQUFBO0FDcEJSO0FEdUJJO0VBQ0UseUNBQUE7RUFDRSxnQkUwQ1U7RUZ6Q1YsVUFBQTtFQUFZLFlBQUE7QUNwQnBCO0FEaUJJO0VBQ0UseUNBQUE7RUFDRSxnQkUwQ1U7RUZ6Q1YsVUFBQTtFQUFZLFlBQUE7QUNwQnBCO0FEaUJJO0VBQ0UseUNBQUE7RUFDRSxnQkUwQ1U7RUZ6Q1YsVUFBQTtFQUFZLFlBQUE7QUNwQnBCO0FEaUJJO0VBQ0UseUNBQUE7RUFDRSxnQkUwQ1U7RUZ6Q1YsVUFBQTtFQUFZLFlBQUE7QUNwQnBCO0FEdUJJO0VBQ0ksWUFBQTtFQUNBLGVFOEJzQjtFRjdCdEIsaUJBQUE7QUNyQlI7QUR5QkE7RUFFSSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQ3ZCSjtBRDBCQTtFQUNJLGVFV2lCO0VGVmpCLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JFTTBCO0FEN0I5QjtBRDJCQTtFQUNFLGVFR3dCO0VGRnhCLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JFSDRCO0FEckI5QjtBRDJCQTtFQUNFLGVFSnlCO0VGS3pCLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JFWDRCO0FEYjlCO0FEMEJBO0VBQ0ksZUVWMkI7RUZXM0IsZ0JBQUE7QUN2Qko7QUQwQkE7RUFFSSxlRWZnQjtFRmdCaEIsa0JBQUE7QUN4Qko7QUQwQkk7RUFDRSxtQkFBQTtBQ3hCTjtBRDRCQTtFQUNJLGlCRTlCa0I7RUYrQmxCLGdCQUFBO0VBQ0EsbUJBQUE7QUN6Qko7QUQyQkk7RUFDRSxrQkVuQ2dCO0VGb0NoQixnQkFBQTtBQ3pCTjtBRDZCQTtFQUNJLGlCQUFBO0FDMUJKO0FENkJBO0VBQ0ksY0VsQ2lCO0FEUXJCO0FENkJBO0VBQ0ksZ0JFcENjO0FEVWxCO0FENEJBO0VBQ0ksY0VoSWtCO0VGaUlsQiwwQkFBQTtBQ3pCSjtBRGlDQTtFQUNJLFlBQUE7RUFDQSxlQUFBO0FDOUJKO0FEaUNBO0VBRUksZ0JBQUE7RUFDQSxlRS9EZ0I7RUZnRWhCLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0U3RGlCO0VGOERqQixzQkUzRFc7RUY0RFgsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUMvQko7QURpQ0k7RUFDRSx1QkFBQTtBQy9CTjtBRGtDSTtFQUNJLGlCQUFBO0FDaENSO0FEbUNJO0VBQ0ksWUFBQTtBQ2pDUjtBRHFDQTtFQUNFLFdFdkx3QjtFRndMeEIseUJFcEYwQjtFRnFGMUIscUJFaEZzQjtBRDhDeEI7QURxQ0E7RUFDRSxnQ0FBQTtBQ2xDRjtBRHFDQTtFQUNFLFlBQUE7QUNsQ0Y7QURxQ0E7RUFDRSxZQUFBO0FDbENGO0FEcUNBO0VBQ0UsWUFB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bkIsc0JFemZhO0VGMGZiLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FDN0dGO0FEeUhBO0VBQ0UsZUFBQTtFQUNBLGNFOWdCbUI7QUR3WnJCO0FEd0hFO0VBQ0UsWUFBQTtFQUNBLDBCQUFBO0VBQ0EsNkJBQUE7QUN0SEo7QUR3SEU7RUFDRSxZQUFBO0FDdEhKO0FEeUhFO0VBQ0UsY0VqbkJrQjtFRmtuQmxCLHlCRWpuQnFCO0FEMGZ6QjtBRDJIQTtFQUNFLFlBQUE7RUFDQSwwQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkVobkJvQjtBRHdmdEIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2Zvcm1zL2NoLWZvcm1zLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgLy8gbWF4LXdpZHRoOiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJi5pbXBvcnRhbnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgLnNpbXVsYXRlZC1pbnB1dCAge1xuICAgICAgICBmb250LXNpemU6ICRjb250cm9sLXRleHQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcblxuICAgICAgICAubGluay10eXBlLWljb24ge1xuICAgICAgICAgIGhlaWdodDogJGNvbnRyb2wtdGV4dC1zaXplO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGlucHV0OjpwbGFjZWhvbGRlclxuICAgIHsgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG4gICAgfVxuXG4gICAgLnNpbXVsYXRlZC1pbnB1dC10eHQge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2stY29sb3I7XG5cbiAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAgICAgICAmLnJlYWQtb25seSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgICAgICAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1yZWFkb25seTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW1wb3J0YW50IHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAkY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgLmxpbmstdHlwZS1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgY29sb3I6ICRpbnB1dC1kaW0tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2ltdWxhdGVkLXBvaW50ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmLnJlYWQtb25seSB7XG4gICAgICAgIGN1cnNvcjogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFjay1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlcjtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICAmLmRvYmxlLXNpemUge1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgIH1cbiAgICAgICYudHJpcGxlLXNpemUge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgICAvLyBib3JkZXItY29sb3I6ICRpbnB1dC1kaW0tY29sb3I7XG4gICAgICAmOnJlYWQtb25seSxcbiAgICAgICZbcmVhZG9ubHk9XCJcIl0ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms7XG4gICAgICAgICAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLXJlYWRvbmx5O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2stY29sb3I7XG5cbiAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAgICAgICAmOnJlYWQtb25seSxcbiAgICAgICAgJltyZWFkb25seT1cIlwiXSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgICAgICAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1yZWFkb25seTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gdGV4dGFyZWEge1xuICAgICAgICBmb250LXNpemU6ICRjb250cm9sLXRleHQtc2l6ZTtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cblxuICAgID4gdGV4dGFyZWE6OnBsYWNlaG9sZGVyXG4gICAgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgICAgY29sb3I6ICRpbnB1dC1kaW0tY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXRleHRdLmltcG9ydGFudCB7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAkY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyLmNoLWZvcm0tY29udHJvbC1ob2xkZXItbm8tZGVjb3JhdGlvblxue1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cblxuLmNoLWZvcm0tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtbGFiZWwtc2l6ZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvcjtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW47XG5cbn1cblxuLmNoLWZvcm0tbWluaS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pO1xuICBjb2xvcjogaW5oZXJpdDsgLy8gJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvcjtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIG1hcmdpbi1ib3R0b206ICRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW47XG59XG5cbi5jaC1mb3JtLW1pY3JvLWxhYmVsIHtcbiAgZm9udC1zaXplOiAkY29udHJvbC1sYWJlbC1zaXplLW1pY3JvO1xuICBjb2xvcjogaW5oZXJpdDsgLy8gJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvcjtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIG1hcmdpbi1ib3R0b206ICRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW47XG59XG4uY2gtZm9ybS1sYWJlbC5pbXBvcnRhbnQge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNoLWZvcm0tbGFiZWwtYWN0aXZlIHtcbiAgICBAZXh0ZW5kIC5jaC1mb3JtLWxhYmVsO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtdGV4dC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICYubG9jYXRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICB9XG59XG5cbi5jaC1mb3JtLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb250cm9sLWxlZnQtbWFyZ2luO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAgICYucnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNvbnRyb2wtbGVmdC1tYXJnaW47XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIH1cbn1cblxuLnJvdy5jaC1mb3JtLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5jaC1hY3RpdmUtdGV4dCB7XG4gICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3Jcbn1cblxuLmNoLWluYWN0aXZlLXRleHQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGltLWNvbG9yIC8vICRkaXNhYmxlZC1pdGVtLWNvbG9yXG59XG4uY2gtbGFiZWwtc2VsZWN0ZWR7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyBDSC1DT01CTy1CT1hcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi5jaC1jb21iby1ib3gubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94IDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAge1xuXG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6ICRjb250cm9sLXRleHQtc2l6ZTtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5uby1ib3JkZXIge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgLm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3gubmctc2VsZWN0LWRpc2FibGVkIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5O1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItcmVhZG9ubHk7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94LmNoLXBhbmVsYm9yZGVyIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlciAhaW1wb3J0YW50O1xufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5uby1ib3JkZXIgOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5uZy1zZWxlY3Qtc2luZ2xlIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAgIHtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1jb21iby1ib3gtbWluaS5uZy1zZWxlY3Qtc2luZ2xlIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAgIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtaW4taGVpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgJi5uby1ib3JkZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC5uZy1wbGFjZWhvbGRlcixcbiAgLm5nLWFycm93LXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0IHtcbiAgICB0b3A6IDBweDtcbiAgfVxufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5uZy1zZWxlY3Qtc2luZ2xlLm5vLWJvcmRlciA6Om5nLWRlZXAgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXIgIHtcbiAgICBjb2xvcjogJGlucHV0LWRpbS1jb2xvcjtcbn1cblxuLmNoLWNvbWJvLWdyb3VwIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbWJvLWdyb3VwLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4uY2hpbC1jb21iby1uYXYtaWNvbiB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uY2gtY29tYm8tbmV3IHtcbiAgICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICB3aWR0aDogMjJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1iaztcbiAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvcjtcbn1cblxuLmNoLWNvbWJvLW5ldzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLWJrXG59XG5cbi5jaC1jb21iby1kZWxldGUge1xuICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWJrO1xuICAgIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xufVxuXG4uY2gtY29tYm8tZGVsZXRlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVsZXRlLWNvbG9yO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1ia1xufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vIFNFTEVDQ0lPTiBERSBMT1MgQ09MT1JFU1xuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uY2gtY29sb3Itc2VsZWN0aW9uLWFyZWEge1xuICAgIGhlaWdodCA6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAkY29udHJvbC1sZWZ0LW1hcmdpbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNoLWNvbG9yLWNvbG9yLWRvdCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmNoLWNvbG9yLW51bGwtZG90IHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiBkYXJrcmVkO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cblxuLmNoLWNvbG9yLXNlbGVjdGVkLWNvbG9yLWRvdCB7XG4gICAgQGV4dGVuZCAuY2gtY29sb3ItY29sb3ItZG90O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG4uY2gtY29sb3Itc2VsZWN0ZWQtY29sb3ItZG90ID4gaW5wdXQgeyAgLyogW3R5cGU9XCJjb2xvclwiXSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzN3B4O1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtRk9STVMtUklDSEVESVRcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLm5vdGUtYnRuLWdyb3VwID4gLm5vdGUtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1iaztcbiAgICBib3JkZXI6IHRoaW4gc29saWQgJHByaW1hcnktY29sb3ItYmstYm9yZGVyO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJGdlbmVyYWwtYmstY29sb3I7XG4gICAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgQlVUVE9OIEdST1VQXG4qKioqKioqKioqKioqKioqKioqKioqKiovXG4uY2gtYnRuLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jaC1idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2stY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyOyAgIC8qICRpbnB1dC1hY3RpdmUtY29sb3I7ICovXG4gICAgYm9yZGVyLXdpZHRoOiB0aGluO1xuICAgIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG59XG5cbi5jaC1idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmNoLWJ0bi1ncm91cCAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uY2gtYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY2gtYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uY2gtYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuY2gtYnRuLWdyb3VwIC5idG4gKyAuY2gtYnRuLWdyb3VwLCAuY2gtYnRuLWdyb3VwIC5jaC1idG4tZ3JvdXAgKyAuYnRuLCAuY2gtYnRuLWdyb3VwIC5jaC1idG4tZ3JvdXAgKyAuY2gtYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmNoLWJ0bi1ncm91cCAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGltLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpbS1jb2xvcjtcbn1cblxuLmNoLWJ0bi1ncm91cCA+IC5mb2N1cywgLmNoLWJ0bi1ncm91cCA+IC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gICAgY29sb3I6ICRpbnB1dC1iYWNrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWFjdGl2ZS1jb2xvcjsgLyogJGlucHV0LWJvcmRlcjsgICovXG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtRk9STS1HUk9VUFxuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uY2gtZ3JvdXAtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2gtZ3JvdXAtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyBDSC1GT1JNLVJBRElPLUdST1VQXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyLmNoLWJ1dHRvbi1ncm91cHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vIENILUZPUk1TLUNPREVcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmNoLWFjZS1jb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vIENILUlNQUdFLVBJQ0tFUlxuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLmNoLWltYWdlLXBpY2tlci1hcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG4uY2gtZm9ybS1kZWxldGUtYnV0dG9uIHtcbiAgICBtYXJnaW46IDRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZGVsZXRlLWNvbG9yO1xuICAgICAgY29sb3I6ICRkZWxldGUtY29sb3JcbiAgICB9XG4gIH1cblxuLmNoLWZvcm0td2hpdGUtYnV0dG9uIHtcbiAgICBtYXJnaW46IDRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtQVRUQUNITUVOVFMtUElDS0VSXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4uY2gtaW1hZ2UtcGlja2VyLWFyZWEyIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5jaC1pbWFnZS1waWNrZXItYXJlYTMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jaC1pbWFnZS1kZWxldGUtYnV0dG9uLXNtYWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDVweDtcbiAgICBwYWRkaW5nOiAxcHggNHB4IDFweCA0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlbGV0ZS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogJGdlbmVyYWwtYmstY29sb3I7XG59XG5cbi5jaC1pbWFnZS1waWNrZXItaXRlbSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHhcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtVVNFUi1QSUNLRVJcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3guY2gtdXNlci1waWNrZXIubmctc2VsZWN0LXNpbmdsZSA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIgICB7XG4gICAgaGVpZ2h0OiA0MHB4O1xufVxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3guY2gtdXNlci1waWNrZXIubmctc2VsZWN0LXNpbmdsZS5uby1kZXNjcmlwdGlvbiA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIgICB7XG4gICAgaGVpZ2h0OiAzMnB4O1xufVxuLmNoLXVzZXItcGlja2VyIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgcGFkZGluZzogMnB4IDJweDtcbn1cblxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9cbi8vIENILVpPTkUtQVVUSFxuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uY2gtZm9ybS16b25lLWF1dGgtb3B0aW9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cblxuICBwLmNoLWZvcm0tem9uZS1hdXRoLWxpc3QtaXRlbSB7XG4gICAgbWFyZ2luOiAwcHg7XG59XG4uY2gtZm9ybS16b25lLWF1dGgtbGlzdC1pdGVtLXpvbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyBDSC1GT1JNUy1DQVRFR09SWS1FRElUT1Jcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLm5ldy1jYXRlZ29yeS1ibG9jayB7XG4gICAgd2lkdGggOiAxMDAlO1xuICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGUgOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGggOiAxcHg7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLnRhZ3MtaW5wdXQgaW5wdXRbdHlwZT1cInRleHRcIl0udGFncy1pbnB1dF9faW5wdXQtZmllbGQge1xuICAgIHdpZHRoOiB1bnNldDtcbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyBDSC1GT1JNUy1JTUFHRS1NT1NBSUNcbi8vXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi5waWNzLWdyaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VicGFuZWwtYmFja2dyb3VuZDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1xuLy8gQ0gtRk9STVMtRklMRVxuLy9cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5pbnB1dC5jaC1mb3JtLWZpbGUtaW1wdXQge1xuICBmb250LXNpemU6ICRjb250cm9sLXRleHQtc2l6ZTtcbiAgcGFkZGluZzogM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRpbnB1dC1hY3RpdmUtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vXG4vLyBDSC1GT1JNUy1TRUxFQ1QtSVRFTVxuLy8gQ0gtRk9STVMtU0VMRUNULUdST1VQXG4vL1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5jaC1mb3Jtcy1pdGVtLXNlbGVjdC1jb250YWluZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkaW5wdXQtYWN0aXZlLWNvbG9yO1xuXG4gICY6bm90KC5ncm91cGVkKSB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJi5ncm91cGVkIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gIH1cblxuICAmLnNlbGVjdGVkIHtcbiAgICBjb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms7XG4gIH1cbn1cblxuLmNoLWZvcm1zLWl0ZW0tZ3JvdXAtc2VsZWN0LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VicGFuZWwtYmFja2dyb3VuZDtcblxufVxuIiwiLmNoLWZvcm0tY29udHJvbC1ob2xkZXIge1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIuaW1wb3J0YW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgeWVsbG93O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0eWVsbG93O1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXQsXG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciAuc2ltdWxhdGVkLWlucHV0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXItY29sb3I6IGRhcmtncmF5O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIGlucHV0IC5saW5rLXR5cGUtaWNvbixcbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIC5zaW11bGF0ZWQtaW5wdXQgLmxpbmstdHlwZS1pY29uIHtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogTGlnaHRCbHVlO1xuICBvcGFjaXR5OiAxO1xuICAvKiBGaXJlZm94ICovXG59XG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciAuc2ltdWxhdGVkLWlucHV0LXR4dCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIC5zaW11bGF0ZWQtaW5wdXQtdHh0LnJlYWQtb25seSB7XG4gIGNvbG9yOiAjMzMzO1xuICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgYm9yZGVyLWNvbG9yOiAjRUZFRkVGO1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgLnNpbXVsYXRlZC1pbnB1dC10eHQuaW1wb3J0YW50IHtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgLnNpbXVsYXRlZC1pbnB1dC10eHQuaW1wb3J0YW50IC5saW5rLXR5cGUtaWNvbiB7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLXRvcDogLTRweDtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIC5zaW11bGF0ZWQtaW5wdXQtdHh0LmVtcHR5IHtcbiAgY29sb3I6IExpZ2h0Qmx1ZTtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIC5zaW11bGF0ZWQtcG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIC5zaW11bGF0ZWQtcG9pbnRlci5yZWFkLW9ubHkge1xuICBjdXJzb3I6IHVuc2V0O1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgcGFkZGluZzogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6IGRhcmtncmF5O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgd2lkdGg6IDUwcHg7XG59XG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciBpbnB1dFt0eXBlPW51bWJlcl0uZG9ibGUtc2l6ZSB7XG4gIHdpZHRoOiA3NXB4O1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXRbdHlwZT1udW1iZXJdLnRyaXBsZS1zaXplIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXRbdHlwZT1udW1iZXJdOnJlYWQtb25seSwgLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXRbdHlwZT1udW1iZXJdW3JlYWRvbmx5PVwiXCJdIHtcbiAgY29sb3I6ICMzMzM7XG4gIC8qIGZvbnQtd2VpZ2h0OiBib2xkOyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICBib3JkZXItY29sb3I6ICNFRkVGRUY7XG59XG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciBpbnB1dFt0eXBlPXRleHRdIHtcbiAgcGFkZGluZzogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIgaW5wdXRbdHlwZT10ZXh0XTpyZWFkLW9ubHksIC5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIGlucHV0W3R5cGU9dGV4dF1bcmVhZG9ubHk9XCJcIl0ge1xuICBjb2xvcjogIzMzMztcbiAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gIGJvcmRlci1jb2xvcjogI0VGRUZFRjtcbn1cbi5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyID4gdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciA+IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogTGlnaHRCbHVlO1xuICBvcGFjaXR5OiAxO1xuICAvKiBGaXJlZm94ICovXG59XG4uY2gtZm9ybS1jb250cm9sLWhvbGRlciBpbnB1dFt0eXBlPXRleHRdLmltcG9ydGFudCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIuY2gtZm9ybS1jb250cm9sLWhvbGRlci1uby1kZWNvcmF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmNoLWZvcm0tbGFiZWwsIC5jaC1mb3JtLWxhYmVsLWFjdGl2ZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi5jaC1mb3JtLW1pbmktbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4uY2gtZm9ybS1taWNyby1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi5jaC1mb3JtLWxhYmVsLmltcG9ydGFudCwgLmltcG9ydGFudC5jaC1mb3JtLWxhYmVsLWFjdGl2ZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNoLWZvcm0tbGFiZWwtYWN0aXZlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4uY2gtZm9ybS1sYWJlbC1hY3RpdmUubG9jYXRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG4uY2gtZm9ybS1ncm91cC1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi5jaC1mb3JtLWdyb3VwLWNvbnRhaW5lci5ydGwge1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi5yb3cuY2gtZm9ybS1ncm91cC1jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmNoLWFjdGl2ZS10ZXh0IHtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG5cbi5jaC1pbmFjdGl2ZS10ZXh0IHtcbiAgY29sb3I6IExpZ2h0Qmx1ZTtcbn1cblxuLmNoLWxhYmVsLXNlbGVjdGVkIHtcbiAgY29sb3I6ICM3QTIxODQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2gtY29tYm8tYm94Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94IDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGJvcmRlci1jb2xvcjogZGFya2dyYXk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3ggOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyLm5vLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3ggOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94IDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUge1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94Lm5nLXNlbGVjdC1kaXNhYmxlZCA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgYm9yZGVyLWNvbG9yOiAjRUZFRkVGO1xufVxuXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1wYW5lbGJvcmRlciA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNFN0U3RTcgIWltcG9ydGFudDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3gubm8tYm9yZGVyIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3gubmctc2VsZWN0LXNpbmdsZSA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94LmNoLWNvbWJvLWJveC1taW5pLm5nLXNlbGVjdC1zaW5nbGUgOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtaW4taGVpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDEycHg7XG59XG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1jb21iby1ib3gtbWluaS5uZy1zZWxlY3Qtc2luZ2xlIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lci5uby1ib3JkZXIge1xuICBib3JkZXI6IG5vbmU7XG59XG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1jb21iby1ib3gtbWluaS5uZy1zZWxlY3Qtc2luZ2xlIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXIsXG4ubmctc2VsZWN0LmNoLWNvbWJvLWJveC5jaC1jb21iby1ib3gtbWluaS5uZy1zZWxlY3Qtc2luZ2xlIDo6bmctZGVlcCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctYXJyb3ctd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94LmNoLWNvbWJvLWJveC1taW5pLm5nLXNlbGVjdC1zaW5nbGUgOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0IHtcbiAgdG9wOiAwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94Lm5nLXNlbGVjdC1zaW5nbGUubm8tYm9yZGVyIDo6bmctZGVlcCAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBMaWdodEJsdWU7XG59XG5cbi5jaC1jb21iby1ncm91cCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRncmF5O1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tZGlzYWJsZWQge1xuICBjb2xvcjogIzBCMUYyOTtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4uY2hpbC1jb21iby1uYXYtaWNvbiB7XG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uY2gtY29tYm8tbmV3IHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuICBjb2xvcjogIzY3NmE2Yztcbn1cblxuLmNoLWNvbWJvLW5ldzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDliMDA7XG4gIGNvbG9yOiAjRUZFRkVGO1xufVxuXG4uY2gtY29tYm8tZGVsZXRlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuICBjb2xvcjogIzY3NmE2Yztcbn1cblxuLmNoLWNvbWJvLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgY29sb3I6ICNFRkVGRUY7XG59XG5cbi5jaC1jb2xvci1zZWxlY3Rpb24tYXJlYSB7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNoLWNvbG9yLWNvbG9yLWRvdCwgLmNoLWNvbG9yLXNlbGVjdGVkLWNvbG9yLWRvdCB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogZGFya2dyYXk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmNoLWNvbG9yLW51bGwtZG90IHtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogZGFya3JlZDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLmNoLWNvbG9yLXNlbGVjdGVkLWNvbG9yLWRvdCB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbi5jaC1jb2xvci1zZWxlY3RlZC1jb2xvci1kb3QgPiBpbnB1dCB7XG4gIC8qIFt0eXBlPVwiY29sb3JcIl0gKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzN3B4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBtYXJnaW4tbGVmdDogMXB4O1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMThweDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubm90ZS1idG4tZ3JvdXAgPiAubm90ZS1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6ICM0MTZFRDk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG4gIGJvcmRlcjogdGhpbiBzb2xpZCAjZTdlYWVjO1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubm90ZS1idG4tZ3JvdXAgPiAubm90ZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA5YjAwO1xuICBib3JkZXItY29sb3I6ICNmMDliMDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBCVVRUT04gR1JPVVBcbioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jaC1idG4tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNoLWJ0bi1ncm91cCA+IC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JheTtcbiAgLyogJGlucHV0LWFjdGl2ZS1jb2xvcjsgKi9cbiAgYm9yZGVyLXdpZHRoOiB0aGluO1xuICBjb2xvcjogIzQxNkVEOTtcbiAgcGFkZGluZzogM3B4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xufVxuXG4uY2gtYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmNoLWJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uY2gtYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY2gtYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5jaC1idG4tZ3JvdXAgLmJ0biArIC5idG4sIC5jaC1idG4tZ3JvdXAgLmJ0biArIC5jaC1idG4tZ3JvdXAsIC5jaC1idG4tZ3JvdXAgLmNoLWJ0bi1ncm91cCArIC5idG4sIC5jaC1idG4tZ3JvdXAgLmNoLWJ0bi1ncm91cCArIC5jaC1idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmNoLWJ0bi1ncm91cCAuYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogTGlnaHRCbHVlO1xuICBib3JkZXItY29sb3I6IExpZ2h0Qmx1ZTtcbn1cblxuLmNoLWJ0bi1ncm91cCA+IC5mb2N1cywgLmNoLWJ0bi1ncm91cCA+IC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE2RUQ5O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogIzQxNkVEOTtcbiAgLyogJGlucHV0LWJvcmRlcjsgICovXG59XG5cbi5jaC1ncm91cC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2gtZ3JvdXAtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmNoLWZvcm0tY29udHJvbC1ob2xkZXIuY2gtYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4uY2gtYWNlLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmF5O1xufVxuXG4uY2gtaW1hZ2UtcGlja2VyLWFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNoLWZvcm0tZGVsZXRlLWJ1dHRvbiB7XG4gIG1hcmdpbjogNHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xufVxuLmNoLWZvcm0tZGVsZXRlLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogcmVkO1xuICBjb2xvcjogcmVkO1xufVxuXG4uY2gtZm9ybS13aGl0ZS1idXR0b24ge1xuICBtYXJnaW46IDRweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMjJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXI6IDJweCB0cmFuc3BhcmVudDtcbn1cbi5jaC1mb3JtLXdoaXRlLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2YwOWIwMDtcbiAgY29sb3I6ICNmMDliMDA7XG59XG5cbi5jaC1pbWFnZS1waWNrZXItYXJlYTIge1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmNoLWltYWdlLXBpY2tlci1hcmVhMyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jaC1pbWFnZS1kZWxldGUtYnV0dG9uLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMHB4O1xuICB0b3A6IDVweDtcbiAgcGFkZGluZzogMXB4IDRweCAxcHggNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNoLWltYWdlLXBpY2tlci1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm5nLXNlbGVjdC5jaC1jb21iby1ib3guY2gtdXNlci1waWNrZXIubmctc2VsZWN0LXNpbmdsZSA6Om5nLWRlZXAgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5uZy1zZWxlY3QuY2gtY29tYm8tYm94LmNoLXVzZXItcGlja2VyLm5nLXNlbGVjdC1zaW5nbGUubm8tZGVzY3JpcHRpb24gOjpuZy1kZWVwIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuXG4uY2gtdXNlci1waWNrZXIgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgcGFkZGluZzogMnB4IDJweDtcbn1cblxuLmNoLWZvcm0tem9uZS1hdXRoLW9wdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxucC5jaC1mb3JtLXpvbmUtYXV0aC1saXN0LWl0ZW0ge1xuICBtYXJnaW46IDBweDtcbn1cblxuLmNoLWZvcm0tem9uZS1hdXRoLWxpc3QtaXRlbS16b25lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5uZXctY2F0ZWdvcnktYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbG9yOiAjRjNGM0YzO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi50YWdzLWlucHV0IGlucHV0W3R5cGU9dGV4dF0udGFncy1pbnB1dF9faW5wdXQtZmllbGQge1xuICB3aWR0aDogdW5zZXQ7XG59XG5cbi5waWNzLWdyaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xufVxuXG5pbnB1dC5jaC1mb3JtLWZpbGUtaW1wdXQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjNDE2RUQ5O1xuICBib3JkZXItY29sb3I6IGRhcmtncmF5O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNoLWZvcm1zLWl0ZW0tc2VsZWN0LWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM0MTZFRDk7XG59XG4uY2gtZm9ybXMtaXRlbS1zZWxlY3QtY29udGFpbmVyOm5vdCguZ3JvdXBlZCkge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmF5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jaC1mb3Jtcy1pdGVtLXNlbGVjdC1jb250YWluZXIuZ3JvdXBlZCB7XG4gIHBhZGRpbmc6IDJweDtcbn1cbi5jaC1mb3Jtcy1pdGVtLXNlbGVjdC1jb250YWluZXIuc2VsZWN0ZWQge1xuICBjb2xvcjogIzdBMjE4NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRTdGMjtcbn1cblxuLmNoLWZvcm1zLWl0ZW0tZ3JvdXAtc2VsZWN0LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyYXk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","export default \"p {\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n}\\n\\n/************************\\n TABLA\\n************************/\\n\\n/*table {\\n width: 100%;\\n border: 1px solid #000;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n }\\n th, td {\\n width: 25%;\\n text-align: left;\\n vertical-align: top;\\n border: 1px solid #000;\\n border-collapse: collapse;\\n padding: 0.3em;\\n caption-side: bottom;\\n }\\n caption {\\n padding: 0.3em;\\n color: #fff;\\n background: #000;\\n }\\n th {\\n background: #eee;\\n }\\n\\n\\n /**********************\\n SWITCHER\\n***********************/\\n\\n/* The switch - the box around the slider */\\n\\n.switch {\\n position: relative;\\n display: block;\\n width: 32px;\\n height: 16px;\\n margin-bottom: 0px;\\n margin-right: 188px;\\n float: right;\\n}\\n\\n/* Hide default HTML checkbox */\\n\\n.switch input {\\n display: none;\\n}\\n\\n/* The slider */\\n\\n.slider-box {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: 0.4s;\\n border-radius: 34px;\\n}\\n\\n.slider-box:before {\\n position: absolute;\\n content: \\\"\\\";\\n height: 12px;\\n width: 12px;\\n left: 2px;\\n bottom: 2px;\\n background-color: white;\\n transition: 0.4s;\\n border-radius: 50%;\\n}\\n\\ninput:checked + .slider-box {\\n background-color: #467efd;\\n}\\n\\ninput:focus + .slider-box {\\n box-shadow: 0 0 1px #467efd;\\n}\\n\\ninput:checked + .slider-box:before {\\n transform: translateX(16px);\\n}\\n\\n/*****************************\\n COLOR BUTTONS\\n*****************************/\\n\\n.colores {\\n margin-left: 20px;\\n display: inline-block;\\n box-shadow: none;\\n}\\n\\n.button1 {\\n background-color: #477cfd;\\n margin-bottom: 20px;\\n width: 30px;\\n height: 30px;\\n border-radius: 3px;\\n margin: 2px;\\n}\\n\\n/* Green */\\n\\n.button2 {\\n background-color: #6f757c;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Blue */\\n\\n.button3 {\\n background-color: #67a646;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Red */\\n\\n.button4 {\\n background-color: #c23849;\\n margin-bottom: 20px;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Gray */\\n\\n.button5 {\\n background-color: #edc125;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button6 {\\n background-color: #63a2b7;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button7 {\\n background-color: #f8f9fa;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.button8 {\\n background-color: #353a40;\\n border-radius: 3px;\\n margin: 2px;\\n width: 30px;\\n height: 30px;\\n}\\n\\n/* Black */\\n\\n.mas {\\n margin-left: 6px;\\n line-height: 27px;\\n font-size: 31px;\\n font-weight: 100;\\n color: #467efd;\\n border: 1px solid #f9fafa;\\n border-radius: 3px;\\n text-align: center;\\n width: 30px;\\n height: 30px;\\n}\\n\\n.mas:hover {\\n background-color: #ddd4d4;\\n}\\n\\n/********************\\n SLIDER\\n********************/\\n\\n.text-size-slider {\\n position: absolute;\\n margin-top: 10px;\\n margin-left: 30px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n}\\n\\n.text-size-slider > span {\\n margin-right: 223px;\\n font-size: 12px;\\n}\\n\\n.slidecontainer {\\n width: 100%;\\n background-color: transparent;\\n /* Width of the outside container */\\n}\\n\\n/* The slider itself */\\n\\n.slider {\\n -webkit-appearance: none;\\n /* Override default CSS styles */\\n -moz-appearance: none;\\n appearance: none;\\n width: 58%;\\n /* Full-width */\\n height: 10px;\\n /* Specified height */\\n float: left;\\n margin-left: 30px;\\n border-radius: 55px;\\n background: #e0e0e0;\\n /* Grey background */\\n outline: none;\\n /* Remove outline */\\n opacity: 0.7;\\n /* Set transparency (for mouse-over effects on hover) */\\n /* 0.2 seconds transition on hover */\\n transition: opacity 0.2s;\\n}\\n\\n/* Mouse-over effects */\\n\\n.slider:hover {\\n opacity: 1;\\n /* Fully shown on mouse-over */\\n}\\n\\n/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */\\n\\n.slider::-webkit-slider-thumb {\\n -webkit-appearance: none;\\n /* Override default look */\\n appearance: none;\\n width: 15px;\\n /* Set a specific slider handle width */\\n height: 15px;\\n /* Slider handle height */\\n background: #467efd;\\n cursor: pointer;\\n /* Cursor on hover */\\n border-radius: 55px;\\n}\\n\\n.slider::-moz-range-thumb {\\n width: 25px;\\n /* Set a specific slider handle width */\\n height: 25px;\\n /* Slider handle height */\\n background: #467efd;\\n cursor: pointer;\\n /* Cursor on hover */\\n}\\n\\n/*******************\\n RADIO BUTTON\\n*******************/\\n\\n/* Customize the label (the container) */\\n\\n.container {\\n display: block;\\n position: relative;\\n padding-left: 35px;\\n margin-bottom: 12px;\\n margin-left: 30px;\\n cursor: pointer;\\n font-size: 12px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-weight: 400;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n/* Hide the browser's default radio button */\\n\\n.container input {\\n position: absolute;\\n opacity: 0;\\n}\\n\\n/* Create a custom radio button */\\n\\n.checkmark {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 16px;\\n width: 16px;\\n background-color: #eee;\\n border-radius: 50%;\\n}\\n\\n/* On mouse-over, add a grey background color */\\n\\n.container:hover input ~ .checkmark {\\n background-color: #ccc;\\n}\\n\\n/* When the radio button is checked, add a blue background */\\n\\n.container input:checked ~ .checkmark {\\n background-color: #467efd;\\n}\\n\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\n\\n.checkmark:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: none;\\n}\\n\\n/* Show the indicator (dot/circle) when checked */\\n\\n.container input:checked ~ .checkmark:after {\\n display: block;\\n}\\n\\n/* Style the indicator (dot/circle) */\\n\\n.container .checkmark:after {\\n top: 5px;\\n left: 5px;\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n background: white;\\n}\\n\\n.btn-group.active {\\n background-color: #467efd;\\n}\\n\\n/**\\n* NAVEGADOR\\n**/\\n\\nnav {\\n display: block;\\n position: relative;\\n margin-top: 10px;\\n background-color: white;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n text-align: center;\\n height: 45px;\\n}\\n\\nnav ul {\\n padding: 0;\\n margin: 0;\\n display: inline-block;\\n text-align: center;\\n}\\n\\nnav ul:after {\\n content: \\\".\\\";\\n display: block;\\n height: 0;\\n clear: both;\\n visibility: hidden;\\n}\\n\\nnav li {\\n position: relative;\\n float: left;\\n list-style-type: none;\\n}\\n\\nnav > ul > li > a {\\n text-transform: none;\\n}\\n\\nnav li a {\\n display: block;\\n padding: 10px 20px;\\n text-decoration: none;\\n color: inherit;\\n font-size: 14px;\\n font-weight: 300px;\\n}\\n\\nnav li:hover ul {\\n display: block;\\n}\\n\\nnav ul ul {\\n display: none;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background: white;\\n box-shadow: none;\\n margin-top: 0;\\n}\\n\\nnav ul ul li {\\n float: none;\\n}\\n\\nnav ul ul a {\\n padding: 10px 25px 10px 25px;\\n border-left: none;\\n border-right: none;\\n font-size: 12px;\\n}\\n\\nnav ul ul a:hover {\\n background-color: white;\\n}\\n\\nnav > ul > li {\\n padding: 1px 25px 1px 25px;\\n}\\n\\nnav > ul > li:hover {\\n box-shadow: 0px 0px 4px 0px #ebebeb;\\n}\\n\\nnav ul ul {\\n border-radius: 0px;\\n}\\n\\nnav ul ul li {\\n border-left: 1px solid rgba(0, 0, 0, 0.1);\\n border-right: 1px solid rgba(0, 0, 0, 0.1);\\n}\\n\\nnav ul ul li.ultimo {\\n border-left: 1px solid rgba(0, 0, 0, 0.1);\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\n border-bottom-left-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n\\nnav ul ul a:hover {\\n color: #2d8fc7;\\n}\\n\\n/******************+*****\\n DESCRIPTION-BOX\\n************************/\\n\\n.info {\\n display: inline;\\n position: relative;\\n}\\n\\n.sub-info {\\n display: none;\\n}\\n\\n.info:hover .sub-info {\\n font-size: 10px;\\n font-weight: 800;\\n width: 200px;\\n padding: 12px 6px 12px 12px;\\n text-align: justify;\\n line-height: 14px;\\n border: 1px solid #e0e0e0;\\n background-color: white;\\n margin-right: 3px;\\n position: absolute;\\n display: flex;\\n z-index: 2;\\n}\\n\\n/*******************\\n TEXT EDIT\\n*******************/\\n\\ninput:invalid {\\n border: 1px solid red;\\n}\\n\\n/*******************\\n RADIO GROUP\\n*******************/\\n\\n.btn-group button {\\n background-color: #eeeded;\\n /* Green background */\\n border: 1px solid #eeeded;\\n /* Green border */\\n height: 30px;\\n width: 60px;\\n font-size: 12px;\\n font-weight: 600;\\n line-height: 0px;\\n color: #467efd;\\n /* White text */\\n cursor: pointer;\\n /* Pointer/hand icon */\\n float: left;\\n /* Float the buttons side by side */\\n}\\n\\n/* Clear floats (clearfix hack) */\\n\\n.btn-group:after {\\n content: \\\"\\\";\\n clear: both;\\n display: table;\\n}\\n\\n.btn-group button:not(:last-child) {\\n border-right: none;\\n /* Prevent double borders */\\n}\\n\\n/* Add a background color on hover */\\n\\n.btn-group button:hover {\\n background-color: #71e3ff;\\n}\\n\\n/*******************\\n VENTANAS MODALES\\n*******************/\\n\\n.modal-title {\\n font-weight: bold;\\n font-size: larger;\\n padding-top: 0px;\\n padding-right: 10px;\\n padding-bottom: 0px;\\n padding-left: 15px;\\n margin: 0px;\\n}\\n\\n.modal-footer {\\n padding-top: 10px;\\n padding-right: 15px;\\n padding-bottom: 15px;\\n padding-left: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9mb3Jtcy9mb3Jtcy5zY3NzIiwic3JjL2FwcC9jaGlsL2Zvcm1zL2Zvcm1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0E7RUFDSSxvRUFmUztFQWdCVCxnQkFWVTtFQVdWLGVBVlE7QUNIWjs7QURnQkE7O3dCQUFBOztBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBQUE7O0FBNEJBLDJDQUFBOztBQUNBO0VBQ0ksa0JBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBQ2JKOztBRGdCQSwrQkFBQTs7QUFDQTtFQUFlLGFBQUE7QUNaZjs7QURjQSxlQUFBOztBQUNBO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLHNCQUFBO0VBRUEsZ0JBQUE7RUFDQSxtQkFBQTtBQ1hKOztBRGNBO0VBQ0ksa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUFBO0VBRUEsZ0JBQUE7RUFDQSxrQkFBQTtBQ1hKOztBRGNBO0VBQ0kseUJBbkZZO0FDd0VoQjs7QURjQTtFQUNJLDJCQUFBO0FDWEo7O0FEY0E7RUFHSSwyQkFBQTtBQ1hKOztBRGdCQTs7NkJBQUE7O0FBSUE7RUFDSSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QUNkSjs7QURpQkE7RUFDSSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFoSFk7RUFpSFosV0FBQTtBQ2RKOztBRGVFLFVBQUE7O0FBQ0Y7RUFDSSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBdEhZO0VBdUhaLFdBQUE7RUFFQSxXQUFBO0VBQ0EsWUFBQTtBQ2JK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Qko7O0FEZEE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsMkJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtBQ2lCSjs7QURkQTs7bUJBQUE7O0FBSUE7RUFDSSxxQkFBQTtBQ2dCSjs7QURiQTs7bUJBQUE7O0FBSUE7RUFDSSx5QkFBQTtFQUEyQixxQkFBQTtFQUMzQix5QkFBQTtFQUEyQixpQkFBQTtFQUMzQixZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBcmRZO0VBc2RaLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQXRkWTtFQXNkVyxlQUFBO0VBQ3ZCLGVBQUE7RUFBaUIsc0JBQUE7RUFDakIsV0FBQTtFQUFhLG1DQUFBO0FDb0JqQjs7QURqQkEsaUNBQUE7O0FBQ0E7RUFDSSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QUNvQko7O0FEakJBO0VBQ0ksa0JBQUE7RUFBb0IsMkJBQUE7QUNxQnhCOztBRGxCQSxvQ0FBQTs7QUFDQTtFQUNJLHlCQUFBO0FDcUJKOztBRGxCQTs7bUJBQUE7O0FBSUE7RUFDSSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0FDb0JKOztBRGpCQTtFQUNJLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0FDb0JKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9mb3Jtcy9mb3Jtcy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kdGl0bGUtc2l6ZTogMjVweDtcbiR0aXRsZS13ZWlnaHQ6IDEwMDtcbiR0aXRsZS1sZXR0ZXItc3BhY2U6IDFweDtcblxuJGJvZHktd2VpZ2h0OiA0MDA7XG4kYm9keS1zaXplOiAxNHB4O1xuJHN1Yi1ib2R5LXNpemU6IDEycHg7XG5cbiRkZWZhdWx0LWNvbG9yOiAjNDY3ZWZkO1xuJGJvcmRlci1yYWRpdXM6IDNweDtcbiRzdWItbWFyZ2luOiAzMHB4O1xuXG5wIHtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRib2R5LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRib2R5LXNpemU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVEFCTEFcbioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiB9XG4gdGgsIHRkIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgcGFkZGluZzogMC4zZW07XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gfVxuIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuM2VtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gfVxuIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuIH1cblxuXG4gLyoqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgU1dJVENIRVJcbioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGhlIHN3aXRjaCAtIHRoZSBib3ggYXJvdW5kIHRoZSBzbGlkZXIgKi9cbi5zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTg4cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIFxuLyogSGlkZSBkZWZhdWx0IEhUTUwgY2hlY2tib3ggKi9cbi5zd2l0Y2ggaW5wdXQge2Rpc3BsYXk6bm9uZTt9XG4gIFxuLyogVGhlIHNsaWRlciAqL1xuLnNsaWRlci1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7XG59XG4gIFxuLnNsaWRlci1ib3g6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xuICAgIHRyYW5zaXRpb246IC40cztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4gIFxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXItYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbn1cbiAgXG5pbnB1dDpmb2N1cyArIC5zbGlkZXItYm94IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4ICRkZWZhdWx0LWNvbG9yO1xufVxuICBcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyLWJveDpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIENPTE9SIEJVVFRPTlNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uY29sb3JlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idXR0b24xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc3Y2ZkO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMnB4O1xufSAvKiBHcmVlbiAqL1xuLmJ1dHRvbjIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc1N2M7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcblxuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn0gLyogQmx1ZSAqL1xuLmJ1dHRvbjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2N2E2NDY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIFJlZCAqLyBcbi5idXR0b240IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIzODQ5O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIEdyYXkgKi8gXG4uYnV0dG9uNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkYzEyNTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIEJsYWNrICovXG4uYnV0dG9uNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYzYTJiNztcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIEJsYWNrICovXG4uYnV0dG9uNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIEJsYWNrICovXG4uYnV0dG9uOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM1M2E0MDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBtYXJnaW46IDJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59IC8qIEJsYWNrICovXG5cbi5tYXN7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICBmb250LXNpemU6IDMxcHg7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBjb2xvcjogIzQ2N2VmZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjlmYWZhO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgXG59XG4ubWFzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjIxLCAyMTIsIDIxMik7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTTElERVJcbioqKioqKioqKioqKioqKioqKioqL1xuLnRleHQtc2l6ZS1zbGlkZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6ICRzdWItbWFyZ2luO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXdlaWdodDogJGJvZHktd2VpZ2h0O1xufVxuXG4udGV4dC1zaXplLXNsaWRlciA+IHNwYW57XG4gICAgbWFyZ2luLXJpZ2h0OiAyMjNweDtcbiAgICBmb250LXNpemU6ICRzdWItYm9keS1zaXplO1xufVxuXG4uc2xpZGVjb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBXaWR0aCBvZiB0aGUgb3V0c2lkZSBjb250YWluZXIgKi9cbn1cblxuLyogVGhlIHNsaWRlciBpdHNlbGYgKi9cbi5zbGlkZXIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgIC8qIE92ZXJyaWRlIGRlZmF1bHQgQ1NTIHN0eWxlcyAqL1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDU4JTsgLyogRnVsbC13aWR0aCAqL1xuICAgIGhlaWdodDogMTBweDsgLyogU3BlY2lmaWVkIGhlaWdodCAqL1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3ViLW1hcmdpbjtcbiAgICBib3JkZXItcmFkaXVzOiA1NXB4O1xuICAgIGJhY2tncm91bmQ6ICNlMGUwZTA7IC8qIEdyZXkgYmFja2dyb3VuZCAqL1xuICAgIG91dGxpbmU6IG5vbmU7IC8qIFJlbW92ZSBvdXRsaW5lICovXG4gICAgb3BhY2l0eTogMC43OyAvKiBTZXQgdHJhbnNwYXJlbmN5IChmb3IgbW91c2Utb3ZlciBlZmZlY3RzIG9uIGhvdmVyKSAqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzOyAvKiAwLjIgc2Vjb25kcyB0cmFuc2l0aW9uIG9uIGhvdmVyICovXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG59XG5cbi8qIE1vdXNlLW92ZXIgZWZmZWN0cyAqL1xuLnNsaWRlcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgLyogRnVsbHkgc2hvd24gb24gbW91c2Utb3ZlciAqL1xufVxuXG4vKiBUaGUgc2xpZGVyIGhhbmRsZSAodXNlIC13ZWJraXQtIChDaHJvbWUsIE9wZXJhLCBTYWZhcmksIEVkZ2UpIGFuZCAtbW96LSAoRmlyZWZveCkgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsb29rKSAqLyBcbi5zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIE92ZXJyaWRlIGRlZmF1bHQgbG9vayAqL1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDE1cHg7LyogU2V0IGEgc3BlY2lmaWMgc2xpZGVyIGhhbmRsZSB3aWR0aCAqL1xuICAgIGhlaWdodDogMTVweDsgLyogU2xpZGVyIGhhbmRsZSBoZWlnaHQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkZGVmYXVsdC1jb2xvcjsgXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiBDdXJzb3Igb24gaG92ZXIgKi9cbiAgICBib3JkZXItcmFkaXVzOiA1NXB4O1xufVxuXG4uc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogMjVweDsgLyogU2V0IGEgc3BlY2lmaWMgc2xpZGVyIGhhbmRsZSB3aWR0aCAqL1xuICAgIGhlaWdodDogMjVweDsgLyogU2xpZGVyIGhhbmRsZSBoZWlnaHQgKi9cbiAgICBiYWNrZ3JvdW5kOiRkZWZhdWx0LWNvbG9yOyBcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIEN1cnNvciBvbiBob3ZlciAqL1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgICBSQURJTyBCVVRUT05cbioqKioqKioqKioqKioqKioqKiovXG4vKiBDdXN0b21pemUgdGhlIGxhYmVsICh0aGUgY29udGFpbmVyKSAqL1xuLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3ViLW1hcmdpbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAkc3ViLWJvZHktc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGJhc2ljLWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRib2R5LXdlaWdodDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG4gIFxuICAvKiBIaWRlIHRoZSBicm93c2VyJ3MgZGVmYXVsdCByYWRpbyBidXR0b24gKi9cbiAgLmNvbnRhaW5lciBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgXG4gIC8qIENyZWF0ZSBhIGN1c3RvbSByYWRpbyBidXR0b24gKi9cbiAgLmNoZWNrbWFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuICBcbiAgLyogT24gbW91c2Utb3ZlciwgYWRkIGEgZ3JleSBiYWNrZ3JvdW5kIGNvbG9yICovXG4gIC5jb250YWluZXI6aG92ZXIgaW5wdXQgfiAuY2hlY2ttYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICB9XG4gIFxuICAvKiBXaGVuIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZCwgYWRkIGEgYmx1ZSBiYWNrZ3JvdW5kICovXG4gIC5jb250YWluZXIgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICB9XG4gIFxuICAvKiBDcmVhdGUgdGhlIGluZGljYXRvciAodGhlIGRvdC9jaXJjbGUgLSBoaWRkZW4gd2hlbiBub3QgY2hlY2tlZCkgKi9cbiAgLmNoZWNrbWFyazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLyogU2hvdyB0aGUgaW5kaWNhdG9yIChkb3QvY2lyY2xlKSB3aGVuIGNoZWNrZWQgKi9cbiAgLmNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gIC8qIFN0eWxlIHRoZSBpbmRpY2F0b3IgKGRvdC9jaXJjbGUpICovXG4gIC5jb250YWluZXIgLmNoZWNrbWFyazphZnRlciB7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG5cbiAgLmJ0bi1ncm91cC5hY3RpdmV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgfVxuXG5cbi8qKlxuKiBOQVZFR0FET1JcbioqL1xuXG5uYXYge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA0NXB4O1xufVxuXG5uYXYgdWwge1xuXHRwYWRkaW5nOjA7XG5cdG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbm5hdiB1bDphZnRlciB7XG5cdGNvbnRlbnQ6XCIuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDA7XG5cdGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxubmF2IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbG9hdDogbGVmdDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5uYXYgPnVsID4gbGkgPiBhe1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxubmF2IGxpIGF7XG4gICAgZGlzcGxheTpibG9jaztcblx0cGFkZGluZzogMTBweCAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgIFxuICAgIGNvbG9yOiBpbmhlcml0OyAgXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDBweDsgXG59XG5cbm5hdiBsaTpob3ZlciB1bCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbm5hdiB1bCB1bCB7IFxuICAgIGRpc3BsYXk6IG5vbmU7IFxuICAgIHdpZHRoOiAxMDAlOyBcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgIGxlZnQ6IDA7IFxuICAgIGJhY2tncm91bmQ6IHdoaXRlICA7IFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbm5hdiB1bCB1bCBsaSB7IFxuICAgIGZsb2F0OiBub25lOyBcbn1cbm5hdiB1bCB1bCBhIHsgXG4gICAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMjVweDtcbiAgICBib3JkZXItbGVmdDogbm9uZTsgXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lOyBcbiAgICBmb250LXNpemU6IDEycHg7IFxufVxubmF2IHVsIHVsIGE6aG92ZXIgeyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXG59XG5cblxubmF2ID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMXB4IDI1cHggMXB4IDI1cHg7XG59XG5uYXYgPiB1bCA+bGk6aG92ZXIgeyBcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDRweCAwcHggI2ViZWJlYjtcbn1cblxubmF2IHVsIHVsIHsgXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxubmF2IHVsIHVsIGxpIHsgXG4gICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTsgXG4gICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7IFxufVxubmF2IHVsIHVsIGxpLnVsdGltbyB7IFxuICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7IFxuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDsgXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4OyAgXG59XG5uYXYgdWwgdWwgYTpob3ZlciB7IFxuICAgIGNvbG9yOiByZ2IoNDUsIDE0MywgMTk5KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKisqKioqKlxuICAgIERFU0NSSVBUSU9OLUJPWFxuKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmluZm97XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN1Yi1pbmZve1xuICAgIGRpc3BsYXk6IG5vbmU7ICAgIFxufVxuXG4uaW5mbzpob3ZlciAuc3ViLWluZm97XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDEycHggNnB4IDEycHggMTJweDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1yaWdodDozcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgei1pbmRleDogMjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgICBURVhUIEVESVRcbioqKioqKioqKioqKioqKioqKiovXG5cbmlucHV0OmludmFsaWR7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFJBRElPIEdST1VQXG4qKioqKioqKioqKioqKioqKioqL1xuXG4uYnRuLWdyb3VwIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWRlZDsgLyogR3JlZW4gYmFja2dyb3VuZCAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVkZWQ7IC8qIEdyZWVuIGJvcmRlciAqL1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBmb250LXNpemU6ICRzdWItYm9keS1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBjb2xvcjogJGRlZmF1bHQtY29sb3I7IC8qIFdoaXRlIHRleHQgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIFBvaW50ZXIvaGFuZCBpY29uICovXG4gICAgZmxvYXQ6IGxlZnQ7IC8qIEZsb2F0IHRoZSBidXR0b25zIHNpZGUgYnkgc2lkZSAqL1xufVxuXG4vKiBDbGVhciBmbG9hdHMgKGNsZWFyZml4IGhhY2spICovXG4uYnRuLWdyb3VwOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uYnRuLWdyb3VwIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IC8qIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgKi9cbn1cblxuLyogQWRkIGEgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xuLmJ0bi1ncm91cCBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MWUzZmY7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gICAgVkVOVEFOQVMgTU9EQUxFU1xuKioqKioqKioqKioqKioqKioqKi9cblxuLm1vZGFsLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4iLCJwIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVEFCTEFcbioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiB9XG4gdGgsIHRkIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgcGFkZGluZzogMC4zZW07XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gfVxuIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuM2VtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gfVxuIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuIH1cblxuXG4gLyoqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgU1dJVENIRVJcbioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGhlIHN3aXRjaCAtIHRoZSBib3ggYXJvdW5kIHRoZSBzbGlkZXIgKi9cbi5zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTg4cHg7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogSGlkZSBkZWZhdWx0IEhUTUwgY2hlY2tib3ggKi9cbi5zd2l0Y2ggaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUaGUgc2xpZGVyICovXG4uc2xpZGVyLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgdHJhbnNpdGlvbjogMC40cztcbiAgYm9yZGVyLXJhZGl1czogMzRweDtcbn1cblxuLnNsaWRlci1ib3g6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBsZWZ0OiAycHg7XG4gIGJvdHRvbTogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuICB0cmFuc2l0aW9uOiAwLjRzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjdlZmQ7XG59XG5cbmlucHV0OmZvY3VzICsgLnNsaWRlci1ib3gge1xuICBib3gtc2hhZG93OiAwIDAgMXB4ICM0NjdlZmQ7XG59XG5cbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyLWJveDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgQ09MT1IgQlVUVE9OU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29sb3JlcyB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idXR0b24xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3N2NmZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDJweDtcbn1cblxuLyogR3JlZW4gKi9cbi5idXR0b24yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzU3YztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDJweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLyogQmx1ZSAqL1xuLmJ1dHRvbjMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjdhNjQ2O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBSZWQgKi9cbi5idXR0b240IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyMzg0OTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDJweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLyogR3JheSAqL1xuLmJ1dHRvbjUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRjMTI1O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBCbGFjayAqL1xuLmJ1dHRvbjYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjNhMmI3O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBCbGFjayAqL1xuLmJ1dHRvbjcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBCbGFjayAqL1xuLmJ1dHRvbjgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzYTQwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogMnB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBCbGFjayAqL1xuLm1hcyB7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBmb250LXNpemU6IDMxcHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAjNDY3ZWZkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjlmYWZhO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLm1hczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ0ZDQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTTElERVJcbioqKioqKioqKioqKioqKioqKioqL1xuLnRleHQtc2l6ZS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi50ZXh0LXNpemUtc2xpZGVyID4gc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogMjIzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnNsaWRlY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBXaWR0aCBvZiB0aGUgb3V0c2lkZSBjb250YWluZXIgKi9cbn1cblxuLyogVGhlIHNsaWRlciBpdHNlbGYgKi9cbi5zbGlkZXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIE92ZXJyaWRlIGRlZmF1bHQgQ1NTIHN0eWxlcyAqL1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogNTglO1xuICAvKiBGdWxsLXdpZHRoICovXG4gIGhlaWdodDogMTBweDtcbiAgLyogU3BlY2lmaWVkIGhlaWdodCAqL1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDU1cHg7XG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gIC8qIEdyZXkgYmFja2dyb3VuZCAqL1xuICBvdXRsaW5lOiBub25lO1xuICAvKiBSZW1vdmUgb3V0bGluZSAqL1xuICBvcGFjaXR5OiAwLjc7XG4gIC8qIFNldCB0cmFuc3BhcmVuY3kgKGZvciBtb3VzZS1vdmVyIGVmZmVjdHMgb24gaG92ZXIpICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycztcbiAgLyogMC4yIHNlY29uZHMgdHJhbnNpdGlvbiBvbiBob3ZlciAqL1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi8qIE1vdXNlLW92ZXIgZWZmZWN0cyAqL1xuLnNsaWRlcjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIC8qIEZ1bGx5IHNob3duIG9uIG1vdXNlLW92ZXIgKi9cbn1cblxuLyogVGhlIHNsaWRlciBoYW5kbGUgKHVzZSAtd2Via2l0LSAoQ2hyb21lLCBPcGVyYSwgU2FmYXJpLCBFZGdlKSBhbmQgLW1vei0gKEZpcmVmb3gpIHRvIG92ZXJyaWRlIGRlZmF1bHQgbG9vaykgKi9cbi5zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBPdmVycmlkZSBkZWZhdWx0IGxvb2sgKi9cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIC8qIFNldCBhIHNwZWNpZmljIHNsaWRlciBoYW5kbGUgd2lkdGggKi9cbiAgaGVpZ2h0OiAxNXB4O1xuICAvKiBTbGlkZXIgaGFuZGxlIGhlaWdodCAqL1xuICBiYWNrZ3JvdW5kOiAjNDY3ZWZkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIEN1cnNvciBvbiBob3ZlciAqL1xuICBib3JkZXItcmFkaXVzOiA1NXB4O1xufVxuXG4uc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHtcbiAgd2lkdGg6IDI1cHg7XG4gIC8qIFNldCBhIHNwZWNpZmljIHNsaWRlciBoYW5kbGUgd2lkdGggKi9cbiAgaGVpZ2h0OiAyNXB4O1xuICAvKiBTbGlkZXIgaGFuZGxlIGhlaWdodCAqL1xuICBiYWNrZ3JvdW5kOiAjNDY3ZWZkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIEN1cnNvciBvbiBob3ZlciAqL1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFJBRElPIEJVVFRPTlxuKioqKioqKioqKioqKioqKioqKi9cbi8qIEN1c3RvbWl6ZSB0aGUgbGFiZWwgKHRoZSBjb250YWluZXIpICovXG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyogSGlkZSB0aGUgYnJvd3NlcidzIGRlZmF1bHQgcmFkaW8gYnV0dG9uICovXG4uY29udGFpbmVyIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBDcmVhdGUgYSBjdXN0b20gcmFkaW8gYnV0dG9uICovXG4uY2hlY2ttYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyogT24gbW91c2Utb3ZlciwgYWRkIGEgZ3JleSBiYWNrZ3JvdW5kIGNvbG9yICovXG4uY29udGFpbmVyOmhvdmVyIGlucHV0IH4gLmNoZWNrbWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG5cbi8qIFdoZW4gdGhlIHJhZGlvIGJ1dHRvbiBpcyBjaGVja2VkLCBhZGQgYSBibHVlIGJhY2tncm91bmQgKi9cbi5jb250YWluZXIgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY3ZWZkO1xufVxuXG4vKiBDcmVhdGUgdGhlIGluZGljYXRvciAodGhlIGRvdC9jaXJjbGUgLSBoaWRkZW4gd2hlbiBub3QgY2hlY2tlZCkgKi9cbi5jaGVja21hcms6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNob3cgdGhlIGluZGljYXRvciAoZG90L2NpcmNsZSkgd2hlbiBjaGVja2VkICovXG4uY29udGFpbmVyIGlucHV0OmNoZWNrZWQgfiAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFN0eWxlIHRoZSBpbmRpY2F0b3IgKGRvdC9jaXJjbGUpICovXG4uY29udGFpbmVyIC5jaGVja21hcms6YWZ0ZXIge1xuICB0b3A6IDVweDtcbiAgbGVmdDogNXB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmJ0bi1ncm91cC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY3ZWZkO1xufVxuXG4vKipcbiogTkFWRUdBRE9SXG4qKi9cbm5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiA0NXB4O1xufVxuXG5uYXYgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5uYXYgdWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxubmF2IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5uYXYgPiB1bCA+IGxpID4gYSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5uYXYgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMHB4O1xufVxuXG5uYXYgbGk6aG92ZXIgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxubmF2IHVsIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbm5hdiB1bCB1bCBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuXG5uYXYgdWwgdWwgYSB7XG4gIHBhZGRpbmc6IDEwcHggMjVweCAxMHB4IDI1cHg7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxubmF2IHVsIHVsIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxubmF2ID4gdWwgPiBsaSB7XG4gIHBhZGRpbmc6IDFweCAyNXB4IDFweCAyNXB4O1xufVxuXG5uYXYgPiB1bCA+IGxpOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA0cHggMHB4ICNlYmViZWI7XG59XG5cbm5hdiB1bCB1bCB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxubmF2IHVsIHVsIGxpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxubmF2IHVsIHVsIGxpLnVsdGltbyB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbm5hdiB1bCB1bCBhOmhvdmVyIHtcbiAgY29sb3I6ICMyZDhmYzc7XG59XG5cbi8qKioqKioqKioqKioqKioqKiorKioqKipcbiAgICBERVNDUklQVElPTi1CT1hcbioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5pbmZvIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdWItaW5mbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbmZvOmhvdmVyIC5zdWItaW5mbyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAxMnB4IDZweCAxMnB4IDEycHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogMjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgICBURVhUIEVESVRcbioqKioqKioqKioqKioqKioqKiovXG5pbnB1dDppbnZhbGlkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICAgIFJBRElPIEdST1VQXG4qKioqKioqKioqKioqKioqKioqL1xuLmJ0bi1ncm91cCBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZGVkO1xuICAvKiBHcmVlbiBiYWNrZ3JvdW5kICovXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVkZWQ7XG4gIC8qIEdyZWVuIGJvcmRlciAqL1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGNvbG9yOiAjNDY3ZWZkO1xuICAvKiBXaGl0ZSB0ZXh0ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogUG9pbnRlci9oYW5kIGljb24gKi9cbiAgZmxvYXQ6IGxlZnQ7XG4gIC8qIEZsb2F0IHRoZSBidXR0b25zIHNpZGUgYnkgc2lkZSAqL1xufVxuXG4vKiBDbGVhciBmbG9hdHMgKGNsZWFyZml4IGhhY2spICovXG4uYnRuLWdyb3VwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uYnRuLWdyb3VwIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAvKiBQcmV2ZW50IGRvdWJsZSBib3JkZXJzICovXG59XG5cbi8qIEFkZCBhIGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgKi9cbi5idG4tZ3JvdXAgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcxZTNmZjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgICBWRU5UQU5BUyBNT0RBTEVTXG4qKioqKioqKioqKioqKioqKioqL1xuLm1vZGFsLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbjogMHB4O1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59Il19 */\"","import { ViewChildren, QueryList, Directive } from '@angular/core';\n\n// tslint:disable-next-line:component-class-suffix\nexport class ChGridContainer implements IChGridContainer {\n\n public itemsList: Array = [];\n public selectedItemsList: Array = [];\n @ViewChildren('gridItem') viewChildren: QueryList>;\n\n private initGroupUid = '';\n private endGroupUid = '';\n public singleSelect = false;\n\n /**\n * Sirve unicamente para que se sobrecarge y las clases dereivadas puedan\n * procesar lo que sucede cuadno la selección cambio\n */\n public selectionChanged() {\n\n }\n\n public resetGrid() {\n this.itemsList = [];\n this.selectedItemsList = [];\n this.initGroupUid = '';\n this.endGroupUid = '';\n }\n\n public gridItemsInit() {\n // console.log(this.viewChildren);\n this.viewChildren.forEach((item: IChGridItem) => {\n item.setContainer( this ); });\n }\n\n public getItem(uid: string): T {\n //console.log(' * GET ITEM: ' + uid)\n return this.itemsList.find( (value: T) => { return value['uid'] === uid; });\n }\n\n public selectItem(uid: string, options: object): void {\n // console.log(' + Item ' + uid + ' Selected ');\n // console.log(options);\n if (options['doubleClick'] === false) {\n if (!this.singleSelect && options['shiftKey']) {\n this.processGroupSelectRequest(uid);\n } else {\n this.processSingleSelectRequest(uid, options['altKey']);\n }\n this.processSelection();\n this.selectionChanged();\n }\n }\n\n private processSingleSelectRequest(uid: string, addition: boolean) {\n this.initGroupUid = uid;\n this.endGroupUid = '';\n this.viewChildren.forEach((item: IChGridItem) => {\n if (item.getUid() === uid) {\n item.selectItem(!item.isSelected());\n } else {\n if (!addition && item.isSelected()) {\n item.selectItem(false);\n }\n }\n });\n }\n\n private processGroupSelectRequest(uid: string) {\n if (this.initGroupUid === '') {\n this.processSingleSelectRequest(uid, false);\n } else {\n this.endGroupUid = uid;\n let selectItems = false;\n this.viewChildren.forEach((item: IChGridItem) => {\n const itemUid = item.getUid();\n if (itemUid === this.initGroupUid || itemUid === this.endGroupUid) {\n if (item.isSelected() !== true) {\n item.selectItem(true);\n }\n selectItems = !selectItems;\n } else {\n if (item.isSelected() !== selectItems) {\n item.selectItem(selectItems);\n }\n }\n\n });\n }\n }\n\n private processSelection() {\n this.selectedItemsList = [];\n this.viewChildren.forEach((item: IChGridItem) => {\n if (item.isSelected()) {\n const newitem: T = this.itemsList.find((element) => { return element['uid'] === item.getUid(); });\n if (newitem !== undefined && newitem != null) {\n this.selectedItemsList.push(newitem);\n }\n }\n });\n }\n\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader } from \"@ngx-translate/core\";\nimport { Observable } from \"rxjs-compat\";\nimport { ChGlobalsService } from \"../chilweb/ch-globals.service\";\nimport { SystemConst } from \"systemConst\";\n\nimport * as lsCache from \"lscache\"\nimport { isNullOrUndefined } from \"util\";\n\nexport class ChCustomTranslateLoader extends TranslateLoader {\n\n constructor(private http: HttpClient, private prefix?: string, private suffix?: string) {\n super();\n }\n\n /**\n * Gets the translations from the server\n * @param lang\n * @returns {any}\n */\n\n public getTranslation(lang: string): Observable {\n //return Observable.of({KEY: 'value'});\n return this.http.get(\"\" + this.prefix + lang + this.suffix);\n }\n}\n\nexport class ChMissingTranslationHandler extends MissingTranslationHandler {\n\n public handle(params: MissingTranslationHandlerParams) {\n /*\n // version 1\n var newTranslation = Observable.fromPromise(\n ChGlobalsService.getInstance().getTranslation(params.key)\n )*/\n\n // version 2\n /*\n var newTranslation = new Observable((subscriber) => {\n ChGlobalsService.getInstance().getTranslation(params.key)\n .then(\n result => {\n console.log(' TRANSLATE: ' + params.key + ' : ' + result)\n params.translateService.set(params.key, result);\n subscriber.next(result);\n subscriber.complete();\n }\n ,error => {\n console.log(' TRANSLATE: ' + params.key + ' Not found')\n subscriber.next('$$_' + params.key + '_$$');\n subscriber.complete();\n })\n }) */\n if (!SystemConst.isDebugging) {\n return params.key;\n }\n\n // version 4\n /*\n ChGlobalsService.getInstance().getTranslation(params.key)\n .then(\n result => {\n console.log(' TRANSLATE: ' + params.key + ' : ' + result)\n params.translateService.set(params.key, result);\n }\n ,error => {\n console.log(' TRANSLATE: ' + params.key + ' Not found')\n })\n const newTranslation = '$$_' + params.key + '_$$';\n return newTranslation;\n */\n\n let storedResult = lsCache.get(params.key)\n if (isNullOrUndefined(storedResult)) {\n lsCache.set(params.key, \"$$_LOADING_$$\")\n ChGlobalsService.getInstance().getTranslation(params.key)\n .then(\n result => {\n console.log(' TRANSLATE: ' + params.key + ' : ' + result)\n params.translateService.set(params.key, result);\n lsCache.set(params.key, result)\n }\n ,error => {\n console.log(' TRANSLATE: ' + params.key + ' Not found')\n })\n const newTranslation = '$$_' + params.key + '_$$';\n return newTranslation;\n } else {\n return storedResult;\n }\n \n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvaTE4L2NoLWxhbmctc2VsZWN0b3IvY2gtbGFuZy1zZWxlY3Rvci5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'app-ch-lang-selector',\n templateUrl: './ch-lang-selector.component.html',\n styleUrls: ['./ch-lang-selector.component.css']\n})\n\n\nexport class ChLangSelectorComponent implements OnInit {\n\n constructor(public translate : TranslateService,private cgGlobal: ChGlobalsService) {\n }\n\n getLangIcon(lang : string) : string {\n\n switch(lang) {\n case \"es\":\n return \"assets/images/flags/16/Spain.png\";\n case \"ca\":\n return \"assets/images/chil/cat16.png\";\n case \"en\":\n return \"assets/images/flags/16/United-Kingdom.png\";\n case \"fr\":\n return \"assets/images/flags/16/France.png\";\n case \"fa\":\n return \"assets/images/flags/16/Iran.png\";\n case \"ru\":\n return \"assets/images/flags/16/Russia.png\";\n case \"ch\":\n return \"assets/images/flags/16/China.png\";\n\n }\n\n return \"assets/images/flags/16/Cambodia.png\";\n }\n\n changeLanguage(lang: string){\n this.cgGlobal.setLang(lang,true)\n }\n\n ngOnInit() {\n }\n\n}\n","export default \".hide {\\n display: none;\\n }\\n \\n .crop-container {\\n background-color: rgba(0, 0, 0, 0.8);\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1111;\\n display: flex;\\n align-items: flex-start;\\n justify-content: center;\\n padding-top: 50px;\\n }\\n \\n .crop-box {\\n background-color: #fff;\\n border-radius: 3px;\\n width: 520px;\\n }\\n \\n .crop-box .crop-box-header {\\n border-bottom: 1px solid #ddd;\\n padding: 12px;\\n position: relative;\\n }\\n \\n .crop-box .crop-box-header h3 {\\n margin: 0;\\n font-size: 18px;\\n font-weight: bold;\\n line-height: 24px;\\n text-align: center;\\n }\\n \\n .crop-box .crop-box-body {\\n padding: 10px;\\n }\\n \\n .crop-box-error {\\n color: red;\\n text-align: center;\\n font-weight: 600;\\n }\\n \\n .crop-box .crop-box-footer {\\n border-top: 1px solid #ddd;\\n padding: 10px;\\n display: flex;\\n justify-content: space-around;\\n }\\n \\n .crop-box .crop-box-close {\\n position: absolute;\\n top: 10px;\\n right: 10px;\\n background-color: transparent;\\n border: 0;\\n }\\n \\n .crop-box .crop-box-close span {\\n color: #657786;\\n font-size: 18px;\\n line-height: 24px;\\n }\\n \\n .crop-box .crop-box-close span::before {\\n content: \\\"×\\\";\\n font-size: 25px;\\n }\\n \\n .inline-block {\\n display: inline-block;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9pbWFnZXMvY2gtaW1hZ2UtY3JvcHBlci1kaWFsb2cvY2gtaW1hZ2UtY3JvcHBlci1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7RUFDZjs7RUFFQTtJQUNFLG9DQUFvQztJQUNwQyxlQUFlO0lBQ2YsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLGFBQWE7SUFDYixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLFlBQVk7RUFDZDs7RUFFQTtJQUNFLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2Isa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UsU0FBUztJQUNULGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtFQUNwQjs7RUFFQTtJQUNFLGFBQWE7RUFDZjs7RUFFQTtJQUNFLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixhQUFhO0lBQ2IsNkJBQTZCO0VBQy9COztFQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxXQUFXO0lBQ1gsNkJBQTZCO0lBQzdCLFNBQVM7RUFDWDs7RUFFQTtJQUNFLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0VBQ25COztFQUVBO0lBQ0UsWUFBWTtJQUNaLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxxQkFBcUI7RUFDdkIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2ltYWdlcy9jaC1pbWFnZS1jcm9wcGVyLWRpYWxvZy9jaC1pbWFnZS1jcm9wcGVyLWRpYWxvZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5jcm9wLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTExMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG4gIFxuICAuY3JvcC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHdpZHRoOiA1MjBweDtcbiAgfVxuICBcbiAgLmNyb3AtYm94IC5jcm9wLWJveC1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuY3JvcC1ib3ggLmNyb3AtYm94LWhlYWRlciBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gIC5jcm9wLWJveCAuY3JvcC1ib3gtYm9keSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICBcbiAgLmNyb3AtYm94LWVycm9yIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIFxuICAuY3JvcC1ib3ggLmNyb3AtYm94LWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIFxuICAuY3JvcC1ib3ggLmNyb3AtYm94LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICBcbiAgLmNyb3AtYm94IC5jcm9wLWJveC1jbG9zZSBzcGFuIHtcbiAgICBjb2xvcjogIzY1Nzc4NjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbiAgXG4gIC5jcm9wLWJveCAuY3JvcC1ib3gtY2xvc2Ugc3Bhbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG4gIFxuICAuaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH0iXX0= */\"","\nimport { Component, OnInit, Input, Output, EventEmitter, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\n\nimport Cropper from 'cropperjs';\n// import { ResizedEvent } from 'angular-resize-event';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-image-cropper-dialog',\n templateUrl: './ch-image-cropper-dialog.component.html',\n styleUrls: ['./ch-image-cropper-dialog.component.css']\n})\nexport class ChImageCropperDialogComponent implements OnInit, AfterViewInit {\n\n private static dataUrl: string = null;\n private static aspectRatio: number = undefined;\n private static autoCropArea = 0.95;\n private static maxSizeX = 800;\n private static maxSizeY = 800;\n private static modalRef: BsModalRef = null;\n private static exif: object = null;\n private static callback: Function = null;\n\n // @ViewChild('canvas') private canvas: ElementRef;\n @ViewChild('image', { static: false}) private image: HTMLImageElement;\n\n private dataUrl: string = null;\n private aspectRatio: number = undefined;\n private autoCropArea = 0.95;\n private maxSizeX = 800;\n private maxSizeY = 800;\n private exif = null;\n private cropper: Cropper = null;\n\n // private img: HTMLImageElement = null;\n private cropBlob: Blob = null;\n\n public static show(config?: ModalOptions, callback?: (data: Blob) => void ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChImageCropperDialogComponent.dataUrl = config.initialState['url'] as string;\n ChImageCropperDialogComponent.aspectRatio = config.initialState['aspectRatio'] as number;\n ChImageCropperDialogComponent.autoCropArea = config.initialState['autoCropArea'] as number;\n ChImageCropperDialogComponent.maxSizeX = config.initialState['maxSizeX'] as number;\n ChImageCropperDialogComponent.maxSizeY = config.initialState['maxSizeY'] as number;\n ChImageCropperDialogComponent.autoCropArea = config.initialState['autoCropArea'] as number;\n ChImageCropperDialogComponent.modalRef = service.showModalWindow(this, config);\n ChImageCropperDialogComponent.exif = config.initialState['exif'] ? config.initialState['exif'] : null;\n ChImageCropperDialogComponent.callback = callback !== null ? callback : (data: Blob) => {};\n // console.log('SHOW CHImageCropperDialog')\n }\n\n public static hide(executeCallback: boolean, callbackData?: Blob) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChImageCropperDialogComponent.modalRef);\n const callback = ChImageCropperDialogComponent.callback;\n if (executeCallback) {\n callback(callbackData);\n }\n ChImageCropperDialogComponent.dataUrl = null;\n ChImageCropperDialogComponent.aspectRatio = undefined;\n ChImageCropperDialogComponent.autoCropArea = 0.95;\n ChImageCropperDialogComponent.modalRef = null;\n ChImageCropperDialogComponent.maxSizeX = null;\n ChImageCropperDialogComponent.maxSizeY = null;\n ChImageCropperDialogComponent.callback = null;\n ChImageCropperDialogComponent.exif = null;\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n this.dataUrl = ChImageCropperDialogComponent.dataUrl;\n }\n\n public ngOnInit() {\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n //console.log('CHImageCropperDialog.ngAfterViewInit')\n this.dataUrl = ChImageCropperDialogComponent.dataUrl;\n this.aspectRatio = ChImageCropperDialogComponent.aspectRatio;\n this.autoCropArea = ChImageCropperDialogComponent.autoCropArea;\n this.maxSizeX = ChImageCropperDialogComponent.maxSizeX;\n this.maxSizeY = ChImageCropperDialogComponent.maxSizeY;\n this.exif = ChImageCropperDialogComponent.exif;\n\n const image = document.getElementById('image') as HTMLImageElement;\n const me = this;\n enum DragMode {\n Crop = 'crop',\n Move = 'move',\n None = 'none',\n }\n me.cropper = new Cropper(image, {\n autoCrop: true,\n movable: true,\n scalable: true,\n zoomable: true,\n dragMode: DragMode.Move,\n wheelZoomRatio: 0.2,\n autoCropArea: this.autoCropArea,\n aspectRatio: this.aspectRatio,\n ready: function () {\n },\n crop(event) {\n /*\n cropper.getCroppedCanvas().toBlob((blob) => {\n me.cropBlob = blob;\n });\n */\n },\n });\n }, 5 );\n }\n\n /**\n * transfer uri to blob\n *\n * @private\n * @param {*} dataURI\n * @returns\n * @memberof NgxCropperComponent\n */\n\n private dataURItoBlob(dataURI: any) {\n const byteString = window.atob(dataURI.split(',')[1]);\n const mimeString = dataURI\n .split(',')[0]\n .split(':')[1]\n .split(';')[0];\n\n const ab = new ArrayBuffer(byteString.length);\n const ia = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n const bb = new Blob([ab], {\n type: mimeString\n });\n return bb;\n }\n\n confirm() {\n if (this.cropper !== null) {\n const croppedCanvas: HTMLCanvasElement = this.cropper.getCroppedCanvas(\n { maxWidth: this.maxSizeX !== undefined && this.maxSizeX !== null ? this.maxSizeX : 800,\n maxHeight: this.maxSizeY !== undefined && this.maxSizeY !== null ? this.maxSizeY : 800 });\n\n if (this.exif !== null) {\n this.printExifData(croppedCanvas);\n }\n // console.log(croppedCanvas);\n this.cropBlob = this.dataURItoBlob(croppedCanvas.toDataURL());\n ChImageCropperDialogComponent.hide(true, this.cropBlob);\n } else {\n ChImageCropperDialogComponent.hide(false);\n }\n }\n\n decline() {\n ChImageCropperDialogComponent.hide(false);\n }\n\n printExifData(canvas: HTMLCanvasElement) {\n console.log('Printing EXIF!');\n const fontSize = 15;\n const fileName = this.exif['fileName'];\n const date = this.exif['date'];\n const location = this.exif['location'];\n\n const ctx = canvas.getContext('2d');\n ctx.font = String(fontSize) + 'px Arial';\n ctx.fillStyle = '#ff0000';\n ctx.fillText(fileName, 10, 20);\n ctx.fillText(date, 10, 20 + fontSize + 3);\n ctx.fillText(location, 10, 20 + fontSize + fontSize + 6);\n }\n\n}\n","import { Component, OnInit, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ResizedEvent } from 'angular-resize-event';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-image-zoom-dialog',\n template:\n `
\n
\n \n

{{label}}

\n
\n
`\n})\nexport class ChImageZoomDialogComponent implements OnInit, AfterViewInit {\n\n private static currBlob: Blob = null;\n private static currInstance: BsModalRef = null;\n private static currCallback: () => void = null;\n private static currLabel = '';\n\n @ViewChild('canvas', { static: false})\n private canvas: ElementRef;\n private calcHeight = 100;\n private calcWidth = 100;\n private isCalculated = false;\n private isShown = false;\n private img: HTMLImageElement = null;\n private label = '';\n\n public static show(modalservice: BsModalService, image: Blob, label: string, config?: ModalOptions, callback?: () => void ) {\n\n if (config === undefined || config === null) {\n config = new ModalOptions();\n }\n config.class = 'zoomWindow';\n ChImageZoomDialogComponent.currLabel = label;\n ChImageZoomDialogComponent.currBlob = image;\n ChImageZoomDialogComponent.currInstance = modalservice.show(this, config );\n ChImageZoomDialogComponent.currCallback = callback !== null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n const window = ChImageZoomDialogComponent.currInstance;\n const callback = ChImageZoomDialogComponent.currCallback;\n ChImageZoomDialogComponent.currBlob = null;\n ChImageZoomDialogComponent.currInstance = null;\n ChImageZoomDialogComponent.currCallback = null;\n window.hide();\n if (callback !== null) {\n callback();\n }\n }\n\n constructor() {}\n\n ngOnInit() {\n\n };\n\n ngAfterViewInit(): void {\n this.label = ChImageZoomDialogComponent.currLabel;\n this.img = new Image();\n this.img.onload = () => {\n this.calcDimensions(this.img.width, this.img.height);\n };\n // console.log(ChImageZoomDialogComponent.currBlob);\n this.img.src = URL.createObjectURL(ChImageZoomDialogComponent.currBlob);\n }\n\n confirm() {\n ChImageZoomDialogComponent.hide(true);\n }\n\n decline() {\n ChImageZoomDialogComponent.hide(false);\n }\n\n calcDimensions(width: number, height: number) {\n // console.log(' * CALCULANDO DIMENSIONES ... ');\n const wWidth = window.innerWidth;\n const wHeight = window.innerHeight;\n const margin = 50;\n\n this.isCalculated = true; // hay que ponerlo antes para que no se adelante al evento resized\n\n if ( (width < (wWidth - margin * 2)) && (height < (wHeight - margin * 2)) ) {\n this.calcHeight = height;\n this.calcWidth = width;\n } else if ( (width / (wWidth - margin * 2)) > (height / (wHeight - margin * 2))) {\n this.calcWidth = wWidth - margin * 2;\n this.calcHeight = height * ((wWidth - margin * 2) / width);\n } else {\n this.calcHeight = wHeight - margin * 2;\n this.calcWidth = width * ((wHeight - margin * 2) / height);\n }\n // console.log(' ... DIMENSIONES CALCULADAS ');\n setTimeout(() => {\n this.showPic(this.calcWidth, this.calcHeight);\n }, 100);\n }\n\n onResized(event: ResizedEvent) {\n // console.log(' * CANVAS RESIZED W: ' + event.newWidth + ', H: ' + event.newHeight);\n if (this.isCalculated) {\n const newWidth = Math.floor(event.newWidth);\n const newHeight = Math.floor(event.newHeight);\n this.showPic(newWidth, newHeight);\n }\n }\n\n showPic(newWidth: number, newHeight: number) {\n if (!this.isShown) {\n // console.log(' * DIBUJANDO IMAGEN ...');\n // if (newWidth === Math.floor(this.calcWidth) && newHeight === Math.floor(this.calcHeight)) {\n const ctx = this.canvas.nativeElement.getContext('2d');\n //console.log(this.img);\n //console.log(ctx);\n ctx.drawImage(this.img, 0, 0, this.img.width, this.img.height, 0, 0, newWidth, newHeight);\n this.isShown = true;\n // console.log(' ... IMAGEN DIBUJADA');\n // } else {\n // console.log(' ... AUN NO! ');\n // }\n }\n\n }\n}\n","import { Component, Input, ElementRef, OnInit, OnChanges, SimpleChanges, Output, EventEmitter, NgZone } from '@angular/core';\n\ndeclare var Chart;\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-chart',\n template: '',\n styles: [':host { display: block; margin: auto}']\n})\nexport class ChChartComponent implements OnInit, OnChanges {\n chart: any;\n\n @Input() type: string;\n @Input() data: any;\n @Input() options: any;\n @Input() height: number;\n @Input() width: number;\n @Output() clickCanvas = new EventEmitter();\n @Output() clickDataset = new EventEmitter();\n @Output() clickElements = new EventEmitter();\n @Output() clickElement = new EventEmitter();\n\n private canvas;\n\n constructor(private elementRef: ElementRef, private ngZone: NgZone) { }\n\n ngOnInit() {\n this.create();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.chart) {\n if (changes['type'] || changes['options']) {\n this.create();\n } else if (changes['data']) {\n const currentValue = changes['data'].currentValue;\n ['datasets', 'labels', 'xLabels', 'yLabels'].forEach(property => {\n this.chart.data[property] = currentValue[property];\n })\n this.chart.update();\n }\n }\n }\n\n private create() {\n this.ngZone.runOutsideAngular(() => {\n if (this.canvas) {\n this.elementRef.nativeElement.removeChild(this.canvas);\n }\n this.canvas = document.createElement('canvas');\n this.elementRef.nativeElement.appendChild(this.canvas);\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n this.chart = new Chart(this.canvas, {\n type: this.type,\n data: this.data,\n options: this.options\n });\n this.canvas.onclick = e => {\n this.ngZone.run(() => {\n this.clickCanvas.next(e);\n if (this.clickDataset.observers.length) {\n this.clickDataset.next(this.chart.getDatasetAtEvent(e));\n }\n if (this.clickElements.observers.length) {\n this.clickElements.next(this.chart.getElementsAtEvent(e));\n }\n if (this.clickElement.observers.length) {\n this.clickElement.next(this.chart.getElementAtEvent(e));\n }\n });\n };\n });\n }\n}","import { Component, OnInit, ViewContainerRef, ElementRef, ViewChild, AfterViewInit, ViewEncapsulation, Input } from '@angular/core';\nimport * as moment from 'moment';\nimport { ResizedEvent } from 'angular-resize-event';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-datatable',\n template: `\n \n
\n `\n})\nexport class ChDatatableComponent implements OnInit {\n\n static spanishTranslation = {\n 'sProcessing': 'Procesando...',\n 'sLengthMenu': 'Mostrar _MENU_ registros',\n 'sZeroRecords': 'No se encontraron resultados',\n 'sEmptyTable': 'Ningún dato disponible en esta tabla',\n 'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',\n 'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',\n 'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',\n 'sInfoPostFix': '',\n 'sSearch': 'Buscar:',\n 'sUrl': '',\n 'sInfoThousands': ',',\n 'sLoadingRecords': 'Cargando...',\n 'oPaginate': {\n 'sFirst': 'Primero',\n 'sLast': 'Último',\n 'sNext': 'Siguiente',\n 'sPrevious': 'Anterior'\n },\n 'oAria': {\n 'sSortAscending': ': Activar para ordenar la columna de manera ascendente',\n 'sSortDescending': ': Activar para ordenar la columna de manera descendente'\n },\n 'select': {\n 'rows': {\n '_': '%d filas seleccionadas',\n '0': 'Pulse sobre una fila para seleccionar',\n '1': 'Solo 1 fila selecionada'\n }\n }\n };\n\n @ViewChild('tableDom', { static: false}) tableDom: ElementRef;\n @Input() options: any = {\n deferRender: true,\n scrollY: '60vh',\n scrollCollapse: true,\n scrollX: '50%',\n responsive: true,\n bPaginate: false,\n\n pagingType: 'simple_numbers',\n pageLength: -1,\n dom: '<t>',\n columns: [],\n language: ChDatatableComponent.spanishTranslation,\n autoWidth: false,\n // paging : false,\n buttons: {\n buttons: [\n {\n extend: 'copyHtml5', text: ' Copiar',\n className: 'btn btn-primary', exportOptions: { columns: ':visible' }\n }\n ],\n dom: {\n button: {\n tag: 'button',\n className: 'btn btn-link'\n },\n buttonLiner: {\n tag: 'buttonGroup',\n className: 'btn-group btn-group-xs'\n }\n }\n },\n select: {\n style: 'os',\n blurable: false\n }\n };\n @Input() columnsDef: Array = [];\n @Input() columns: string[] = [];\n @Input() height: string;\n\n static setColumnType(rowType: string): string {\n\n switch (rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'DateTime':\n return 'date';\n case 'Int':\n return 'num-html';\n case 'Double':\n return 'num-html';\n case 'Bit':\n return 'string';\n case 'String':\n return 'string';\n default:\n return 'string';\n }\n /*\n switch(rowType) {\n case 'SmallDateTime':\n return 'date';\n case 'Int':\n return 'num-fmt';\n case 'Bit':\n return 'string';\n default:\n return 'string';\n }\n */\n }\n\n static renderFunction(type: string): any {\n switch (type) {\n case 'SmallDateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '';\n } else {\n return '
' + moment(data).format('l') + '
';\n }\n };\n case 'DateTime':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data == null || data === undefined) {\n return '';\n } else {\n return '
' + moment(data).format('DD-MM-YYYY kk:mm:ss') + '
';\n }\n };\n case 'Int':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n (data === null ? ' ' : (' ' + data.toString()).substr(-12)) + '
';\n };\n case 'InfoIndex':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n (data === null ? ' ' : (' ' + data.toString()).substr(-12)) + '
';\n };\n case 'Array':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + (data === null ? ' ' : (' ' +\n String(data.length)).slice(-12)) + '
';\n };\n case 'Double':\n return function (data: any, _type: any, row: any, meta: any) {\n const data2 = data.toFixed(2).toString();\n // const data2 = (Math.round(data * 100) / 100).toLocaleString(undefined, { minimumFractionDigits: 2 }); // .toFixed(2)\n return '
' +\n (data === null ? ' ' : (' ' + data2).slice(-12)) + '
';\n };\n case 'Bit':\n return function (data: any, _type: any, row: any, meta: any) {\n return data === '1' || data === 1 || data === true ? '
' : '';\n };\n case 'Identity':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' + ('00000' + data).slice(-5) + '
';\n };\n case 'PostType':\n return function (data: any, _type: any, row: any, meta: any) {\n return '
' +\n '' + String(data) + '' +\n '
';\n };\n case 'Status':\n return function (data: any, _type: any, row: any, meta: any) {\n switch( data.trim() ) {\n case 'Waiting for approval':\n case 'waiting_for_approval':\n return '
' +\n '' +\n ' WAITING' +\n '
';\n case 'Draft':\n case 'draft':\n return '
' +\n '' +\n ' DRAFT' +\n '
';\n case 'Published':\n case 'published':\n return '
' +\n '' +\n ' PUBLISHED' +\n '
';\n case 'Not published A':\n case 'no_published_a':\n return '
' +\n '' +\n ' NO PUB A' +\n '
';\n case 'Not published B':\n case 'no_published_b':\n return '
' +\n '' +\n ' NO PUB B' +\n '
';\n case 'Not published C':\n case 'no_published_c':\n return '
' +\n '' +\n ' NO PUB C' +\n '
';\n }\n };\n case 'LongString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n case 'PostZone':\n case 'ShortString':\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n default:\n return function (data: any, _type: any, row: any, meta: any) {\n if (data === null) {\n return '';\n } else {\n return '
' + String(data) + '
';\n }\n };\n }\n }\n\n constructor(private chGlobal: ChGlobalsService) {\n }\n\n ngOnInit() {\n this.options.columns = this.columnsDef;\n this.options.scrollY = this.height;\n }\n\n initDataTable() {\n this.options.columns = this.columnsDef;\n // console.log(this.columnsDef);\n $(this.tableDom.nativeElement).DataTable( this.options );\n }\n\n resetTable() {\n $(this.tableDom.nativeElement).DataTable().clear();\n $(this.tableDom.nativeElement).DataTable().destroy();\n this.options.columns = this.columnsDef;\n $(this.tableDom.nativeElement).DataTable(this.options);\n /*\n if (this.results.length > 0) {\n const rows: object[] = this.results.map( (r) => { return ChGlobalsService.objToArray(r, this.columnArray); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n } */\n }\n\n deleteValues() {\n $(this.tableDom.nativeElement).DataTable().clear\n }\n\n addValues(values: Array) {\n const rows: object[] = values.map( (r) => { return ChGlobalsService.objToArray(r, this.columns); });\n $(this.tableDom.nativeElement).DataTable().rows.add(rows).draw();\n }\n\n dataTable(): DataTables.Api {\n return $(this.tableDom.nativeElement).DataTable();\n };\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-info-ibox',\n templateUrl: './ch-info-ibox.component.html'\n})\nexport class ChInfoIboxComponent implements OnInit {\n\n @Input() value = 0;\n @Input() units = '';\n @Input() label = '';\n @Input() visible = true;\n @Input() size = 'big'; // xbig, big, medium, small, xsmall\n\n private labelSize = '25px';\n private smallSize = '12px';\n\n constructor() { }\n\n ngOnInit() {\n switch (this.size){\n case 'xbig':\n this.labelSize = '35px';\n this.smallSize = '12px';\n break;\n case 'big':\n this.labelSize = '25px';\n this.smallSize = '12px';\n break;\n case 'medium':\n this.labelSize = '20px';\n this.smallSize = '12px';\n break;\n case 'small':\n this.labelSize = '16px';\n this.smallSize = '10px';\n break;\n case 'xsmall':\n this.labelSize = '12px';\n this.smallSize = '10px';\n break;\n }\n }\n\n format(number): string {\n const n = String(number),\n p = n.indexOf('.');\n return n.replace(\n /\\d(?=(?:\\d{3})+(?:\\.|$))/g,\n (m, i) => p < 0 || i < p ? `${m},` : m\n );\n }\n\n getValueTxt(): string {\n return this.format(this.value);\n }\n\n\n}\n\n","import { Component, Input, Output, EventEmitter, HostListener, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nconst CH_SWITCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChSwitchComponent),\n multi: true\n};\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-switch',\n template: `\n \n \n \n \n `,\n styles: [`\n .switch {\n background: #f00;\n border: 1px solid #dfdfdf;\n position: relative;\n display: inline-block;\n box-sizing: content-box;\n overflow: visible;\n padding: 0;\n margin: 0; \n cursor: pointer;\n box-shadow: rgb(223, 223, 223) 0 0 0 0 inset;\n transition: 0.3s ease-out all;\n -webkit-transition: 0.3s ease-out all;\n } \n small {\n border-radius: 100%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); \n position: absolute;\n top: 0;\n left: 0;\n transition: 0.3s ease-out all;\n -webkit-transition: 0.3s ease-out all;\n }\n .switch-large {\n width: 66px;\n height: 40px;\n border-radius: 40px;\n }\n .switch-large small {\n width: 40px;\n height: 40px;\n }\n .switch-medium {\n width: 50px;\n height: 30px;\n border-radius: 30px;\n }\n .switch-medium small {\n width: 30px;\n height: 30px;\n }\n .switch-small {\n width: 33px;\n height: 20px;\n border-radius: 20px;\n }\n .switch-small small {\n width: 20px;\n height: 20px;\n }\n .switch-chil {\n width: 27px;\n height: 17px;\n border-radius: 15px;\n }\n .switch-chil.important {\n width: 33px;\n height: 20px;\n border-radius: 20px;\n }\n .switch-chil small {\n width: 16px;\n height: 16px;\n }\n .switch-chil.important small {\n width: 19px;\n height: 19px;\n }\n .checked {\n background: rgb(100, 189, 99);\n border-color: rgb(100, 189, 99);\n }\n .switch-large.checked small {\n left: 26px;\n }\n .switch-medium.checked small {\n left: 20px;\n }\n .switch-small.checked small {\n left: 13px;\n }\n .switch-chil.checked small {\n left: 11px;\n }\n .switch-chil.important.checked small {\n left: 14px;\n }\n .disabled {\n opacity: .50;\n cursor: not-allowed;\n }\n `],\n providers: [CH_SWITCH_CONTROL_VALUE_ACCESSOR]\n})\nexport class ChSwitchComponent implements ControlValueAccessor {\n\n private _checked: boolean;\n private _disabled: boolean;\n private _reverse: boolean;\n\n @Input() size = 'medium';\n @Output() change = new EventEmitter();\n @Input() color = 'rgb(100, 189, 99)';\n @Input() switchOffColor = '';\n @Input() switchColor = '#fff';\n defaultBgColor = '#fff';\n defaultBoColor = '#dfdfdf';\n\n private onTouchedCallback = (v: any) => {\n }\n\n private onChangeCallback = (v: any) => {\n }\n\n @Input() set checked(v: boolean) {\n this._checked = v !== false;\n }\n\n get checked() {\n return this._checked;\n }\n\n @Input() set disabled(v: boolean) {\n this._disabled = v !== false;\n };\n\n get disabled() {\n return this._disabled;\n }\n\n @Input() set reverse(v: boolean) {\n this._reverse = v !== false;\n };\n\n get reverse() {\n return this._reverse;\n }\n\n getColor(flag) {\n if (flag === 'borderColor') { return this.defaultBoColor; }\n if (flag === 'switchColor') {\n if (this.reverse) {\n return !this.checked ? this.switchColor : this.switchOffColor || this.switchColor;\n }\n return this.checked ? this.switchColor : this.switchOffColor || this.switchColor;\n }\n if (this.reverse) {\n return !this.checked ? this.color : this.defaultBgColor;\n }\n return this.checked ? this.color : this.defaultBgColor;\n }\n\n @HostListener('click')\n onToggle() {\n if (this.disabled) {\n return;\n }\n this.checked = !this.checked;\n this.change.emit(this.checked);\n this.onChangeCallback(this.checked);\n this.onTouchedCallback(this.checked);\n }\n\n writeValue(obj: any): void {\n if (obj !== this.checked) {\n this.checked = !!obj;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n}\n","import { Component, OnInit, forwardRef, Output, Input, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n// import { isBs3 } from 'ngx-bootstrap';\nimport { TypeaheadMatch } from 'ngx-bootstrap/typeahead';\nimport { isArray, isNullOrUndefined } from 'util';\n\nconst noop = () => {};\n\nconst TAGS_INPUT_TEMPLATE = `\n
\n \n {{tag[displayField]}}\n\n \n ×\n Close\n \n\n \n\n \n \n\n
\n`;\n\nconst TAGS_INPUT_STYLE = `\n :host {\n overflow: auto;\n white-space: nowrap;\n }\n .cat-internal {\n background-color: white;\n border-style: solid;\n border-color: lightgray;\n border-width: 1px;\n color: gray;\n }\n .cat-virtual {\n background-color: white;\n border-style: solid;\n border-color: blue;\n border-width: 1px;\n color: blue;\n }\n .cat-tag {\n background-color: #E5E7AE;\n border-radius: 3px !important;\n font-size: 12px;\n }\n .cat-undef.size-small,\n .cat-tag.size-small,\n .cat-virtual.size-small {\n font-size: 12px;\n padding: 5px 7px;\n border-radius: 10px;\n }\n .cat-undef.size-bigger,\n .cat-tag.size-bigger,\n .cat-virtual.size-bigger {\n font-size: 18px;\n }\n .cat-undef.size-big,\n .cat-tag.size-big,\n .cat-virtual.size-big {\n font-size: 16px;\n }\n .cat-undef.size-normal,\n .cat-tag.size-normal,\n .cat-virtual.size-normal {\n font-size: 14px;\n }\n .tags-input {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n }\n .tags-input__tag {\n display: inline-block;\n margin-bottom: 7px;\n margin-right: 3px;\n padding: 5px 10px;\n border-radius: 14px;\n cursor: pointer;\n }\n .tags-input__tag:hover {\n background-color: #E09DFF !important;\n }\n .tags-input__tag.selected {\n background-color: #CD60FF;\n color: white;\n }\n .tags-input__tag-remove-btn {\n cursor: pointer;\n display: inline-block;\n font-size: 14px;\n margin: -2px 0px 0px 3px;\n padding: 0;\n vertical-align: top;\n }\n .tags-input__tag-remove-btn:hover {\n color: red;\n }\n .tags-input__input-field {\n border: 1px solid darkgray;\n padding: 3px;\n color: blue;\n margin-top: -5px;\n font-size: 14px;\n }\n .tags-input__input-field::placeholder {\n color: LightBlue;\n opacity: 1;\n }\n typeahead-container .dropdown-menu {\n font-size: 14px;\n }\n typeahead-container .dropdown-menu li > a {\n color: blue;\n }\n typeahead-container .dropdown-menu .dropdown-header {\n font-weight: bold;\n text-decoration: underline;\n color: black;\n padding-right: 5px;\n }\n`;\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChTagsCloudComponent),\n multi: true\n};\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-tags-cloud',\n template: TAGS_INPUT_TEMPLATE,\n styles: [TAGS_INPUT_STYLE],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChTagsCloudComponent implements OnInit, ControlValueAccessor {\n private selected: string = '';\n public tags: any[] = [];\n\n private onChangeCallback: (_: any) => void = noop;\n private onTouchedCallback: () => void = noop;\n\n @Input() maxTags: number = 20;\n @Input() removeLastOnBackspace: boolean = false;\n @Input() showAddTagInput: boolean = false;\n @Input() canDeleteTags: boolean = false;\n @Input() canSelect: boolean = false;\n @Input() placeholder: string = '';\n @Input() options: any = null;\n @Input() displayField: string = 'name';\n @Input() idField: string = 'uid';\n @Input() groupField: string = 'group';\n @Input() minLengthBeforeOptions: number = 1;\n @Input() scrollableOptions: boolean = false;\n @Input() scrollableOptionsInView: number = 5;\n @Input() size: string = 'normal';\n @Input() selectList: object[] | null = null;\n\n @Output() onTagsChanged = new EventEmitter();\n @Output() onSelect = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onAddTag = new EventEmitter();\n @Output() onMaxTagsReached = new EventEmitter();\n @Output() onNoOptionsMatch = new EventEmitter();\n\n ngOnInit() {}\n\n private getPlaceHolder(): string {\n /*if(this.tags && this.tags.length > 0){\n return '';\n }*/\n return this.placeholder;\n }\n\n private tagsChanged(type: string, tag: any): void {\n this.onChangeCallback(this.tags);\n this.onTagsChanged.emit({\n change: type,\n tag: tag\n });\n if(this.maximumOfTagsReached()){\n this.onMaxTagsReached.emit();\n }\n }\n\n private addTag(tagInput: HTMLInputElement): void {\n // console.log('addTag ' + tagInput.value)\n if (tagInput.value.trim() !== ''){\n /*\n let tag = {\n [this.displayField]: tagInput.value.toLowerCase(),\n use: 'tag'\n };\n this.addPredefinedTag(tag);\n */\n this.onAddTag.emit(tagInput.value);\n }\n tagInput.value = '';\n }\n\n private addPredefinedTag(tag: Object): void {\n // console.log('addPredefinedTag ' + tag)\n if ( (isNullOrUndefined(this.options) || !this.tags.some( t => t[this.idField] == tag[this.idField] )) && !this.maximumOfTagsReached()){\n this.tags.push(tag);\n this.tagsChanged('add', tag);\n }\n }\n\n private isDeleteable(tag: any) {\n /*\n if (tag.deleteable !== undefined && !tag.deleteable) {\n return false;\n } */\n return this.canDeleteTags;\n }\n\n /*\n private removeTag(tagToRemove: any): void {\n console.log(' * removeTag: ' + tagToRemove);\n if (!this.isDeleteable(tagToRemove)) {\n return;\n }\n this.tags = this.tags.filter(tag => tagToRemove !== tag);\n this.tagsChanged('remove', tagToRemove);\n }\n */\n private removeLastTag(tagInput: HTMLInputElement): void {\n // console.log(' * removeLastTag: ');\n if(!this.removeLastOnBackspace || !this.tags.length) {\n return;\n }\n\n if (tagInput.value === ''){\n //this.removeTag(this.tags[this.tags.length-1]);\n }\n }\n\n\n private maximumOfTagsReached(): boolean {\n return false;\n /*\n return typeof this.maxTags !== 'undefined' && this.tags != null && this.tags.length>=this.maxTags;*/\n }\n\n\n private typeaheadOnSelect(e:TypeaheadMatch):void {\n if(typeof e.item === 'string'){\n this.addPredefinedTag({\n [this.displayField]: e.value.toLowerCase(),\n use: 'tag'\n });\n }else {\n this.addPredefinedTag(e.item);\n }\n this.selected = '';\n }\n\n private typeaheadOnNoMatch(event:any):void {\n if(typeof this.onNoOptionsMatch !== 'undefined'){\n this.onNoOptionsMatch.emit( event );\n }\n }\n\n writeValue(value: any) {\n // console.log(value)\n if (value !== this.tags) {\n if (isArray(value) && value.length > 0 && typeof value[0] !== 'object') {\n this.tags = value.map( s => { return { name: s, use: 'tag'} ; });\n } else {\n this.tags = value;\n }\n\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n isSelected(tag: Object) : boolean {\n\n //console.log(' - ISSELECTED ')\n //console.log(tag['uid'])\n // console.log(this.selectList && this.selectList != null ? this.selectList.map( c => {return c['uid'];}) : '>> LISTA NULA');\n if (this.selectList == null) {\n return false;\n } else {\n return this.selectList.findIndex( si => si['uid'] == tag['uid']) > -1;\n }\n }\n}\n","import { isNullOrUndefined } from \"util\";\n\n function getValueFrom(obj: object, field: string, defvalue: any): any {\n if (obj === undefined || obj === null) {\n return defvalue;\n }\n const val = obj[field];\n if (val === undefined || val === null) {\n return defvalue;\n }\n return val;\n}\n\n /**\n * Clase que encapsula una localización\n */\nexport class ChGeoLocation {\n static readonly virtualLatitude1 : number = -256\n static readonly virtualLongitude1 : number = -256\n static readonly virtualLatitude2 : number = 0\n static readonly virtualLongitude2 : number = 0\n\n latitude: number = Number.NaN;\n longitude: number = Number.NaN;\n name = '';\n type = 'place';\n locationUrl = '';\n\n public constructor(latitude: number, longitude: number, name: string, type: string, url: string) {\n this.latitude = latitude == undefined || latitude == null? Number.NaN: latitude;\n this.longitude = longitude == undefined || longitude == null? Number.NaN: longitude;\n this.name = name == undefined || name == null? '': name;\n this.type = type == undefined || type == null? 'place': type;\n this.locationUrl = url;\n }\n\n public isValid(): boolean {\n return this.name != ''\n }\n\n public isVirtual(): boolean {\n return ChGeoLocation.isVirtual(this.latitude, this.longitude);\n }\n\n public static isVirtual(latitude: number, longitude: number) : boolean {\n return (latitude === ChGeoLocation.virtualLatitude1 || latitude === ChGeoLocation.virtualLatitude2 ) &&\n (longitude === ChGeoLocation.virtualLongitude1 || longitude === ChGeoLocation.virtualLongitude2);\n }\n\n public static setVirtual(coord: {latitude: number, longitude: number}) {\n coord.latitude = ChGeoLocation.virtualLatitude2;\n coord.longitude = ChGeoLocation.virtualLongitude2;\n }\n\n /*\n public isValid(): boolean {\n return this.name != '' || ( !Number.isNaN(this.latitude) && !Number.isNaN(this.longitude) );\n }\n\n public isVirtual(): boolean {\n return ChGeoLocation.isVirtual(this.latitude, this.longitude);\n }\n\n public static isVirtual(latitude: number, longitude: number) : boolean {\n return Number.isNaN(latitude) && Number.isNaN(longitude);\n }\n\n public static setVirtual(coord: {latitude: number, longitude: number}) {\n coord.latitude = NaN;\n coord.longitude = NaN;\n }\n */\n public cast( ref: Object): ChGeoLocation {\n this.latitude = getValueFrom(ref, 'latitude', Number.NaN);\n this.longitude = getValueFrom(ref, 'longitude', Number.NaN);\n this.name = getValueFrom(ref, 'name', '');\n this.type = getValueFrom(ref, 'type', 'place');\n this.locationUrl = getValueFrom(ref, 'locationUrl', '');\n return this;\n }\n\n public isEqual(ref: ChGeoLocation) {\n return this.latitude == ref.latitude && this.longitude == this.longitude && this.name == ref.name && this.type == ref.type && this.locationUrl == ref.locationUrl;\n }\n};\n\nexport class ChGeoLocationExtended extends ChGeoLocation {\n number = '';\n street = '';\n city = '';\n dp = '';\n state = '';\n county = '';\n country = '';\n country_code = '';\n\n public constructor(latitude: number, longitude: number, name: string, type: string, url: string) {\n super(latitude,longitude, name, type, url);\n }\n\n public static cast(origin: object): ChGeoLocationExtended {\n const newLoc = new ChGeoLocationExtended(0,0,'','place','');\n newLoc.latitude = origin['latitude'] != undefined ? origin['latitude'] : 0;\n newLoc.longitude = origin['longitude'] != undefined ? origin['longitude'] : 0;\n newLoc.name = origin['name'] != undefined ? origin['name'] : '';\n newLoc.type = origin['type'] != undefined ? origin['type'] : '';\n\n newLoc.number = origin['number'] != undefined ? origin['number'] : '';\n newLoc.street = origin['street'] != undefined ? origin['street'] : '';\n newLoc.city = origin['city'] != undefined ? origin['city'] : '';\n newLoc.dp = origin['dp'] != undefined ? origin['dp'] : '';\n newLoc.state = origin['state'] != undefined ? origin['state'] : '';\n newLoc.county = origin['county'] != undefined ? origin['county'] : '';\n newLoc.country = origin['country'] != undefined ? origin['country'] : '';\n newLoc.country_code = origin['country_code'] != undefined ? origin['country_code'] : 'ES';\n return newLoc;\n }\n}\n /**\n * Clase que encapsula la definición de un mapa para ser empleado\n * en las apps y la web.\n */\nexport class ChMapDefinition {\n public latitude: number = 40.416729; // Puerta del Sol de madrid\n public longitude: number = -3.703339; // Puerta del Sol de madrid\n public zoom: number = 5.00;\n\n public toString() : string {\n return 'LAT: ' + this.latitude.toFixed(5) + ' LONG: ' + this.longitude.toFixed(5) + ' ZOOM: ' + this.zoom.toFixed(1);\n }\n\n public static fromObject(origin: any) : ChMapDefinition {\n const newDef = new ChMapDefinition();\n if (isNullOrUndefined(origin)) {\n return newDef;\n }\n if (!isNullOrUndefined(origin['latitude']) && typeof origin['latitude'] === 'number') {\n newDef.latitude = origin['latitude'];\n }\n if (!isNullOrUndefined(origin['longitude']) && typeof origin['longitude'] === 'number') {\n newDef.longitude = origin['longitude'];\n }\n console.log('ZOOM ' + origin['zoom'] )\n if (!isNullOrUndefined(origin['zoom']) && typeof origin['zoom'] === 'number') {\n newDef.zoom = origin['zoom'];\n }\n return newDef;\n }\n}\n","export default \".map {\\n height: 300px;\\n width: 100%;\\n}\\n\\n.ch-location-picker-window {\\n position: absolute;\\n left: 15px;\\n top: 55px;\\n width: 467px;\\n height: 300px;\\n background-color: #FAFAFA;\\n border: 1px solid #F3F3F3;\\n overflow-y: scroll;\\n}\\n\\n.ch-virtual-location-window {\\n position: absolute;\\n left: 15px;\\n top: 50px;\\n width: 467px;\\n height: 300px;\\n background-color: #F3F3F3;\\n border: 1px solid #F3F3F3;\\n padding: 20px;\\n}\\n\\n.modal-footer {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.modal-footer .dummy {\\n flex-grow: 1;\\n}\\n\\n.alert {\\n cursor: pointer;\\n}\\n\\n.alert-boundary {\\n color: #212121;\\n background-color: white;\\n border-color: #5E5E5E;\\n}\\n\\n.alert-node {\\n color: darkgray;\\n background-color: #FAFAFA;\\n border-color: lightgray;\\n}\\n\\n.alert-waterway {\\n color: #0096FF;\\n background-color: #FAFAFA;\\n border-color: lightblue;\\n}\\n\\n.alert-aeroway {\\n color: #531B93;\\n background-color: #FAFAFA;\\n border-color: #D783FF;\\n}\\n\\n.alert-harbour {\\n color: #0096FF;\\n background-color: #FAFAFA;\\n border-color: lightblue;\\n}\\n\\n.alert-nature {\\n color: #3c763d;\\n background-color: #FAFAFA;\\n border-color: lightgreen;\\n}\\n\\n.alert-park {\\n color: #3c763d;\\n background-color: #FAFAFA;\\n border-color: lightgreen;\\n}\\n\\n.alert-stadium {\\n color: #942193;\\n background-color: #FAFAFA;\\n border-color: #FF85FF;\\n}\\n\\n.alert-place {\\n color: #3c763d;\\n background-color: #dff0d8;\\n border-color: #d6e9c6;\\n}\\n\\n.alert-amenity {\\n color: darkgoldenrod;\\n background-color: lightyellow;\\n border-color: goldenrod;\\n}\\n\\n.alert-building {\\n color: darkslategray;\\n background-color: #C8E1FF;\\n border-color: slategray;\\n}\\n\\n.alert-highway {\\n color: #424242;\\n background-color: #FAFAFA;\\n border-color: gray;\\n}\\n\\n.alert-railway {\\n color: #764200;\\n background-color: #FAFAFA;\\n border-color: #D39748;\\n}\\n\\n.alert-tourism {\\n color: darksalmon;\\n background-color: #F1DCD8;\\n border-color: salmon;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9sb2NhdGlvbi9jaC1sb2NhdGlvbi1waWNrZXItd2luZG93L2NoLWxvY2F0aW9uLXBpY2tlci13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvbG9jYXRpb24vY2gtbG9jYXRpb24tcGlja2VyLXdpbmRvdy9jaC1sb2NhdGlvbi1waWNrZXItd2luZG93LmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFBTSxhQUFBO0VBQWUsV0FBQTtBQ0NyQjs7QURDQTtFQUNJLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHlCRStGc0I7RUY5RnRCLHlCQUFBO0VBQ0Esa0JBQUE7QUNFSjs7QURFQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHlCRW9GK0I7RUZuRi9CLHlCQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FEQ0U7RUFDRSxZQUFBO0FDQ0o7O0FER0E7RUFDSSxlQUFBO0FDQUo7O0FER0E7RUFDSSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtBQ0FKOztBREdBO0VBQ0ksZUFBQTtFQUNBLHlCQUFBO0VBQ0EsdUJBQUE7QUNBSjs7QURHQTtFQUNJLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHVCQUFBO0FDQUo7O0FER0E7RUFDSSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTtBQ0FKOztBREdBO0VBQ0ksY0FBQTtFQUNBLHlCQUFBO0VBQ0EsdUJBQUE7QUNBSjs7QURHQTtFQUNJLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHdCQUFBO0FDQUo7O0FER0E7RUFDSSxjQUFBO0VBQ0EseUJBQUE7RUFDQSx3QkFBQTtBQ0FKOztBREdBO0VBQ0ksY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7QUNBSjs7QURHQTtFQUNJLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0FDQUo7O0FER0E7RUFDSSxvQkFBQTtFQUNBLDZCQUFBO0VBQ0EsdUJBQUE7QUNBSjs7QURHQTtFQUNJLG9CQUFBO0VBQ0EseUJBQUE7RUFDQSx1QkFBQTtBQ0FKOztBREdBO0VBQ0ksY0FBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7QUNBSjs7QURHQTtFQUNJLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0FDQUo7O0FER0E7RUFDSSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0Esb0JBQUE7QUNBSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbG9jYXRpb24vY2gtbG9jYXRpb24tcGlja2VyLXdpbmRvdy9jaC1sb2NhdGlvbi1waWNrZXItd2luZG93LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4ubWFwIHtoZWlnaHQ6IDMwMHB4OyB3aWR0aDogMTAwJSB9XG5cbi5jaC1sb2NhdGlvbi1waWNrZXItd2luZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDU1cHg7XG4gICAgd2lkdGg6IDQ2N3B4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG59XG5cbi5jaC12aXJ0dWFsLWxvY2F0aW9uLXdpbmRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiA1MHB4O1xuICB3aWR0aDogNDY3cHg7XG4gIGhlaWdodDogMzAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gIC5kdW1teSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5cbi5hbGVydHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hbGVydC1ib3VuZGFyeSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUU1RTVFO1xufVxuXG4uYWxlcnQtbm9kZSB7XG4gICAgY29sb3I6IGRhcmtncmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGdyYXk7XG59XG5cbi5hbGVydC13YXRlcndheSB7XG4gICAgY29sb3I6ICMwMDk2RkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0Ymx1ZVxufVxuXG4uYWxlcnQtYWVyb3dheSB7XG4gICAgY29sb3I6ICM1MzFCOTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgICBib3JkZXItY29sb3I6ICNENzgzRkZcbn1cblxuLmFsZXJ0LWhhcmJvdXIge1xuICAgIGNvbG9yOiAjMDA5NkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGJsdWVcbn1cblxuLmFsZXJ0LW5hdHVyZSB7XG4gICAgY29sb3I6ICMzYzc2M2Q7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0Z3JlZW5cbn1cblxuLmFsZXJ0LXBhcmsge1xuICAgIGNvbG9yOiAjM2M3NjNkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGdyZWVuXG59XG5cbi5hbGVydC1zdGFkaXVtIHtcbiAgICBjb2xvcjogIzk0MjE5MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGODVGRjtcbn1cblxuLmFsZXJ0LXBsYWNlIHtcbiAgICBjb2xvcjogIzNjNzYzZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbn1cblxuLmFsZXJ0LWFtZW5pdHkge1xuICAgIGNvbG9yOiBkYXJrZ29sZGVucm9kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0eWVsbG93O1xuICAgIGJvcmRlci1jb2xvcjogZ29sZGVucm9kO1xufVxuXG4uYWxlcnQtYnVpbGRpbmcge1xuICAgIGNvbG9yOiBkYXJrc2xhdGVncmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOEUxRkY7XG4gICAgYm9yZGVyLWNvbG9yOiBzbGF0ZWdyYXk7XG59XG5cbi5hbGVydC1oaWdod2F5IHtcbiAgICBjb2xvcjogIzQyNDI0MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgIGJvcmRlci1jb2xvcjogZ3JheTtcbn1cblxuLmFsZXJ0LXJhaWx3YXkge1xuICAgIGNvbG9yOiAjNzY0MjAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDM5NzQ4XG59XG5cbi5hbGVydC10b3VyaXNtIHtcbiAgICBjb2xvcjogZGFya3NhbG1vbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFEQ0Q4O1xuICAgIGJvcmRlci1jb2xvcjogc2FsbW9uO1xufVxuIiwiLm1hcCB7XG4gIGhlaWdodDogMzAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2gtbG9jYXRpb24tcGlja2VyLXdpbmRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiA1NXB4O1xuICB3aWR0aDogNDY3cHg7XG4gIGhlaWdodDogMzAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGM0YzRjM7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmNoLXZpcnR1YWwtbG9jYXRpb24td2luZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDUwcHg7XG4gIHdpZHRoOiA0NjdweDtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgYm9yZGVyOiAxcHggc29saWQgI0YzRjNGMztcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubW9kYWwtZm9vdGVyIC5kdW1teSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLmFsZXJ0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWxlcnQtYm91bmRhcnkge1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogIzVFNUU1RTtcbn1cblxuLmFsZXJ0LW5vZGUge1xuICBjb2xvcjogZGFya2dyYXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1jb2xvcjogbGlnaHRncmF5O1xufVxuXG4uYWxlcnQtd2F0ZXJ3YXkge1xuICBjb2xvcjogIzAwOTZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiBsaWdodGJsdWU7XG59XG5cbi5hbGVydC1hZXJvd2F5IHtcbiAgY29sb3I6ICM1MzFCOTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1jb2xvcjogI0Q3ODNGRjtcbn1cblxuLmFsZXJ0LWhhcmJvdXIge1xuICBjb2xvcjogIzAwOTZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiBsaWdodGJsdWU7XG59XG5cbi5hbGVydC1uYXR1cmUge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiBsaWdodGdyZWVuO1xufVxuXG4uYWxlcnQtcGFyayB7XG4gIGNvbG9yOiAjM2M3NjNkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICBib3JkZXItY29sb3I6IGxpZ2h0Z3JlZW47XG59XG5cbi5hbGVydC1zdGFkaXVtIHtcbiAgY29sb3I6ICM5NDIxOTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1jb2xvcjogI0ZGODVGRjtcbn1cblxuLmFsZXJ0LXBsYWNlIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbn1cblxuLmFsZXJ0LWFtZW5pdHkge1xuICBjb2xvcjogZGFya2dvbGRlbnJvZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHR5ZWxsb3c7XG4gIGJvcmRlci1jb2xvcjogZ29sZGVucm9kO1xufVxuXG4uYWxlcnQtYnVpbGRpbmcge1xuICBjb2xvcjogZGFya3NsYXRlZ3JheTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4RTFGRjtcbiAgYm9yZGVyLWNvbG9yOiBzbGF0ZWdyYXk7XG59XG5cbi5hbGVydC1oaWdod2F5IHtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1jb2xvcjogZ3JheTtcbn1cblxuLmFsZXJ0LXJhaWx3YXkge1xuICBjb2xvcjogIzc2NDIwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgYm9yZGVyLWNvbG9yOiAjRDM5NzQ4O1xufVxuXG4uYWxlcnQtdG91cmlzbSB7XG4gIGNvbG9yOiBkYXJrc2FsbW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFEQ0Q4O1xuICBib3JkZXItY29sb3I6IHNhbG1vbjtcbn0iLCIvLyBCYXNpYyBDb2xvcnNcclxuJG5hdnk6IG9yYW5nZTsgICAgICAgIC8vICMxYWIzOTQ7ICAgICAgIC8vIFByaW1hcnkgY29sb3JcclxuJGRhcmstZ3JheTogI2MyYzJjMjsgIC8vIERlZmF1bHQgY29sb3JcclxuJGJsdWU6ICMxYzg0YzY7ICAgICAgIC8vIFN1Y2Nlc3MgY29sb3JcclxuJGxhenVyOiAjMjNjNmM4OyAgICAgIC8vIEluZm8gY29sb3JcclxuJHllbGxvdzogI2Y4YWM1OTsgICAgIC8vIFdhcm5pbmcgY29sb3JcclxuJHJlZDogI0VENTU2NTsgICAgICAgIC8vIERhbmdlciBjb2xvclxyXG5cclxuLy8gVmFyaW91cyBjb2xvcnNcclxuJHRleHQtY29sb3I6ICM2NzZhNmM7ICAgLy8gQm9keSB0ZXh0XHJcbiR0ZXh0LWNvbG9yLXNlY3VuZGFyeTogIzlFQTNBNTsgICAvLyBCb2R5IHRleHQgbGVzcyBpbXBvcnRhbnRcclxuJHRleHQtY29sb3ItZGlzYWJsZWQ6ICNBQ0IxQjQ7ICAgLy8gQm9keSB0ZXh0XHJcbiRncmF5OiAjZjNmM2Y0OyAgICAgICAgIC8vIEJhY2tncm91bmQgd3JhcHBlciBjb2xvclxyXG4kbGlnaHQtZ3JheTogI0QxREFERTsgICAvLyBEZWZhdWx0IGxhYmVsLCBiYWRnZVxyXG4kbGFiZWwtYmFkZ2UtY29sb3I6ICM1RTVFNUU7XHJcbiRsaWdodC1ibHVlOiNmM2Y2ZmI7XHJcblxyXG4vLyBTcGluZXIgY29sb3IgYW5kIG1hcmdpblxyXG4kc3Bpbi1jb2xvcjogJG5hdnk7XHJcbiRzcGluLW1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHJcbi8vIElCT1ggY29sb3JzICggZGVmYXVsdCBwYW5lbCBjb2xvcnMpXHJcbiRib3JkZXItY29sb3I6ICNlN2VhZWM7ICAgICAvLyBJQm94IGJvcmRlclxyXG4kaWJveC10aXRsZS1iZzojZmZmZmZmOyAgICAgLy8gSUJveCBCYWNrZ3JvdW5kIGhlYWRlclxyXG4kaWJveC1jb250ZW50LWJnOiNmZmZmZmY7ICAgLy8gSUJveCBCYWNrZ3JvdW5kIGNvbnRlbnRcclxuXHJcbi8vU2lkZWJhciB3aWR0aFxyXG4kc2lkZWJhci13aWR0aDogMjIwcHg7XHJcblxyXG4vLyBBc3NldHMgcGF0aFxyXG4kYXNzZXQtcGF0aCA6IFwiL3NyYy9hc3NldHMvc3R5bGVzL3BhdHRlcm5zXCI7XHJcblxyXG4vLyBCb3hlZCBsYXlvdXQgd2lkdGhcclxuJGJveGVkLXdpZHRoOiAxMjAwcHg7XHJcbiRib3hlZC1iYWNrZ3JvdW5kOiB1cmwoJyN7JGFzc2V0LXBhdGh9L3NoYXR0ZXJlZC5wbmcnKTtcclxuXHJcbi8vQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9uc1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vTmF2aWdhdGlvbiBHcm91cHNcclxuJG5hdi1iZzogIzJGNDA1MDtcclxuJG5hdi1iZy0yOiAjMjkzODQ2O1xyXG4kbmF2LXByb2ZpbGUtcGF0dGVybjogdXJsKFwiI3skYXNzZXQtcGF0aH0vaGVhZGVyLXByb2ZpbGUucG5nXCIpO1xyXG4kbmF2LXRleHQtY29sb3I6ICNhN2IxYzI7XHJcblxyXG4vL05hdmlnYXRpb24gVXNlcnNcclxuJG5hdi1iZy11c2VyOiAjRjRGNkZBO1xyXG4kbmF2LWJnLTItdXNlcjogI0VBRUNGMDtcclxuJG5hdi10ZXh0LWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXVzZXI6ICMwNDE2NDk7XHJcblxyXG4vL05hdmlnYXRpb24gWm9uZXNcclxuJG5hdi1iZy16b25lOiAjRERFQUZGO1xyXG4kbmF2LWJnLTItem9uZTogICNEREVBRkY7XHJcbiRuYXYtdGV4dC1jb2xvci16b25lOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy16b25lOiBzdGVlbGJsdWU7XHJcbiRuYXYtaG9vdmVyLWNvbG9yLXpvbmU6ICNFQUVDRjA7XHJcblxyXG5cclxuLy9Db2xvcmVzIGRlbCBzaXN0ZW1hLCBwb3IgRlJOXHJcblxyXG4kZ2VuZXJhbC1iay1jb2xvcjogd2hpdGU7XHJcbiRwcmltYXJ5LWNvbG9yOiAjZjA5YjAwO1xyXG4kcHJpbWFyeS1jb2xvci1iazogI0VGRUZFRjtcclxuJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ6ICNEM0QzRDM7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjogI2U3ZWFlYztcclxuJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrOiAjMzMzOyAvLyByZ2IoOTIsIDkyLCA5Mik7XHJcbiR0ZXh0LXByaW1hcnktY29sb3I6ICM2NzZhNmM7IC8vICM3RjdGN0Y7XHJcbiR0ZXh0LXNlY29uZGFyeWNvbG9yOiAjQkZCRkJGO1xyXG4kZm9ybS1idXR0b20tcHJpbWFyeS1jb2xvcjogIzk5OTk5OTtcclxuJGRlbGV0ZS1jb2xvcjogcmVkO1xyXG4kbWFuZGF0b3J5LWNvbG9yOiBkYXJrUmVkO1xyXG4kaW5mby1jb2xvcjogZ3JlZW47IC8vIzIzYzZjODtcclxuJGluZm8tYmFja2dyb3VuZDogIzgxQkEyNztcclxuJGRhcmstaW5mby1jb2xvcjogZGFya2dyZWVuOyAvLyMyM2M2Yzg7XHJcblxyXG4kZGlzYWJsZWQtaXRlbS1jb2xvcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1ib3JkZXI6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYms6IHdoaXRlO1xyXG5cclxuJHNlbGVjdGVkLWl0ZW0tY29sb3I6ICM3QTIxODQ7XHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrOiAjRjJFN0YyOyAvLyAjQzdBRUNBO1xyXG5cclxuJGxlZnQtbWVudS1iYWNrZ3JvdW5kOiAjMjkzODQ2O1xyXG4kbGVmdC1tZW51LWZvcmVncm91bmQ6ICM5QkE2Qjc7XHJcblxyXG4kY2hpbC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4kcGFuZWwtYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuJHBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRkFGQUZBO1xyXG5cclxuJHN1YnBhbmVsLWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudDogbGlnaHR5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWltcG9ydGFudC1ib3JkZXI6IHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtYm9yZGVyLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtY29sb3ItZGlzYWJsZWQ6ICNDMEMwQzA7XHJcblxyXG4kc3Vic3VicGFuZWwtYmFja2dyb3VuZDogI0VFRUVFRTtcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFN0U3RTc7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtc2VsZWN0ZWQ6ICNENUQ1RDU7XHJcblxyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ6ICNGQUZBRkE7XHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZC1ib3JkZXI6ICNGM0YzRjM7XHJcbiRwYW5lbC1yZWNvbWVuZC1iYWNrZ3JvdW5kLWJvcmRlcjogI0FBNzk0MjtcclxuXHJcbiRwYW5lbC1kYXJrLW9iamVjdC1ib3JkZXI6ICNFN0U3RTc7XHJcblxyXG4kcGFuZWwtdXNlci1kYXRhLWJhY2tncm91bmQ6ICNGMEYwRjA7XHJcbiRwYW5lbC11c2VyLWRhdGEtY29sb3I6ICM0MTZFRDk7XHJcblxyXG4kcGFuZWwtY2hpbG1hbmFnZXItYmFja2dyb3VuZDogI0Q1RTJFNjtcclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy8gQ29sb3IgZGVsIGdydXBvIGVuIGxvcyBjb21ib3NcclxuJGNvbWJvLWdyb3VwLWNvbG9yOiAjMEIxRjI5O1xyXG5cclxuLy9Db2xvcmVzIGRlIGxvcyB0aXBvcyBkZSBwb3N0IChGUk4pXHJcblxyXG4kcG9zdC1wb3N0LWJrOiAgICM2QjQ5OTM7XHJcbiRwb3N0LW5ld3MtYms6ICAgIzQ5NTY5MztcclxuJHBvc3QtZG9jdS1iazogICAjNDc4RjQ3O1xyXG4kcG9zdC1ldmVudC1iazogICAjQkI0QTVEO1xyXG4kcG9zdC1xdWVzdGlvbi1iazogICAjQzY5QzYzO1xyXG4kcG9zdC1mb3JtLWJrOiAgICM3OTc5Nzk7XHJcbiRwb3N0LWltYWdlLWJrOiAgICM3RjdmNDA7XHJcbiRwb3N0LWxpbmstYms6ICAgIzQ5OTI5MztcclxuJHBvc3QtcHVibGktYms6ICAgI0IzNEVBMTtcclxuJHBvc3QtdGhlbWUtYms6ICAgIzQ1N0E5OTtcclxuJHBvc3QtdGVzdC1iazogICAjQ0Y3NjZEO1xyXG4kcG9zdC1wb3N0Ym94LWJrOiAgICM5Rjk2MDk7XHJcbiRwb3N0LXBhZ2UtYms6ICAgIzk0MzMzMztcclxuXHJcbiRwb3N0LWJrOiAgICM3OTc5Nzk7XHJcblxyXG4vL0NvbG9yZXMgZGVsIHN0YXR1c1xyXG5cclxuJHBvc3QtcHVibGlzaGVkOiAjNEY4RjAwO1xyXG4kcG9zdC13YWl0aW5nOiAjOTI5MjkyO1xyXG4kcG9zdC1kcmFmdDogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYTogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYjogIzkyOTI5MjtcclxuJHBvc3Qtbm9wdWItYzogIzkyOTI5MjtcclxuXHJcbiRzdGF0dXMtb246ICM0RjhGMDA7XHJcbiRzdGF0dXMtb2ZmOiAjOTI5MjkyO1xyXG5cclxuLy9Db2xvcmVzIGRlbCBkZXN0YWNhZG9cclxuXHJcbiRoaWdobGlnaHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRoaWdobGlnaHQtb246IGRhcmtyZWQ7XHJcbiRoaWdobGlnaHQtb2ZmOiAjQzBDMEMwO1xyXG5cclxuLy9Mb3MgZm9ybXVsYXJpb3NcclxuXHJcbiRjb250cm9sLWxlZnQtbWFyZ2luOiAyNXB4O1xyXG4kY29udHJvbC1sYWJlbC1ib3R0b20tbWFyZ2luOiAzcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemU6IDE0cHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWluaTogMTJweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taWNybzogMTBweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplLWltcG9ydGFudDogMTZweDtcclxuXHJcbiRpbnB1dC1iYWNrLWNvbG9yOiB3aGl0ZTtcclxuJGlucHV0LWJhY2stY29sb3ItcmVhZG9ubHk6ICNGM0YzRjM7XHJcbiRpbnB1dC1hY3RpdmUtY29sb3I6ICM0MTZFRDk7XHJcbiRpbnB1dC1hY3RpdmUtY29udHJvbC1jb2xvcjogIzRDODFGRjtcclxuJGlucHV0LWRpbS1jb2xvcjogTGlnaHRCbHVlIDtcclxuJGlucHV0LWJvcmRlcjogZGFya2dyYXkgO1xyXG4kaW5wdXQtYm9yZGVyLXJlYWRvbmx5OiAjRUZFRkVGIDtcclxuJGlucHV0LWFjdGl2ZS1sYWJlbC1jb2xvciA6ICMzMzM7XHJcblxyXG4vL0xvcyBwcm9kdWN0b3MgeSBlbCBlQ29tbWVyY2VcclxuJHByb2R1Y3RfcHJpY2UxX2NvbG9yOiAjQzI2MDAwO1xyXG4kcHJvZHVjdF9wcmljZTJfY29sb3I6ICMzMzM7XHJcbiRwcm9kdWN0X3ByaWNlM19jb2xvcjogIzAwM0NDMjtcclxuXHJcbi8vQ29sb3JlcyBkZSBsYXMgem9uYXMgZGUgZ2VzdGlvbiBDSElMXHJcblxyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQgOiAjQ0JFN0U3O1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJhY2tncm91bmQtYnV0dG9ucyA6IGxpZ2h0Ymx1ZTtcclxuJGNoaWwtbWFuYWdlbWVudC1ib3JkZXIgOiAjNUFCRUJFO1xyXG4iXX0= */\"","import { Component, OnInit, ViewChild, Input, AfterViewInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChGeoLocation, ChGeoLocationExtended } from '../ch-geo-location';\n\nimport OlMap from 'ol/Map';\nimport OlXYZ from 'ol/source/XYZ';\nimport OlTileLayer from 'ol/layer/Tile';\nimport OlView from 'ol/View';\nimport {Vector as VectorSource} from 'ol/source.js';\nimport {Vector as VectorLayer} from 'ol/layer.js';\nimport {Point } from 'ol/geom';\nimport Geolocation from 'ol/Geolocation';\n\nimport { fromLonLat, transform } from 'ol/proj';\nimport { Feature } from 'ol';\nimport { Style, Icon, Stroke } from 'ol/style';\nimport { isNullOrUndefined } from 'util';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-location-picker-window',\n templateUrl: './ch-location-picker-window.component.html',\n styleUrls: ['./ch-location-picker-window.component.scss'],\n})\nexport class ChLocationPickerWindowComponent implements OnInit, AfterViewInit {\n\n\n //private static passData: Array = null;\n private static passLocation: ChGeoLocation | ChGeoLocationExtended | null = null;\n private static passExtended = false;\n private static modalRef: BsModalRef | null = null;\n private static callback: Function | null = null;\n private static allowVirtual: boolean = false;\n\n private location: ChGeoLocation | ChGeoLocationExtended | null = null;\n private extended = false;\n private allowVirtual = false;\n private language = \"es\";\n\n name = '';\n valuesArray: ChGeoLocation[] = [];\n longitude = Number.NaN;\n latitude = Number.NaN;\n\n defaultLatitude = 40.4165000;\n defaultLongitude = -3.7025600;\n defaultName = \"Madrid\"\n locationUrl = \"\"\n\n centerPoint: number[];\n mapCenter: Feature;\n\n map: OlMap;\n raster: OlXYZ;\n rasterLayer: OlTileLayer;\n vector: VectorSource;\n vectorLayer: VectorLayer;\n view: OlView;\n geoLocation: Geolocation;\n\n pickedPos: Feature | undefined;\n\n get isVirtual(): boolean {\n return ChGeoLocation.isVirtual(this.longitude,this.latitude);\n }\n set isVirtual(value: boolean) {\n if (value) {\n if (!ChGeoLocation.isVirtual(this.longitude,this.latitude)) {\n const coord = {latitude: this.latitude, longitude: this.longitude};\n ChGeoLocation.setVirtual(coord);\n this.longitude = coord.longitude;\n this.latitude = coord.latitude;\n this.unPickPosition();\n this.centerMap();\n }\n } else {\n if (ChGeoLocation.isVirtual(this.longitude,this.latitude)) {\n if (this.location !== undefined && this.location !== null) {\n if (this.isValidCoord(this.location.longitude,this.location.latitude)) {\n this.longitude = this.location.longitude;\n this.latitude = this.location.latitude;\n } else {\n this.longitude = this.defaultLongitude;\n this.latitude = this.defaultLatitude;\n }\n } else {\n this.longitude = this.defaultLongitude;\n this.latitude = this.defaultLatitude;\n }\n this.pickFromLonLat(this.longitude, this.latitude, this.name, true);\n }\n }\n }\n\n isValidCoord(latitude: number, longitude: number): boolean {\n return !isNullOrUndefined(longitude) && !isNullOrUndefined(latitude) &&\n !Number.isNaN(longitude) && !Number.isNaN(latitude) &&\n !ChGeoLocation.isVirtual(latitude, longitude)\n }\n\n public static show(location: ChGeoLocation | ChGeoLocationExtended, extended: boolean, allowVirtual: boolean, config?: ModalOptions,\n callback?: (data : ChGeoLocation | ChGeoLocationExtended) => void) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChLocationPickerWindowComponent.passLocation = location;\n ChLocationPickerWindowComponent.allowVirtual = allowVirtual;\n ChLocationPickerWindowComponent.passExtended = extended;\n ChLocationPickerWindowComponent.callback = callback != null ? callback : () => {};\n ChLocationPickerWindowComponent.modalRef = service.showModalWindow(this, config);\n }\n\n public static hide(executeCallback: boolean, newData: ChGeoLocation | ChGeoLocationExtended | null) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChLocationPickerWindowComponent.modalRef!);\n if (executeCallback && ChLocationPickerWindowComponent.callback != null) {\n ChLocationPickerWindowComponent.callback!(newData);\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n this.language = chGlobal.getLang();\n //console.log(this.language)\n }\n\n ngOnInit() {\n console.log(this.chGlobal.getGroupInfo() )\n if ( !isNullOrUndefined(this.chGlobal.getGroupInfo()) &&\n !isNullOrUndefined(this.chGlobal.getGroupInfo()!.location) &&\n !ChGeoLocation.isVirtual(\n this.chGlobal.getGroupInfo()!.location.latitude,\n this.chGlobal.getGroupInfo()!.location.longitude)\n ) {\n // console.log('Set user default pos')\n this.defaultLatitude = this.chGlobal.getGroupInfo()!.location.latitude;\n this.defaultLongitude = this.chGlobal.getGroupInfo()!.location.longitude;\n this.defaultName = this.chGlobal.getGroupInfo()!.location.name;\n }\n\n this.location = ChLocationPickerWindowComponent.passLocation;\n this.extended = ChLocationPickerWindowComponent.passExtended;\n this.allowVirtual = ChLocationPickerWindowComponent.allowVirtual;\n\n if (this.location !== undefined && this.location !== null) {\n // console.log(this.location );\n this.name = this.location.name;\n this.longitude = this.location.longitude;\n this.latitude = this.location.latitude;\n this.locationUrl = this.location.locationUrl;\n // console.log('ChLocationPickerWindowComponent.passLocation: ' + this.longitude + ' : ' + this.latitude)\n\n } else {\n\n }\n }\n\n ngAfterViewInit(): void {\n\n setTimeout(() => {\n\n this.raster = new OlXYZ({\n /* url: 'http://tile.osm.org/{z}/{x}/{y}.png' */\n url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'\n /* url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png' */\n });\n\n this.rasterLayer = new OlTileLayer({\n source: this.raster\n });\n\n if (this.isVirtual) {\n this.view = new OlView({\n center: fromLonLat([ this.defaultLongitude, this.defaultLatitude]),\n zoom: 4\n });\n } else {\n\n this.view = new OlView({\n center: fromLonLat([ this.latitude, this.longitude ]),\n zoom: 6\n });\n }\n\n this.vector = new VectorSource({ wrapX: false});\n\n this.vectorLayer = new VectorLayer({\n source: this.vector\n });\n //console.log(this.rasterLayer);\n //console.log(this.vectorLayer);\n this.map = new OlMap({\n target: 'windowmap',\n layers: [this.rasterLayer, this.vectorLayer],\n view: this.view\n });\n\n this.geoLocation = new Geolocation({\n // take the projection to use from the map's view\n tracking: true,\n trackingOptions: {\n enableHighAccuracy: true\n },\n projection: this.view.getProjection()\n });\n\n if (this.isValidCoord(this.latitude, this.longitude)) {\n this.pickFromLonLat(this.longitude, this.latitude, this.name, true);\n } else {\n //console.log('No valid coord!!')\n //console.log(this.chGlobal.getGroupInfo() ? this.chGlobal.getGroupInfo()!.location : '')\n const coord = fromLonLat([this.defaultLongitude, this.defaultLatitude]);\n this.view.setCenter(coord);\n //this.pickFromLonLat(this.defaultLongitude, this.defaultLatitude, this.defaultName, true);\n }\n const me = this;\n setTimeout(() => {\n if (this.geoLocation.getPosition() !== undefined) {\n //console.log('Set position')\n const coordinate = this.geoLocation.getPosition()!;\n me.setCurrentPosition(coordinate);\n } else {\n this.geoLocation.once('change:position', function() {\n //console.log('change:position')\n const coordinate = me.geoLocation.getPosition();\n if (coordinate != undefined){\n me.setCurrentPosition(coordinate);\n }\n });\n }\n }, 0);\n\n this.map.on('click', function(e) {\n // console.log(e.coordinate);\n me.pickPosition(e.coordinate, '');\n });\n }, 0);\n }\n\n nuevaDireccion(value) {\n // console.log(value);\n }\n\n setCurrentPosition(coordinate: number[]) {\n if (ChGeoLocation.isVirtual(this.longitude,this.latitude)) {\n this.view.setCenter(coordinate);\n }\n this.centerPoint = coordinate;\n if (this.mapCenter === undefined) {\n this.mapCenter = new Feature(new Point(coordinate));\n this.mapCenter.setStyle(new Style({\n image: new Icon(/** @type {module:ol/style/Icon~Options} */ ({\n /* color: '#FF0000',*/\n crossOrigin: 'anonymous',\n /* src: 'assets/images/maps/marker48yellow.png'*/\n src: 'assets/images/maps/dot24.png'\n }))\n }));\n //console.log(this.centerPoint);\n this.vector.addFeature(this.mapCenter);\n } else {\n this.mapCenter.setGeometry(new Point(coordinate));\n }\n }\n\n pickFromLonLat(longitude: number, latitude: number, name: string, centerPoint: boolean) {\n // console.log(longitude.toString() + ' : ' + latitude.toString());\n if (!ChGeoLocation.isVirtual(longitude, latitude)) {\n const coord = fromLonLat([longitude, latitude]);\n //console.log(coord);\n if (!Number.isNaN(coord[0]) && !Number.isNaN(coord[1])){\n this.pickPosition(coord, name);\n if (centerPoint) {\n this.view.setCenter(coord);\n }\n }\n }\n\n }\n\n unPickPosition() {\n if (this.pickedPos !== undefined) {\n this.vector.removeFeature(this.pickedPos);\n this.pickedPos = undefined;\n }\n }\n\n pickPosition(coord: number[], name: string) {\n // console.log(coord);\n if (this.pickedPos === undefined) {\n this.pickedPos = new Feature(new Point(coord));\n this.pickedPos.setStyle(new Style({\n image: new Icon({\n crossOrigin: 'anonymous',\n src: 'assets/images/maps/marker48b.png'\n })\n }));\n this.vector.addFeature(this.pickedPos);\n } else {\n this.pickedPos.setGeometry(new Point(coord));\n }\n const lonlat = transform(coord, 'EPSG:3857', 'EPSG:4326');\n // console.log(lonlat[0].toString() + ' : ' + lonlat[1].toString());\n this.longitude = lonlat[0]; this.latitude = lonlat[1];\n if (name === '') {\n this.simpleReverseGeocoding(lonlat[0], lonlat[1]);\n } else {\n this.name = name;\n }\n }\n\n centerMap() {\n if (this.centerPoint !== undefined) {\n this.view.setCenter(this.centerPoint);\n }\n }\n\n simpleReverseGeocoding(lon: number, lat: number) {\n const me = this;\n fetch('https://nominatim.openstreetmap.org/reverse?format=json&accept-language=' + this.language + '&lon=' + lon + '&lat=' + lat).then(function(response) {\n return response.json();\n }).then(function(json) {\n me.processAdress( json );\n });\n }\n\n searchAddress() {\n //console.log('BUSCAR');\n //console.log(this.name);\n const me = this;\n fetch('https://nominatim.openstreetmap.org/search?format=json&accept-language=' + this.language + '&q=' + this.name).then(function(response) {\n return response.json();\n }).then(function(json) {\n me.valuesArray = json.map(value => {\n return new ChGeoLocation(parseFloat(value.lat), parseFloat(value.lon), value.display_name,\n value.class === 'landuse' || value.class === 'leisure' ? value.type : value.class, '');\n });\n // console.log(json);\n // console.log(me.valuesArray);\n });\n }\n\n setAddress(value: ChGeoLocation) {\n this.pickFromLonLat(value.longitude, value.latitude, value.name, true);\n this.valuesArray = [];\n }\n\n number = '';\n street = '';\n city = '';\n state = '';\n dp = '';\n county = '';\n country = '';\n country_code = '';\n\n processAdress(address ) {\n // console.log(address.address);\n this.name = address.display_name;\n\n this.number = address.address.house_number ? address.address.house_number : '';\n this.street = address.address.road ? address.address.road : address.address.locality? address.address.locality : '';\n this.city = address.address.city ? address.address.city : address.address.town? address.address.town : address.address.village? address.address.village :\n address.address.city_district? address.address.city_district : address.address.suburb? address.address.suburb : '';\n this.dp = address.address.postcode ? address.address.postcode : '';\n this.state = address.address.state ? address.address.state : '';\n this.county = address.address.county ? address.address.county : '';\n this.country = address.address.country ? address.address.country : '';\n this.country_code = address.address.country_code? address.address.country_code : 'ES';\n\n\n }\n\n confirm() {\n\n if (this.location == undefined) {\n this.location = this.extended ?\n new ChGeoLocationExtended(this.latitude, this.longitude, this.name, 'place','') :\n new ChGeoLocation(this.latitude, this.longitude, this.name, 'place', this.locationUrl) ;\n }\n this.location.latitude = this.latitude; this.location.longitude = this.longitude;\n this.location.name = this.name; this.location.type = 'place';\n this.location.locationUrl = this.locationUrl;\n /*\n console.log(this.location);\n console.log(this.location instanceof ChGeoLocation);\n console.log(this.location instanceof ChGeoLocationExtended);\n console.log(typeof this.location); */\n // if (this.location instanceof ChGeoLocationExtended) {\n /* console.log(this.number);\n console.log(this.street);\n console.log(this.city);\n console.log(this.dp);\n console.log(this.state);\n console.log(this.county);\n console.log(this.country);\n console.log(this.country_code);\n */\n //console.log(this.location);\n this.location['number'] = this.location['number'] != undefined ? this.number : undefined;\n this.location['street'] = this.location['street'] != undefined ? this.street : undefined;\n this.location['city'] = this.location['city'] != undefined ? this.city : undefined;\n this.location['dp'] = this.location['dp'] != undefined ? this.dp : undefined;\n this.location['state'] = this.location['state'] != undefined ? this.state : undefined;\n this.location['county'] = this.location['county'] != undefined ? this.county : undefined;\n this.location['country'] = this.location['country'] != undefined ? this.country : undefined;\n this.location['country_code'] = this.location['country_code'] != undefined ? this.country_code : undefined;\n //console.log(this.location);\n //}\n\n ChLocationPickerWindowComponent.hide(true, this.location );\n }\n\n decline() {\n ChLocationPickerWindowComponent.hide(false, null);\n }\n\n dummy(e) {\n console.log(e);\n }\n\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbG9naW4vY2gtYXBwbGUtY2FsbGJhY2svY2gtYXBwbGUtY2FsbGJhY2suY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ch-apple-callback',\n templateUrl: './ch-apple-callback.component.html',\n styleUrls: ['./ch-apple-callback.component.css']\n})\nexport class ChAppleCallbackComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n\ndeclare var AppleID;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChAppleLoginService {\n\n private readonly appleScriptUrl: string =\n 'https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js';\n\n private ready: Promise = new Promise(resolve => {\n if (typeof window !== undefined) {\n const script = require('scriptjs');\n script(this.appleScriptUrl, () => resolve(true));\n } else {\n resolve(false);\n }\n });\n\n constructor() {\n this.ready.then(isReady => {\n if (isReady) {\n console.log(' > Apple Login Script initiated!')\n this.init();\n }\n });\n }\n\n init() {\n /*\n AppleID.auth.init({\n clientId: 'your client id',\n scope: 'name email',\n redirectURI: `${window.location.origin}/apple-signin`,\n state: 'what ever string to be remembered'\n });\n */\n }\n\n public async appleLogin() {\n try {\n console.log(AppleID)\n AppleID.auth.init({\n clientId : 'es.socialknowledge.chil',\n scope : 'name email',\n redirectURI : 'https://api2.chil.me/actor/applelogincallback',\n state : 'init',\n nonce : 'chilsystem45656',\n usePopup : true //or false defaults to false\n });\n const data = await AppleID.auth.signIn();\n console.log(this.parseJwt(data.authorization.id_token))\n\n } catch (error) {\n console.log(error)\n //handle error.\n }\n }\n\n parseJwt (token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n\n return JSON.parse(jsonPayload);\n };\n\n}\n","export default \"\\n\\n.btn-apple {\\n margin-top: 10px;\\n padding: 0px;\\n height: 45px;\\n background-color: black;\\n color: white;\\n border-color: transparent;\\n border-radius: 5px;\\n}\\n\\n.btn-apple i {\\n font-size: 120%;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9sb2dpbi9jaC1hcHBsZS1sb2dpbi9jaC1hcHBsZS1sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9sb2dpbi9jaC1hcHBsZS1sb2dpbi9jaC1hcHBsZS1sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi5idG4tYXBwbGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIGhlaWdodDogNDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYnRuLWFwcGxlIGkge1xuICBmb250LXNpemU6IDEyMCU7XG59XG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChAppleLoginService } from '../ch-apple-login.service';\n\n@Component({\n selector: 'ch-apple-login',\n templateUrl: './ch-apple-login.component.html',\n styleUrls: ['./ch-apple-login.component.css']\n})\nexport class ChAppleLoginComponent implements OnInit {\n\n private direction = 'ltr'\n\n constructor(private chGlobal : ChGlobalsService, private appleLoginService: ChAppleLoginService ) { }\n\n ngOnInit() {\n }\n\n tryAppleLogin() {\n console.log('Apple login');\n this.appleLoginService.appleLogin();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, UrlSegmentGroup, UrlSegment } from '@angular/router';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CHAuthGuard implements CanActivate, CanActivateChild {\n\n constructor(private router: Router,private chGlobal : ChGlobalsService) { }\n\n canActivate(): boolean\n {\n\n console.log(\"ROUTE (canActivate) : \");\n console.log(this.router.createUrlTree);\n\n if (this.chGlobal.getCurrentUser() != null ) //&& this.chGlobal.currentUserIsManager())\n {\n // logged in so return true\n return true;\n }\n\n // not logged in so redirect to login page\n //this.router.navigate(['login']);\n\n return false;\n }\n\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | UrlTree {\n\n //console.log(\"ROUTE (canActivateChild) : \" + state.url);\n const urlTree : UrlTree = this.router.parseUrl(state.url);\n if (this.chGlobal.getCurrentUser() != null ) //&& this.chGlobal.currentUserIsManager())\n {\n if (urlTree.root.children.primary.segments[0].toString() == 'login') {\n urlTree.root.children.primary.segments[0].path = this.chGlobal.getGroupInfo().identifier;\n //console.log('Redirect to : ' + urlTree.toString())\n //this.chGlobal.setLoginRedirect(state.url);\n return urlTree;\n } else {\n return true;\n }\n\n } else {\n urlTree.root.children.primary.segments = [\n urlTree.root.children.primary.segments[0],\n new UrlSegment('login', {})\n ]\n //console.log('Redirect to : ' + urlTree.toString())\n this.chGlobal.setLoginRedirect(state.url);\n return urlTree;\n }\n }\n}\n\n","import { isNullOrUndefined } from \"util\";\n\nexport class GoogleClientData {\n public identifier : string;\n public email : string;\n public givenName : string;\n public familyName : string;\n public picUrl : string;\n\n constructor(base : object | null | undefined) {\n if (isNullOrUndefined(base)) {\n this.identifier = '';\n this.email = '';\n this.givenName = '';\n this.familyName = '';\n this.picUrl = '';\n } else {\n this.identifier = isNullOrUndefined(base['identifier']) ? '' : base['identifier'];\n this.email = isNullOrUndefined(base['email']) ? '' : base['email'];\n this.givenName = isNullOrUndefined(base['givenName']) ? '' : base['givenName'];\n this.familyName = isNullOrUndefined(base['familyName']) ? '' : base['familyName'];\n this.picUrl = isNullOrUndefined(base['picUrl']) ? '' : base['picUrl'];\n }\n }\n\n public isValid() : boolean {\n return this.identifier != '' && this.email != '' && ( this.givenName != '' || this.familyName != '');\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Meta } from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChGoogleLoginService {\n\n private readonly googleScriptUrl: string =\n 'https://apis.google.com/js/platform.js';\n\n private ready: Promise = new Promise(resolve => {\n /*\n if (typeof window !== undefined) {\n const script = require('scriptjs');\n script(this.googleScriptUrl, () => resolve(true));\n } else {\n resolve(false);\n } */\n });\n\n constructor(private meta: Meta) {\n /*\n this.meta.addTag({ name: 'google-signin-client_id', content: '199664446516-leo17qp4hn1kcov6drvkf70jrtnmcgus.apps.googleusercontent.com' })\n this.ready.then(isReady => {\n if (isReady) {\n console.log(' > Google Login Script initiated!')\n this.init();\n }\n });\n */\n }\n\n init() {\n }\n\n public async googleLogin() {\n try {\n\n } catch (error) {\n console.log(error)\n //handle error.\n }\n }\n\n}\n","export default \".google-button-wrapper {\\n background-color: white;\\n border-radius: 5px;\\n height: 45px;\\n width: 100%;\\n padding: 7px;\\n cursor: pointer;\\n}\\n.google-button-wrapper .google-button-txt {\\n font-family: \\\"open sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 18px;\\n color: black;\\n font-weight: normal;\\n padding: 5px;\\n}\\n.google-button-wrapper .google-button-logo {\\n height: 24px;\\n margin-top: -4px;\\n}\\n.g_id_signin {\\n display: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9sb2dpbi9jaC1nb29nbGUtbG9naW4vY2gtZ29vZ2xlLWxvZ2luLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL2xvZ2luL2NoLWdvb2dsZS1sb2dpbi9jaC1nb29nbGUtbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQ0RGO0FER0U7RUFDRSx3RUFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0FDREo7QURJRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtBQ0ZKO0FET0E7RUFDRSxhQUFBO0FDSkYiLCJmaWxlIjoic3JjL2FwcC9jaGlsL2xvZ2luL2NoLWdvb2dsZS1sb2dpbi9jaC1nb29nbGUtbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLmdvb2dsZS1idXR0b24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDdweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC5nb29nbGUtYnV0dG9uLXR4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwib3BlbiBzYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG5cbiAgLmdvb2dsZS1idXR0b24tbG9nbyB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gIH1cblxufVxuXG4uZ19pZF9zaWduaW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmdvb2dsZS1idXR0b24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDdweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmdvb2dsZS1idXR0b24td3JhcHBlciAuZ29vZ2xlLWJ1dHRvbi10eHQge1xuICBmb250LWZhbWlseTogXCJvcGVuIHNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogNXB4O1xufVxuLmdvb2dsZS1idXR0b24td3JhcHBlciAuZ29vZ2xlLWJ1dHRvbi1sb2dvIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4uZ19pZF9zaWduaW4ge1xuICBkaXNwbGF5OiBub25lO1xufSJdfQ== */\"","import { Component, EventEmitter, Inject, OnInit, Output, Renderer2 } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChGoogleLoginService } from '../ch-google-login.service';\nimport { DOCUMENT } from '@angular/common';\nimport { GoogleClientData } from '../ch-google-client-data';\n\n@Component({\n selector: 'ch-google-login',\n templateUrl: './ch-google-login.component.html',\n styleUrls: ['./ch-google-login.component.scss']\n})\nexport class ChGoogleLoginComponent implements OnInit {\n\n @Output()\n googleData = new EventEmitter();\n\n constructor(private chGlobal : ChGlobalsService, private googleLoginService: ChGoogleLoginService,\n private _renderer2: Renderer2, @Inject(DOCUMENT) private _document: Document\n ) {\n }\n\n ngOnInit() {\n\n let script1 = this._renderer2.createElement('script');\n script1.type = `application/javascript`;\n script1.text = `\n\n function decodeJwtResponseFromGoogleAPI(token) {\n let base64Url = token.split('.')[1]\n let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n let jsonPayload =\n decodeURIComponent(atob(base64).split('').map(function (c) {\n return '%' + ('00' +\n c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n return JSON.parse(jsonPayload)\n }\n\n function handleCredentialResponse(response) {\n //console.log(response)\n responsePayload = decodeJwtResponseFromGoogleAPI(response.credential);\n /*\n console.log(\"ID: \" + responsePayload.sub);\n console.log('Full Name: ' + responsePayload.name);\n console.log('Given Name: ' + responsePayload.given_name);\n console.log('Family Name: ' + responsePayload.family_name);\n console.log(\"Image URL: \" + responsePayload.picture);\n console.log(\"Email: \" + responsePayload.email);\n */\n window.googleLoginCallback.done(\n {\n identifier: responsePayload.sub,\n displayName: responsePayload.name,\n givenName : responsePayload.given_name,\n familyName : responsePayload.family_name,\n picUrl : responsePayload.picture,\n email: responsePayload.email\n }\n )\n }\n `;\n\n this._renderer2.appendChild(this._document.body, script1);\n\n let script2 = this._renderer2.createElement('script');\n script2.async = true;\n script2.defer = true;\n script2.src = 'https://apis.google.com/js/platform.js';\n this._renderer2.appendChild(this._document.body, script2);\n\n let script3 = this._renderer2.createElement('script');\n script3.async = true;\n script3.src = 'https://accounts.google.com/gsi/client';\n this._renderer2.appendChild(this._document.body, script3);\n\n window['googleLoginCallback'] = { component: this, done: (data: object) => this.googleLoginDone(data) };\n }\n\n\n tryGoogleLogin() {\n console.log('Google login');\n const signInButton : HTMLButtonElement = document.querySelector('.g_id_signin iframe').nextSibling as HTMLButtonElement;\n if (signInButton != null) {\n signInButton.click();\n }\n }\n\n googleLoginDone(userData: object) {\n const googleDataObj = new GoogleClientData(userData);\n if (googleDataObj.isValid()) {\n this.googleData.emit(googleDataObj);\n } else {\n this.googleData.emit('Invalid Data');\n }\n }\n\n}\n","export default \"img {\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.ch-login-main-message {\\n color : black;\\n}\\n\\n.form-group input,\\n.form-group a,\\n.form-group button,\\n.form-group div {\\n margin-bottom: 5px;\\n border-radius: 2px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9sb2dpbi9jaC1sb2dpbi9jaC1sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksb0JBQWlCO09BQWpCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7Ozs7RUFJRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9sb2dpbi9jaC1sb2dpbi9jaC1sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNoLWxvZ2luLW1haW4tbWVzc2FnZSB7XG4gICAgY29sb3IgOiBibGFjaztcbn1cblxuLmZvcm0tZ3JvdXAgaW5wdXQsXG4uZm9ybS1ncm91cCBhLFxuLmZvcm0tZ3JvdXAgYnV0dG9uLFxuLmZvcm0tZ3JvdXAgZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG4iXX0= */\"","\nimport { Component, OnInit, ViewContainerRef} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { trigger, transition, useAnimation } from '@angular/animations';\nimport { shake } from 'ng-animate';\nimport { GroupInfo, OpResult, MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChImageManagerService } from 'app/chilsystem/CHImages/ch-image-manager.service';\nimport { isNullOrUndefined } from 'util';\nimport { GoogleClientData } from '../ch-google-client-data';\n// import { Router } from '@angular/router';\n\n@Component({\n selector: 'app-ch-login',\n templateUrl: './ch-login.component.html',\n styleUrls: ['./ch-login.component.css'],\n animations: [\n trigger('shake', [transition('* => *', useAnimation(shake))])\n ]\n})\n\n/**\n * Ventana de login de entrada al sistema CHIL.\n * Está personalizada de forma que es necesario un que indica el nombre de grupo para ser usada:\n * p.ej: \\aprogip\\login.\n * Lo primero que hace es buscar en el servidor los atributos del grupo para mostrarlos como\n * imagen de la ventana.\n * Estos atributos se guardan en el cookie\n */\nexport class ChLoginComponent implements OnInit {\n\n groupName : string | null = null;\n displayName : string = \"\";\n description : string = \"\";\n headerUrl : string = \"\";\n backUrlBase : string[] = [\n \"https://78.media.tumblr.com/e046e3ab74175d3ed44eb52eae63a7bc/tumblr_oek9yrUEBb1qij426o1_1280.jpg\",\n \"https://78.media.tumblr.com/c81b510e7fa22602e1104a115b346ebd/tumblr_p71ck3R0zN1qbg3s6o1_500.png\",\n \"https://78.media.tumblr.com/8b7473981ccb6abda74fc06d1d6a5c74/tumblr_ox7br6euq21rbllmfo1_500.jpg\",\n \"https://78.media.tumblr.com/726df49e89085e2df567c9a661a4b903/tumblr_o8gxu2O29L1ukofkbo1_r1_1280.jpg\",\n \"https://78.media.tumblr.com/1b1fbb2162fed64b0040067deba0b933/tumblr_o85oamLi1N1twxld5o1_1280.jpg\",\n \"https://78.media.tumblr.com/86e8379cbc43778086acb214d16c56bd/tumblr_o19g50uwhk1rte5gyo5_540.jpg\",\n \"https://78.media.tumblr.com/dd92367ef07517b12883e160a4685d1e/tumblr_o90xlsDu081ukofkbo1_1280.jpg\",\n \"https://78.media.tumblr.com/46b22d4ab5be559035c6e9c1c09e6146/tumblr_o947n97YcA1v6o8pbo1_540.jpg\",\n \"https://78.media.tumblr.com/8d2af5c5dde07f3e84c262567be54fff/tumblr_nvck1nlr1j1uhc27eo1_1280.jpg\",\n \"https://78.media.tumblr.com/6eda396ef45dbac7495c51c6af574c5f/tumblr_nocijvp8bk1tkq3nno1_540.jpg\",\n \"https://78.media.tumblr.com/f2a25240bbfc7fe79cefa79dff2dd324/tumblr_o6wozyXxzR1ubmfzyo1_1280.jpg\",\n \"https://78.media.tumblr.com/fccc445ce9f992048e1109b1cbd6639e/tumblr_o7cc8bm0Od1sq9drqo1_500.jpg\",\n \"https://78.media.tumblr.com/3dd037ee10c52caa79e2d232377e1901/tumblr_o8a8w7VMNj1s9rshoo1_1280.jpg\",\n\n \"https://66.media.tumblr.com/2e4e9fbe9efd285c5e7e1e0002c1c50a/tumblr_nrl940Uza61smwu80o6_1280.jpg\",\n \"https://66.media.tumblr.com/b278c5cfe63eabb009f251946a447589/tumblr_nnwbfaKw3w1smwu80o4_1280.jpg\",\n \"https://66.media.tumblr.com/4a51b8ccfb0955ddb3ef82179511f916/tumblr_ns8ulsLiJv1smwu80o3_1280.jpg\",\n \"https://66.media.tumblr.com/26b0b33a4df3752b88a57e45b2f56f59/tumblr_nlko1wFJIV1qjvnc4o3_1280.jpg\",\n \"https://66.media.tumblr.com/c10d9465de88aa21999a346be3d46914/tumblr_o0gf81kXfL1skfj8zo1_1280.jpg\",\n \"https://66.media.tumblr.com/fe6ab38ad215543ed9391692184f5b84/tumblr_ns9r96r7Vx1qilsj9o1_r1_640.jpg\",\n \"https://66.media.tumblr.com/a000ee10384f583a33a0fcce074140a8/tumblr_nk57t6eJU11smwu80o3_1280.jpg\",\n \"https://66.media.tumblr.com/2c56b2a7abea081e024c230c6462de00/tumblr_nor6vssXhb1smwu80o2_1280.jpg\",\n \"https://66.media.tumblr.com/3d62150367721d44c10b153b201983ea/tumblr_nm753bTuiy1u19t9qo1_1280.jpg\",\n \"https://66.media.tumblr.com/6a3a5cf34e6bc613f240238c5873fd83/tumblr_nw4b672QYW1svko7io3_1280.jpg\",\n \"https://66.media.tumblr.com/fe86b05b11306c42e9ee465f755b6044/tumblr_nw4b672QYW1svko7io7_1280.jpg\",\n \"https://66.media.tumblr.com/8d913d9b900fdadccb061714a09ce917/tumblr_nub2hqoSwX1ua8u2go10_1280.jpg\",\n \"https://66.media.tumblr.com/c288ac9e35dfd34fa8eef13af1ee82ec/tumblr_nc06w1TNzi1tycy27o2_1280.jpg\",\n ];\n backUrl : string = \"https://78.media.tumblr.com/3dd037ee10c52caa79e2d232377e1901/tumblr_o8a8w7VMNj1s9rshoo1_1280.jpg\";\n picvisible : boolean = false;\n\n showMainBox : boolean = false;\n showForm : boolean = false;\n isWorking : boolean = false;\n\n animationsDisabled : boolean;\n getAttention : boolean;\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService,\n private router : Router) {\n\n let index : number = Math.trunc(Math.random()* this.backUrlBase.length);\n this.backUrl = this.backUrlBase[index];\n\n chGlobal.initToasts(vcr);\n\n this.groupName = route.parent.snapshot.paramMap.get('sitename');\n if (this.groupName === 'login') {\n this.groupName = null\n }\n\n this.animationsDisabled = true;\n this.getAttention = false;\n\n //console.log(\" SITE NAME 2 : \" + this.groupName)\n\n if (this.groupName == null) {\n this.headerUrl = \"assets/images/chil/chil3-300x300.png\"\n this.picvisible = true;\n this.tryAutomaticLogin();\n\n } else {\n chGlobal.loadGroupInfo(this.groupName)\n .then(\n value => {\n const groupInfo: GroupInfo = value;\n //console.log(groupInfo)\n this.displayName = groupInfo.displayName.toLocaleUpperCase();\n this.description = groupInfo.description;\n\n if (groupInfo.headerPictureUrl != undefined) {\n this.backUrl = this.chGlobal.correctImageURL(groupInfo.headerPictureUrl);\n }\n\n if (groupInfo.pictureUrl != undefined && groupInfo.pictureUrl != null && groupInfo.pictureUrl !== '') {\n this.headerUrl = this.chGlobal.correctImageURL(groupInfo.pictureUrl);\n this.picvisible = true;\n } else {\n this.headerUrl = '';\n this.picvisible = false;\n }\n // console.log(' * LOGIN: set group info');\n chGlobal.setGroupInfo(groupInfo);\n this.showMainBox = true;\n // console.log(' * LOGIN: go login');\n\n this.tryAutomaticLogin();\n },\n error => {\n // console.log('HA HABIDO UN ERROR');\n console.log(error);\n });\n }\n }\n\n ngOnInit() {\n }\n /**\n * Intenta un login automático a partir del token almacenado en la configuracion,\n * normalmente en as cookies.\n * Solo si no existe o hay error, abre el formulario de login manual\n */\n tryAutomaticLogin() {\n this.isWorking = true;\n this.showForm = false;\n this.chGlobal.authLogin()\n .then (\n value => {\n if (value === OpResult.OK) {\n if (this.chGlobal.currentUserIsManager()) {\n this.showSuccess();\n } else {\n this.showSuccess(); // Vamos a admitirle tambien\n } // this.showNoAuthorization();\n } else {\n this.showLoginForm();\n }\n },\n error => {\n this.showLoginForm();\n }\n );\n }\n /**\n * Muestra el formulario y lo prepara par tomar los datos\n */\n showLoginForm() {\n this.isWorking = false;\n this.showMainBox = true;\n this.showForm = true;\n }\n /**\n * Summit para efectuar el login.\n * El usuario debe haber introducido un nombre de usuario y un password válido.\n * @param loginForm La forma de logín en si\n */\n onSubmit(loginForm: any) {\n this.isWorking = true;\n this.showForm = false;\n this.login(loginForm.value.username, loginForm.value.password);\n }\n /**\n * LLama a chGlobal.Login y gestiona los resultados\n * @param username Nombre de usuario\n * @param password Password\n */\n login(username : string, password : string) {\n this.chGlobal.login(username,password)\n .then(\n value => {\n // console.log(\"LOGIN OK: \"+String(value));\n if (value == OpResult.OK){\n if (this.chGlobal.currentUserIsManager())\n this.showSuccess();\n else\n this.showSuccess(); //Vamos a admitirle tambien\n //this.showNoAuthorization();\n }\n else\n this.showError();\n },\n error => {\n // console.log('LOGIN ERROR : '+ String(error) );\n this.showError();\n });\n }\n\n googleLogin(googleData : GoogleClientData) {\n this.chGlobal.googleLogin(googleData)\n .then(\n value => {\n console.log(\"LOGIN OK: \"+String(value));\n if (value == OpResult.OK){\n if (this.chGlobal.currentUserIsManager())\n this.showSuccess();\n else\n this.showSuccess(); //Vamos a admitirle tambien\n //this.showNoAuthorization();\n }\n else\n console.log('LOGIN ERROR ');\n this.showError();\n },\n error => {\n console.log('LOGIN ERROR : '+ String(error) );\n this.showError();\n });\n }\n /**\n * Muestra el mensaje de éxito. El login se ha producido\n */\n showSuccess(){\n this.isWorking = false;\n this.showForm = false;\n this.chGlobal.showMessage(MessageType.success,'LOGIN.success.title','LOGIN.success.message');\n const redirect = this.chGlobal.getLoginRedirect();\n if (redirect == '') {\n this.router.navigate(['../home'], { relativeTo: this.route });\n } else {\n setTimeout( () => {\n //console.log('Redirect ' + redirect)\n this.chGlobal.redirectURL(redirect)\n //this.router.navigate([redirect]);\n }, 1000)\n\n /*.then (value => {\n if (value)\n console.log('Navegacion posible')\n else\n console.log('Navegacion imposible')\n });\n */\n }\n\n };\n\n /**\n * Muestra el mensaje correspondiente a que el login se ha producido pero en cambio el usuario\n * no tiene privilegios administrativos para gestionar el grupo.\n */\n showNoAuthorization(){\n this.isWorking = false;\n this.showForm = true;\n this.chGlobal.showMessage(MessageType.warning,'LOGIN.noauthorized.title','LOGIN.noauthorized.message');\n\n };\n\n /**\n * Muestra el mensaje correspondiente a que el nombre de usuario o el password son\n * erróneos\n */\n showError() {\n this.isWorking = false;\n this.showForm = true;\n this.animationsDisabled = false;\n this.getAttention = !this.getAttention;\n this.chGlobal.showMessage(MessageType.error,'LOGIN.loginerror.title','LOGIN.loginerror.message');\n }\n\n getGoogleLoginData(value) {\n //console.log(value)\n //console.log(typeof value)\n\n if ( (typeof value) == 'object') {\n this.googleLogin( value as GoogleClientData );\n } else {\n this.chGlobal.showMessage(MessageType.error,'LOGIN.loginerror.title','LOGIN.loginerror.message');\n }\n }\n}\n\nfunction onSignIn(googleUser) {\n var profile = googleUser.getBasicProfile();\n console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.\n console.log('Name: ' + profile.getName());\n console.log('Image URL: ' + profile.getImageUrl());\n console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.\n}\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tYWlsL2NoLWVtYWlsL2NoLWVtYWlsLnNjc3MiLCJzcmMvYXBwL2NoaWwvbWFpbC9jaC1lbWFpbC9jaC1lbWFpbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0ksaUJBQUE7QUNGSjs7QURJQTtFQUNJLGlCQUFBO0FDREo7O0FESUE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxvRUFiUztFQWNULG9CQWJZO0VBY1osZ0JBQUE7QUNESjs7QURHQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9FQXZCUztBQ3VCYjs7QURFQTtFQUNJLGdCQUFBO0VBQ0Esb0VBM0JTO0VBNEJULGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0NKOztBREVBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9FQXZDUztFQXdDVCxlQUFBO0VBQ0EsZ0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbWFpbC9jaC1lbWFpbC9jaC1lbWFpbC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAkYmFzaWMtc3BhY2luZztcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuLnN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbn1cbi5ib2R5LXN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0bntcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn0iLCJpbWcge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLmJvZHkge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgZm9udC1zaXplOiA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbi5zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uYm9keS1zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogOTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogODBweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59Il19 */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'ch-email',\n templateUrl: './ch-email.html',\n styleUrls: ['./ch-email.scss']\n})\n\nexport class ChEmail implements OnInit {\n latitude = -28.68352;\n longitude = -147.20785;\n mapType = 'satellite';\n\n ngOnInit() {\n\n }\n}","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtY29uZmlnL2NoLW1haWwtY29uZmlnLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jaGlsL21haWwvY2gtbWFpbC1jb25maWcvY2gtbWFpbC1jb25maWcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDSSxpQkFBQTtBQ0ZKOztBRElBO0VBQ0ksaUJBQUE7QUNESjs7QURJQTtFQUNJLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG9FQWJTO0VBY1Qsb0JBYlk7RUFjWixnQkFBQTtBQ0RKOztBREdBO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0VBdkJTO0FDdUJiOztBREVBO0VBQ0ksZ0JBQUE7RUFDQSxvRUEzQlM7RUE0QlQsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FDQ0o7O0FERUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esb0VBdkNTO0VBd0NULGVBQUE7RUFDQSxnQkFBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtY29uZmlnL2NoLW1haWwtY29uZmlnLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAkYmFzaWMtc3BhY2luZztcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuLnN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbn1cbi5ib2R5LXN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0bntcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn0iLCJpbWcge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLmJvZHkge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgZm9udC1zaXplOiA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbi5zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uYm9keS1zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogOTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogODBweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59Il19 */\"","\nimport { Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChImageManagerService } from 'app/chilsystem/CHImages/ch-image-manager.service';\nimport { isNullOrUndefined } from 'util';\nimport { EmailConfig } from '../ch-mail-def';\nimport { ChMailEditorWindowComponent } from '../ch-mail-editor-window/ch-mail-editor-window.component';\n\n@Component({\n selector: 'app-mailconfig',\n templateUrl: './ch-mail-config.component.html',\n styleUrls: ['./ch-mail-config.component.scss']\n})\nexport class ChMailConfigComponent implements OnInit {\n\n private langCodes = [\n { cod: 'ES', name: 'Español'},\n { cod: 'CA', name: 'Catalá'},\n { cod: 'EN', name: 'English'},\n { cod: 'FR', name: 'Français'}\n ];\n\n private model: EmailConfig = null;\n\n constructor(private chGlobal: ChGlobalsService, private chImageService: ChImageManagerService, private vcr: ViewContainerRef) {\n\n chGlobal.initToasts(vcr);\n\n // this.model = JSON.parse(JSON.stringify(chGlobal.getGroupInfo()));\n }\n\n ngOnInit() {\n this.model = {\n uid: this.chGlobal.getGroupInfo().uid,\n name: this.chGlobal.getGroupInfo().displayName,\n refEmail: 'admin@chil.org',\n contactEmail: this.chGlobal.getGroupInfo().email ? this.chGlobal.getGroupInfo().email : '',\n\n description: this.chGlobal.getGroupInfo().description,\n disclaimer: '',\n adminData: '',\n\n mailActive: false,\n adminPosts: false,\n adminComments: false,\n adminForms: false,\n adminTests: false,\n\n generalPosts: false,\n generalComments: false,\n\n showLogo: true,\n showName: true,\n showHeader: true,\n\n logoUrl: this.chImageService.correctURL(this.chGlobal.getGroupInfo().pictureUrl,null,null,false),\n bannerUrl: this.chImageService.correctURL(this.chGlobal.getGroupInfo().headerPictureUrl,null,null,false),\n\n backcolor1: 0xF3F3F5,\n backcolor2: 0xFFFFFF,\n\n bordercolor: 0xD6D8DB,\n\n titlecolor1: 0xEE7B06,\n titlecolor2: 0x000000,\n titlecolor3: 0x3C3F44,\n\n textcolor: 0x3C3F44,\n textauxcolor: 0x9199A1,\n\n linkcolor: 0x0077CC\n };\n\n this.chGlobal.getMailConfig()\n .then ( (value) => {\n if (value.uid) {\n this.model = value;\n }\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No se ha posidio leer la configuración de mail del grupo.');\n }\n );\n }\n\n public saveMailConfig(){\n this.chGlobal.showRunningWindow('Guardando configuración...');\n\n this.chGlobal.updateMailConfig(this.model)\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.showMessage(MessageType.success, 'Perfil guardado',\n 'La configuración de correo Ha sido guardada');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de correo ha podido ser guardada en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La configuración de correo ha podido ser guardada en la base de datos.');\n }\n );\n }\n\n public testMail() {\n this.chGlobal.showRunningWindow('Enviando correo de prueba...');\n\n this.chGlobal.sendMail('admin', 'test@chil.org', 'frn@chil.org', 'Email de prueba',\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque pretium nisi eu dolor commodo, a tempus purus egestas. Ut efficitur, ipsum congue finibus imperdiet, nibh dui sagittis urna, at sagittis ex tortor luctus turpis. Fusce semper semper nisl, in porta ligula congue et. Aliquam erat volutpat. Duis scelerisque mattis tempor. Aenean at mattis velit, vitae sagittis lacus. Pellentesque scelerisque lacus ante, sit amet eleifend risus venenatis et. Maecenas sollicitudin cursus odio in fringilla. Pellentesque eget dui pretium, ultrices justo rutrum, auctor elit.',\n 'Quisque non varius nulla. Nulla libero leo, aliquam vitae cursus accumsan, imperdiet quis libero. Donec eu luctus enim, in accumsan justo. Sed mollis turpis dolor, eu vestibulum magna interdum vitae. Ut aliquam dolor et ipsum viverra feugiat. Curabitur luctus condimentum vehicula. Aliquam ultrices dictum efficitur. Duis fermentum vel mi dapibus vehicula. Integer libero est, suscipit fermentum consectetur eu, tincidunt eu ante. Ut et facilisis dui. Suspendisse id dapibus quam. Vivamus sed orci et diam porttitor eleifend nec eget turpis. Nunc vehicula lorem et dolor fermentum facilisis. Aliquam ut sem in erat ultricies tristique id in nibh. Morbi quis interdum velit. Phasellus venenatis egestas mi.'\n ).then ( (value) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Correo enviado',\n 'El correo de prueba ha sido enviado');\n },\n (reason) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones', 'El correo no ha podido ser enviado');\n }\n );\n }\n\n public sendMail() {\n\n ChMailEditorWindowComponent.show(this.model,\n { initialState : {\n data : {\n title: 'Prueba de factura',\n }\n },\n class: 'ch-modal-document ch-modal-big-big ',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n}\n","// ***************************************************************************************\n//\n// Estructuras globales. CONFIGURACION DEL SISTEMA DE EMAIL\n//\n// ***************************************************************************************\n//\n//\n/**\n * Información del grupo que se está editando en el panel de control.\n * Esta información se lee en el login y se almacena en una variable\n * global\n */\nexport interface EmailConfig {\n uid: string;\n name: string;\n refEmail: string;\n\n description: string;\n disclaimer: string;\n adminData: string;\n contactEmail: string;\n\n mailActive: boolean;\n\n adminPosts: boolean;\n adminComments: boolean;\n adminForms: boolean;\n adminTests: boolean;\n\n generalPosts: boolean;\n generalComments: boolean;\n\n showLogo: boolean;\n showName: boolean;\n showHeader: boolean;\n\n logoUrl: string;\n bannerUrl: string;\n\n backcolor1: number;\n backcolor2: number;\n\n bordercolor: number;\n\n titlecolor1: number;\n titlecolor2: number;\n titlecolor3: number;\n\n textcolor: number;\n textauxcolor: number;\n\n linkcolor: number;\n\n}\n\nexport class ChEmail {\n to : Array = [];\n cc : Array = [];\n ccc : Array = [];\n\n topImage: Object | null = null;\n title: string = '';\n body: string = '';\n bottomImage: Object | null = null;\n attachments: any[] = [];\n\n config: EmailConfig | null = null;\n}\n","export default \".main-mail-header {\\n padding-bottom: 10px;\\n border-bottom: 3px solid #E7E7E7;\\n margin-bottom: 10px;\\n}\\n\\n.mail-preview {\\n padding: 0px;\\n border: 1px solid #E7E7E7;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtZWRpdG9yLXdpbmRvdy9jaC1tYWlsLWVkaXRvci13aW5kb3cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NoaWwvbWFpbC9jaC1tYWlsLWVkaXRvci13aW5kb3cvY2gtbWFpbC1lZGl0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0Usb0JBQUE7RUFDQSxnQ0FBQTtFQUNBLG1CQUFBO0FDSkY7O0FET0E7RUFDRSxZQUFBO0VBQ0EseUJBQUE7QUNKRiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbWFpbC9jaC1tYWlsLWVkaXRvci13aW5kb3cvY2gtbWFpbC1lZGl0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLm1haW4tbWFpbC1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWFpbC1wcmV2aWV3IHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjtcbn1cbiIsIi5tYWluLW1haWwtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRTdFN0U3O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWFpbC1wcmV2aWV3IHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTdFN0U3O1xufSJdfQ== */\"","import { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChEmail, EmailConfig } from '../ch-mail-def';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'app-ch-mail-editor-window',\n templateUrl: './ch-mail-editor-window.component.html',\n styleUrls: ['./ch-mail-editor-window.component.scss']\n})\nexport class ChMailEditorWindowComponent implements OnInit {\n\n private title1 = \"Enviar email\";\n\n private static stack : BsModalRef[] = [];\n private static stackCallbacks : Function[] = [];\n private static passConfig : EmailConfig = null;\n\n private config : EmailConfig = null;\n private model : ChEmail = new ChEmail();\n\n constructor(vcr: ViewContainerRef, private chGlobal: ChGlobalsService) {\n\n chGlobal.initToasts(vcr);\n this.model.title = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\"\n this.model.body = \"Aliquam id neque sed nisi sodales cursus sed eu dui. Mauris magna erat, facilisis nec turpis sit amet, varius dapibus libero. Integer sit amet eros a massa gravida condimentum. Vestibulum eget mattis leo. Maecenas sodales venenatis libero. Suspendisse potenti. Etiam eu volutpat eros, eu maximus neque. Phasellus vel tristique justo, convallis tempus lectus. Nam fermentum venenatis sapien, a sagittis neque vestibulum sed. Duis tristique arcu quis vestibulum porttitor.\"\n }\n\n ngOnInit() {\n this.config = ChMailEditorWindowComponent.passConfig;\n this.model.config = this.config;\n\n console.log(this.config)\n }\n\n confirm() {\n ChMailEditorWindowComponent.hide(true);\n }\n\n decline() {\n ChMailEditorWindowComponent.hide(false);\n }\n\n send() {\n console.log(this.model)\n if (this.model.title.trim() == '') {\n this.chGlobal.showMessage(MessageType.error,'Título vacio','El titulo del email no puede estar vacio')\n } else {\n\n }\n }\n\n public static show(emailConfig: EmailConfig, config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChMailEditorWindowComponent.passConfig = emailConfig;\n ChMailEditorWindowComponent.stack.push(service.showModalWindow(this, config));\n ChMailEditorWindowComponent.stackCallbacks.push(callback != null? callback : () => {});\n }\n\n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChMailEditorWindowComponent.stack.pop());\n let callback = ChMailEditorWindowComponent.stackCallbacks.pop();\n if (executeCallback)\n callback();\n }\n\n hexColor(color : number ) : string {\n return this.chGlobal.toColor(color);\n }\n}\n","export default \".ch-show-filter-label {\\n color: #f09b00;\\n}\\n\\n.ch-post-filter-panel {\\n border: 1px solid #e7eaec;\\n margin-left: 5px;\\n margin-right: 5px;\\n padding: 5px;\\n background: white;\\n}\\n\\n.list-posts-footer-text {\\n margin: 5px 10px 0px 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtdGVtcGxhdGVzL2NoLW1haWwtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzIiwiL1VzZXJzL2Zlcm5hbmRvcnViaW8vRG9jdW1lbnRzL0NISUwgMy9DaGlsIDMgUGFuZWwvc3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2NoaWwvbWFpbC9jaC1tYWlsLXRlbXBsYXRlcy9jaC1tYWlsLXRlbXBsYXRlcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLGNDNkRZO0FDOURoQjs7QUZJQTtFQUNJLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxpQkNvRGU7QUNyRG5COztBRklBO0VBQ0kseUJBQUE7QUVESiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbWFpbC9jaC1tYWlsLXRlbXBsYXRlcy9jaC1tYWlsLXRlbXBsYXRlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLmNoLXNob3ctZmlsdGVyLWxhYmVsIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG5cbi5jaC1wb3N0LWZpbHRlci1wYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3ItYmstYm9yZGVyO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQ6ICRnZW5lcmFsLWJrLWNvbG9yXG59XG5cbi5saXN0LXBvc3RzLWZvb3Rlci10ZXh0IHtcbiAgICBtYXJnaW46IDVweCAxMHB4IDBweCAxMHB4O1xufVxuIiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIiwiLmNoLXNob3ctZmlsdGVyLWxhYmVsIHtcbiAgY29sb3I6ICNmMDliMDA7XG59XG5cbi5jaC1wb3N0LWZpbHRlci1wYW5lbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2VhZWM7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4ubGlzdC1wb3N0cy1mb290ZXItdGV4dCB7XG4gIG1hcmdpbjogNXB4IDEwcHggMHB4IDEwcHg7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { ChMailTemplate } from './ch-mail-template';\n\n@Component({\n selector: 'app-mailtemplates',\n templateUrl: './ch-mail-templates.component.html',\n styleUrls: ['./ch-mail-templates.component.scss']\n})\nexport class ChMailTemplatesComponent implements OnInit {\n\n private itemsList : ChMailTemplate[] = [];\n private selectedItem : ChMailTemplate | null = null;\n\n constructor(private chGlobal: ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n getAuxTitle() : string {\n return this.selectedItem != null? this.selectedItem.name : '';\n }\n\n newTemplate() {\n\n }\n}\n\n\n","export default \".mail-root {\\n background-color: #e7eaec;\\n padding: 5px;\\n}\\n.mail-root .mail-outframe {\\n max-width: 800px;\\n margin-left: auto;\\n margin-right: auto;\\n padding: 0px;\\n border: 1px solid #e7eaec;\\n}\\n.mail-root .mail-outframe .mail-header {\\n position: relative;\\n width: 100%;\\n}\\n.mail-root .mail-outframe .mail-header .mail-logo-title {\\n position: absolute;\\n top: 10px;\\n left: 10px;\\n z-index: 200;\\n}\\n.mail-root .mail-outframe .mail-header .mail-logo-header {\\n z-index: 100;\\n}\\n.mail-root .mail-inframe {\\n padding: 5px;\\n}\\n.mail-root .mail-inframe .mail-text-title {\\n width: 100%;\\n font-size: 120%;\\n text-align: center;\\n font-weight: bold;\\n margin-top: 10px;\\n}\\n.mail-root .mail-inframe .mail-text-body {\\n width: 100%;\\n margin-top: 5px;\\n}\\n.mail-root .mail-footer {\\n padding: 5px;\\n font-size: 80%;\\n text-align: center;\\n}\\n.mail-root .mail-footer .mail-footer-disclaimer,\\n.mail-root .mail-footer .mail-footer-admindata,\\n.mail-root .mail-footer .mail-footer-contactemail {\\n margin-top: 5px;\\n}\\n.mail-root .mail-footer .footer-main-border {\\n border-top: 1px solid #e7eaec;\\n width: 80%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-bottom: 5px;\\n}\\n.mail-root .mail-footer .footer-middle-border {\\n border-top: 1px solid #e7eaec;\\n width: 40%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-bottom: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtdmlldy9jaC1tYWlsLXZpZXcuY29tcG9uZW50LnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvY2hpbC9tYWlsL2NoLW1haWwtdmlldy9jaC1tYWlsLXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSx5QkNnRXdCO0VEL0R4QixZQUFBO0FFREY7QUZHRTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtBRURKO0FGR0k7RUFDRSxrQkFBQTtFQUNBLFdBQUE7QUVETjtBRkdNO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUVEUjtBRkdNO0VBQ0UsWUFBQTtBRURSO0FGS0U7RUFDRSxZQUFBO0FFSEo7QUZLSTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FFSE47QUZLSTtFQUNFLFdBQUE7RUFDQSxlQUFBO0FFSE47QUZNRTtFQUNFLFlBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QUVKSjtBRk1JOzs7RUFHRSxlQUFBO0FFSk47QUZNSTtFQUNFLDZCQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBRUpOO0FGTUk7RUFDRSw2QkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUVKTiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbWFpbC9jaC1tYWlsLXZpZXcvY2gtbWFpbC12aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4ubWFpbC1yb290IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItYmstYm9yZGVyO1xuICBwYWRkaW5nOiA1cHg7XG5cbiAgLm1haWwtb3V0ZnJhbWUge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvci1iay1ib3JkZXI7XG5cbiAgICAubWFpbC1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5tYWlsLWxvZ28tdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgei1pbmRleDogMjAwO1xuICAgICAgfVxuICAgICAgLm1haWwtbG9nby1oZWFkZXIge1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tYWlsLWluZnJhbWUge1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgIC5tYWlsLXRleHQtdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5tYWlsLXRleHQtYm9keSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cbiAgLm1haWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLm1haWwtZm9vdGVyLWRpc2NsYWltZXIsXG4gICAgLm1haWwtZm9vdGVyLWFkbWluZGF0YSxcbiAgICAubWFpbC1mb290ZXItY29udGFjdGVtYWlsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gICAgLmZvb3Rlci1tYWluLWJvcmRlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByaW1hcnktY29sb3ItYmstYm9yZGVyO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAuZm9vdGVyLW1pZGRsZS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLWJrLWJvcmRlcjtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIiwiLm1haWwtcm9vdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2VhZWM7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5tYWlsLXJvb3QgLm1haWwtb3V0ZnJhbWUge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2VhZWM7XG59XG4ubWFpbC1yb290IC5tYWlsLW91dGZyYW1lIC5tYWlsLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWFpbC1yb290IC5tYWlsLW91dGZyYW1lIC5tYWlsLWhlYWRlciAubWFpbC1sb2dvLXRpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDIwMDtcbn1cbi5tYWlsLXJvb3QgLm1haWwtb3V0ZnJhbWUgLm1haWwtaGVhZGVyIC5tYWlsLWxvZ28taGVhZGVyIHtcbiAgei1pbmRleDogMTAwO1xufVxuLm1haWwtcm9vdCAubWFpbC1pbmZyYW1lIHtcbiAgcGFkZGluZzogNXB4O1xufVxuLm1haWwtcm9vdCAubWFpbC1pbmZyYW1lIC5tYWlsLXRleHQtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMjAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm1haWwtcm9vdCAubWFpbC1pbmZyYW1lIC5tYWlsLXRleHQtYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4ubWFpbC1yb290IC5tYWlsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tYWlsLXJvb3QgLm1haWwtZm9vdGVyIC5tYWlsLWZvb3Rlci1kaXNjbGFpbWVyLFxuLm1haWwtcm9vdCAubWFpbC1mb290ZXIgLm1haWwtZm9vdGVyLWFkbWluZGF0YSxcbi5tYWlsLXJvb3QgLm1haWwtZm9vdGVyIC5tYWlsLWZvb3Rlci1jb250YWN0ZW1haWwge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4ubWFpbC1yb290IC5tYWlsLWZvb3RlciAuZm9vdGVyLW1haW4tYm9yZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlN2VhZWM7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5tYWlsLXJvb3QgLm1haWwtZm9vdGVyIC5mb290ZXItbWlkZGxlLWJvcmRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlYWVjO1xuICB3aWR0aDogNDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59Il19 */\"","import { Component, Input, OnInit } from '@angular/core';\nimport { ChEmail } from '../ch-mail-def';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n selector: 'ch-mail-view',\n templateUrl: './ch-mail-view.component.html',\n styleUrls: ['./ch-mail-view.component.scss']\n})\nexport class ChMailViewComponent implements OnInit {\n\n @Input()\n public email : ChEmail | null = null;\n\n constructor(private chGlobal : ChGlobalsService) { }\n\n ngOnInit() {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbW9iaWxlL2NoLW1vYmlsZS1jb25mLWFjdGl2YXRpb24vY2gtbW9iaWxlLWNvbmYtYWN0aXZhdGlvbi5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'ch-mobile-conf-activation',\n templateUrl: './ch-mobile-conf-activation.component.html',\n styleUrls: ['./ch-mobile-conf-activation.component.css']\n})\nexport class ChMobileConfActivationComponent implements OnInit {\n\n private statusCodes = [\n { cod: 'active', title: 'Activa'},\n { cod: 'inactive', title: 'Inactiva'},\n { cod: 'suspended', title: 'Suspendida'}\n ];\n private _status: any = { cod: 'active', title: 'Activa'};\n get status(): any {\n // console.log(this._status);\n return this._status;\n }\n set status(value: any) {\n // console.log(value);\n if ( (typeof value) === 'string') {\n this._status = this.statusCodes.find(element => element.cod === value);\n } else {\n this._status = value;\n }\n }\n private innactiveMessage = '';\n\n private _appStartup: object = { status: 'active', innactiveMessage: 'Sin mensaje' };\n @Input()\n public get appStartup() {\n return this._appStartup;\n };\n public set appStartup(val) {\n this._appStartup = val;\n this.status = this._appStartup['status'];\n this.innactiveMessage = this._appStartup['innactiveMessage'];\n }\n\n constructor(private chGlobal: ChGlobalsService) {\n\n }\n ngOnInit() {\n }\n\n dummy(){\n }\n\n publishStatus() {\n this.chGlobal.showRunningWindow('Actualizando status de la app ...');\n this.chGlobal.updateAppStatus({status: this.status.cod, innactiveMessage: this.innactiveMessage })\n .then( (result) => {\n this.chGlobal.hideRunningWindow();\n if (result) {\n this.chGlobal.showMessage(MessageType.success, 'Status actualizado',\n 'El status de la aplicación ha sido actualizado con éxito.');\n this.appStartup['status'] = this.status.cod;\n this.appStartup['innactiveMessage'] = this.innactiveMessage;\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'El status de la aplicación no ha podido ser actualizado.');\n }\n },\n (rejected) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'El status de la aplicación no ha podido ser actualizado.');\n })\n .catch( (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El status de la aplicación no ha podido ser actualizado.');\n });\n\n\n\n\n }\n\n}\n","export default \".nav > li > a {\\n padding-left: 5px;\\n padding-top: 10px;\\n padding-bottom: 5px;\\n padding-right: 10px;\\n color: #676a6c;\\n font-weight: 400;\\n font-size: 10px;\\n text-transform: uppercase;\\n color: #676a6c;\\n background-color: transparent;\\n}\\n\\n.selected {\\n color: #7A2184 !important;\\n /* font-weight: bold !important; */\\n text-decoration: underline;\\n /* background-color: $selected-item-color-bk !important; */\\n}\\n\\n.nav > li > a:hover {\\n color: #7A2184;\\n}\\n\\n.nav > li.active {\\n border-left: 4px solid #f09b00;\\n color: inherit;\\n /* background: inherit; */\\n}\\n\\n.nav > li.active > a {\\n color: inherit;\\n}\\n\\n.nav > li {\\n border-left: 4px solid transparent;\\n color: inherit;\\n background: inherit;\\n}\\n\\n.nav-second-level li a {\\n padding-left: 32px;\\n padding-top: 5px;\\n padding-bottom: 5px;\\n}\\n\\n.ch-conf-area {\\n font-size: larger;\\n background-color: transparent;\\n}\\n\\n.chil-nav-icon {\\n width: 15px;\\n height: 15px;\\n margin: -3px 4px 0px 0px;\\n padding: 0px;\\n}\\n\\n.ch-app-status {\\n padding-top: 2px;\\n padding-bottom: 2px;\\n padding-left: 7px;\\n padding-right: 7px;\\n text-transform: uppercase;\\n font-size: smaller;\\n color: white;\\n background-color: #C4A855;\\n}\\n\\n.ch-app-status-active {\\n background-color: green;\\n}\\n\\n.ch-app-status-inactive {\\n background-color: darkred;\\n}\\n\\nch-app-status-other {\\n background-color: gray;\\n}\\n\\n/* TABLA DE FICHEROS */\\n\\n.table-bordered.config-files-table {\\n font-size: 16px;\\n width: 100%;\\n}\\n\\n.table-bordered.config-files-table thead > tr > th {\\n padding: 2px 5px;\\n}\\n\\n.table-bordered.config-files-table tr > td {\\n padding: 2px 5px;\\n cursor: default;\\n}\\n\\n.table-bordered.config-files-table tr > td.table-file-type {\\n text-transform: uppercase;\\n font-size: 80%;\\n}\\n\\n.table-bordered.config-files-table tr:hover {\\n color: #f09b00;\\n background-color: #EFEFEF;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9tb2JpbGUvY2gtbW9iaWxlLWNvbmYtYnJvd3Nlci9jaC1tb2JpbGUtY29uZi1icm93c2VyLnNjc3MiLCIvVXNlcnMvZmVybmFuZG9ydWJpby9Eb2N1bWVudHMvQ0hJTCAzL0NoaWwgMyBQYW5lbC9zcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvY2hpbC9tb2JpbGUvY2gtbW9iaWxlLWNvbmYtYnJvd3Nlci9jaC1tb2JpbGUtY29uZi1icm93c2VyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGNDRVM7RUREVCxnQkFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGNDMERpQjtFRHpEakIsNkJBQUE7QUVESjs7QUZJQTtFQUNJLHlCQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLDBEQUFBO0FFREo7O0FGSUE7RUFDSSxjQzJEa0I7QUM1RHRCOztBRkdBO0VBQ0ksOEJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7QUVBSjs7QUZHQTtFQUNJLGNBQUE7QUVBSjs7QUZHQTtFQUNJLGtDQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0FFQUo7O0FGR0E7RUFDSSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUVBSjs7QUZHQTtFQUNJLGlCQUFBO0VBQ0EsNkJBQUE7QUVBSjs7QUZHQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0FFQUo7O0FGR0E7RUFDSSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7QUVBSjs7QUZHQTtFQUNJLHVCQUFBO0FFQUo7O0FGR0E7RUFDSSx5QkFBQTtBRUFKOztBRkdBO0VBQ0ksc0JBQUE7QUVBSjs7QUZHQSxzQkFBQTs7QUFDQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0FFQUY7O0FGRUU7RUFDRSxnQkFBQTtBRUFKOztBRkdFO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0FFREo7O0FGSUU7RUFDRSx5QkFBQTtFQUNBLGNBQUE7QUVGSjs7QUZLRTtFQUNFLGNDdENZO0VEdUNaLHlCQ3RDZTtBQ21DbkIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL21vYmlsZS9jaC1tb2JpbGUtY29uZi1icm93c2VyL2NoLW1vYmlsZS1jb25mLWJyb3dzZXIuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3N0eWxlcy9pbXBvcnRzL192YXJpYWJsZXNcIjtcblxuLm5hdiA+IGxpID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgIC8qIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkLWl0ZW0tY29sb3ItYmsgIWltcG9ydGFudDsgKi9cbn1cblxuLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yO1xufVxuLm5hdiA+IGxpLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiBiYWNrZ3JvdW5kOiBpbmhlcml0OyAqL1xufVxuXG4ubmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5uYXYgPiBsaSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXG59XG4ubmF2LXNlY29uZC1sZXZlbCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4uY2gtY29uZi1hcmVhIHtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmNoaWwtbmF2LWljb24ge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW46IC0zcHggNHB4IDBweCAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4uY2gtYXBwLXN0YXR1cyB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRBODU1O1xufVxuXG4uY2gtYXBwLXN0YXR1cy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xufVxuXG4uY2gtYXBwLXN0YXR1cy1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDtcbn1cblxuY2gtYXBwLXN0YXR1cy1vdGhlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbn1cblxuLyogVEFCTEEgREUgRklDSEVST1MgKi9cbi50YWJsZS1ib3JkZXJlZC5jb25maWctZmlsZXMtdGFibGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHRoZWFkID4gdHIgPiB0aCB7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbiAgfVxuXG4gIHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgdHIgPiB0ZC50YWJsZS1maWxlLXR5cGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICB0cjpob3ZlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWJrO1xuICB9XG5cbn1cbiIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiIsIi5uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiAjNjc2YTZjO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNjc2YTZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdGVkIHtcbiAgY29sb3I6ICM3QTIxODQgIWltcG9ydGFudDtcbiAgLyogZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yLWJrICFpbXBvcnRhbnQ7ICovXG59XG5cbi5uYXYgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzdBMjE4NDtcbn1cblxuLm5hdiA+IGxpLmFjdGl2ZSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2YwOWIwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIGJhY2tncm91bmQ6IGluaGVyaXQ7ICovXG59XG5cbi5uYXYgPiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5uYXYgPiBsaSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG4ubmF2LXNlY29uZC1sZXZlbCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4uY2gtY29uZi1hcmVhIHtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hpbC1uYXYtaWNvbiB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIG1hcmdpbjogLTNweCA0cHggMHB4IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4uY2gtYXBwLXN0YXR1cyB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRBODU1O1xufVxuXG4uY2gtYXBwLXN0YXR1cy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbn1cblxuLmNoLWFwcC1zdGF0dXMtaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrcmVkO1xufVxuXG5jaC1hcHAtc3RhdHVzLW90aGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbn1cblxuLyogVEFCTEEgREUgRklDSEVST1MgKi9cbi50YWJsZS1ib3JkZXJlZC5jb25maWctZmlsZXMtdGFibGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRhYmxlLWJvcmRlcmVkLmNvbmZpZy1maWxlcy10YWJsZSB0aGVhZCA+IHRyID4gdGgge1xuICBwYWRkaW5nOiAycHggNXB4O1xufVxuLnRhYmxlLWJvcmRlcmVkLmNvbmZpZy1maWxlcy10YWJsZSB0ciA+IHRkIHtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnRhYmxlLWJvcmRlcmVkLmNvbmZpZy1maWxlcy10YWJsZSB0ciA+IHRkLnRhYmxlLWZpbGUtdHlwZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuLnRhYmxlLWJvcmRlcmVkLmNvbmZpZy1maWxlcy10YWJsZSB0cjpob3ZlciB7XG4gIGNvbG9yOiAjZjA5YjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xufSJdfQ== */\"","\nimport { Component, OnInit, AfterViewInit, ViewChildren, QueryList, ViewChild, ViewContainerRef, SystemJsNgModuleLoaderConfig } from '@angular/core';\nimport 'metismenu';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ChWorkPanelComponent } from 'app/chil/dynpanel/ch-workpanel/ch-workpanel.component';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ChMobileConfImageComponent } from '../ch-mobile-conf-image/ch-mobile-conf-image.component';\nimport { ChMobileConfig, ChMobileConfigFile, ChMobileConfigFileType } from '../ch-mobile-conf';\nimport { ChFormsCode } from 'app/chil/forms/ch-forms-code/ch-forms-code.component';\nimport { ChMobileImportWindowComponent } from '../ch-mobile-import-window/ch-mobile-import-window.component';\nimport { ChMobileConfMessagesComponent } from '../ch-mobile-conf-messages/ch-mobile-conf-messages.component';\n\n\n@Component({\n selector: 'ch-mobile-conf',\n templateUrl: './ch-mobile-conf-browser.html',\n styleUrls: ['./ch-mobile-conf-browser.scss', '../../forms/ch-forms.scss']\n})\nexport class ChMobileConfComponent implements OnInit, AfterViewInit {\n\n private areaSelect = 'image'\n private areaLabel = 'Imagen de portada'\n private appStartup : object = null;\n private zoneSelectOptions = [\n {label: 'Zonas', code: 'zone'},\n {label: 'Cursos', code: 'course'},\n {label: 'Foros', code: 'forum'},\n {label: 'Personales', code: 'personal'}\n ];\n private _zoneSelect = this.zoneSelectOptions[0];\n get zoneSelect() {\n return this._zoneSelect;\n }\n set zoneSelect(value) {\n this._zoneSelect = value;\n }\n\n @ViewChild('imageConf', { static: false}) private imageConfPanel: ChMobileConfImageComponent;\n @ViewChild('messsageConf', { static: false}) private messageConfPanel: ChMobileConfMessagesComponent;\n @ViewChild('listPanel', { static: false}) private listPanel: ChWorkPanelComponent;\n @ViewChild('jsonEditor', { static: false}) private jsonEditor: ChFormsCode;\n\n constructor(private chGlobal: ChGlobalsService, vcr: ViewContainerRef, private route: ActivatedRoute, private router: Router) {\n chGlobal.initToasts(vcr);\n this.appStartup = chGlobal.getAppStartup();\n }\n\n ngOnInit() {\n\n }\n\n ngAfterViewInit() {\n\n setTimeout(() => {\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n const editorHeight = screenHeight - 320;\n\n this.jsonEditor.height=editorHeight;\n\n }, 200);\n }\n\n\n private dummy(event) {\n console.log(event);\n }\n\n\n\n selectArea(areaName: string) {\n this.areaSelect = areaName;\n switch (this.areaSelect) {\n case 'activacion':\n this.areaLabel = 'Activación de la App';\n break;\n case 'conf':\n this.areaLabel = 'Configuración de la App';\n this.loadConfig();\n break;\n case 'messages':\n this.areaLabel = 'Mensajes dentro de la App';\n this.loadConfig();\n break;\n case 'image':\n this.areaLabel = 'Imagen de portada';\n break;\n default:\n this.areaLabel = '';\n break;\n }\n }\n\n createApp() {\n this.chGlobal.showRunningWindow('Creando la aplicación...');\n this.chGlobal.createApp()\n .then( (result) => {\n this.chGlobal.hideRunningWindow();\n if (result) {\n this.chGlobal.loadAppStartup()\n .then (result => {\n this.chGlobal.showMessage(MessageType.success, 'Aplicación creada',\n 'La aplicación ha sido creada con éxito.');\n this.appStartup = this.chGlobal.getAppStartup();\n })\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de creación',\n 'La aplicación no ha podido ser creada.');\n }\n },\n (rejected) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de creación',\n 'La aplicación no ha podido ser creada.');\n }\n )\n .catch( (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'La aplicación no ha podido ser creada.');\n });\n\n\n\n\n }\n\n getStatusName(): string {\n switch(this.appStartup['status']){\n case 'active':\n return 'Activa';\n case 'inactive':\n return 'Inactiva';\n case 'suspended':\n return 'Suspendida';\n default:\n return this.appStartup['status'];\n }\n }\n\n savePublishPics(){\n this.imageConfPanel.saveAndPublish();\n }\n\n /* ******************************************\n //\n // CONFIGURACION MOVIL\n //\n // ******************************************\n */\n\n private mobileConfig: ChMobileConfig | null = null;\n\n loadConfig() {\n if (this.mobileConfig == null) {\n this.listPanel.isWorking = true;\n this.chGlobal.loadAppConfig()\n .then ( newConfig => {\n this.mobileConfig = newConfig;\n this.listPanel.isWorking = false;\n });\n }\n }\n\n private fileSelected : ChMobileConfigFile | null = null;\n\n selectFile(file: ChMobileConfigFile) {\n //console.log(file)\n this.fileSelected = file;\n }\n\n getFileTypes() : string {\n var temp = '';\n for (let item in ChMobileConfigFileType) {\n if (isNaN(Number(item))) {\n temp += temp == '' ? item : ',' + item;\n }\n }\n return temp;\n }\n /*\n getFileTypeModel(file: ChMobileConfigFile) : string {\n if (file == null || file.type == 'css') {\n return 'css';\n } else {\n return 'json';\n }\n }\n */\n\n getFileTypeColor(type : ChMobileConfigFileType) : string {\n\n switch(type) {\n case ChMobileConfigFileType.undef:\n return 'red';\n case ChMobileConfigFileType.css:\n return 'green';\n default:\n return '';\n }\n }\n\n createNewFile(){\n const newFile = new ChMobileConfigFile();\n newFile.name = \"nuevofichero\";\n newFile.type = ChMobileConfigFileType.undef;\n newFile.version = \"1.0.0\";\n newFile.name = \"nuevofichero\";\n this.mobileConfig.files.push(newFile);\n this.fileSelected = newFile;\n }\n\n deleteFile(){\n if (this.fileSelected == null) {\n return;\n }\n\n this.chGlobal.showConfirmDialog('ELIMINAR FICHERO DE CONFIGURACION MÓVIL',\n '¿Está seguro de querer eliminar el fichero ' + this.fileSelected.name + '?',\n 'El fichero desaparecerá de la configuración, pero la acción no será definitiva hasta que se salve o publique.',\n () => {\n const index = this.mobileConfig.files.findIndex(f => f === this.fileSelected);\n this.mobileConfig.files.splice(index,1);\n this.fileSelected = null;\n },\n 'Borrar', 'Cancelar');\n }\n\n importFiles() {\n ChMobileImportWindowComponent.show(this.mobileConfig, null, () => {\n console.log('Importacion terminada!!!');\n });\n }\n\n saveConfig() {\n this.chGlobal.showRunningWindow('Actualizando la configuración de la app (sin publicar) ...');\n this.chGlobal.updateAppConfig(this.mobileConfig)\n .then( (result) => {\n this.chGlobal.hideRunningWindow();\n if (result) {\n this.chGlobal.showMessage(MessageType.success, 'Configuración actualizada',\n 'La configuraciñon de la aplicación ha sido actualizada con éxito.');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser actualizada.');\n }\n },\n (rejected) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser actualizada.');\n })\n .catch( (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser actualizada.');\n });\n }\n\n publishConfig() {\n\n this.chGlobal.showConfirmDialog('PUBLICAR LA CONFIGURACION MÓVIL',\n '¿Está seguro de querer publicar los ficheros editados?',\n 'Los ficheros se guardarán en la base de datos y todas las aplicaciones moviles se actualizarán con la nueva configuración. Esta será efectiva a partir de la siguiente vez en que se estas se abran.',\n () => {\n this.chGlobal.showRunningWindow('Publicando la configuración de la app ...');\n this.chGlobal.publishAppConfig(this.mobileConfig)\n .then( (result) => {\n this.chGlobal.hideRunningWindow();\n if (result) {\n this.chGlobal.showMessage(MessageType.success, 'Configuración actualizada',\n 'La configuraciñon de la aplicación ha sido publicada con éxito.');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser publicada.');\n }\n },\n (rejected) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser publicada.');\n })\n .catch( (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'La configuración de la aplicaciónno ha podido ser publicada.');\n });\n },\n 'Publicar', 'Cancelar');\n\n }\n}\n\n\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbW9iaWxlL2NoLW1vYmlsZS1jb25mLWltYWdlL2NoLW1vYmlsZS1jb25mLWltYWdlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport Color from 'app/chil/utils/color';\nimport { ChMobileStartup, ChMobileStatus } from '../ch-mobile-conf';\nimport { ChFileCompact } from 'app/chil/cloud/ch-file';\n\n@Component({\n selector: 'ch-mobile-conf-image',\n templateUrl: './ch-mobile-conf-image.component.html',\n styleUrls: ['./ch-mobile-conf-image.component.css']\n})\nexport class ChMobileConfImageComponent implements OnInit {\n\n\n private foto1 : ChFileCompact = ChFileCompact.cast({\n \"contentUrl\": \"/download-file/0-416632\",\n \"description\": \"\",\n \"format\": \"png\",\n \"isShared\": false,\n \"metadata\": null,\n \"name\": \"image\",\n \"previewHeight\": 950,\n \"previewUrl\": \"https://chilmedia.org/v2/file-preview/72fcdea0-f6bb-49b0-ad67-ca5120151526.jpg\",\n \"previewWidth\": 573,\n \"size\": 0,\n \"slug\": \"image\",\n \"type\": 1,\n \"uid\": \"\"\n })\n\n private foto2: ChFileCompact = ChFileCompact.cast( {\n \"contentUrl\": \"/download-file/0-416632\",\n \"description\": \"\",\n \"format\": \"png\",\n \"isShared\": false,\n \"metadata\": null,\n \"name\": \"image\",\n \"previewHeight\": 950,\n \"previewUrl\": \"\",\n \"previewWidth\": 573,\n \"size\": 0,\n \"slug\": \"image\",\n \"type\": 1,\n \"uid\": \"\"\n })\n\n private foregroundColor: Number = Number.NaN;\n private backgroundColor: Number = Number.NaN;\n private transparentColor: Number = Number.NaN;\n private welcomeMessage: String = 'Bienvenido!';\n\n private _appStartup: ChMobileStatus = ChMobileStatus.cast({ startup: ChMobileStartup.cast({background: this.foto1, backgroundColor: Number.NaN, foregroundColor: Number.NaN,\n foreground: this.foto2, transparentColor: Number.NaN }) } );\n @Input()\n public get appStartup() {\n return this._appStartup;\n };\n public set appStartup(val) {\n console.log(val)\n this._appStartup = val;\n if (this._appStartup['startup']['background'] !== undefined && this._appStartup['startup']['background'] !== null) {\n this.foto1 = this._appStartup['startup']['background'];\n }\n if (this._appStartup['startup']['foreground'] !== undefined && this._appStartup['startup']['foreground'] !== null) {\n this.foto2 = this._appStartup['startup']['foreground'];\n }\n if (this._appStartup['startup']['backgroundColor'] !== undefined && this._appStartup['startup']['backgroundColor'] !== null) {\n this.backgroundColor = this._appStartup['startup']['backgroundColor'];\n }\n if (this._appStartup['startup']['foregroundColor'] !== undefined && this._appStartup['startup']['foregroundColor'] !== null) {\n this.backgroundColor = this._appStartup['startup']['foregroundColor'];\n }\n if (this._appStartup['startup']['transparentColor'] !== undefined && this._appStartup['startup']['transparentColor'] !== null) {\n this.transparentColor = this._appStartup['startup']['transparentColor'];\n }\n if (this._appStartup['startup']['welcomeMessage'] !== undefined && this._appStartup['startup']['welcomeMessage'] !== null) {\n this.welcomeMessage = this._appStartup['startup']['welcomeMessage'];\n }\n }\n\n constructor(private chGlobal: ChGlobalsService) {\n\n }\n\n ngOnInit() {\n }\n\n /*\n public saveAndPublish(){\n console.log(this.foto1);\n console.log(this.foto2);\n }\n */\n public saveAndPublish() {\n this._appStartup.startup.background = this.foto1\n this._appStartup.startup.foreground = this.foto2\n this._appStartup.startup.foregroundColor = this.foregroundColor\n this._appStartup.startup.backgroundColor = this.backgroundColor\n this._appStartup.startup.transparentColor = this.transparentColor\n this._appStartup.startup.welcomeMessage = this.welcomeMessage\n console.log(this._appStartup)\n /*\n this.chGlobal.showRunningWindow('Actualizando status de la app ...');\n this.chGlobal.updateAppStartup({background: this.foto1, foreground: this.foto2,\n backgroundColor: this.backgroundColor, transparentColor: this.transparentColor, welcomeMessage: this.welcomeMessage })\n .then( (result) => {\n this.chGlobal.hideRunningWindow();\n if (result) {\n this.chGlobal.showMessage(MessageType.success, 'Status actualizado',\n 'El status de la aplicación ha sido actualizado con éxito.');\n //this.appStartup.startup.background = this.foto1;\n //this.appStartup.startup.foreground = this.foto2 ;\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'El status de la aplicación no ha podido ser actualizado.');\n }\n },\n (rejected) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de actualización',\n 'El status de la aplicación no ha podido ser actualizado.');\n })\n .catch( (error) => {\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El status de la aplicación no ha podido ser actualizado.');\n });\n */\n }\n\n\n getFoto1Url() : string {\n if (this.foto1 === null ) {\n return ''\n } else if (this.foto1.previewUrl !== undefined && this.foto1.previewUrl !== null) {\n return this.foto1.previewUrl\n } else {\n return '';\n }\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbW9iaWxlL2NoLW1vYmlsZS1jb25mLW1lc3NhZ2VzL2NoLW1vYmlsZS1jb25mLW1lc3NhZ2VzLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, Input, OnInit } from '@angular/core';\nimport { ChMobileStartup, ChMobileStatus, ChMobileStatusMsg } from '../ch-mobile-conf';\n\n@Component({\n selector: 'ch-mobile-conf-messages',\n templateUrl: './ch-mobile-conf-messages.component.html',\n styleUrls: ['./ch-mobile-conf-messages.component.css']\n})\nexport class ChMobileConfMessagesComponent implements OnInit {\n\n messages : Array = [\n ChMobileStatusMsg.cast({type: 'normal', txt:'Mensaje de prueba 1', url: 'https://www.marca.com/futbol/primera-division/opinion/2025/02/17/arbitros-espanoles-mejor-pagados-peor-vistos.html', backgroundColor: Number.NaN}),\n ChMobileStatusMsg.cast({type: 'warning', txt:'Ten cuidado con lo que haces', url: '', backgroundColor: Number.NaN}),\n ChMobileStatusMsg.cast({type: 'danger', txt:'Se ha cometido un error', url: '', backgroundColor: Number.NaN })\n ];\n\n private _appStartup: ChMobileStatus = null;\n @Input()\n public get appStartup() {\n return this._appStartup;\n };\n public set appStartup(val) {\n console.log(val)\n this._appStartup = val;\n /*\n if (this._appStartup['startup']['background'] !== undefined && this._appStartup['startup']['background'] !== null) {\n this.foto1 = this._appStartup['startup']['background'];\n }\n if (this._appStartup['startup']['foreground'] !== undefined && this._appStartup['startup']['foreground'] !== null) {\n this.foto2 = this._appStartup['startup']['foreground'];\n }\n if (this._appStartup['startup']['backgroundColor'] !== undefined && this._appStartup['startup']['backgroundColor'] !== null) {\n this.backgroundColor = this._appStartup['startup']['backgroundColor'];\n }\n if (this._appStartup['startup']['foregroundColor'] !== undefined && this._appStartup['startup']['foregroundColor'] !== null) {\n this.backgroundColor = this._appStartup['startup']['foregroundColor'];\n }\n if (this._appStartup['startup']['transparentColor'] !== undefined && this._appStartup['startup']['transparentColor'] !== null) {\n this.transparentColor = this._appStartup['startup']['transparentColor'];\n }\n if (this._appStartup['startup']['welcomeMessage'] !== undefined && this._appStartup['startup']['welcomeMessage'] !== null) {\n this.welcomeMessage = this._appStartup['startup']['welcomeMessage'];\n }\n */\n }\n\n constructor() {\n console.log(this.messages)\n }\n\n\n private msgCodes = [\n { cod: 'inactive', title: 'Inactivo'},\n { cod: 'normal', title: 'Normal'},\n { cod: 'warning', title: 'Aviso'},\n { cod: 'danger', title: 'Alarma'}\n ];\n\n ngOnInit() {\n }\n\n}\n","import { ChFileCompact } from \"../cloud/ch-file\";\n\n\nexport enum ChMobileStartupStatus {\n active = 'active', undef = 'undef', inactive = 'inactive', suspended = 'suspended'\n}\n\nexport enum ChMobileStatusMsgType {\n inactive = 'inactive', normal = 'normal', warning = 'warning', danger = 'danger'\n}\n\nexport class ChMobileStatusMsg {\n type : ChMobileStatusMsgType;\n txt : string;\n url : string;\n backgroundColor: Number\n\n public static cast(source: object) : ChMobileStatusMsg {\n var newobj = new ChMobileStatusMsg();\n newobj.type = source['type'] != undefined ? ChMobileStatusMsgType[source['type'] as keyof typeof ChMobileStatusMsgType] : ChMobileStatusMsgType.inactive;\n newobj.txt = source['txt'] != undefined ? source['txt'] : '';\n newobj.url = source['url'] != undefined ? source['url'] : '';\n newobj.backgroundColor = source['backgroundColor'] != undefined ? source['backgroundColor'] : 0x000000;\n\n return newobj;\n }\n}\n\nexport class ChMobileStatus {\n uid : string;\n innactiveMessage : string;\n publishedAt: Date | null;\n status: ChMobileStartupStatus;\n startup: ChMobileStartup;\n messages: Array\n\n public static cast(source: object) : ChMobileStatus {\n var newobj = new ChMobileStatus();\n\n if (source['_id'] != undefined) {\n newobj.uid = source['_id'];\n } else if (source['uid'] != undefined) {\n newobj.uid = source['uid'];\n } else {\n newobj.uid = '';\n }\n newobj.innactiveMessage = source['innactiveMessage'] != undefined ? source['innactiveMessage'] : '';\n newobj.publishedAt = source['publishedAt'] != undefined ? new Date(source['publishedAt']) : null;\n newobj.status = source['status'] != undefined ? source['status'] : ChMobileStartupStatus.undef;\n newobj.startup = source['startup'] != undefined ? ChMobileStartup.cast(source['startup']) : new ChMobileStartup();\n\n if (source['messages'] != undefined && Array.isArray(source['messages'])) {\n newobj.messages = []\n for (const message of source['messages']) {\n newobj.messages.push(ChMobileStatusMsg.cast(message))\n }\n } else {\n newobj.messages = []\n }\n\n return newobj;\n }\n}\n\nexport class ChMobileStartup {\n background: ChFileCompact | null = null;\n backgroundColor: Number = 0xffffff;\n foregroundColor: Number = 0xffffff;\n foreground: ChFileCompact| null = null;\n transparentColor: Number = 0xffffff;\n welcomeMessage: String = 'Bienvenido';\n\n public static cast(source: object) : ChMobileStartup {\n var newobj = new ChMobileStartup();\n\n newobj.background = source['background'] != undefined ? ChFileCompact.fileFromObject(source['background']) : null;\n newobj.foregroundColor = source['foregroundColor'] != undefined ? source['foregroundColor'] : 0xffffff;\n newobj.backgroundColor = source['backgroundColor'] != undefined ? source['backgroundColor'] : 0xffffff;\n newobj.foreground = source['foreground'] != undefined ? ChFileCompact.fileFromObject(source['foreground']) : null;\n newobj.transparentColor = source['transparentColor'] != undefined ? source['transparentColor'] : 0xffffff;\n newobj.welcomeMessage = source['welcomeMessage'] != undefined ? source['welcomeMessage'] : 'Bienvenido';\n\n return newobj;\n }\n};\n\nexport class ChMobileConfig {\n uid : string;\n publishedAt: Date | null;\n\n files: ChMobileConfigFile[];\n\n public static cast(source: object) : ChMobileConfig {\n var newobj = new ChMobileConfig();\n\n if (source['_id'] != undefined) {\n newobj.uid = source['_id'];\n } else if (source['uid'] != undefined) {\n newobj.uid = source['uid'];\n } else {\n newobj.uid = '';\n }\n newobj.publishedAt = source['publishedAt'] != undefined ? new Date(source['publishedAt']) : null;\n if (source['config'] != undefined && source['config'] != null && Array.isArray(source['config'] )) {\n newobj.files = source['config'];\n } else if (source['saved'] != undefined && source['saved'] != null && Array.isArray(source['saved'] )) {\n newobj.files = source['saved'];\n } else {\n newobj.files = [];\n }\n\n\n return newobj;\n }\n}\n\nexport enum ChMobileConfigFileType {\n undef = 'undef', menu = 'menu', wall = 'wall', chat = 'chat', web = 'web', files = 'files', page = 'page', cloud = 'cloud', css = 'css'\n}\n\nexport class ChMobileConfigFile {\n name : string;\n type : ChMobileConfigFileType;\n version : string;\n content : string;\n\n public static create(name: string, type: ChMobileConfigFileType, version: string) : ChMobileConfigFile {\n var newobj = new ChMobileConfigFile();\n newobj.name = name;\n newobj.type = type;\n newobj.version = version;\n newobj.content = '';\n\n return newobj;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvbW9iaWxlL2NoLW1vYmlsZS1pbXBvcnQtd2luZG93L2NoLW1vYmlsZS1pbXBvcnQtd2luZG93LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { Observable , BehaviorSubject} from 'rxjs';\nimport { ChMobileConfig, ChMobileConfigFile, ChMobileConfigFileType, ChMobileStartup } from '../ch-mobile-conf';\n\n@Component({\n selector: 'ch-mobile-import-window',\n templateUrl: './ch-mobile-import-window.component.html',\n styleUrls: ['./ch-mobile-import-window.component.css']\n})\nexport class ChMobileImportWindowComponent implements OnInit {\n\n @ViewChild('fileImportInput', { static: false}) fileImportInput: any\n\n lineas : number = 0;\n errores: number = 0;\n correctas : number = 0;\n rows : Array = [];\n\n rowsImportedInBd : boolean = false;\n\n private static mobileConf : ChMobileConfig | null = null;\n private static passData : Array = null;\n private static modalRef : BsModalRef = null;\n private static callback : Function = null;\n\n private mobileConf : ChMobileConfig | null = null;\n\n @ViewChild('fileImportInput', { static: false})\n\n insertedRows : number = 0;\n messageTxt : BehaviorSubject = new BehaviorSubject(\"\");\n progressAdv : BehaviorSubject = new BehaviorSubject(0);\n calcscript :string = \"\";\n isRunning : boolean = false;\n isFinished : boolean = false;\n\n constructor(/*public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n\n }\n\n ngOnInit() {\n this.mobileConf = ChMobileImportWindowComponent.mobileConf;\n }\n\n confirm() {\n if (!this.isRunning)\n ChMobileImportWindowComponent.hide(true);\n }\n\n decline() {\n if (!this.isRunning)\n ChMobileImportWindowComponent.hide(false);\n }\n\n public static show(conf : ChMobileConfig , config?: ModalOptions, callback? : Function ) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n ChMobileImportWindowComponent.mobileConf = conf;\n ChMobileImportWindowComponent.modalRef = service.showModalWindow(this, config);\n ChMobileImportWindowComponent.callback = callback != null? callback : () => {};\n }\n\n public static hide(executeCallback : boolean) {\n let service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChMobileImportWindowComponent.modalRef);\n if (executeCallback) {\n ChMobileImportWindowComponent.callback();\n }\n }\n\n private files: File[] = [];\n private filesRead = 0;\n\n onSelect(event) {\n console.log(event);\n this.files.push(...event.addedFiles);\n }\n\n onRemove(event) {\n console.log(event);\n this.files.splice(this.files.indexOf(event), 1);\n }\n\n getData(file : File) : Promise {\n return new Promise ( (resolve, reject) =>\n {\n const reader = new FileReader();\n reader.onloadend = (ev) => {\n const newFile = new ChMobileConfigFile();\n const fileName = file.name.toLowerCase();\n if (fileName.endsWith('.json')) {\n newFile.name = file.name.slice(0, -5);\n newFile.type = ChMobileConfigFileType.undef;\n } else if (fileName.endsWith('.css')) {\n newFile.name = file.name.slice(0, -4);\n newFile.type = ChMobileConfigFileType.css;\n } else {\n newFile.name = file.name;\n newFile.type = ChMobileConfigFileType.undef;\n }\n newFile.version = '1.0.0';\n newFile.content = this.chGlobal.utoa((ev.target as FileReader).result as string);\n resolve(newFile);\n };\n reader.onerror = (ev) => {\n reject((ev.target as FileReader).error);\n };\n reader.readAsText(file, 'UTF-8');\n });\n }\n\n execute() {\n this.isRunning = true;\n this.isFinished = false;\n\n let promiseArray: Promise[] = []\n for (let i= 0; i< this.files.length; i++) {\n promiseArray.push(this.getData(this.files[i]));\n }\n\n Promise.all(promiseArray).then( v => {\n console.log(v)\n this.mobileConf.files = this.mobileConf.files.concat(v);\n //this.mobileConf.files .push(v);\n this.isRunning = false;\n this.isFinished = true;\n },\n reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = true;\n }). catch( reason => {\n console.log(reason);\n this.isRunning = false;\n this.isFinished = true;\n })\n }\n\n}\n","export default \".ch-actor-card-button {\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n cursor: default;\\n border: none;\\n margin: 0px;\\n padding: 0px;\\n text-align: left;\\n}\\n\\n.ch-actor-card-box {\\n width: 100%;\\n height: 100%;\\n border: 1px solid #E7E7E7;\\n background-color: #FAFAFA;\\n}\\n\\n.ch-actor-card-box-compact {\\n width: 100%;\\n height: 100%;\\n border: 1px solid #E7E7E7;\\n background-color: #FAFAFA;\\n padding-top: 6px;\\n padding-left: 10px;\\n padding-right: 10px;\\n}\\n\\n.ch-actor-card-box-compact.selected {\\n background-color: #D3D3D3;\\n}\\n\\n.ch-actor-card-box-compact i.fa {\\n margin-right: 5px;\\n font-size: 130%;\\n}\\n\\n.actor-card-icon-area {\\n width: 40px;\\n padding: 4px;\\n}\\n\\n.actor-card-data-area {\\n padding: 2px;\\n max-width: 220px;\\n min-width: 150px;\\n position: relative;\\n overflow: hidden;\\n}\\n\\n.actor-card-uid {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n}\\n\\n.actor-card-name {\\n margin-right: 5px;\\n margin-top: -14px;\\n margin-bottom: 0px;\\n margin-left: 5px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.actor-card-lastname {\\n margin-right: 5px;\\n margin-top: -3px;\\n margin-bottom: 0px;\\n margin-left: 5px;\\n font-size: larger;\\n color: #333;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.actor-card-displayname {\\n margin-right: 5px;\\n margin-top: 8px;\\n margin-bottom: 0px;\\n margin-left: 5px;\\n font-size: larger;\\n color: #333;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.actor-card-description {\\n margin-right: 5px;\\n margin-top: 0px;\\n margin-bottom: 0px;\\n margin-left: 5px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n font-size: smaller;\\n min-height: 18px;\\n}\\n\\n.actor-card-location {\\n color: #1ABC9C;\\n margin: 0px;\\n font-size: xx-small;\\n cursor: pointer;\\n text-transform: uppercase;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 70%;\\n position: absolute;\\n bottom: 2px;\\n right: 2px;\\n}\\n\\n.actor-card-pos-icon {\\n width: 10px;\\n height: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9wb3B1bGF0aW9uL2NoLWFjdG9yLWNhcmQvY2gtYWN0b3ItY2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY2hpbC9wb3B1bGF0aW9uL2NoLWFjdG9yLWNhcmQvY2gtYWN0b3ItY2FyZC5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBQ0RKOztBRElBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHlCRXdGc0I7QUR6RjFCOztBRElBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLHlCRWlGd0I7RUZoRnhCLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0RGOztBREdFO0VBQ0UseUJFb0N3QjtBRHJDNUI7O0FESUU7RUFDRSxpQkFBQTtFQUNBLGVBQUE7QUNGSjs7QURPQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0FDSko7O0FET0E7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUNKSjs7QURPQTtFQUNJLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QUNKSjs7QURPQTtFQUVJLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FDTEo7O0FET0E7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0VQc0I7RUZRdEIsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FDSko7O0FET0E7RUFDSSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXRW5Cc0I7RUZvQnRCLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtBQ0pKOztBRE9BO0VBRUksaUJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUNMSjs7QURTQTtFQUNJLGNBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBQ05KOztBRFNBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7QUNOSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcG9wdWxhdGlvbi9jaC1hY3Rvci1jYXJkL2NoLWFjdG9yLWNhcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zdHlsZXMvaW1wb3J0cy9fdmFyaWFibGVzXCI7XG5cbi5jaC1hY3Rvci1jYXJkLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNoLWFjdG9yLWNhcmQtYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtc2VsZWN0LWJhY2tncm91bmQ7XG59XG5cbi5jaC1hY3Rvci1jYXJkLWJveC1jb21wYWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItYmstc2VsZWN0ZWQ7XG4gIH1cblxuICBpLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LXNpemU6IDEzMCU7XG4gIH1cblxufVxuXG4uYWN0b3ItY2FyZC1pY29uLWFyZWEge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIHBhZGRpbmc6IDRweDtcbn1cblxuLmFjdG9yLWNhcmQtZGF0YS1hcmVhIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWN0b3ItY2FyZC11aWR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG59XG5cbi5hY3Rvci1jYXJkLW5hbWVcbntcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uYWN0b3ItY2FyZC1sYXN0bmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmFjdG9yLWNhcmQtZGlzcGxheW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmFjdG9yLWNhcmQtZGVzY3JpcHRpb25cbntcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xufVxuXG5cbi5hY3Rvci1jYXJkLWxvY2F0aW9uIHtcbiAgICBjb2xvcjogIzFBQkM5QztcbiAgICBtYXJnaW46IDBweDtcbiAgICBmb250LXNpemU6IHh4LXNtYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbn1cblxuLmFjdG9yLWNhcmQtcG9zLWljb24ge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbn1cbiIsIi5jaC1hY3Rvci1jYXJkLWJ1dHRvbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2gtYWN0b3ItY2FyZC1ib3gge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTdFN0U3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xufVxuXG4uY2gtYWN0b3ItY2FyZC1ib3gtY29tcGFjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFN0U3RTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cbi5jaC1hY3Rvci1jYXJkLWJveC1jb21wYWN0LnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzRDNEMztcbn1cbi5jaC1hY3Rvci1jYXJkLWJveC1jb21wYWN0IGkuZmEge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZm9udC1zaXplOiAxMzAlO1xufVxuXG4uYWN0b3ItY2FyZC1pY29uLWFyZWEge1xuICB3aWR0aDogNDBweDtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4uYWN0b3ItY2FyZC1kYXRhLWFyZWEge1xuICBwYWRkaW5nOiAycHg7XG4gIG1heC13aWR0aDogMjIwcHg7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFjdG9yLWNhcmQtdWlkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbn1cblxuLmFjdG9yLWNhcmQtbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmFjdG9yLWNhcmQtbGFzdG5hbWUge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBmb250LXNpemU6IGxhcmdlcjtcbiAgY29sb3I6ICMzMzM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYWN0b3ItY2FyZC1kaXNwbGF5bmFtZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG4gIGNvbG9yOiAjMzMzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmFjdG9yLWNhcmQtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7XG59XG5cbi5hY3Rvci1jYXJkLWxvY2F0aW9uIHtcbiAgY29sb3I6ICMxQUJDOUM7XG4gIG1hcmdpbjogMHB4O1xuICBmb250LXNpemU6IHh4LXNtYWxsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDcwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDJweDtcbiAgcmlnaHQ6IDJweDtcbn1cblxuLmFjdG9yLWNhcmQtcG9zLWljb24ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xufSIsIi8vIEJhc2ljIENvbG9yc1xyXG4kbmF2eTogb3JhbmdlOyAgICAgICAgLy8gIzFhYjM5NDsgICAgICAgLy8gUHJpbWFyeSBjb2xvclxyXG4kZGFyay1ncmF5OiAjYzJjMmMyOyAgLy8gRGVmYXVsdCBjb2xvclxyXG4kYmx1ZTogIzFjODRjNjsgICAgICAgLy8gU3VjY2VzcyBjb2xvclxyXG4kbGF6dXI6ICMyM2M2Yzg7ICAgICAgLy8gSW5mbyBjb2xvclxyXG4keWVsbG93OiAjZjhhYzU5OyAgICAgLy8gV2FybmluZyBjb2xvclxyXG4kcmVkOiAjRUQ1NTY1OyAgICAgICAgLy8gRGFuZ2VyIGNvbG9yXHJcblxyXG4vLyBWYXJpb3VzIGNvbG9yc1xyXG4kdGV4dC1jb2xvcjogIzY3NmE2YzsgICAvLyBCb2R5IHRleHRcclxuJHRleHQtY29sb3Itc2VjdW5kYXJ5OiAjOUVBM0E1OyAgIC8vIEJvZHkgdGV4dCBsZXNzIGltcG9ydGFudFxyXG4kdGV4dC1jb2xvci1kaXNhYmxlZDogI0FDQjFCNDsgICAvLyBCb2R5IHRleHRcclxuJGdyYXk6ICNmM2YzZjQ7ICAgICAgICAgLy8gQmFja2dyb3VuZCB3cmFwcGVyIGNvbG9yXHJcbiRsaWdodC1ncmF5OiAjRDFEQURFOyAgIC8vIERlZmF1bHQgbGFiZWwsIGJhZGdlXHJcbiRsYWJlbC1iYWRnZS1jb2xvcjogIzVFNUU1RTtcclxuJGxpZ2h0LWJsdWU6I2YzZjZmYjtcclxuXHJcbi8vIFNwaW5lciBjb2xvciBhbmQgbWFyZ2luXHJcbiRzcGluLWNvbG9yOiAkbmF2eTtcclxuJHNwaW4tbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cclxuLy8gSUJPWCBjb2xvcnMgKCBkZWZhdWx0IHBhbmVsIGNvbG9ycylcclxuJGJvcmRlci1jb2xvcjogI2U3ZWFlYzsgICAgIC8vIElCb3ggYm9yZGVyXHJcbiRpYm94LXRpdGxlLWJnOiNmZmZmZmY7ICAgICAvLyBJQm94IEJhY2tncm91bmQgaGVhZGVyXHJcbiRpYm94LWNvbnRlbnQtYmc6I2ZmZmZmZjsgICAvLyBJQm94IEJhY2tncm91bmQgY29udGVudFxyXG5cclxuLy9TaWRlYmFyIHdpZHRoXHJcbiRzaWRlYmFyLXdpZHRoOiAyMjBweDtcclxuXHJcbi8vIEFzc2V0cyBwYXRoXHJcbiRhc3NldC1wYXRoIDogXCIvc3JjL2Fzc2V0cy9zdHlsZXMvcGF0dGVybnNcIjtcclxuXHJcbi8vIEJveGVkIGxheW91dCB3aWR0aFxyXG4kYm94ZWQtd2lkdGg6IDEyMDBweDtcclxuJGJveGVkLWJhY2tncm91bmQ6IHVybCgnI3skYXNzZXQtcGF0aH0vc2hhdHRlcmVkLnBuZycpO1xyXG5cclxuLy9Cb3JkZXIgcmFkaXVzIGZvciBidXR0b25zXHJcbiRidG4tYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuLy9OYXZpZ2F0aW9uIEdyb3Vwc1xyXG4kbmF2LWJnOiAjMkY0MDUwO1xyXG4kbmF2LWJnLTI6ICMyOTM4NDY7XHJcbiRuYXYtcHJvZmlsZS1wYXR0ZXJuOiB1cmwoXCIjeyRhc3NldC1wYXRofS9oZWFkZXItcHJvZmlsZS5wbmdcIik7XHJcbiRuYXYtdGV4dC1jb2xvcjogI2E3YjFjMjtcclxuXHJcbi8vTmF2aWdhdGlvbiBVc2Vyc1xyXG4kbmF2LWJnLXVzZXI6ICNGNEY2RkE7XHJcbiRuYXYtYmctMi11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LXRleHQtY29sb3ItdXNlcjogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctdXNlcjogI0VBRUNGMDtcclxuJG5hdi1ob292ZXItY29sb3ItdXNlcjogIzA0MTY0OTtcclxuXHJcbi8vTmF2aWdhdGlvbiBab25lc1xyXG4kbmF2LWJnLXpvbmU6ICNEREVBRkY7XHJcbiRuYXYtYmctMi16b25lOiAgI0RERUFGRjtcclxuJG5hdi10ZXh0LWNvbG9yLXpvbmU6ICMwNDE2NDk7XHJcbiRuYXYtaG9vdmVyLWJnLXpvbmU6IHN0ZWVsYmx1ZTtcclxuJG5hdi1ob292ZXItY29sb3Item9uZTogI0VBRUNGMDtcclxuXHJcblxyXG4vL0NvbG9yZXMgZGVsIHNpc3RlbWEsIHBvciBGUk5cclxuXHJcbiRnZW5lcmFsLWJrLWNvbG9yOiB3aGl0ZTtcclxuJHByaW1hcnktY29sb3I6ICNmMDliMDA7XHJcbiRwcmltYXJ5LWNvbG9yLWJrOiAjRUZFRkVGO1xyXG4kcHJpbWFyeS1jb2xvci1iay1zZWxlY3RlZDogI0QzRDNEMztcclxuJHByaW1hcnktY29sb3ItYmstYm9yZGVyOiAjZTdlYWVjO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yLWRhcms6ICMzMzM7IC8vIHJnYig5MiwgOTIsIDkyKTtcclxuJHRleHQtcHJpbWFyeS1jb2xvcjogIzY3NmE2YzsgLy8gIzdGN0Y3RjtcclxuJHRleHQtc2Vjb25kYXJ5Y29sb3I6ICNCRkJGQkY7XHJcbiRmb3JtLWJ1dHRvbS1wcmltYXJ5LWNvbG9yOiAjOTk5OTk5O1xyXG4kZGVsZXRlLWNvbG9yOiByZWQ7XHJcbiRtYW5kYXRvcnktY29sb3I6IGRhcmtSZWQ7XHJcbiRpbmZvLWNvbG9yOiBncmVlbjsgLy8jMjNjNmM4O1xyXG4kaW5mby1iYWNrZ3JvdW5kOiAjODFCQTI3O1xyXG4kZGFyay1pbmZvLWNvbG9yOiBkYXJrZ3JlZW47IC8vIzIzYzZjODtcclxuXHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJvcmRlcjogbGlnaHRncmF5O1xyXG4kZGlzYWJsZWQtaXRlbS1jb2xvci1iazogd2hpdGU7XHJcblxyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvcjogIzdBMjE4NDtcclxuJHNlbGVjdGVkLWl0ZW0tY29sb3ItYms6ICNGMkU3RjI7IC8vICNDN0FFQ0E7XHJcblxyXG4kbGVmdC1tZW51LWJhY2tncm91bmQ6ICMyOTM4NDY7XHJcbiRsZWZ0LW1lbnUtZm9yZWdyb3VuZDogIzlCQTZCNztcclxuXHJcbiRjaGlsLWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiRwYW5lbC1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4kcGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNGQUZBRkE7XHJcblxyXG4kc3VicGFuZWwtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50OiBsaWdodHllbGxvdztcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtaW1wb3J0YW50LWJvcmRlcjogeWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXI6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAjRUVFRUVFO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1ib3JkZXItZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1jb2xvci1kaXNhYmxlZDogI0MwQzBDMDtcclxuXHJcbiRzdWJzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRUVFRUVFO1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0U3RTdFNztcclxuJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1zZWxlY3RlZDogI0Q1RDVENTtcclxuXHJcbiRwYW5lbC1zZWxlY3QtYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjogI0YzRjNGMztcclxuJHBhbmVsLXJlY29tZW5kLWJhY2tncm91bmQtYm9yZGVyOiAjQUE3OTQyO1xyXG5cclxuJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjogI0U3RTdFNztcclxuXHJcbiRwYW5lbC11c2VyLWRhdGEtYmFja2dyb3VuZDogI0YwRjBGMDtcclxuJHBhbmVsLXVzZXItZGF0YS1jb2xvcjogIzQxNkVEOTtcclxuXHJcbiRwYW5lbC1jaGlsbWFuYWdlci1iYWNrZ3JvdW5kOiAjRDVFMkU2O1xyXG4kcGFuZWwtY2hpbG1hbmFnZXItY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vLyBDb2xvciBkZWwgZ3J1cG8gZW4gbG9zIGNvbWJvc1xyXG4kY29tYm8tZ3JvdXAtY29sb3I6ICMwQjFGMjk7XHJcblxyXG4vL0NvbG9yZXMgZGUgbG9zIHRpcG9zIGRlIHBvc3QgKEZSTilcclxuXHJcbiRwb3N0LXBvc3QtYms6ICAgIzZCNDk5MztcclxuJHBvc3QtbmV3cy1iazogICAjNDk1NjkzO1xyXG4kcG9zdC1kb2N1LWJrOiAgICM0NzhGNDc7XHJcbiRwb3N0LWV2ZW50LWJrOiAgICNCQjRBNUQ7XHJcbiRwb3N0LXF1ZXN0aW9uLWJrOiAgICNDNjlDNjM7XHJcbiRwb3N0LWZvcm0tYms6ICAgIzc5Nzk3OTtcclxuJHBvc3QtaW1hZ2UtYms6ICAgIzdGN2Y0MDtcclxuJHBvc3QtbGluay1iazogICAjNDk5MjkzO1xyXG4kcG9zdC1wdWJsaS1iazogICAjQjM0RUExO1xyXG4kcG9zdC10aGVtZS1iazogICAjNDU3QTk5O1xyXG4kcG9zdC10ZXN0LWJrOiAgICNDRjc2NkQ7XHJcbiRwb3N0LXBvc3Rib3gtYms6ICAgIzlGOTYwOTtcclxuJHBvc3QtcGFnZS1iazogICAjOTQzMzMzO1xyXG5cclxuJHBvc3QtYms6ICAgIzc5Nzk3OTtcclxuXHJcbi8vQ29sb3JlcyBkZWwgc3RhdHVzXHJcblxyXG4kcG9zdC1wdWJsaXNoZWQ6ICM0RjhGMDA7XHJcbiRwb3N0LXdhaXRpbmc6ICM5MjkyOTI7XHJcbiRwb3N0LWRyYWZ0OiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1hOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1iOiAjOTI5MjkyO1xyXG4kcG9zdC1ub3B1Yi1jOiAjOTI5MjkyO1xyXG5cclxuJHN0YXR1cy1vbjogIzRGOEYwMDtcclxuJHN0YXR1cy1vZmY6ICM5MjkyOTI7XHJcblxyXG4vL0NvbG9yZXMgZGVsIGRlc3RhY2Fkb1xyXG5cclxuJGhpZ2hsaWdodC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGhpZ2hsaWdodC1vbjogZGFya3JlZDtcclxuJGhpZ2hsaWdodC1vZmY6ICNDMEMwQzA7XHJcblxyXG4vL0xvcyBmb3JtdWxhcmlvc1xyXG5cclxuJGNvbnRyb2wtbGVmdC1tYXJnaW46IDI1cHg7XHJcbiRjb250cm9sLWxhYmVsLWJvdHRvbS1tYXJnaW46IDNweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZTogMTRweDtcclxuJGNvbnRyb2wtbGFiZWwtc2l6ZS1taW5pOiAxMnB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pY3JvOiAxMHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLWltcG9ydGFudDogMTZweDtcclxuJGNvbnRyb2wtdGV4dC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC10ZXh0LXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG5cclxuJGlucHV0LWJhY2stY29sb3I6IHdoaXRlO1xyXG4kaW5wdXQtYmFjay1jb2xvci1yZWFkb25seTogI0YzRjNGMztcclxuJGlucHV0LWFjdGl2ZS1jb2xvcjogIzQxNkVEOTtcclxuJGlucHV0LWFjdGl2ZS1jb250cm9sLWNvbG9yOiAjNEM4MUZGO1xyXG4kaW5wdXQtZGltLWNvbG9yOiBMaWdodEJsdWUgO1xyXG4kaW5wdXQtYm9yZGVyOiBkYXJrZ3JheSA7XHJcbiRpbnB1dC1ib3JkZXItcmVhZG9ubHk6ICNFRkVGRUYgO1xyXG4kaW5wdXQtYWN0aXZlLWxhYmVsLWNvbG9yIDogIzMzMztcclxuXHJcbi8vTG9zIHByb2R1Y3RvcyB5IGVsIGVDb21tZXJjZVxyXG4kcHJvZHVjdF9wcmljZTFfY29sb3I6ICNDMjYwMDA7XHJcbiRwcm9kdWN0X3ByaWNlMl9jb2xvcjogIzMzMztcclxuJHByb2R1Y3RfcHJpY2UzX2NvbG9yOiAjMDAzQ0MyO1xyXG5cclxuLy9Db2xvcmVzIGRlIGxhcyB6b25hcyBkZSBnZXN0aW9uIENISUxcclxuXHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZCA6ICNDQkU3RTc7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYmFja2dyb3VuZC1idXR0b25zIDogbGlnaHRibHVlO1xyXG4kY2hpbC1tYW5hZ2VtZW50LWJvcmRlciA6ICM1QUJFQkU7XHJcbiJdfQ== */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { ChActorCompact, ActorType, Gender } from 'app/chil/actor/ch-actor';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-actor-card',\n templateUrl: './ch-actor-card.component.html',\n styleUrls: ['./ch-actor-card.component.scss']\n})\n// tslint:disable-next-line:component-class-suffix\nexport class ChActorCard implements OnInit, IChGridItem {\n\n private container: IChGridContainer = null;\n private actor: ChActorCompact = new ChActorCompact(); // Actor vacío\n private itemSelected = false;\n\n @Input() uid = '';\n @Input() compact = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n setContainer(container: IChGridContainer): void {\n this.container = container;\n const newActor = this.container.getItem(this.uid);\n if (newActor !== undefined && newActor !== null ) {\n this.actor = newActor;\n }\n }\n\n selectItem(selected: boolean): void {\n // throw new Error('Method not implemented.');\n this.itemSelected = selected;\n }\n\n getUid(): string {\n return this.uid;\n }\n\n isSelected(): boolean {\n return this.itemSelected;\n }\n // tslint:disable-next-line:member-ordering\n private isDoubleClick = false;\n\n clickSelect(event) {\n // console.log(' + ITEM ' + this.uid + ' clicked!');\n // console.log(event);\n const clickObject = { altKey: event.altKey, ctrlKey: event.ctrlKey, shiftKey: event.shiftKey, doubleClick: (event.detail === 2) };\n if (clickObject.doubleClick) { // es doble click\n this.isDoubleClick = true;\n if (this.container !== null) {\n this.container.selectItem(this.uid, clickObject);\n }\n } else {\n this.isDoubleClick = false;\n setTimeout(() => {\n if (!this.isDoubleClick) {\n if (this.container !== null) {\n this.container.selectItem(this.uid, clickObject);\n }\n }\n }, 250);\n }\n }\n\n isEmail(actor: ChActorCompact) {\n return actor.type === ActorType.email;\n }\n\n}\n","export default \".ch-actor-list-body {\\n background-color: transparent;\\n padding: 3px;\\n display: inline-flex;\\n width: 100%;\\n height: 100%;\\n}\\n.ch-actor-box-texts {\\n width: 100%;\\n padding-left: 5px;\\n font-family: \\\"open sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 13px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n}\\n.ch-actor-list-name {\\n font-size: 110%;\\n margin: 0px;\\n padding-left: 5px;\\n padding-right: 10px;\\n padding-top: 2px;\\n font-family: \\\"open sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 13px;\\n\\n}\\n.ch-actor-list-group {\\n margin-top: 10px;\\n margin-bottom: 10px;\\n margin-left: 0px;\\n margin-right: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wb3B1bGF0aW9uL2NoLWxpc3QtYWRkLWFjdG9yLXdpbmRvdy9jaC1saXN0LWFkZC1hY3Rvci13aW5kb3cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLHdFQUF3RTtJQUN4RSxlQUFlO0lBQ2YsYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7QUFDM0I7QUFDQTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsd0VBQXdFO0lBQ3hFLGVBQWU7O0FBRW5CO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL3BvcHVsYXRpb24vY2gtbGlzdC1hZGQtYWN0b3Itd2luZG93L2NoLWxpc3QtYWRkLWFjdG9yLXdpbmRvdy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNoLWFjdG9yLWxpc3QtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5jaC1hY3Rvci1ib3gtdGV4dHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4gc2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jaC1hY3Rvci1saXN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgZm9udC1mYW1pbHk6IFwib3BlbiBzYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbn1cbi5jaC1hY3Rvci1saXN0LWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn0iXX0= */\"","import { OnInit, Component, AfterViewInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService, FieldType} from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from '../../forms/ch-form/ch-form';\nimport { MessageType } from '../../chilweb/ch-globals-def';\nimport { ChUserList } from '../ch-user-list';\nimport { ChActorCompact } from '../../actor/ch-actor';\n\nimport { Subject, Observable, of } from 'rxjs';\nimport { distinctUntilChanged, debounceTime, switchMap, tap, catchError, filter, map } from 'rxjs/operators';\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-list-add-actor-window',\n templateUrl: './ch-list-add-actor-window.component.html',\n styleUrls: [ '../../forms/ch-forms.scss', './ch-list-add-actor-window.component.css']\n})\nexport class ChListAddActorWindowComponent implements OnInit {\n\n private static passList: ChUserList = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChListAddActorWindowComponent = null;\n\n private actorHeight = 32;\n private currList: ChUserList = null;\n private isWorking = false;\n private tipo = 'REG';\n private name = '';\n private email = '';\n\n private newActors: Array = [];\n\n private bufferSize = 50;\n private input$ = new Subject();\n private valuesArray: Array = [];\n private valuesArray$: Observable>;\n private loading = false;\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(list: ChUserList, config?: ModalOptions, callback?: Function ) {\n ChListAddActorWindowComponent.passList = list;\n ChListAddActorWindowComponent.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChListAddActorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n if (executeCallback) {\n ChListAddActorWindowComponent.callback();\n }\n ChGlobalsService.getInstance().hideModalWindow(ChListAddActorWindowComponent.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n ChListAddActorWindowComponent.currentWindow = this;\n }\n\n public getImageUrl(val: string) {\n if (val.startsWith('default:')) { // No iconos por defecto nunca más!\n return '';\n } else {\n return val;\n }\n };\n\n ngOnInit() {\n this.currList = ChListAddActorWindowComponent.passList;\n\n this.input$.subscribe(val => {\n console.log(val);\n this.loadValues(val)\n });\n\n this.loadValues(null);\n\n /*\n this.isWorking = true;\n this.chGlobal.getFollowers()\n .then ( (result) => {\n this.valuesArray = result;\n this.isWorking = false;\n // console.log(result);\n },\n (error) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error capturando los datos desde el servidor');\n this.isWorking = false;\n }\n );\n */\n\n }\n\n loadValues(term: string | null) {\n console.log('Load data (' + term + ')!!');\n if (term == null || term.length < 4) {\n this.valuesArray = [];\n this.valuesArray$ = of(this.valuesArray);\n return;\n }\n this.input$.pipe(\n debounceTime(200),\n distinctUntilChanged(),\n switchMap(term => this.chGlobal.searchUsersByName(term))\n )\n .subscribe(data => {\n this.valuesArray = data.slice(0, this.bufferSize);\n this.valuesArray$ = of(this.valuesArray);\n })\n }\n\n fetchMore(term: string) {\n console.log('Fetch more (' + term + ')!!');\n /*\n const len = this.photosBuffer.length;\n if(term){term = term.toLowerCase()}\n const more = this.photos.filter(x => x.title.toLowerCase().includes(term)).slice(len, this.bufferSize + len);\n this.loading = true;\n setTimeout(() => {\n this.loading = false;\n this.photosBuffer = this.photosBuffer.concat(more);\n this.photosBuffer$ = of(this.photosBuffer);\n }, 200) */\n }\n\n confirm() {\n if (this.validate()) {\n /*\n console.log(this.tipo);\n console.log(this.currList);\n console.log(this.newActors);\n console.log(this.name);\n console.log(this.email);\n */\n const promises: Array> = [];\n if (this.currList.uid == 'MANAGERS') {\n if (this.tipo === 'REG') {\n this.newActors.forEach (actorUid => {\n promises.push(this.chGlobal.addManager(actorUid));\n });\n }\n } else if (this.currList.uid == 'FOLLOWERS') {\n if (this.tipo === 'REG') {\n this.newActors.forEach (actorUid => {\n promises.push(this.chGlobal.addFollower(actorUid));\n });\n }\n } else if (this.currList.uid == 'FOLLOWINGS') {\n if (this.tipo === 'REG') {\n this.newActors.forEach (actorUid => {\n promises.push(this.chGlobal.addFollowing(actorUid));\n });\n }\n } else {\n if (this.tipo === 'REG') {\n this.newActors.forEach (actorUid => {\n promises.push(this.chGlobal.addListMember(this.currList, actorUid));\n });\n } else {\n promises.push(this.chGlobal.addListMemberEmail(this.currList, this.name, this.email));\n }\n }\n\n\n Promise.all(promises)\n .then((values) => {\n ChListAddActorWindowComponent.hide(true);\n },\n error => {\n console.log(error);\n this.chGlobal.showMessage(MessageType.error, 'Error de datos',\n 'Ha surgido un error enviando los datos al servidor');\n });\n }\n\n }\n\n decline() {\n ChListAddActorWindowComponent.hide(false);\n }\n\n validate(): Boolean {\n console.log(this.tipo)\n if (this.tipo !== 'REG' ) {\n if (this.name.trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'El nombre del usuario no puede estar vacío');\n return false;\n }\n if (this.email.trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'El email no puede estar vacío');\n return false;\n }\n if (!this.chGlobal.validateField(this.email, FieldType.email)) {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'El email introducido no parece válido. Por favor, corrijalo');\n return false;\n }\n } else {\n if (this.newActors.length === 0) {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'No se han seleccionado usuarios para añadir');\n return false;\n }\n }\n return true;\n }\n\n updateData(model: ChUserList) {\n this.currList.name = model['name'].trim();\n this.currList.description = model['description'].trim();\n }\n\n onChangeSelect(model){\n console.log(model)\n console.log()\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcG9wdWxhdGlvbi9jaC1saXN0LWNvbnRlbnRzLWNvcHktd2luZG93L2NoLWxpc3QtY29udGVudHMtY29weS13aW5kb3cuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { BehaviorSubject} from 'rxjs';\nimport { MessageType, OpResult } from 'app/chil/chilweb/ch-globals-def';\nimport { ChUserList } from '../ch-user-list';\nimport { ChActorCompact } from 'app/chil/actor/ch-actor';\nimport { ActorType } from '../../actor/ch-actor';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-list-contents-copy-window',\n templateUrl: './ch-list-contents-copy-window.component.html',\n styleUrls: ['./ch-list-contents-copy-window.component.css']\n})\nexport class ChListContentsCopyWindowComponent implements OnInit {\n private static passData: Array = null;\n private static passUserList: ChUserList = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n\n @ViewChild('fileImportInput', { static: false})\n\n private selectedUsers: Array = null;\n private insertedRows = 0;\n private currList: ChUserList = null;\n private messageTxt: BehaviorSubject = new BehaviorSubject('');\n private progressAdv: BehaviorSubject = new BehaviorSubject(0);\n\n private lists: Array = [];\n private zoneLists: Array = [];\n\n private zoneUid = '';\n private targetList = null;\n\n public static show(list: ChUserList, data: Array, config?: ModalOptions, callback?: Function ) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n ChListContentsCopyWindowComponent.passUserList = list;\n ChListContentsCopyWindowComponent.passData = data;\n ChListContentsCopyWindowComponent.callback = callback != null ? callback : () => {};\n ChListContentsCopyWindowComponent.modalRef = service.showModalWindow(this, config);\n }\n\n public static hide(executeCallback: boolean) {\n const service: ChGlobalsService = ChGlobalsService.getInstance();\n service.hideModalWindow(ChListContentsCopyWindowComponent.modalRef);\n if (executeCallback) {\n ChListContentsCopyWindowComponent.callback();\n }\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n\n chGlobal.getGroupCurrentUserLists(chGlobal.getGroupInfo().uid)\n .then( (result) => {\n this.lists = Object.keys(result).map(function(key) {\n return result[key];\n });\n this.getLists(this.zoneUid);\n });\n\n }\n\n ngOnInit() {\n this.selectedUsers = ChListContentsCopyWindowComponent.passData.slice();\n this.currList = ChListContentsCopyWindowComponent.passUserList;\n if (this.selectedUsers.length === 1) {\n this.messageTxt.next( this.chGlobal.translateStr('1 usuario seleccionado'));\n } else {\n this.messageTxt.next(this.chGlobal.translateStrWithParams('%1 usuarios seleccionados',[String(this.selectedUsers.length)]));\n }\n }\n\n confirm() {\n ChListContentsCopyWindowComponent.hide(true);\n }\n\n decline() {\n ChListContentsCopyWindowComponent.hide(false);\n }\n\n getLists(zoneUid: string) {\n this.targetList = null;\n this.zoneLists = this.lists.filter( list => list.zoneUid === zoneUid ).sort( (a, b) => {\n if(a.name < b.name) { return -1; }\n if(a.name > b.name) { return 1; }\n return 0;\n });\n }\n\n exportValues() {\n console.log('* EXPORTAR ENTRADAS ');\n this.selectedUsers = ChListContentsCopyWindowComponent.passData.slice();\n\n console.log(this.targetList);\n if (this.targetList === null || this.currList.uid === this.targetList.uid) {\n return;\n }\n console.log(' - Lista seleccionada correcta :' + this.targetList.name);\n\n if (this.selectedUsers.length === 0) {\n return;\n }\n console.log(' - Usuarios seleccionados adcuados... ');\n\n this.insertedRows = 0;\n this.progressAdv.next(0);\n\n this.chGlobal.showRunningWindowWithParams( 'Copiando %1 usuarios...', [String(this.selectedUsers.length)]);\n\n const promises: Array> = [];\n let rechazados = 0;\n let insertados = 0;\n const total: number = this.selectedUsers.length;\n let chain: Promise = null;\n\n // Definición de las promesas a utilizar\n const newPromise = function(chGlobal: ChGlobalsService, target: ChUserList, actor: ChActorCompact) {\n if (actor.type === undefined || actor.type === ActorType.user) {\n console.log(' + Exportando Actor' + actor.name + ' ' + actor.lastName);\n return chGlobal.addListMember(target, actor.uid);\n } else {\n console.log(actor);\n console.log(' + Exportando Mail ' + actor.lastName + ' ' + actor.email);\n return chGlobal.addListMemberEmail(target, actor.lastName, actor.email);\n }\n };\n\n const endPromise = function( chGlobal: ChGlobalsService, messageTxt: BehaviorSubject,\n progressAdv: BehaviorSubject) {\n chGlobal.hideRunningWindow();\n if (rechazados === 0) {\n chGlobal.showMessage(MessageType.success,\n 'Orden ejecutada', String(insertados) + ' usuarios copiados.');\n } else {\n chGlobal.showMessage(MessageType.warning,\n 'Orden ejecutada', String(insertados) + ' usuarios copiados. ' +\n String(rechazados) + ' rechazados.');\n }\n messageTxt.next(String(insertados) + ' usuarios copiados.');\n progressAdv.next(100);\n\n ChListContentsCopyWindowComponent.hide(true);\n };\n\n this.selectedUsers.forEach( (actor, index ) => {\n const chGlobal = this.chGlobal;\n const messageTxt = this.messageTxt;\n const progressAdv = this.progressAdv;\n\n // Comienzo del encadenamiento\n if (chain === null) {\n chain = newPromise(chGlobal, this.targetList, actor);\n } else {\n chain = chain\n .then(\n (newval) => {\n insertados++;\n chGlobal.showRunningWindowWithParams( 'Actor %1 (%2) copiado...', [String(index), String(total)]);\n messageTxt.next('Actor ' + String(index) + ' copiado.');\n progressAdv.next(index * 100 / total);\n return newPromise(chGlobal, this.targetList, actor);\n },\n (reason) => {\n rechazados++;\n console.log(reason);\n\n chGlobal.showMessageWithParams(MessageType.warning,'Entrada rechazada', 'Actor %1 ( %2 ) rechazado...'\n ,[String(index),String(total)]);\n\n return newPromise(chGlobal, this.targetList, actor);\n }\n )\n .catch( (error) => {\n rechazados++;\n console.log(error);\n chGlobal.showMessageWithParams(MessageType.warning,'Entrada rechazada', 'Actor %1 ( %2 ) rechazado...'\n ,[String(index),String(total)]);\n return newPromise(chGlobal, this.targetList, actor);\n });\n }\n });\n\n chain.then(\n (newval) => { insertados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv); },\n (reason) => { rechazados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv); }\n )\n .catch( error => {\n console.log(error);\n rechazados++; endPromise(this.chGlobal, this.messageTxt, this.progressAdv);\n });\n }\n}\n","import { OnInit, Component, AfterViewInit, ViewChild} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ChGlobalsService} from '../../chilweb/ch-globals.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ChForm } from '../../forms/ch-form/ch-form';\nimport { MessageType } from '../../chilweb/ch-globals-def';\nimport { ChUserList } from '../ch-user-list';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ch-list-editor-window',\n templateUrl: './ch-list-editor-window.component.html',\n styleUrls: ['../../forms/forms.scss']\n})\nexport class ChListEditorWindowComponent implements OnInit, AfterViewInit {\n\n private static passList: ChUserList = null;\n private static modalRef: BsModalRef = null;\n private static callback: Function = null;\n private static currentWindow: ChListEditorWindowComponent = null;\n\n private currList: ChUserList = null;\n private model: ChUserList = null;\n private title: String = '';\n private buttonText: String = '';\n\n @ViewChild(ChForm, { static: false}) form: ChForm;\n\n public static show(list: ChUserList, config?: ModalOptions, callback?: Function ) {\n ChListEditorWindowComponent.passList = list;\n ChListEditorWindowComponent.modalRef = ChGlobalsService.getInstance().showModalWindow(this, config);\n ChListEditorWindowComponent.callback = callback != null ? callback : () => {};\n }\n\n public static hide(executeCallback: boolean) {\n if (executeCallback) {\n ChListEditorWindowComponent.callback();\n }\n ChGlobalsService.getInstance().hideModalWindow(ChListEditorWindowComponent.modalRef);\n }\n\n constructor(/* public bsModalRef: BsModalRef, */ private chGlobal: ChGlobalsService) {\n ChListEditorWindowComponent.currentWindow = this;\n }\n\n ngOnInit() {\n this.currList = ChListEditorWindowComponent.passList;\n if (this.currList.uid !== '') {\n this.title = 'EDITAR LISTA DE USUARIOS';\n this.buttonText = 'Aceptar';\n } else {\n this.title = 'NUEVA LISTA DE USUARIOS';\n this.buttonText = 'Crear';\n }\n }\n\n ngAfterViewInit() {\n this.model = JSON.parse(JSON.stringify(this.currList));\n this.form.value = this.model;\n }\n\n confirm() {\n if (this.validate(this.model)) {\n this.updateData(this.model);\n ChListEditorWindowComponent.hide(true);\n }\n }\n\n decline() {\n ChListEditorWindowComponent.hide(false);\n }\n\n validate(model: object): Boolean {\n if (model['name'].trim() === '') {\n this.chGlobal.showMessage(MessageType.warning, 'Error en los datos',\n 'La lista de usuarios no puede tener un nombre vacío');\n return false;\n }\n return true;\n }\n\n updateData(model: ChUserList) {\n this.currList.name = model['name'].trim();\n this.currList.description = isNullOrUndefined(model['description']) ? '' : model['description'].trim();\n this.currList.zoneUid = model['zoneUid'];\n this.currList.visibility = model['visibility'];\n this.currList.membershipType = model['membershipType'];\n }\n\n}\n","export default \"#lists.nav > li > a {\\n width: 95%;\\n text-transform: uppercase;\\n display: block;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n color: #676a6c;\\n background-color: transparent;\\n padding: 3px;\\n padding-left: 10px;\\n font-weight: normal;\\n}\\n\\n#lists.nav > li > a:hover {\\n color: #7A2184;\\n}\\n\\n#lists.nav > li > a.selected {\\n color: #7A2184 !important;\\n /* font-weight: bold !important; */\\n text-decoration: underline;\\n}\\n\\n.list-actor-container {\\n width: 100%;\\n display: flex;\\n align-items: flex-start;\\n flex-wrap: wrap;\\n}\\n\\n.list-actor-card,\\n.list-actor-filler {\\n padding: 2px;\\n height: 70px;\\n width: 280px;\\n flex-grow: 1;\\n}\\n\\n.list-actor-card.compact,\\n.list-actor-filler.compact {\\n height: 40px;\\n width: 250px;\\n}\\n\\n.actor-search-box {\\n height: 30px;\\n font-size: 15px;\\n padding: 5px;\\n color: #416ED9;\\n border-color: #E7E7E7;\\n border-style: solid;\\n border-width: 1px;\\n margin-left: 2px;\\n}\\n\\n.list-footer-text {\\n margin: 10px 10px 0px 10px;\\n}\\n\\nch-forms-zone-selector.ch-workpanel-select ::ng-deep .ng-select.ch-combo-box .ng-select-container {\\n color: #7A2184;\\n border-color: #F3F3F3;\\n text-transform: uppercase;\\n}\\n\\nch-forms-zone-selector.ch-workpanel-select ::ng-deep .ch-form-control-holder {\\n padding-left: 0px;\\n padding-right: 0px;\\n padding-top: 0px;\\n}\\n\\n.important-lists-panel {\\n background-color: #EEEEEE;\\n border: 1px solid #E7E7E7;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n}\\n\\n.important-lists-panel a {\\n padding-top: 10px;\\n padding-bottom: 2px;\\n padding-left: 7px;\\n padding-right: 7px;\\n color: #676a6c;\\n}\\n\\n.important-lists-panel a :hover {\\n color: #7A2184;\\n}\\n\\n.important-lists-panel a.selected {\\n color: #7A2184;\\n text-decoration: underline;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9wb3B1bGF0aW9uL2NoLWxpc3RzLWJyb3dzZXIvY2gtbGlzdHMtYnJvd3Nlci5jb21wb25lbnQuc2NzcyIsIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9jaGlsL3BvcHVsYXRpb24vY2gtbGlzdHMtYnJvd3Nlci9jaC1saXN0cy1icm93c2VyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksVUFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGNDNERpQjtFRDNEakIsNkJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBRURKOztBRklBO0VBQ0ksY0NpRWtCO0FDbEV0Qjs7QUZJQTtFQUNJLHlCQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtBRURKOztBRklBO0VBQ0ksV0FBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7QUVESjs7QUZJQTs7RUFHSSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FFRko7O0FGSUk7O0VBQ0ksWUFBQTtFQUNBLFlBQUE7QUVEUjs7QUZLQTtFQUNFLFlBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNDNkRzQjtFRDVEdEIscUJDeUR5QjtFRHhEekIsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FFRkY7O0FGS0E7RUFDSSwwQkFBQTtBRUZKOztBRktBO0VBQ0ksY0NtQmtCO0VEbEJsQixxQkMwQzZCO0VEekM3Qix5QkFBQTtBRUZKOztBRktBO0VBQ0ksaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FFRko7O0FGS0E7RUFDSSx5QkMwQnFCO0VEekJyQix5QkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QUVGSjs7QUZJSTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0NoQmU7QUNjckI7O0FGSU07RUFDRSxjQ05jO0FDSXRCOztBRktNO0VBQ0UsY0NWYztFRFdkLDBCQUFBO0FFSFIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL3BvcHVsYXRpb24vY2gtbGlzdHMtYnJvd3Nlci9jaC1saXN0cy1icm93c2VyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInNyYy9hc3NldHMvc3R5bGVzL2ltcG9ydHMvX3ZhcmlhYmxlc1wiO1xuXG4jbGlzdHMubmF2ID4gbGkgPiBhIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuI2xpc3RzLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yXG59XG5cbiNsaXN0cy5uYXYgPiBsaSA+IGEuc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgIC8qIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5saXN0LWFjdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5saXN0LWFjdG9yLWNhcmQsXG4ubGlzdC1hY3Rvci1maWxsZXJcbiB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJi5jb21wYWN0IHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICB9XG59XG5cbi5hY3Rvci1zZWFyY2gtYm94IHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICRwYW5lbC11c2VyLWRhdGEtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJHBhbmVsLWRhcmstb2JqZWN0LWJvcmRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi5saXN0LWZvb3Rlci10ZXh0IHtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwcHggMTBweDtcbn1cblxuY2gtZm9ybXMtem9uZS1zZWxlY3Rvci5jaC13b3JrcGFuZWwtc2VsZWN0IDo6bmctZGVlcCAubmctc2VsZWN0LmNoLWNvbWJvLWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICRzZWxlY3RlZC1pdGVtLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kLWJvcmRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5jaC1mb3Jtcy16b25lLXNlbGVjdG9yLmNoLXdvcmtwYW5lbC1zZWxlY3QgOjpuZy1kZWVwIC5jaC1mb3JtLWNvbnRyb2wtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbn1cblxuLmltcG9ydGFudC1saXN0cy1wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN1YnN1YmFuZWwtYmFja2dyb3VuZC1ib3JkZXI7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgICAgcGFkZGluZy1yaWdodDogN3B4O1xuICAgICAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG5cbiAgICAgIDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGNvbG9yOiAkc2VsZWN0ZWQtaXRlbS1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxufVxuIiwiLy8gQmFzaWMgQ29sb3JzXHJcbiRuYXZ5OiBvcmFuZ2U7ICAgICAgICAvLyAjMWFiMzk0OyAgICAgICAvLyBQcmltYXJ5IGNvbG9yXHJcbiRkYXJrLWdyYXk6ICNjMmMyYzI7ICAvLyBEZWZhdWx0IGNvbG9yXHJcbiRibHVlOiAjMWM4NGM2OyAgICAgICAvLyBTdWNjZXNzIGNvbG9yXHJcbiRsYXp1cjogIzIzYzZjODsgICAgICAvLyBJbmZvIGNvbG9yXHJcbiR5ZWxsb3c6ICNmOGFjNTk7ICAgICAvLyBXYXJuaW5nIGNvbG9yXHJcbiRyZWQ6ICNFRDU1NjU7ICAgICAgICAvLyBEYW5nZXIgY29sb3JcclxuXHJcbi8vIFZhcmlvdXMgY29sb3JzXHJcbiR0ZXh0LWNvbG9yOiAjNjc2YTZjOyAgIC8vIEJvZHkgdGV4dFxyXG4kdGV4dC1jb2xvci1zZWN1bmRhcnk6ICM5RUEzQTU7ICAgLy8gQm9keSB0ZXh0IGxlc3MgaW1wb3J0YW50XHJcbiR0ZXh0LWNvbG9yLWRpc2FibGVkOiAjQUNCMUI0OyAgIC8vIEJvZHkgdGV4dFxyXG4kZ3JheTogI2YzZjNmNDsgICAgICAgICAvLyBCYWNrZ3JvdW5kIHdyYXBwZXIgY29sb3JcclxuJGxpZ2h0LWdyYXk6ICNEMURBREU7ICAgLy8gRGVmYXVsdCBsYWJlbCwgYmFkZ2VcclxuJGxhYmVsLWJhZGdlLWNvbG9yOiAjNUU1RTVFO1xyXG4kbGlnaHQtYmx1ZTojZjNmNmZiO1xyXG5cclxuLy8gU3BpbmVyIGNvbG9yIGFuZCBtYXJnaW5cclxuJHNwaW4tY29sb3I6ICRuYXZ5O1xyXG4kc3Bpbi1tYXJnaW46IDAgYXV0bztcclxuXHJcblxyXG4vLyBJQk9YIGNvbG9ycyAoIGRlZmF1bHQgcGFuZWwgY29sb3JzKVxyXG4kYm9yZGVyLWNvbG9yOiAjZTdlYWVjOyAgICAgLy8gSUJveCBib3JkZXJcclxuJGlib3gtdGl0bGUtYmc6I2ZmZmZmZjsgICAgIC8vIElCb3ggQmFja2dyb3VuZCBoZWFkZXJcclxuJGlib3gtY29udGVudC1iZzojZmZmZmZmOyAgIC8vIElCb3ggQmFja2dyb3VuZCBjb250ZW50XHJcblxyXG4vL1NpZGViYXIgd2lkdGhcclxuJHNpZGViYXItd2lkdGg6IDIyMHB4O1xyXG5cclxuLy8gQXNzZXRzIHBhdGhcclxuJGFzc2V0LXBhdGggOiBcIi9zcmMvYXNzZXRzL3N0eWxlcy9wYXR0ZXJuc1wiO1xyXG5cclxuLy8gQm94ZWQgbGF5b3V0IHdpZHRoXHJcbiRib3hlZC13aWR0aDogMTIwMHB4O1xyXG4kYm94ZWQtYmFja2dyb3VuZDogdXJsKCcjeyRhc3NldC1wYXRofS9zaGF0dGVyZWQucG5nJyk7XHJcblxyXG4vL0JvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcclxuJGJ0bi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4vL05hdmlnYXRpb24gR3JvdXBzXHJcbiRuYXYtYmc6ICMyRjQwNTA7XHJcbiRuYXYtYmctMjogIzI5Mzg0NjtcclxuJG5hdi1wcm9maWxlLXBhdHRlcm46IHVybChcIiN7JGFzc2V0LXBhdGh9L2hlYWRlci1wcm9maWxlLnBuZ1wiKTtcclxuJG5hdi10ZXh0LWNvbG9yOiAjYTdiMWMyO1xyXG5cclxuLy9OYXZpZ2F0aW9uIFVzZXJzXHJcbiRuYXYtYmctdXNlcjogI0Y0RjZGQTtcclxuJG5hdi1iZy0yLXVzZXI6ICNFQUVDRjA7XHJcbiRuYXYtdGV4dC1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG4kbmF2LWhvb3Zlci1iZy11c2VyOiAjRUFFQ0YwO1xyXG4kbmF2LWhvb3Zlci1jb2xvci11c2VyOiAjMDQxNjQ5O1xyXG5cclxuLy9OYXZpZ2F0aW9uIFpvbmVzXHJcbiRuYXYtYmctem9uZTogI0RERUFGRjtcclxuJG5hdi1iZy0yLXpvbmU6ICAjRERFQUZGO1xyXG4kbmF2LXRleHQtY29sb3Item9uZTogIzA0MTY0OTtcclxuJG5hdi1ob292ZXItYmctem9uZTogc3RlZWxibHVlO1xyXG4kbmF2LWhvb3Zlci1jb2xvci16b25lOiAjRUFFQ0YwO1xyXG5cclxuXHJcbi8vQ29sb3JlcyBkZWwgc2lzdGVtYSwgcG9yIEZSTlxyXG5cclxuJGdlbmVyYWwtYmstY29sb3I6IHdoaXRlO1xyXG4kcHJpbWFyeS1jb2xvcjogI2YwOWIwMDtcclxuJHByaW1hcnktY29sb3ItYms6ICNFRkVGRUY7XHJcbiRwcmltYXJ5LWNvbG9yLWJrLXNlbGVjdGVkOiAjRDNEM0QzO1xyXG4kcHJpbWFyeS1jb2xvci1iay1ib3JkZXI6ICNlN2VhZWM7XHJcbiR0ZXh0LXByaW1hcnktY29sb3ItZGFyazogIzMzMzsgLy8gcmdiKDkyLCA5MiwgOTIpO1xyXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjNjc2YTZjOyAvLyAjN0Y3RjdGO1xyXG4kdGV4dC1zZWNvbmRhcnljb2xvcjogI0JGQkZCRjtcclxuJGZvcm0tYnV0dG9tLXByaW1hcnktY29sb3I6ICM5OTk5OTk7XHJcbiRkZWxldGUtY29sb3I6IHJlZDtcclxuJG1hbmRhdG9yeS1jb2xvcjogZGFya1JlZDtcclxuJGluZm8tY29sb3I6IGdyZWVuOyAvLyMyM2M2Yzg7XHJcbiRpbmZvLWJhY2tncm91bmQ6ICM4MUJBMjc7XHJcbiRkYXJrLWluZm8tY29sb3I6IGRhcmtncmVlbjsgLy8jMjNjNmM4O1xyXG5cclxuJGRpc2FibGVkLWl0ZW0tY29sb3I6IGxpZ2h0Z3JheTtcclxuJGRpc2FibGVkLWl0ZW0tY29sb3ItYm9yZGVyOiBsaWdodGdyYXk7XHJcbiRkaXNhYmxlZC1pdGVtLWNvbG9yLWJrOiB3aGl0ZTtcclxuXHJcbiRzZWxlY3RlZC1pdGVtLWNvbG9yOiAjN0EyMTg0O1xyXG4kc2VsZWN0ZWQtaXRlbS1jb2xvci1iazogI0YyRTdGMjsgLy8gI0M3QUVDQTtcclxuXHJcbiRsZWZ0LW1lbnUtYmFja2dyb3VuZDogIzI5Mzg0NjtcclxuJGxlZnQtbWVudS1mb3JlZ3JvdW5kOiAjOUJBNkI3O1xyXG5cclxuJGNoaWwtYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuJHBhbmVsLWJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiRwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0ZBRkFGQTtcclxuXHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQ6IGxpZ2h0eWVsbG93O1xyXG4kc3VicGFuZWwtYmFja2dyb3VuZC1pbXBvcnRhbnQtYm9yZGVyOiB5ZWxsb3c7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlcjogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWJhY2tncm91bmQtZGlzYWJsZWQ6ICNFRUVFRUU7XHJcbiRzdWJwYW5lbC1iYWNrZ3JvdW5kLWJvcmRlci1kaXNhYmxlZDogI0VFRUVFRTtcclxuJHN1YnBhbmVsLWNvbG9yLWRpc2FibGVkOiAjQzBDMEMwO1xyXG5cclxuJHN1YnN1YnBhbmVsLWJhY2tncm91bmQ6ICNFRUVFRUU7XHJcbiRzdWJzdWJhbmVsLWJhY2tncm91bmQtYm9yZGVyOiAjRTdFN0U3O1xyXG4kc3Vic3ViYW5lbC1iYWNrZ3JvdW5kLXNlbGVjdGVkOiAjRDVENUQ1O1xyXG5cclxuJHBhbmVsLXNlbGVjdC1iYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4kcGFuZWwtc2VsZWN0LWJhY2tncm91bmQtYm9yZGVyOiAjRjNGM0YzO1xyXG4kcGFuZWwtcmVjb21lbmQtYmFja2dyb3VuZC1ib3JkZXI6ICNBQTc5NDI7XHJcblxyXG4kcGFuZWwtZGFyay1vYmplY3QtYm9yZGVyOiAjRTdFN0U3O1xyXG5cclxuJHBhbmVsLXVzZXItZGF0YS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kcGFuZWwtdXNlci1kYXRhLWNvbG9yOiAjNDE2RUQ5O1xyXG5cclxuJHBhbmVsLWNoaWxtYW5hZ2VyLWJhY2tncm91bmQ6ICNENUUyRTY7XHJcbiRwYW5lbC1jaGlsbWFuYWdlci1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vIENvbG9yIGRlbCBncnVwbyBlbiBsb3MgY29tYm9zXHJcbiRjb21iby1ncm91cC1jb2xvcjogIzBCMUYyOTtcclxuXHJcbi8vQ29sb3JlcyBkZSBsb3MgdGlwb3MgZGUgcG9zdCAoRlJOKVxyXG5cclxuJHBvc3QtcG9zdC1iazogICAjNkI0OTkzO1xyXG4kcG9zdC1uZXdzLWJrOiAgICM0OTU2OTM7XHJcbiRwb3N0LWRvY3UtYms6ICAgIzQ3OEY0NztcclxuJHBvc3QtZXZlbnQtYms6ICAgI0JCNEE1RDtcclxuJHBvc3QtcXVlc3Rpb24tYms6ICAgI0M2OUM2MztcclxuJHBvc3QtZm9ybS1iazogICAjNzk3OTc5O1xyXG4kcG9zdC1pbWFnZS1iazogICAjN0Y3ZjQwO1xyXG4kcG9zdC1saW5rLWJrOiAgICM0OTkyOTM7XHJcbiRwb3N0LXB1YmxpLWJrOiAgICNCMzRFQTE7XHJcbiRwb3N0LXRoZW1lLWJrOiAgICM0NTdBOTk7XHJcbiRwb3N0LXRlc3QtYms6ICAgI0NGNzY2RDtcclxuJHBvc3QtcG9zdGJveC1iazogICAjOUY5NjA5O1xyXG4kcG9zdC1wYWdlLWJrOiAgICM5NDMzMzM7XHJcblxyXG4kcG9zdC1iazogICAjNzk3OTc5O1xyXG5cclxuLy9Db2xvcmVzIGRlbCBzdGF0dXNcclxuXHJcbiRwb3N0LXB1Ymxpc2hlZDogIzRGOEYwMDtcclxuJHBvc3Qtd2FpdGluZzogIzkyOTI5MjtcclxuJHBvc3QtZHJhZnQ6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWE6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWI6ICM5MjkyOTI7XHJcbiRwb3N0LW5vcHViLWM6ICM5MjkyOTI7XHJcblxyXG4kc3RhdHVzLW9uOiAjNEY4RjAwO1xyXG4kc3RhdHVzLW9mZjogIzkyOTI5MjtcclxuXHJcbi8vQ29sb3JlcyBkZWwgZGVzdGFjYWRvXHJcblxyXG4kaGlnaGxpZ2h0LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kaGlnaGxpZ2h0LW9uOiBkYXJrcmVkO1xyXG4kaGlnaGxpZ2h0LW9mZjogI0MwQzBDMDtcclxuXHJcbi8vTG9zIGZvcm11bGFyaW9zXHJcblxyXG4kY29udHJvbC1sZWZ0LW1hcmdpbjogMjVweDtcclxuJGNvbnRyb2wtbGFiZWwtYm90dG9tLW1hcmdpbjogM3B4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplOiAxNHB4O1xyXG4kY29udHJvbC1sYWJlbC1zaXplLW1pbmk6IDEycHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtbWljcm86IDEwcHg7XHJcbiRjb250cm9sLWxhYmVsLXNpemUtaW1wb3J0YW50OiAxNnB4O1xyXG4kY29udHJvbC10ZXh0LXNpemU6IDE0cHg7XHJcbiRjb250cm9sLXRleHQtc2l6ZS1pbXBvcnRhbnQ6IDE2cHg7XHJcblxyXG4kaW5wdXQtYmFjay1jb2xvcjogd2hpdGU7XHJcbiRpbnB1dC1iYWNrLWNvbG9yLXJlYWRvbmx5OiAjRjNGM0YzO1xyXG4kaW5wdXQtYWN0aXZlLWNvbG9yOiAjNDE2RUQ5O1xyXG4kaW5wdXQtYWN0aXZlLWNvbnRyb2wtY29sb3I6ICM0QzgxRkY7XHJcbiRpbnB1dC1kaW0tY29sb3I6IExpZ2h0Qmx1ZSA7XHJcbiRpbnB1dC1ib3JkZXI6IGRhcmtncmF5IDtcclxuJGlucHV0LWJvcmRlci1yZWFkb25seTogI0VGRUZFRiA7XHJcbiRpbnB1dC1hY3RpdmUtbGFiZWwtY29sb3IgOiAjMzMzO1xyXG5cclxuLy9Mb3MgcHJvZHVjdG9zIHkgZWwgZUNvbW1lcmNlXHJcbiRwcm9kdWN0X3ByaWNlMV9jb2xvcjogI0MyNjAwMDtcclxuJHByb2R1Y3RfcHJpY2UyX2NvbG9yOiAjMzMzO1xyXG4kcHJvZHVjdF9wcmljZTNfY29sb3I6ICMwMDNDQzI7XHJcblxyXG4vL0NvbG9yZXMgZGUgbGFzIHpvbmFzIGRlIGdlc3Rpb24gQ0hJTFxyXG5cclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kIDogI0NCRTdFNztcclxuJGNoaWwtbWFuYWdlbWVudC1iYWNrZ3JvdW5kLWJ1dHRvbnMgOiBsaWdodGJsdWU7XHJcbiRjaGlsLW1hbmFnZW1lbnQtYm9yZGVyIDogIzVBQkVCRTtcclxuIiwiI2xpc3RzLm5hdiA+IGxpID4gYSB7XG4gIHdpZHRoOiA5NSU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgY29sb3I6ICM2NzZhNmM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuI2xpc3RzLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjN0EyMTg0O1xufVxuXG4jbGlzdHMubmF2ID4gbGkgPiBhLnNlbGVjdGVkIHtcbiAgY29sb3I6ICM3QTIxODQgIWltcG9ydGFudDtcbiAgLyogZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5saXN0LWFjdG9yLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubGlzdC1hY3Rvci1jYXJkLFxuLmxpc3QtYWN0b3ItZmlsbGVyIHtcbiAgcGFkZGluZzogMnB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHdpZHRoOiAyODBweDtcbiAgZmxleC1ncm93OiAxO1xufVxuLmxpc3QtYWN0b3ItY2FyZC5jb21wYWN0LFxuLmxpc3QtYWN0b3ItZmlsbGVyLmNvbXBhY3Qge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAyNTBweDtcbn1cblxuLmFjdG9yLXNlYXJjaC1ib3gge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogIzQxNkVEOTtcbiAgYm9yZGVyLWNvbG9yOiAjRTdFN0U3O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLmxpc3QtZm9vdGVyLXRleHQge1xuICBtYXJnaW46IDEwcHggMTBweCAwcHggMTBweDtcbn1cblxuY2gtZm9ybXMtem9uZS1zZWxlY3Rvci5jaC13b3JrcGFuZWwtc2VsZWN0IDo6bmctZGVlcCAubmctc2VsZWN0LmNoLWNvbWJvLWJveCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjN0EyMTg0O1xuICBib3JkZXItY29sb3I6ICNGM0YzRjM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmNoLWZvcm1zLXpvbmUtc2VsZWN0b3IuY2gtd29ya3BhbmVsLXNlbGVjdCA6Om5nLWRlZXAgLmNoLWZvcm0tY29udHJvbC1ob2xkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xufVxuXG4uaW1wb3J0YW50LWxpc3RzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0U3RTdFNztcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLmltcG9ydGFudC1saXN0cy1wYW5lbCBhIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIGNvbG9yOiAjNjc2YTZjO1xufVxuLmltcG9ydGFudC1saXN0cy1wYW5lbCBhIDpob3ZlciB7XG4gIGNvbG9yOiAjN0EyMTg0O1xufVxuLmltcG9ydGFudC1saXN0cy1wYW5lbCBhLnNlbGVjdGVkIHtcbiAgY29sb3I6ICM3QTIxODQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSJdfQ== */\"","import { Component, ViewChild, ViewContainerRef } from '@angular/core';\nimport 'metismenu';\nimport { ChZoneCompact } from '../../zone/ch-zone';\nimport { ChGlobalsService } from '../../chilweb/ch-globals.service';\nimport { ChUserList } from '../ch-user-list';\nimport { ChListEditorWindowComponent } from '../ch-list-editor-window/ch-list-editor-window.component';\nimport { ChActorCompact, Gender, ActorType } from '../../actor/ch-actor';\nimport { ChGridContainer } from '../../grid/ch-grid-container.component';\nimport { ChListAddActorWindowComponent } from '../ch-list-add-actor-window/ch-list-add-actor-window.component';\nimport { ChWorkPanelComponent } from '../../dynpanel/ch-workpanel/ch-workpanel.component';\nimport { ChListContentsCopyWindowComponent } from '../ch-list-contents-copy-window/ch-list-contents-copy-window.component';\nimport { MessageType } from '../../chilweb/ch-globals-def';\nimport { ActivatedRoute } from '@angular/router';\nimport { isNullOrUndefined } from 'util';\nimport { ChZoneSelectionPanelComponent } from 'app/chil/zone/ch-zone-selection-panel/ch-zone-selection-panel.component';\nimport { ConditionalExpr } from '@angular/compiler';\n\n\n@Component({\n selector: 'app-ch-lists-browser',\n templateUrl: './ch-lists-browser.component.html',\n styleUrls: ['./ch-lists-browser.component.scss']\n})\nexport class ChListsBrowserComponent extends ChGridContainer {\n\n private lists: Array = [];\n private selectedList: ChUserList = null;\n private listName = '';\n private zoneUid = '';\n // seleccion de zonas\n // private zoneUid = '';\n private zoneGroups: string[] = [];\n private zones: ChZoneCompact[] = [];\n private zoneSelected: ChZoneCompact | null = null;\n private editAdmin = false;\n private editFollowers = false;\n private editFollowing = false;\n private searchText = '';\n\n private rightPanelWorking = false;\n\n @ViewChild('zonePanel', { static: true}) zonePanel: ChZoneSelectionPanelComponent;\n\n @ViewChild('listPanel', { static: false}) public listPanel: ChWorkPanelComponent;\n\n private nActor = 0;\n private nMale = 0;\n private nFemale = 0;\n\n constructor(private chGlobal: ChGlobalsService, vcr: ViewContainerRef, private route: ActivatedRoute ) {\n super();\n\n chGlobal.initToasts(vcr);\n\n chGlobal.getGroupCurrentUserLists(chGlobal.getGroupInfo().uid)\n .then( (result) => {\n this.lists = Object.keys(result).map(function(key) {\n return result[key];\n });\n // console.log(this.lists);\n });\n this.zones = this.chGlobal.getGroupZones().filter( z => chGlobal.zoneIsManagedByCurrentUser(z));\n if (!this.zones.includes(chGlobal.getLoadedZone(chGlobal.getGlobalZoneSelectUid()) )){\n chGlobal.setGlobalZoneSelectUid(this.zones[0].zoneUid);\n }\n\n const catuid = this.route.snapshot.params.uid;\n // console.log(catuid);\n if ( !isNullOrUndefined(catuid) && catuid !== '' ) {\n this.chGlobal.setGlobalZoneSelectUid(catuid);\n //this.zoneSelectionChanged();\n }\n\n this.zoneSelectionChanged();\n }\n\n private selectList(uid: string) {\n this.resetSelectedList()\n this.selectedList = this.lists.find( (value) => { return value['uid'] === uid; });\n this.listName = this.selectedList['name'];\n\n this.loadList();\n }\n\n private loadList() {\n this.nActor = 0; this.nMale = 0; this.nFemale = 0;\n this.listPanel.isWorking = true;\n this.resetGrid();\n\n this.chGlobal.getListMembers(this.selectedList.uid).then( (value) => {\n this.itemsList = value;\n // console.log(this.itemsList);\n setTimeout(() => {\n this.gridItemsInit();\n this.nActor = this.itemsList.length;\n this.nMale = this.itemsList.filter(actor => actor.gender === Gender.male).length;\n this.nFemale = this.itemsList.filter(actor => actor.gender === Gender.female).length;\n this.listPanel.isWorking = false;\n }, 0);\n })\n .catch ( (reason) => {\n console.log(reason);\n this.listPanel.isWorking = false;\n });\n }\n\n private loadAdmins() {\n this.nActor = 0; this.nMale = 0; this.nFemale = 0;\n this.listPanel.isWorking = true;\n this.resetGrid();\n\n this.chGlobal.getManagers().then( (value) => {\n this.itemsList = value;\n // console.log(this.itemsList);\n setTimeout(() => {\n this.gridItemsInit();\n this.nActor = this.itemsList.length;\n this.nMale = this.itemsList.filter(actor => actor.gender === Gender.male).length;\n this.nFemale = this.itemsList.filter(actor => actor.gender === Gender.female).length;\n this.listPanel.isWorking = false;\n }, 0);\n })\n .catch ( (reason) => {\n console.log(reason);\n this.listPanel.isWorking = false;\n });\n }\n\n\n private loadFollowers() {\n this.nActor = 0; this.nMale = 0; this.nFemale = 0;\n this.listPanel.isWorking = true;\n this.resetGrid();\n\n this.chGlobal.getFollowers().then( (value) => {\n this.itemsList = value.sort( (a,b) => {\n if ( isNullOrUndefined(a.lastName) && isNullOrUndefined(b.lastName)) {\n return a.name.localeCompare(b.name);\n } else if ( isNullOrUndefined(a.lastName) && !isNullOrUndefined(b.lastName)) {\n return -1\n } else if ( !isNullOrUndefined(a.lastName) && isNullOrUndefined(b.lastName)) {\n return 1\n } else {\n return a.lastName.localeCompare(b.lastName);\n }\n });\n // console.log(this.itemsList);\n setTimeout(() => {\n this.gridItemsInit();\n this.nActor = this.itemsList.length;\n this.nMale = this.itemsList.filter(actor => actor.gender === Gender.male).length;\n this.nFemale = this.itemsList.filter(actor => actor.gender === Gender.female).length;\n this.listPanel.isWorking = false;\n }, 0);\n })\n .catch ( (reason) => {\n console.log(reason);\n this.listPanel.isWorking = false;\n });\n }\n\n private loadFollowings() {\n this.nActor = 0; this.nMale = 0; this.nFemale = 0;\n this.listPanel.isWorking = true;\n this.resetGrid();\n\n this.chGlobal.getFollowing().then( (value) => {\n this.itemsList = value.sort( (a,b) => {\n if ( isNullOrUndefined(a.lastName) && isNullOrUndefined(b.lastName)) {\n return a.name.localeCompare(b.name);\n } else if ( isNullOrUndefined(a.lastName) && !isNullOrUndefined(b.lastName)) {\n return -1\n } else if ( !isNullOrUndefined(a.lastName) && isNullOrUndefined(b.lastName)) {\n return 1\n } else {\n return a.lastName.localeCompare(b.lastName);\n }\n });\n // console.log(this.itemsList);\n setTimeout(() => {\n this.gridItemsInit();\n this.nActor = this.itemsList.length;\n this.nMale = this.itemsList.filter(actor => actor.gender === Gender.male).length;\n this.nFemale = this.itemsList.filter(actor => actor.gender === Gender.female).length;\n this.listPanel.isWorking = false;\n }, 0);\n })\n .catch ( (reason) => {\n console.log(reason);\n this.listPanel.isWorking = false;\n });\n }\n\n private dummy(event) {\n console.log(event);\n }\n\n private editList(list: ChUserList ) {\n if (list === null) { // Esto es porque vamos a crear una nueva\n list = new ChUserList();\n list.zoneUid = this.chGlobal.getGlobalZoneSelectUid()\n list.owner = { uid: this.chGlobal.getGroupInfo().uid };\n }\n ChListEditorWindowComponent.show(list,\n { initialState : {\n data : {\n title: list.uid !== '' ? 'Editar lista de usuarios' : 'Nueva lista de usuarios',\n }\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n\n if (list.uid !== '') { // actualizar lista\n this.chGlobal.updateList(list).then(result => {\n if (result) {\n this.listName = list.name;\n }\n });\n } else {\n this.chGlobal.createList(list).then ( newUid => {\n if (newUid !== '') {\n //console.log(newUid);\n list.uid = newUid.toString();\n this.lists.push(list);\n if (list.zoneUid != this.chGlobal.getGlobalZoneSelectUid()) {\n this.chGlobal.setGlobalZoneSelectUid(list.zoneUid );\n this.zoneSelectionChanged();\n }\n this.selectedList = list;\n this.listName = list.name;\n }\n });\n }\n }\n );\n }\n\n private removeList(list: ChUserList ) {\n this.chGlobal.showConfirmDialog(this.chGlobal.translateStr('BORRAR LISTA DE USUARIO'),\n this.chGlobal.translateStrWithParams('¿Está seguro de querer borrar la lista %1?', [list.name]),\n this.chGlobal.translateStr('Los usuarios referenciados por ella no serán borrados.'),\n () => {\n this.chGlobal.deleteList(list).then ( result => {\n if (result) {\n this.lists.splice(this.lists.indexOf(list), 1);\n this.selectedList = null;\n this.listName = '';\n this.resetGrid();\n }\n });\n },\n this.chGlobal.translateStr('Borrar'), this.chGlobal.translateStr('Cancelar'));\n }\n\n private deleteUsers(list: ChUserList ) {\n this.chGlobal.showConfirmDialog(this.chGlobal.translateStr('ELIMINAR USUARIOS'),\n this.chGlobal.translateStrWithParams('¿Está seguro de querer eliminar los usuarios seleccionados de la lista %1?', [list.name]),\n this.chGlobal.translateStr('Los usuarios referenciados por ella no serán borrados.'),\n async () => {\n this.listPanel.isWorking = true;\n this.chGlobal.showRunningWindow('Eliminando mienbros seleccionados');\n const deletedActors: Array = [];\n var promise: Promise;\n for(var i = 0; i {\n this.itemsList.splice(this.itemsList.indexOf(actor), 1);\n });\n\n this.selectedItemsList = [];\n this.listPanel.isWorking = false;\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.success, 'Miembros borrados',\n 'Los actores seleccionados han sido elminados de la lista');\n },\n this.chGlobal.translateStr('Borrar'), this.chGlobal.translateStr('Cancelar'));\n }\n\n private addUsers(list: ChUserList) {\n ChListAddActorWindowComponent.show(list,\n { initialState : {\n data : {}\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n if (list.uid == 'MANAGERS') {\n this.loadAdmins();\n } else if (list.uid == 'FOLLOWERS') {\n this.loadFollowers();\n } else if (list.uid == 'FOLLOWINGS') {\n this.loadFollowings();\n } else {\n this.loadList();\n }\n }\n );\n }\n\n private copyUsers(list: ChUserList) {\n ChListContentsCopyWindowComponent.show(list, this.selectedItemsList,\n { initialState : {\n data : {}\n },\n class: 'ch-modal-small',\n animated: true,\n keyboard: true,\n backdrop: true,\n ignoreBackdropClick: false\n },\n () => {\n }\n );\n }\n\n private zoneSelectionChanged() {\n const zoneUid = this.chGlobal.getGlobalZoneSelectUid();\n if (this.zoneUid !== zoneUid) {\n this.zoneUid = zoneUid;\n this.selectedList = null;\n this.listName = '';\n this.resetGrid();\n const firstList = this.lists.find( l => l.zoneUid == this.zoneUid);\n if (firstList) {\n this.selectList(firstList.uid);\n }\n }\n }\n\n private resetSelectedList() {\n\n this.selectedList = null;\n this.listName = '';\n this.editAdmin = false;\n this.editFollowers = false;\n this.editFollowing = false;\n }\n\n private adminList() {\n this.zoneUid = '';\n this.resetSelectedList()\n this.editAdmin = true;\n this.selectedList = new ChUserList();\n this.selectedList.uid = 'MANAGERS';\n this.selectedList.isSystemList = true;\n this.selectedList.name = \"Managers\";\n this.selectedList.visibility = 'visible';\n this.selectedList.description = this.chGlobal.translateStr('Gestores del sistema completo');\n\n\n this.listName = 'MANAGERS';\n\n this.loadAdmins();\n }\n\n private followersList() {\n this.zoneUid = '';\n this.resetSelectedList()\n this.editFollowers = true\n\n this.selectedList = new ChUserList();\n this.selectedList.uid = 'FOLLOWERS';\n this.selectedList.isSystemList = true;\n this.selectedList.name = this.chGlobal.translateStr(\"Seguidores\");\n this.selectedList.visibility = 'visible';\n this.selectedList.description = this.chGlobal.translateStr('Seguidores del grupo');\n\n this.listName = this.chGlobal.translateStr('SEGUIDORES');\n\n this.loadFollowers();\n }\n\n private followingList() {\n this.resetSelectedList()\n this.editFollowing = true\n\n this.selectedList = new ChUserList();\n this.selectedList.uid = 'FOLLOWINGS';\n this.selectedList.isSystemList = true;\n this.selectedList.name = this.chGlobal.translateStr(\"Actores seguidos\");\n this.selectedList.visibility = 'visible';\n this.selectedList.description = this.chGlobal.translateStr('Actores seguidos');\n\n this.listName = this.chGlobal.translateStr('SEGUIDOS');\n\n this.loadFollowings();\n }\n /**\n * GESION DE ZONAS\n */\n\n\n\n private loadZones() {\n this.zones = this.chGlobal.getGroupZones();\n this.zones.sort( (a, b) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n\n });\n // console.log(this.zones);\n for (let _i = 0; _i < this.zones.length; _i++) {\n const z = this.zones[_i];\n if ( z.name === 'ROOT') {\n z.name = this.chGlobal.getGroupInfo().name;\n }\n if ( z.description.trim() !== '' && this.zoneGroups.find( (v) => v === z.description ) === undefined) {\n this.zoneGroups.push(z.description.trim());\n }\n }\n }\n\n private togglePanel() {\n //console.log(' + TOGGLE!!');\n this.zonePanel.toggle();\n\n }\n\n matchFilter(name: string) : boolean {\n if (this.searchText.length < 4) {\n return true;\n } else {\n //console.log('MATCH ' + name + ' - ' + name.toLowerCase().includes(this.searchText.toLowerCase()));\n return name.toLowerCase().includes(this.searchText.toLowerCase());\n }\n }\n\n}\n","/**\n * Clase que encapsula una categoria\n */\n export class ChUserList {\n uid = '';\n name = '';\n description = '';\n slug = '';\n visibility = 'public';\n membershipType = 'close';\n isSystemList = false;\n zoneUid = '';\n owner: object = null;\n };\n","import { isNullOrUndefined } from \"util\";\n\nexport enum ChLinkType {\n None,\n General,\n YouTube,\n IVoox\n}\n\nexport class ChLink {\n\n static youTubePrefixes : Array = [\n 'http://www.youtube.com','http://youtube.com','http://m.youtube.com',\n 'https://www.youtube.com','https://youtube.com','https://m.youtube.com',\n 'http://youtu.be','https://youtu.be'\n ]\n\n static iVooxPrefixes : Array = [\n 'https://www.ivoox.com','http://www.ivoox.com','https://ivoox.com',\n 'http://ivoox.com'\n ]\n\n static stringStartsWithAny(str: string, prefixes: Array) : boolean {\n for(let i=0; i< prefixes.length; i++) {\n if (str.startsWith(prefixes[i])) {\n return true;\n }\n }\n return false;\n }\n\n public static getLinkType(url : string) : ChLinkType {\n if (url == '')\n return ChLinkType.None;\n\n if (ChLink.stringStartsWithAny(url, ChLink.youTubePrefixes))\n return ChLinkType.YouTube;\n else if (ChLink.stringStartsWithAny(url, ChLink.iVooxPrefixes))\n return ChLinkType.IVoox;\n else\n return ChLinkType.General;\n }\n\n public static parseYouTubeUrl(url : string) : string | null {\n\n if (ChLink.getLinkType(url) == ChLinkType.YouTube) {\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*/;\n var match = url.match(regExp);\n return (match&&match[7].length==11)? match[7] : '';\n } else {\n return null;\n }\n }\n\n public static getLinkIcon(type : ChLinkType) : string {\n switch(type) {\n case ChLinkType.IVoox:\n return 'assets/images/chil/ivoox50.png';\n case ChLinkType.YouTube:\n return 'assets/images/chil/youtube50.png';\n case ChLinkType.General:\n return 'assets/images/chil/link50.png';\n default:\n return '';\n }\n }\n\n public static isSafeLink(url: string) : boolean {\n if (url == '')\n return false;\n\n return url.toLowerCase().startsWith('https://');\n }\n\n\n private _url :string = '';\n public get url() {\n return this._url;\n };\n public set url(val) {\n if (this._url === val) {\n return;\n }\n this._url = val;\n this.type = ChLink.getLinkType(val);\n }\n\n public type: ChLinkType = ChLinkType.None;\n\n public title: string | null = null;\n public descr: string | null = null;\n public picUrl: string | null = null;\n\n public get icon() : string {\n return ChLink.getLinkIcon(this.type)\n }\n\n public get isSafe() : boolean {\n return ChLink.isSafeLink(this.url)\n }\n\n constructor(url: string) {\n this.url = url.toLowerCase();\n }\n\n copy() : ChLink {\n let newLink = new ChLink(String(this.url));\n newLink.title = isNullOrUndefined(this.title) ? null : String(this.title);\n newLink.descr = isNullOrUndefined(this.descr) ? null : String(this.descr);\n newLink.picUrl = isNullOrUndefined(this.picUrl) ? null : String(this.picUrl);\n\n return newLink;\n }\n\n}\n ","import { isNullOrUndefined } from \"util\";\nimport { ChCategoria } from \"../categories/ch-categoria\";\nimport { ChEncoder } from \"../chilweb/ch-encoder\";\nimport { ChGlobalsService } from \"../chilweb/ch-globals.service\";\nimport { ChGeoLocation } from \"../location/ch-geo-location\";\nimport { ChAttachment, ChAttachmentCommand, ChComment, ChPost, ChPostBodyFormat, ChPostLanguage, ChPostStatus, ChPostVisibility } from \"./ch-post\";\nimport { ChProgramming } from \"./ch-programming\";\n\n /**\n * Clase que encapsula una orden de creación/modificacion de un post\n */\n export class ChPostCommand {\n\n // localizacion e identidad\n hostUid : string = '';\n zoneUid : string = '';\n\n identityUid : string = ''; // Es el Uid del actor que va a publicar\n authorName? : string = undefined; // Opcional para usuarios anónimos\n authorEmail? : string = undefined; // Opcional para usuarios anónimos\n\n type : string = 'post';\n title : string = '';\n description : string = '';\n body: string = ''; // Debe estar codificado en base64 usando las funciones habituales\n\n location? : {name: string; latitude: number; longitude: number; locationUrl: string} = undefined;\n\n date?: string = undefined;\n\n coverImgUid? : string = undefined;\n\n url : string = '';\n sourceName : string = '';\n bodyFormat : ChPostBodyFormat = ChPostBodyFormat.Html;\n\n tags : string = '';\n categories : string[] = []; // los uids de las categorias involucradas\n lang : ChPostLanguage = ChPostLanguage.Español;\n\n status : ChPostStatus = ChPostStatus.Draft;\n visibility : ChPostVisibility = ChPostVisibility.visible;\n\n embed : string = '';\n\n schedulePubDate?: string = undefined;\n publishDate?: string = undefined;\n\n attachments : ChAttachmentCommand[] = [];\n\n commentsEnabled : boolean = true;\n\n notifyLists : string[] = []; //uids de las listas de notificación de usuarios.\n\n authors : string = '';\n publication : string = '';\n year? : number = undefined;\n\n fileUid? : string = undefined;\n\n startDate? : string = undefined;\n endDate? : string = undefined;\n tz? : string = undefined;\n\n metadata? : string = undefined; //Datos sin especificar convertidos en string esde json y codificados base64\n\n fieldsToUpdate : string[] = [];\n\n programming : ChProgramming | null = null;\n\n public setLang(langCode: String) {\n // En caso de duda pone español\n switch(langCode) {\n case '*':\n this.lang = ChPostLanguage.Todos; break;\n case 'ES':\n this.lang = ChPostLanguage.Español; break;\n case 'EN':\n this.lang = ChPostLanguage.Ingles; break;\n case 'FR':\n this.lang = ChPostLanguage.Frances; break;\n case 'CA':\n this.lang = ChPostLanguage.Catalán; break;\n case 'FA':\n this.lang = ChPostLanguage.Farsi; break;\n default:\n this.lang = ChPostLanguage.Español; break;\n }\n }\n\n public loadFromNewPost(ref: ChPost) {\n\n const chGlobal = ChGlobalsService.getInstance();\n\n // Campos obligatorios\n this.hostUid = ref.host.uid;\n this.zoneUid = isNullOrUndefined(ref.zone) ? '' : ref.zone.uid;\n\n // Identidad del autor\n this.identityUid = ref.creator.uid; // Es el Uid del actor que va a publicar\n this.authorName = ref.creator.anonymousName ? ref.creator.anonymousName : undefined; // Opcional para usuarios anónimos\n this.authorEmail = ref.creator.anonymousEmail ? ref.creator.anonymousEmail : undefined; // Opcional para usuarios anónimos\n // tipo de post\n this.type = ref.type;\n // Datos básicos\n this.title = chGlobal.utoa(ref.title); // Codificar!\n this.body = chGlobal.utoa(ref.body); // Codificar!\n this.description = chGlobal.utoa(ref.description); // Codificar!\n this.url = ref.url;\n this.sourceName = ref.sourceName;\n this.lang = ref.lang;\n\n // Localización\n this.location = ref.location != undefined && ref.location.isValid() ?\n { name: ref.location.name,\n latitude: ref.location.latitude,\n longitude: ref.location.longitude,\n locationUrl: ref.location.locationUrl\n }\n : undefined;\n\n // Fechas\n this.date = ChEncoder.dateToString(new Date());\n this.schedulePubDate = ref.schedulePubDate != undefined? ChEncoder.dateToString(ref.schedulePubDate) : undefined;\n this.publishDate = ref.publishedAt != undefined? ChEncoder.dateToString(ref.publishedAt) : undefined;\n\n // Status, etc.\n // El Status y la visibilidad SIEMPRE se actualizan\n this.status = ref.status;\n this.visibility = ref.visibility;\n this.commentsEnabled = ref.commentsEnabled;\n\n // Imagen\n this.coverImgUid = isNullOrUndefined(ref.picture) ? undefined : ref.picture.uid;\n\n // Attachments\n const newAttach: ChAttachmentCommand[] = ref.attachments.map ( a => {\n return a.toCommand(); });\n this.attachments = newAttach;\n\n // Categories\n const newCatUidArray: string[] = ref.categories.map ( c => { return c.uid; });\n this.categories = newCatUidArray;\n\n // Tags\n var newTagString = '';\n for (let i = 0; i < ref.tags.length; i++) {\n newTagString += (i>0 ? ',' : '') + ref.tags[i].toLowerCase();\n }\n this.tags = newTagString;\n\n // Embed, etc\n this.embed = ref.embed;\n\n // Eventos\n this.startDate = ref.startDate != undefined? ChEncoder.dateToString(ref.startDate) : undefined;\n this.endDate = ref.endDate != undefined? ChEncoder.dateToString(ref.endDate) : undefined;\n this.tz = ref.tz;\n\n // Autores etc\n this.authors = ref.authors != undefined ? chGlobal.utoa(ref.authors) : undefined;\n this.publication = ref.publication != undefined ? chGlobal.utoa(ref.publication) : undefined;\n this.year = ref.year;\n\n // Fichero\n if( ref.type == 'image') {\n this.fileUid = this.coverImgUid;\n } else {\n this.fileUid = isNullOrUndefined(ref.file) ? undefined : ref.file.uid;\n }\n\n // Programming\n console.log(ref.programming)\n if (isNullOrUndefined(ref.programming) || ref.programming.schedule == 'none') {\n this.programming = null;\n } else {\n this.programming = ref.programming;\n }\n\n }\n\n\n /**\n * Carga el PostCommand con la diferencia entre dos posts, borrando los contenidos\n * anteriores\n * @param ref Primer post que se usa como referencia\n * @param changed Post modificado sobre el que se realiza la comparación\n */\n public comparePosts(ref: ChPost, changed: ChPost) {\n\n const chGlobal = ChGlobalsService.getInstance();\n\n // Campos obligatorios\n this.hostUid = ref.host.uid;\n this.zoneUid = isNullOrUndefined(ref.zone) ? '' : ref.zone.uid;\n\n // Identidad del autor\n this.identityUid = ref.creator.uid; // Es el Uid del actor que va a publicar\n this.authorName = ref.creator.anonymousName ? ref.creator.anonymousName : undefined; // Opcional para usuarios anónimos\n this.authorEmail = ref.creator.anonymousEmail ? ref.creator.anonymousEmail : undefined; // Opcional para usuarios anónimos\n // tipo de post\n this.type = ref.type;\n // Datos básicos\n this.title = chGlobal.utoa(this.compareAndSetString(ref.title, changed.title, this.fieldsToUpdate, 'Title')); // Codificar! HAY QUE HACERLO 2 VECES. ESTA BIEN!\n this.title = chGlobal.utoa(changed.title); // Siempre codificar el titulo, porque causa problemas en determinados tipos de posts HAY QUE HACERLO 2 VECES. ESTA BIEN!\n this.body = chGlobal.utoa(this.compareAndSetString(ref.body, changed.body, this.fieldsToUpdate, 'Body')); // Codificar!\n this.description = chGlobal.utoa(this.compareAndSetString(ref.description, changed.description, this.fieldsToUpdate, 'Description')); // Codificar!\n this.url = this.compareAndSetString(ref.url, changed.url, this.fieldsToUpdate, 'Url');\n this.sourceName = this.compareAndSetString(ref.sourceName, changed.sourceName, this.fieldsToUpdate, 'SourceName');\n this.lang = this.compareAndSetLang(ref.lang, changed.lang, this.fieldsToUpdate, 'Lang');\n\n // Localización\n this.location = this.compareAndSetLocation(ref.location, changed.location, this.fieldsToUpdate, 'Location');\n\n // Fechas\n this.date = ChEncoder.dateToString(ref.createdAt);\n this.schedulePubDate = this.compareAndSetOptionalDateString(ref.schedulePubDate, changed.schedulePubDate, this.fieldsToUpdate, 'SchedulePubDate');\n this.publishDate = this.compareAndSetOptionalDateString(ref.publishedAt, changed.publishedAt, this.fieldsToUpdate, 'PublishDate');\n\n // Status, etc.\n // El Status y la visibilidad SIEMPRE se actualizan\n this.status = this.compareAndSetStatus(ref.status, changed.status, this.fieldsToUpdate, 'Status');\n this.visibility = this.compareAndSetVisibility(ref.visibility, changed.visibility, this.fieldsToUpdate, 'Visibility');\n this.commentsEnabled = this.compareAndSetBoolean(ref.commentsEnabled, changed.commentsEnabled, this.fieldsToUpdate, 'CommentsEnabled');\n\n // Imagen\n this.coverImgUid = this.compareAndSetOptionalString(\n isNullOrUndefined(ref.picture) ? undefined : ref.picture.uid,\n isNullOrUndefined(changed.picture) ? undefined : changed.picture.uid,\n this.fieldsToUpdate, 'Picture', false);\n\n // Attachments\n this.attachments = this.compareAndSetAttachments(ref.attachments, changed.attachments, this.fieldsToUpdate, 'Attachments');\n this.categories = this.compareAndSetCategories(ref.categories, changed.categories, this.fieldsToUpdate, 'Categories');\n\n // Tags\n this.tags = this.compareAndSetTags(ref.tags, changed.tags, this.fieldsToUpdate, 'Tags');\n\n // Embed, etc\n this.embed = this.compareAndSetString(ref.embed, changed.embed, this.fieldsToUpdate, 'Embed');\n\n // Eventos\n this.startDate = this.compareAndSetOptionalDateString(ref.startDate, changed.startDate, this.fieldsToUpdate, 'StartDate');\n this.endDate = this.compareAndSetOptionalDateString(ref.endDate, changed.endDate, this.fieldsToUpdate, 'EndDate');\n this.tz = this.compareAndSetOptionalString(\n isNullOrUndefined(ref.tz) ? undefined : ref.tz,\n isNullOrUndefined(changed.tz) ? undefined : changed.tz,\n this.fieldsToUpdate,\n 'Tz', false);\n\n // Autores etc\n this.authors = this.compareAndSetOptionalString(ref.authors, changed.authors, this.fieldsToUpdate, 'Authors', true);\n this.publication = this.compareAndSetOptionalString(ref.publication, changed.publication, this.fieldsToUpdate, 'Publication', true);\n this.year = this.compareAndSetOptionalNumber(ref.year, changed.year, this.fieldsToUpdate, 'Year');\n\n // Fichero\n\n if( ref.type == 'image') {\n this.fileUid = this.compareAndSetOptionalString(\n isNullOrUndefined(ref.picture) ? undefined : ref.picture.uid,\n isNullOrUndefined(changed.picture) ? undefined : changed.picture.uid,\n this.fieldsToUpdate, 'File', false);\n } else {\n if (isNullOrUndefined(ref['file']) && isNullOrUndefined(changed['file']) ) {\n this.fileUid = undefined;\n } else if (!isNullOrUndefined(ref['file']) && isNullOrUndefined(changed['file'])) {\n this.fileUid = undefined;\n this.fieldsToUpdate.push('File');\n } else if (isNullOrUndefined(ref['file']) && !isNullOrUndefined(changed['file']) ) {\n this.fileUid = changed['file']['uid'];\n this.fieldsToUpdate.push('File');\n } else if ( ref['file']['uid'] == changed['file']['uid']) {\n this.fileUid = changed['file']['uid'];\n } else {\n this.fileUid = changed['file']['uid'];\n this.fieldsToUpdate.push('File');\n }\n }\n\n /*\n metadata? : string = undefined; //Datos sin especificar convertidos en string esde json y codificados base64\n */\n\n if (isNullOrUndefined(changed['programming']) || changed['programming']['schedule'] == 'none') {\n this.programming = null;\n } else {\n this.programming = changed.programming;\n }\n\n }\n\n private compareAndSetString(ref: string, newval: string, fieldsToUpdate : string[], fieldName: string) : string {\n if (ref != newval) {\n fieldsToUpdate.push(fieldName);\n return newval;\n } else {\n return '';\n }\n }\n\n private compareAndSetBoolean(ref: boolean, newval: boolean, fieldsToUpdate : string[], fieldName: string) : boolean {\n if (ref != newval) {\n fieldsToUpdate.push(fieldName);\n return newval;\n } else {\n return newval;\n }\n }\n\n private compareAndSetStatus(ref: ChPostStatus, newval: ChPostStatus, fieldsToUpdate : string[], fieldName: string) : ChPostStatus {\n if (ref != newval) {\n fieldsToUpdate.push(fieldName);\n return newval;\n } else {\n return newval;\n }\n }\n\n private compareAndSetVisibility(ref: ChPostVisibility, newval: ChPostVisibility, fieldsToUpdate : string[], fieldName: string) : ChPostVisibility {\n if (ref != newval) {\n fieldsToUpdate.push(fieldName);\n return newval;\n } else {\n return newval;\n }\n }\n\n private compareAndSetOptionalDateString(ref: Date | undefined | null, newval: Date | undefined | null, fieldsToUpdate : string[], fieldName: string) : string | undefined {\n if (isNullOrUndefined(ref) && isNullOrUndefined(newval) ) {\n return undefined;\n } else if (!isNullOrUndefined(ref) && isNullOrUndefined(newval)) {\n fieldsToUpdate.push(fieldName);\n return undefined;\n } else if (isNullOrUndefined(ref) && !isNullOrUndefined(newval) ) {\n fieldsToUpdate.push(fieldName);\n return ChEncoder.dateToString(newval);\n } else if ( ref == newval) {\n //fieldsToUpdate.push(fieldName);\n //return newval as Date ;\n return undefined;\n } else {\n fieldsToUpdate.push(fieldName);\n return ChEncoder.dateToString(newval);\n }\n }\n\n private compareAndSetOptionalString(ref: string | undefined | null, newval: string | undefined | null, fieldsToUpdate : string[], fieldName: string, code: boolean) : string | undefined {\n //console.log('compareAndSetOptionalString')\n //console.log(' > ref: ' + ref)\n //console.log(' > newval: ' + newval)\n const chGlobal = ChGlobalsService.getInstance();\n\n if (isNullOrUndefined(ref) && isNullOrUndefined(newval) ) {\n return undefined;\n } else if (!isNullOrUndefined(ref) && isNullOrUndefined(newval)) {\n fieldsToUpdate.push(fieldName);\n return undefined;\n } else if (isNullOrUndefined(ref) && !isNullOrUndefined(newval) ) {\n fieldsToUpdate.push(fieldName);\n const newStr = newval as string ;\n return code ? chGlobal.utoa(newStr) : newStr;\n } else if ( ref == newval) {\n //fieldsToUpdate.push(fieldName);\n //return newval as string ;\n return undefined;\n } else {\n fieldsToUpdate.push(fieldName);\n const newStr = newval as string ;\n return code ? chGlobal.utoa(newStr) : newStr;\n }\n }\n\n private compareAndSetOptionalNumber(ref: number | undefined | null, newval: number | undefined | null, fieldsToUpdate : string[], fieldName: string) : number | undefined {\n //console.log('compareAndSetOptionalString')\n //console.log(' > ref: ' + ref)\n //console.log(' > newval: ' + newval)\n if (isNullOrUndefined(ref) && isNullOrUndefined(newval) ) {\n return undefined;\n } else if (!isNullOrUndefined(ref) && isNullOrUndefined(newval)) {\n fieldsToUpdate.push(fieldName);\n return undefined;\n } else if (isNullOrUndefined(ref) && !isNullOrUndefined(newval) ) {\n fieldsToUpdate.push(fieldName);\n return newval as number ;\n } else if ( ref == newval) {\n //fieldsToUpdate.push(fieldName);\n //return newval as string ;\n return undefined;\n } else {\n fieldsToUpdate.push(fieldName);\n return newval as number ;\n }\n }\n\n private compareAndSetLocation(ref: ChGeoLocation | undefined | null, newval: ChGeoLocation | undefined | null, fieldsToUpdate : string[], fieldName: string) : {name: string; latitude: number; longitude: number; locationUrl: string} {\n if ((isNullOrUndefined(ref) || !ref.isValid()) && (isNullOrUndefined(newval) || !newval.isValid()) ) {\n return undefined;\n } else if ((!isNullOrUndefined(ref) && ref.isValid()) && (isNullOrUndefined(newval) || !newval.isValid()) ) {\n fieldsToUpdate.push(fieldName);\n return undefined;\n } else if ((isNullOrUndefined(ref) || !ref.isValid()) && (!isNullOrUndefined(newval) && newval.isValid()) ) {\n fieldsToUpdate.push(fieldName);\n return {name: newval.name, latitude: newval.latitude, longitude: newval.longitude, locationUrl: newval.locationUrl} ;\n } else if (!ref.isEqual(newval)) {\n fieldsToUpdate.push(fieldName);\n return {name: newval.name, latitude: newval.latitude, longitude: newval.longitude, locationUrl: newval.locationUrl} ;\n } else {\n return undefined;\n }\n }\n\n private compareAndSetLang(ref: ChPostLanguage, newval: ChPostLanguage, fieldsToUpdate : string[], fieldName: string) : ChPostLanguage {\n if (ref != newval) {\n fieldsToUpdate.push(fieldName);\n return newval;\n } else {\n return ref;\n }\n }\n\n private compareAndSetAttachments(ref: Array, newval: Array, fieldsToUpdate : string[], fieldName: string) : ChAttachmentCommand[] {\n\n /*\n var attachmentsModified = ref.length != newval.length;\n if (!attachmentsModified) {\n for (let i = 0; i < ref.length; i++) {\n if (ref[i].uid != newval[i].uid) {\n attachmentsModified = true;\n }\n }\n }\n\n if (!attachmentsModified) {\n return [];\n } else {\n fieldsToUpdate.push(fieldName);\n const newAttach: ChAttachmentCommand[] = newval.map ( a => { return a.toCommand(); })\n return newAttach;\n }*/\n // hay que dejarse de rollo, los attachments hay que actualizarlos siempre. Ya se encarga el servidor de poner orden\n fieldsToUpdate.push(fieldName);\n //console.log(newval);\n const newAttach: ChAttachmentCommand[] = newval.map ( a => {\n //console.log(a);\n return a.toCommand(); })\n return newAttach;\n }\n\n private compareAndSetTags(ref: string[], newval: string[], fieldsToUpdate : string[], fieldName: string) : string {\n //console.log(ref)\n //console.log(newval)\n\n var tagsModified = (ref.length != newval.length);\n if (!tagsModified) {\n for (let i = 0; i < ref.length; i++) {\n if (ref[i] != newval[i]) {\n tagsModified = true;\n }\n }\n }\n\n if (!tagsModified) {\n return '';\n } else {\n fieldsToUpdate.push(fieldName);\n var newTagString = '';\n for (let i = 0; i < newval.length; i++) {\n newTagString += (i>0 ? ',' : '') + newval[i].toLowerCase();\n }\n return newTagString;\n }\n }\n\n private compareAndSetCategories(ref: Array , newval: Array , fieldsToUpdate : string[], fieldName: string) : string[] {\n //console.log(ref)\n //console.log(newval)\n var catsModified = ref.length != newval.length;\n if (!catsModified) {\n for (let i = 0; i < newval.length; i++) {\n if (ref[i].uid != newval[i].uid) {\n catsModified = true;\n }\n }\n }\n\n if (!catsModified) {\n return [];\n } else {\n fieldsToUpdate.push(fieldName);\n const newCatUidArray: string[] = newval.map ( c => { return c.uid; })\n return newCatUidArray;\n }\n }\n\n}\n\nexport class ChCommentCommand {\n\n objectUId = \"\"; // Este es el post\n objectTypeId = 44\n message = \"\";\n\n // Version extendida\n\n type = 0;\n subtype = 0;\n\n LocationLabel = \"\";\n Latitude = 0;\n Longitude = 0;\n\n attachments : ChAttachmentCommand[] = [];\n\n\n fromComment(postUID: string, comment : ChComment) {\n this.objectUId = postUID;\n\n this.message = ChGlobalsService.getInstance().utoa(comment.message);\n\n if (comment.location != null) {\n this.LocationLabel = comment.location.name;\n this.Latitude = comment.location.latitude;\n this.Longitude = comment.location.longitude;\n }\n\n // Attachments\n const newAttach: ChAttachmentCommand[] = comment.attachments.map ( a => {\n return a.toCommand(); });\n this.attachments = newAttach;\n\n // console.log(this)\n }\n\n}\n","import { ChCategoria } from \"../categories/ch-categoria\";\nimport { ChGeoLocation } from '../location/ch-geo-location';\nimport { isNullOrUndefined } from 'util';\nimport { ChZoneRef } from '../zone/ch-zone';\nimport { ChGlobalsService } from \"../chilweb/ch-globals.service\";\nimport { ChEncoder } from \"../chilweb/ch-encoder\";\nimport { ChFileCompact, ChPictureRef, FileType } from \"../cloud/ch-file\";\nimport Color from \"../utils/color\";\nimport { ChLink, ChLinkType } from \"./ch-link\";\nimport { ChProgramming } from \"./ch-programming\";\n\nfunction getValueFrom(obj: object, field: string, defvalue: any): any {\n\n if (obj === undefined || obj === null) {\n return defvalue;\n }\n const val = obj[field];\n if (val === undefined || val === null) {\n return defvalue;\n }\n return val;\n}\n\n/**\n * Clase que encapsula la referencia a un post\n */\n export class ChPostReference {\n commentsCount = 0;\n commentsEnabled = false;\n createdAt: Date = null;\n creatorName = '';\n creatorUid = '';\n hostUid = '';\n likesCount = 0;\n objectType = 'post';\n publishedAt: Date = null;\n status = '';\n title = '';\n type = '';\n uid = '';\n id = 0;\n visitsCount = '';\n zoneName = '';\n zoneUid = '';\n\n constructor(ref?: object) {\n this.commentsCount = getValueFrom(ref, 'commentsCount', 0);\n this.commentsEnabled = getValueFrom(ref, 'commentsEnabled', false);\n this.createdAt = new Date(getValueFrom(ref, 'createdAt', ''));\n this.creatorName = getValueFrom(ref, 'creatorName', '');\n this.creatorUid = getValueFrom(ref, 'creatorUid', '');\n this.hostUid = getValueFrom(ref, 'hostUid', '');\n this.likesCount = getValueFrom(ref, 'likesCount', 0);\n this.objectType = getValueFrom(ref, 'objectType', 'post');\n this.publishedAt = new Date(getValueFrom(ref, 'publishedAt', ''));\n this.status = getValueFrom(ref, 'status', '');\n this.title = getValueFrom(ref, 'title', '');\n this.type = getValueFrom(ref, 'type', '');\n this.uid = getValueFrom(ref, 'uid', '');\n this.id = getValueFrom(ref, 'id', 0);\n this.visitsCount = getValueFrom(ref, 'visitsCount', 0);\n this.zoneName = getValueFrom(ref, 'zoneName', '');\n this.zoneUid = getValueFrom(ref, 'zoneUid', '');\n }\n\n\n public update(ref?: object) {\n this.commentsCount = getValueFrom(ref, 'commentsCount', 0);\n this.commentsEnabled = getValueFrom(ref, 'commentsEnabled', false);\n this.createdAt = new Date(getValueFrom(ref, 'createdAt', ''));\n this.creatorName = getValueFrom(ref, 'creatorName', '');\n this.creatorUid = getValueFrom(ref, 'creatorUid', '');\n this.hostUid = getValueFrom(ref, 'hostUid', '');\n this.likesCount = getValueFrom(ref, 'likesCount', 0);\n this.objectType = getValueFrom(ref, 'objectType', 'post');\n this.publishedAt = new Date(getValueFrom(ref, 'publishedAt', ''));\n this.status = getValueFrom(ref, 'status', '');\n this.title = getValueFrom(ref, 'title', '');\n this.type = getValueFrom(ref, 'type', '');\n this.uid = getValueFrom(ref, 'uid', '');\n this.id = getValueFrom(ref, 'id', 0);\n this.visitsCount = getValueFrom(ref, 'visitsCount', 0);\n this.zoneName = getValueFrom(ref, 'zoneName', '');\n this.zoneUid = getValueFrom(ref, 'zoneUid', '');\n }\n\n };\n\n/**\n * Clase que encapsula El attachment de un post\n */\n export class ChAttachment {\n contentUrl = '';\n fileUid = '';\n format = '';\n isShared = false;\n preview: Object = null;\n size = 0;\n slug = '';\n title = '';\n type = '';\n uid = '';\n uuid = '';\n\n constructor(ref?: object) {\n this.contentUrl = getValueFrom(ref, 'contentUrl', '');\n this.fileUid = getValueFrom(ref, 'fileUid', '');\n this.format = getValueFrom(ref, 'format', '');\n this.isShared = getValueFrom(ref, 'isShared', false);\n this.preview = getValueFrom(ref, 'preview', null);\n this.size = getValueFrom(ref, 'size', 0);\n this.slug = getValueFrom(ref, 'slug', '');\n this.title = getValueFrom(ref, 'title', '');\n this.type = getValueFrom(ref, 'type', '');\n this.uid = getValueFrom(ref, 'uid', '');\n this.uuid = getValueFrom(ref, 'uuid', '');\n }\n\n toCommand() : ChAttachmentCommand {\n const newCommand = new ChAttachmentCommand();\n newCommand.attachmentUid = this.uid;\n newCommand.fileUid = this.fileUid;\n newCommand.title = this.title;\n newCommand.description = '';\n\n console.log(this)\n console.log(newCommand)\n console.log('---------')\n return newCommand;\n }\n\n static fromFile(file: ChFileCompact) : ChAttachment {\n const newAttachment = new ChAttachment();\n\n newAttachment.fileUid = file.uid;\n newAttachment.format = file.format;\n newAttachment.isShared = file.isShared;\n newAttachment.preview = { url: file.previewUrl, width: file.previewWidth, height: file.previewHeight};\n newAttachment.size = file.size;\n newAttachment.slug = file.slug;\n newAttachment.title = file.name;\n newAttachment.type = FileType[file.type] as string;\n newAttachment.uid = '';\n newAttachment.uuid = file.uuid;\n\n return newAttachment;\n }\n\n toFile() : ChFileCompact {\n const file = new ChFileCompact();\n\n file.uid = this.fileUid;\n file.format = this.format;\n file.isShared = this.isShared;\n file.previewUrl = this.preview['url'];\n file.previewWidth = this.preview['width'];\n file.previewHeight = this.preview['height'];\n file.size = this.size;\n file.slug = this.slug;\n file.name = this.title;\n file.type = FileType[this.type];\n file.uuid = this.uuid;\n\n return file;\n }\n/*\n export class ChAttachmentCommand\n {\n attachmentId: number = null;\n fileUid : string = '';\n title : string = '';\n description : string = '';\n }\n */\n }\n /**\n * Clase que encapsula una referencia de usuario para los creadores\n */\n export class ChHostRef {\n displayName = '';\n identifier = '';\n name = '';\n pictureUrl = '';\n headerPictureUrl = '';\n type = '';\n uid = '';\n anonymousName? = undefined;\n anonymousEmail? = undefined;\n\n constructor(ref?: object) {\n this.displayName = getValueFrom(ref, 'displayName', '');\n this.identifier = getValueFrom(ref, 'identifier', '');\n this.name = getValueFrom(ref, 'name', '');\n this.pictureUrl = getValueFrom(ref, 'pictureUrl', '');\n this.headerPictureUrl = getValueFrom(ref, 'headerPictureUrl', '');\n this.type = getValueFrom(ref, 'type', '');\n this.uid = getValueFrom(ref, 'uid', '');\n this.anonymousName = getValueFrom(ref, 'anonymousName', undefined);\n this.anonymousEmail = getValueFrom(ref, 'anonymousEmail', undefined);\n }\n }\n\n /**\n * Clase que encapsula un comentario de post\n */\n export class ChComment {\n\n creator: ChHostRef = new ChHostRef();\n date: Date = new Date(Date.now());\n ​uid = '';\n isExtended = false;\n location: ChGeoLocation = new ChGeoLocation(0, 0, '', 'place','');\n message = '';\n subType = 0;\n type = 0;\n val1 = 0.0;\n val2 = 0.0;\n val3 = 0.0;\n\n attachments: Array = [];\n\n constructor(ref?: object) {\n this.from(ref);\n }\n\n from(ref?: object) {\n if (isNullOrUndefined(ref)) {\n return;\n }\n if (ref !== undefined && ref['creator'] !== undefined && ref['creator'] !== null) {\n this.creator = new ChHostRef(ref['creator']);\n } else {\n this.creator = new ChHostRef();\n }\n this.date = new Date(getValueFrom(ref, 'date', ''));\n\n this.uid = getValueFrom(ref, 'uid', '');\n this.isExtended = getValueFrom(ref, 'isExtended', false);\n if (ref !== undefined && ref['location'] !== undefined && ref['location'] !== null) {\n this.location = new ChGeoLocation( Number.NaN, Number.NaN, '', 'place', '').cast(ref['location']);\n } else {\n this.location = new ChGeoLocation( Number.NaN, Number.NaN, '', 'place', '');\n }\n if (ref !== undefined && ref['message'] !== undefined && ref['message'] !== null) {\n this.message = ChEncoder.atou(ref['message']);\n } else {\n this.message = '';\n }\n this.subType = getValueFrom(ref, 'subType', 0);\n this.type = getValueFrom(ref, 'type', 0);\n this.val1 = getValueFrom(ref, 'val1', 0.0);\n this.val2 = getValueFrom(ref, 'val2', 0.0);\n this.val3 = getValueFrom(ref, 'val3', 0.0);\n\n if ( ref !== undefined && ref['attachments'] !== undefined && ref['attachments'] !== null) {\n this.attachments = ref['attachments'].map( v => { return new ChAttachment(v); });\n } else {\n this.attachments = [];\n }\n }\n }\n\n /**\n * Formato del cuerpo del post\n */\n export enum ChPostBodyFormat\n {\n Html = 1,\n Markdown = 2\n }\n\n export enum ChPostStatus\n {\n Published = 'published',\n Draft = 'draft',\n WaitingForApproval = 'waiting_for_approval',\n NoPublishedA = 'no_published_a',\n NoPublishedB = 'no_published_b',\n NoPublishedC = 'no_published_c'\n }\n\n export enum ChPostLanguage\n {\n Todos = '*',\n Español = 'ES',\n Ingles = 'EN',\n Frances = 'FR',\n Catalán = 'CA',\n Farsi = 'FA'\n }\n\n export enum ChPostVisibility\n {\n hidden = 0,\n visible = 1,\n visibleconditional = 2,\n highlighted = 3,\n closed = 4,\n Other = 5\n }\n\n export class ChAttachmentCommand\n {\n attachmentUid: string = '';\n fileUid : string = '';\n title : string = '';\n description : string = '';\n }\n /**\n * Clase que encapsula un post completo\n */\n export class ChPost {\n attachments: Array = [];\n attachmentsCount = 0;\n categories: Array = [];\n comments: Array = [];\n body = '';\n url = '';\n sourceName = '';\n commentsCount = 0;\n commentsEnabled = false;\n creator: ChHostRef = new ChHostRef();\n description = '';\n host: ChHostRef = new ChHostRef();\n likesCount = 0;\n objectType = 'post';\n permissions: Array = [];\n picture?: ChPictureRef = undefined;\n createdAt: Date = new Date();\n publishedAt? : Date = undefined;\n schedulePubDate? : Date = undefined;\n slug = '';\n status : ChPostStatus = ChPostStatus.Draft;\n lang : ChPostLanguage = ChPostLanguage.Español;\n tags: Array = [];\n title = '';\n type = '';\n uid = '';\n visitsCount = '';\n visibility : ChPostVisibility = ChPostVisibility.visible;\n zone?: ChZoneRef = undefined;\n location? : ChGeoLocation = undefined;\n\n embed = '';\n\n // Eventos:\n\n startDate? : Date = undefined;\n endDate? : Date = undefined;\n tz? : string = undefined;\n\n eventColorBackground = 0xFFFFFF; // En meta\n eventColorForeground = 0x030303; // En meta\n eventColorBorder = 0x000080; // En meta\n eventColorLabels = 0xFFFFFF; // En meta\n\n // Documentos:\n contentUid? : string = undefined;\n file? : ChFileCompact = undefined; // No está en el Post que viene del servidor pero lo necesitamos para editarlo\n contentUrl? : string = undefined;\n year? : number = undefined;\n publication? : string = undefined;\n authors? : string = undefined;\n\n programming? : ChProgramming = undefined;\n\n constructor(ref?: object, originEncoded?: boolean) {\n\n if ( ref !== undefined && ref['attachments'] !== undefined && ref['attachments'] !== null) {\n this.attachments = ref['attachments'].map( v => { return new ChAttachment(v); });\n this.attachmentsCount = this.attachments.length;\n } else {\n this.attachments = [];\n this.attachmentsCount = 0;\n }\n\n // Título, cuerpo y descripción\n if (ref !== undefined && ref['title'] !== undefined && ref['title'] !== null) {\n this.title = originEncoded ? ChEncoder.atou(ref['title']) : ref['title'];\n } else {\n this.title = '';\n }\n if (ref !== undefined && ref['body'] !== undefined && ref['body'] !== null) {\n this.body = originEncoded ? ChEncoder.atou(ref['body']) : ref['body'];\n } else {\n this.body = '';\n }\n if (ref !== undefined && ref['description'] !== undefined && ref['description'] !== null) {\n this.description = originEncoded ? ChEncoder.atou(ref['description']) : ref['description'];\n } else {\n this.description = '';\n }\n\n // Fechas\n const tempDate1 = getValueFrom(ref, 'createdAt', new Date());\n this.createdAt = tempDate1 instanceof Date ? tempDate1 : new Date(tempDate1);\n\n if (ref !== undefined && ref['publishedAt'] !== undefined && ref['publishedAt'] !== null) {\n this.publishedAt = new Date(ref['publishedAt']);\n } else {\n this.publishedAt = undefined;\n }\n if (ref !== undefined && ref['schedulePubDate'] !== undefined && ref['schedulePubDate'] !== null) {\n this.schedulePubDate = new Date(ref['schedulePubDate']);\n } else {\n this.schedulePubDate = undefined;\n }\n\n // Otros\n\n this.url = getValueFrom(ref, 'url', '');\n this.sourceName = getValueFrom(ref, 'sourceName', '');\n\n if (ref !== undefined && ref['categories'] !== undefined && ref['categories'] !== null) {\n this.categories = ref['categories'].map( v => { return new ChCategoria(v); });\n } else {\n this.categories = [];\n }\n if (ref !== undefined && ref['comments'] !== undefined && ref['comments'] !== null) {\n this.comments = ref['comments'].map( v => { return new ChComment(v); });\n this.commentsCount = this.comments.length;\n } else {\n this.comments = [];\n this.commentsCount = 0;\n }\n this.commentsEnabled = getValueFrom(ref, 'commentsEnabled', true);\n\n\n if (ref !== undefined && ref['creator'] !== undefined && ref['creator'] !== null) {\n this.creator = new ChHostRef(ref['creator']);\n } else {\n this.creator = new ChHostRef();\n }\n if (ref !== undefined && ref['location'] !== undefined && ref['location'] !== null) {\n this.location = new ChGeoLocation(ref['location']['latitude'], ref['location']['longitude'], ref['location']['name'], 'place', ref['location']['locationUrl']);\n } else {\n this.location = null;\n }\n\n if (ref !== undefined && ref['host'] !== undefined && ref['host'] !== null) {\n this.host = new ChHostRef(ref['host']);\n } else {\n this.host = new ChHostRef();\n }\n\n this.likesCount = getValueFrom(ref, 'likesCount', 0);\n this.objectType = getValueFrom(ref, 'objectType', 'post');\n\n this.permissions = getValueFrom(ref, 'permissions', []);\n\n if (ref !== undefined && ref['picture'] !== undefined && ref['picture'] !== null) {\n this.picture = new ChPictureRef(ref['picture']);\n } else {\n this.picture = undefined;\n }\n\n this.slug = getValueFrom(ref, 'slug', '');\n\n this.status = getValueFrom(ref, 'status', ChPostStatus.Draft);\n\n this.lang = getValueFrom(ref, 'lang', ChPostLanguage.Español );\n this.tags = getValueFrom(ref, 'tags', []);\n\n this.type = getValueFrom(ref, 'type', '');\n this.uid = getValueFrom(ref, 'uid', '');\n this.visitsCount = getValueFrom(ref, 'visitsCount', 0);\n this.visibility = ChPostVisibility[getValueFrom(ref, 'visibility', 'visible') as string];\n\n if (ref !== undefined && ref['zone'] !== undefined && ref['zone'] !== null) {\n this.zone = new ChZoneRef(ref['zone']);\n } else {\n this.zone = undefined;\n }\n this.embed = getValueFrom(ref, 'embed', '');\n /* */\n\n // Eventos:\n\n this.eventColorBackground = getValueFrom(ref, 'eventColorBackground', 0xFFFFFF);\n this.eventColorForeground = getValueFrom(ref, 'eventColorForeground', 0x030303);\n this.eventColorBorder = getValueFrom(ref, 'eventColorBorder', 0x000080);\n this.eventColorLabels = getValueFrom(ref, 'eventColorLabels', 0xFFFFFF);\n\n if (ref !== undefined && ref['startDate'] !== undefined && ref['startDate'] !== null) {\n this.startDate = new Date(ref['startDate']);\n } else {\n this.startDate = undefined;\n }\n if (ref !== undefined && ref['endDate'] !== undefined && ref['endDate'] !== null) {\n this.endDate = new Date(ref['endDate']);\n } else {\n this.endDate = undefined;\n }\n if (ref !== undefined && ref['tz'] !== undefined && ref['tz'] !== null) {\n this.tz = ref['tz']\n } else {\n this.tz = undefined;\n }\n\n\n // colores: Todos embebidos en meta\n /*\n if (ref !== undefined && ref['embed'] !== undefined && ref['embed'] !== null) {\n try {\n const aux = JSON.parse(ref['embed']);\n\n this.eventColorBackground = getValueFrom(aux, 'eventColorBackground', 0xFFFFFF);\n this.eventColorForeground = getValueFrom(aux, 'eventColorForeground', 0x030303);\n this.eventColorBorder = getValueFrom(aux, 'eventColorBorder', 0x000080);\n this.eventColorLabels = getValueFrom(aux, 'eventColorLabels', 0xFFFFFF);\n\n } catch {\n\n }\n\n }\n */\n\n // Documentos:\n\n this.contentUid = getValueFrom(ref, 'contentUid', undefined);\n this.contentUrl = getValueFrom(ref, 'contentUrl', undefined);\n\n this.year = getValueFrom(ref, 'year', undefined);\n this.publication = !isNullOrUndefined(ref) && ref['publication'] !== undefined ? ChEncoder.atou(getValueFrom(ref, 'publication', '')) : undefined;\n this.authors = !isNullOrUndefined(ref) && ref['authors'] !== undefined ? ChEncoder.atou(getValueFrom(ref, 'authors', '')) : undefined;\n\n\n // Programming\n if (ref !== undefined && ref['programming'] !== undefined && ref['programming'] !== null) {\n this.programming = new ChProgramming(ref['programming']);\n } else {\n this.programming = undefined;\n }\n\n }\n\n // Links!\n public isSafeLink() : boolean {\n if (this.type != 'link' || this.url == '')\n return false;\n\n return ChLink.isSafeLink(this.url)\n }\n\n public isYoutube() : boolean {\n if (this.type != 'link' || this.url == '')\n return false;\n let link = new ChLink(this.url);\n return link.type == ChLinkType.YouTube;\n }\n\n public isIvoox() : boolean {\n if (this.type != 'link' || this.url == '')\n return false;\n let link = new ChLink(this.url);\n return link.type == ChLinkType.IVoox;\n }\n\n public isGeneralLink() : boolean {\n if (this.type != 'link' || this.url == '')\n return false;\n let link = new ChLink(this.url);\n return link.type == ChLinkType.General;\n }\n\n public linkIcon() : string {\n if (this.type != 'link' || this.url == '')\n return \"\";\n let link = new ChLink(this.url);\n return link.icon\n }\n\n public setLang(langCode: String) {\n // En caso de duda pone español\n switch(langCode) {\n case '*':\n this.lang = ChPostLanguage.Todos; break;\n case 'ES':\n this.lang = ChPostLanguage.Español; break;\n case 'EN':\n this.lang = ChPostLanguage.Ingles; break;\n case 'FR':\n this.lang = ChPostLanguage.Frances; break;\n case 'CA':\n this.lang = ChPostLanguage.Catalán; break;\n case 'FA':\n this.lang = ChPostLanguage.Farsi; break;\n default:\n this.lang = ChPostLanguage.Español; break;\n }\n }\n };\n\n export enum ChPostFormUserType\n {\n Anonymous = 'Anonymous',\n UserRegistered = 'User Registered',\n UserIdentifed = 'User Identified'\n }\n\n export enum ChPostFormFieldType\n {\n int = 'int',\n string = 'string',\n text = 'text',\n date = 'date',\n boolean = 'boolean',\n number = 'number',\n }\n\n export enum ChPostFormFieldSelect\n {\n undef = '',\n combo = 'combo',\n radio = 'radio',\n slider = 'slider',\n multiple = 'multiple'\n }\n export class ChPostFormField {\n Tag : string = '';\n Title : string = '';\n Description : string = '';\n Type : ChPostFormFieldType = ChPostFormFieldType.string;\n Values : string = '';\n Select : ChPostFormFieldSelect = ChPostFormFieldSelect.undef;\n Mandatory : boolean = false;\n\n\n get Control(): string {\n if (this.Type == ChPostFormFieldType.boolean)\n return 'switch';\n else if (this.Type == ChPostFormFieldType.text)\n return 'textblock';\n else if (this.Select == ChPostFormFieldSelect.radio)\n return 'radiogroup';\n else if (this.Select == ChPostFormFieldSelect.multiple)\n return 'checkgroup';\n else if (this.Select == ChPostFormFieldSelect.combo)\n return 'combo';\n else if (this.Type == ChPostFormFieldType.string && this.Select == ChPostFormFieldSelect.undef)\n return 'text';\n else if (this.Type == ChPostFormFieldType.number && this.Select == ChPostFormFieldSelect.undef)\n return 'text';\n else if (this.Type == ChPostFormFieldType.int && this.Select == ChPostFormFieldSelect.undef)\n return 'text';\n return '';\n }\n\n get ValArray() : Array {\n if ( this.Values != '' ){\n return this.Values.split(',').map( v => v.trim() );\n } else {\n return [];\n }\n }\n\n constructor(model? :object) {\n\n const assign = (prop) => {\n if (!isNullOrUndefined(model[prop])) {\n this[prop] = model[prop];\n }\n }\n\n if (model) {\n assign('Tag');\n assign('Title');\n assign('Description');\n assign('Values');\n assign('Mandatory');\n\n if (!isNullOrUndefined(model['Type'])) {\n this.Type = ChPostFormFieldType[model['Type'] as keyof typeof ChPostFormFieldType ];\n }\n if (!isNullOrUndefined(model['Select']) && model['Select'] != '') {\n this.Select = ChPostFormFieldSelect[model['Select'] as keyof typeof ChPostFormFieldSelect];\n } else {\n this.Select = ChPostFormFieldSelect.undef;\n }\n }\n }\n}\n\n export class ChPostFormGroup {\n GroupName : string = '';\n Description : string = '';\n Footer : string = '';\n\n Fields : Array = []\n\n constructor(model? :object) {\n\n const assign = (prop) => {\n if (!isNullOrUndefined(model[prop])) {\n this[prop] = model[prop];\n }\n }\n\n if (model) {\n assign('GroupName');\n assign('Description');\n assign('Footer');\n\n if (!isNullOrUndefined(model['Fields'])) {\n this.Fields = model['Fields'].map( source => new ChPostFormField(source));\n }\n }\n }\n\n addField (newField: ChPostFormField) {\n this.Fields.push(newField);\n }\n\n deleteField (field: ChPostFormField) {\n const index = this.Fields.indexOf(field);\n if (index > -1) { // only splice array when item is found\n this.Fields.splice(index, 1); // 2nd parameter means remove one item only\n }\n }\n\n dirtyFieldsArray() {\n this.Fields.push(new ChPostFormField());\n this.Fields.pop();\n }\n\n\n upField (field: ChPostFormField, markDirty: boolean) {\n const index = this.Fields.indexOf(field);\n if (index > 0) { // only splice array when item is found\n var b = this.Fields[index-1]\n this.Fields[index-1] = this.Fields[index];\n this.Fields[index] = b;\n\n if (markDirty)\n this.dirtyFieldsArray();\n //[this.Groups[index-1], this.Groups[index]] = [this.Groups[index], this.Groups[index-1]];\n }\n\n }\n\n downField (field: ChPostFormField, markDirty: boolean) {\n const index = this.Fields.indexOf(field);\n if (index > -1 && index < (this.Fields.length -1)) { // only splice array when item is found\n [this.Fields[index], this.Fields[index+1]] = [this.Fields[index+1], this.Fields[index]];\n }\n if (markDirty)\n this.dirtyFieldsArray();\n }\n\n}\n\n export class ChPostForm {\n User : ChPostFormUserType = ChPostFormUserType.Anonymous;\n Cardinality : number = 1;\n\n FormTitle : string = '';\n AcceptMessage : string = '';\n ButtonCaption1: string = '';\n ButtonCaption2: string = '';\n\n Groups : Array = []\n\n constructor(model? :object) {\n\n const assign = (prop) => {\n if (!isNullOrUndefined(model[prop])) {\n this[prop] = model[prop];\n }\n }\n\n if (model) {\n if (!isNullOrUndefined(model['User'])) {\n this.User = ChPostFormUserType[model['User'] as keyof typeof ChPostFormUserType];\n }\n assign('Cardinality');\n assign('FormTitle');\n assign('AcceptMessage');\n assign('ButtonCaption1');\n assign('ButtonCaption2');\n\n if (!isNullOrUndefined(model['Groups'])) {\n this.Groups = model['Groups'].map( source => new ChPostFormGroup(source));\n }\n }\n }\n\n from(model: object) {\n const assign = (prop) => {\n if (!isNullOrUndefined(model[prop])) {\n this[prop] = model[prop];\n }\n }\n\n if (model) {\n if (!isNullOrUndefined(model['User'])) {\n this.User = ChPostFormUserType[model['User'] as keyof typeof ChPostFormUserType];\n }\n assign('Cardinality');\n assign('FormTitle');\n assign('AcceptMessage');\n assign('ButtonCaption1');\n assign('ButtonCaption2');\n\n if (!isNullOrUndefined(model['Groups'])) {\n this.Groups = model['Groups'].map( source => new ChPostFormGroup(source));\n }\n }\n }\n\n addGroup (newGroup: ChPostFormGroup) {\n this.Groups.push(newGroup);\n }\n\n deleteGroup (group: ChPostFormGroup) {\n const index = this.Groups.indexOf(group);\n if (index > -1) { // only splice array when item is found\n this.Groups.splice(index, 1); // 2nd parameter means remove one item only\n }\n }\n\n upGroup (group: ChPostFormGroup, markDirty: boolean) {\n const index = this.Groups.indexOf(group);\n if (index > 0) { // only splice array when item is found\n var b = this.Groups[index-1]\n this.Groups[index-1] = this.Groups[index];\n this.Groups[index] = b;\n\n if (markDirty)\n this.dirtyGroupArray();\n //[this.Groups[index-1], this.Groups[index]] = [this.Groups[index], this.Groups[index-1]];\n }\n\n }\n\n dirtyGroupArray() {\n this.Groups.push(new ChPostFormGroup());\n this.Groups.pop();\n }\n\n downGroup (group: ChPostFormGroup, markDirty: boolean) {\n const index = this.Groups.indexOf(group);\n if (index > -1 && index < (this.Groups.length -1)) { // only splice array when item is found\n [this.Groups[index], this.Groups[index+1]] = [this.Groups[index+1], this.Groups[index]];\n }\n if (markDirty)\n this.dirtyGroupArray();\n }\n\n }\n","import { ChGlobalsService } from \"../chilweb/ch-globals.service\";\nimport { ChPost } from \"./ch-post\";\n\nfunction getValueFrom(obj: object, field: string, defvalue: any): any {\n\n if (obj === undefined || obj === null) {\n return defvalue;\n }\n const val = obj[field];\n if (val === undefined || val === null) {\n return defvalue;\n }\n return val;\n}\n\nexport class ChProgramming {\n\n public static readonly schedulingValues : Array<{code: string, label: string }> = [\n {code:\"none\",label:\"Ninguno\"},\n {code:\"time\",label:\"Tiempo fijo\"},\n {code:\"week\",label:\"Semanal\"},\n {code:\"month\",label:\"Mensual\"},\n {code:\"year\",label:\"Anual\"},\n ];\n\n type = \"program\";\n schedule = \"none\";\n\n interval = 0;\n weekplan = '';\n tzdifference = 0;\n\n changeEventDates = false;\n status = 'published';\n\n fini : Date | null = null;\n fend : Date | null = null;\n\n\n\n constructor(ref? : object) {\n this.copyFrom(ref);\n }\n\n copyFrom(ref? : object) {\n this.type = getValueFrom(ref, 'type', 'program');\n this.schedule = getValueFrom(ref, 'schedule', 'none');\n this.interval = getValueFrom(ref, 'interval', 0);\n this.weekplan = getValueFrom(ref, 'weekplan', '');\n this.tzdifference = getValueFrom(ref, 'tzdifference', 0);\n\n this.changeEventDates = getValueFrom(ref, 'changeEventDates', true);\n\n this.status = getValueFrom(ref, 'status', 'published');\n\n this.fini = getValueFrom(ref, 'fini', null);\n this.fend = getValueFrom(ref, 'fend', null);\n }\n\n toString() : string {\n const schedVal = ChProgramming.schedulingValues.find( v => v.code == this.schedule);\n return schedVal != null ? schedVal.label : ChProgramming.schedulingValues[0].label;\n //return ChGlobalsService.getInstance().translateStr(schedVal != null ? schedVal.label : ChProgramming.schedulingValues[0].label);\n }\n\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: 'Helvetica Neu', Helvetica, sans-serif;\\n font-size: 20px;\\n color: black;\\n margin-top: 20px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.form-group h4 {\\n\\n margin-top: 20px;\\n\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n height: 100%;\\n width: 100%;\\n border-radius: 4px;\\n border-color: #cccccc;\\n margin: 0px;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n\\n.ng-select.ng-select-single .ng-select-container {\\n border-color: #cccccc;\\n border-radius: 0px;\\n margin-top: 2px;\\n margin-bottom: 2px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3MvYWdyb3ZpdmEvYWdyb3ZpdmEtZW50cmVnYS1kZXRhbGxlL2Fncm92aXZhLWVudHJlZ2EtZGV0YWxsZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxhQUFhLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXZHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUVoRTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQsZUFBZTtJQUNmLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTs7SUFFSSxnQkFBZ0I7O0FBRXBCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQjtBQUNKOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL3Byb3llY3Rvcy9hZ3Jvdml2YS9hZ3Jvdml2YS1lbnRyZWdhLWRldGFsbGUvYWdyb3ZpdmEtZW50cmVnYS1kZXRhbGxlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cbnRkLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6IGdyYXk7fVxuXG5QLmNqayB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0IH1cblxuUC5jdGwgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgfVxuXG4ucHJpbnRvbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbn1cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIHJnYigzNCwgMzQsIDM0KVxufVxuXG4uZm9ybS1ncm91cCBoNCB7XG5cbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RhZG9zLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbi5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuIl19 */\"","\nimport { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-agroviva-entrega-detalle',\n templateUrl: './agroviva-entrega-detalle.component.html',\n styleUrls: ['./agroviva-entrega-detalle.component.css']\n})\nexport class AgrovivaEntregaDetalleComponent {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n\n model = null;\n model2 = null;\n\n row: any = {\n concepto : '',\n bultos : 0\n };\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n console.log(this.model2)\n if (this.model2.editarVisita >= 0) {\n this.row.concepto = this.model2['concepto'];\n this.row.bultos = this.model2['bultos'];\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n if (this.route.snapshot.params.uid !== null) {\n\n }\n\n }\n\n saveForm() {\n if (this.model2.editarVisita >= 0) {\n this.model.articulos[this.model2.editarVisita] = this.row;\n } else {\n this.model.articulos.push(this.row);\n }\n this.router.navigate(['//' + this.siteName + '/entrega/' + this.model.uid]);\n };\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: 'Helvetica Neu', Helvetica, sans-serif;\\n font-size: 20px;\\n color: black;\\n margin-top: 20px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.form-group h4 {\\n\\n margin-top: 20px;\\n\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n height: 100%;\\n width: 100%;\\n border-radius: 4px;\\n border-color: #cccccc;\\n margin: 0px;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n\\n.ng-select.ng-select-single .ng-select-container {\\n border-color: #cccccc;\\n border-radius: 0px;\\n margin-top: 2px;\\n margin-bottom: 2px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3MvYWdyb3ZpdmEvYWdyb3ZpdmEtZW50cmVnYS9hZ3Jvdml2YS1lbnRyZWdhLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnREFBZ0Q7SUFDaEQsZUFBZSxFQUFFO0FBQ3JCOztBQUVBO0VBQ0U7O0FBQ0Y7SUFDSSw0QkFBNEI7SUFDNUIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLG1EQUFtRDtJQUNuRCxlQUFlO0lBQ2YsWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBOztJQUVJLGdCQUFnQjs7QUFFcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcHJveWVjdG9zL2Fncm92aXZhL2Fncm92aXZhLWVudHJlZ2EvYWdyb3ZpdmEtZW50cmVnYS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG50ZC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuLnByaW50b25seSB7XG4gICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG5cbnVsLndlc3Rlcm4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpXG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIC8qIGJvcmRlcjogMHB4IHNvbGlkIGdyYXk7ICovXG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1JywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLmZvcm0tZ3JvdXAgaDQge1xuXG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweFxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAgXG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgIG1hcmdpbjogMHB4O1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGNvbG9yOiBncmF5O1xuICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0YWRvcy5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cbiJdfQ== */\"","\nimport { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { ChFormsControl } from '../../../forms/ch-forms-control/ch-forms-control';\n\n@Component({\n selector: 'app-agroviva-entrega',\n templateUrl: './agroviva-entrega.component.html',\n styleUrls: ['./agroviva-entrega.component.css']\n})\nexport class AgrovivaEntregaComponent {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n centroUid = '';\n\n pr: ChFormsControl;\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n rowClosed = false;\n\n model = {\n uid: '',\n _marca: '',\n _state: '',\n _closed: false,\n _user: '',\n\n centro : null,\n codigo: '',\n fecha: null,\n hora: null,\n observaciones: '',\n articulos : [],\n nbultos: 0,\n\n };\n\n model2: any = {\n\n concepto : '',\n bultos : 0,\n\n editarContenido : 0\n };\n estados = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2030-12-31').toDate();\n\n const table = chGlobal.getTable('Entregas');\n this.estados = table.states ? table.states : [];\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.rowUid = this.model['uid'];\n console.log('EDITAR (vuelta): ' + this.rowUid);\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n }\n }\n }\n\n this.tableClosed = table.closed;\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n this.centroUid = this.model.centro !== undefined && this.model.centro !== null ? this.model.centro.uid : '';\n console.log(this.model);\n this.calculateTotals();\n\n // this.tryTableSearch(table.tableId);\n }\n\n fixSaveOptions() {\n }\n\n saveForm(event: any) {\n // console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n // console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Entregas').tableId, this.model, this.rowUid)\n .then(value => {\n // console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Entregas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n setValue(estado: any) {\n this.model._closed = estado['close'];\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n\n\n removeContenido( contenido: any) {\n\n const index = this.model.articulos.indexOf(contenido, 0);\n if (index > -1) {\n this.model.articulos.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editContenido( contenido: any) {\n\n if ( contenido === null) {\n this.model2.editarContenido = -1;\n } else {\n const index = this.model.articulos.indexOf(contenido, 0);\n if (index < 0) {\n return;\n }\n contenido.mousePrimary = false;\n this.model2.editarContenido = index;\n this.model2.concepto = contenido.concepto;\n this.model2.bultos = contenido.bultos;\n }\n console.log(this.model2);\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/entrega/detalle']);\n\n }\n\n calculateTotals() {\n let totalBultos = 0;\n this.model.articulos.forEach(function (value) {\n totalBultos += value.bultos;\n });\n this.model.nbultos = totalBultos;\n }\n\n selectUser(user: object) {\n this.model.centro = user;\n console.log(user);\n }\n\n /*\n tryTableSearch(tableId: string) {\n console.log('--------------------------------');\n console.log(' BUSCANDO EN ' + tableId);\n this.chGlobal.getTableRows(tableId, { \"centro.lastName\" : \"46000511\" , _state: \"Activo\" }).subscribe(\n (values: any[]) => {\n console.log('--------------------------------');\n for (const v of values){\n console.log(v);\n }\n console.log('--------------------------------');\n } );\n }\n */\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.form-group h4 {\\n\\n margin-top: 20px;\\n\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 800px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important;\\n background-color: white !important;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n.estados.ng-select .ng-select-container {\\n color: blue;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3MvZGVwdXJhY2lvbi9idWctZWRpdC13aW5kb3cvYnVnLWVkaXQtd2luZG93LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnREFBZ0Q7SUFDaEQsZUFBZSxFQUFFO0FBQ3JCOztBQUVBO0VBQ0U7O0FBQ0Y7SUFDSSw0QkFBNEI7SUFDNUIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBOztJQUVJLGdCQUFnQjs7QUFFcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxXQUFXO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9jaGlsL3Byb3llY3Rvcy9kZXB1cmFjaW9uL2J1Zy1lZGl0LXdpbmRvdy9idWctZWRpdC13aW5kb3cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi5wcmludG9ubHkge1xuICAgIHZpc2liaWxpdHk6IGNvbGxhcHNlO1xufVxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLmZvcm0tZ3JvdXAgaDQge1xuXG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweFxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0YWRvcy5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgIGNvbG9yOiBibHVlO1xufVxuIl19 */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n\n@Component({\n selector: 'app-bug-edit-window',\n templateUrl: './bug-edit-window.component.html',\n styleUrls: ['./bug-edit-window.component.css']\n})\nexport class BugEditWindowComponent {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n rowClosed = false;\n\n model = {\n uid: '',\n _marca: '',\n _state: 'Abierta',\n _closed: false,\n nexp: 0,\n tipo: 'BUG',\n importancia: 'NORMAL',\n ambito: 'APP',\n titulo: '',\n descripcion: '',\n respuesta: '',\n observaciones: '',\n tags: '',\n fentrada: null,\n fcierre: null\n };\n\n estados = [];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1999').toDate();\n this.maxDate = moment('31-12-2100').toDate();\n\n const table = chGlobal.getTable('Depuración');\n this.estados = table.states ? table.states : [];\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.rowUid = this.model['uid'];\n console.log('EDITAR (vuelta): ' + this.rowUid);\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('REGISTRO EXISTENTE '+this.rowUid)\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n }\n // do stuff\n }\n }\n this.tableClosed = table.closed;\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n\n }\n\n fixSaveOptions() {\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando Bug/Mejora ');\n this.fixSaveOptions();\n\n console.log(this.model);\n\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Depuración').tableId, this.model, this.rowUid)\n .then(value => {\n console.log('Guardado : ' + this.siteName);\n \n this.router.navigate(['//' + this.siteName + '/data/Depuración']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n setValue(estado: any) {\n this.model._closed = estado['close'];\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n\n setDirtyFlag() {\n\n }\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhLWRldGFsbGUyMDE5L3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAxOS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxhQUFhLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXZHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUdoRTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcHJveWVjdG9zL3NpYXNhL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAxOS9zaWFzYS12aXNpdGEtZGV0YWxsZTIwMTkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-siasa-visita-detalle2019',\n templateUrl: './siasa-visita-detalle2019.component.html',\n styleUrls: ['./siasa-visita-detalle2019.component.css']\n})\nexport class SiasaVisitaDetalle2019Component {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n imageName = '';\n imageDescr = '';\n\n model: any = {\n\n };\n\n model2: any = {\n\n };\n\n row: any = {\n fecha : null,\n loc : '',\n horas : 0,\n km : 0,\n matricula : '',\n muestras : false,\n foto : false,\n recomend : '',\n imagen : null,\n aplic : false\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n if (this.model2.editarVisita >= 0) {\n this.row = Object.assign({}, this.model2.visitas[this.model2.editarVisita]);\n // console.log(this.row);\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n this.imageName = 'EXP-' + String(this.model['nexp']) + '-19-' +\n String( this.model2.editarVisita >= 0 ? this.model2.editarVisita + 1 : this.model2.visitas.lenght );\n this.imageDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n if (this.route.snapshot.params.uid !== null) {\n\n }\n\n }\n\n saveForm() {\n this.row.matricula = this.row.matricula.toUpperCase();\n if (this.model2.editarVisita >= 0) {\n this.model2.visitas[this.model2.editarVisita] = this.row;\n } else {\n this.model2.visitas.push(this.row);\n }\n\n this.router.navigate(['//' + this.siteName + '/visita/' + this.model.uid]);\n };\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhLWRldGFsbGUyMDIwL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxhQUFhLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXZHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUdoRTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcHJveWVjdG9zL3NpYXNhL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMC9zaWFzYS12aXNpdGEtZGV0YWxsZTIwMjAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-siasa-visita-detalle2020',\n templateUrl: './siasa-visita-detalle2020.component.html',\n styleUrls: ['./siasa-visita-detalle2020.component.css']\n})\nexport class SiasaVisitaDetalle2020Component {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n imageName = '';\n imageDescr = '';\n\n model: any = {\n\n };\n\n model2: any = {\n\n };\n\n row: any = {\n fecha : null,\n loc : '',\n horas : 0,\n km : 0,\n matricula : '',\n muestras : false,\n foto : false,\n recomend : '',\n recomend2 : '',\n imagen : null,\n aplic : false\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n if (this.model2.editarVisita >= 0) {\n this.row = Object.assign({}, this.model2.visitas[this.model2.editarVisita]);\n console.log(this.row);\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n this.imageName = 'EXP-' + String(this.model['nexp']) + '-19-' +\n String( this.model2.editarVisita >= 0 ? this.model2.editarVisita + 1 : this.model2.visitas.lenght );\n this.imageDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n if (this.route.snapshot.params.uid !== null) {\n\n }\n\n }\n\n saveForm() {\n this.row.matricula = this.row.matricula.toUpperCase();\n if (this.model2.editarVisita >= 0) {\n this.model2.visitas[this.model2.editarVisita] = this.row;\n } else {\n this.model2.visitas.push(this.row);\n }\n\n this.router.navigate(['//' + this.siteName + '/visita/' + this.model.uid]);\n };\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhLWRldGFsbGUyMDIxL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxhQUFhLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXZHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUdoRTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcHJveWVjdG9zL3NpYXNhL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMS9zaWFzYS12aXNpdGEtZGV0YWxsZTIwMjEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-siasa-visita-detalle2021',\n templateUrl: './siasa-visita-detalle2021.component.html',\n styleUrls: ['./siasa-visita-detalle2021.component.css']\n})\nexport class SiasaVisitaDetalle2021Component {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n imageName = '';\n imageDescr = '';\n\n model: any = {\n\n };\n\n model2: any = {\n\n };\n\n row: any = {\n fecha : null,\n loc : '',\n horas : 0,\n km : 0,\n matricula : '',\n muestras : false,\n foto : false,\n recomend : '',\n recomend2 : '',\n imagen : null,\n aplic : false\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n if (this.model2.editarVisita >= 0) {\n this.row = Object.assign({}, this.model2.visitas[this.model2.editarVisita]);\n console.log(this.row);\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n this.imageName = 'EXP-' + String(this.model['nexp']) + '-21-' +\n String( this.model2.editarVisita >= 0 ? this.model2.editarVisita + 1 : this.model2.visitas.length );\n this.imageDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n if (this.route.snapshot.params.uid !== null) {\n\n }\n }\n\n saveForm() {\n this.row.matricula = this.row.matricula.toUpperCase();\n if (this.model2.editarVisita >= 0) {\n this.model2.visitas[this.model2.editarVisita] = this.row;\n } else {\n this.model2.visitas.push(this.row);\n }\n\n this.router.navigate(['//' + this.siteName + '/visita/' + this.model.uid]);\n };\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important;\\n background-color: white !important;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhLWRldGFsbGUyMDIyL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxhQUFhLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXZHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUdoRTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvcHJveWVjdG9zL3NpYXNhL3NpYXNhLXZpc2l0YS1kZXRhbGxlMjAyMi9zaWFzYS12aXNpdGEtZGV0YWxsZTIwMjIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgLyogYm9yZGVyOiAwcHggc29saWQgZ3JheTsgKi9cbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGNvbG9yOiBncmF5O1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-siasa-visita-detalle2022',\n templateUrl: './siasa-visita-detalle2022.component.html',\n styleUrls: ['./siasa-visita-detalle2022.component.css']\n})\nexport class SiasaVisitaDetalle2022Component {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n imageName = '';\n imageDescr = '';\n\n model: any = {\n\n };\n\n model2: any = {\n\n };\n\n row: any = {\n fecha : null,\n loc : '',\n horas : 0,\n km : 0,\n matricula : '',\n muestras : false,\n foto : false,\n recomend : '',\n recomend2 : '',\n imagen : null,\n aplic : false\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n if (this.model2.editarVisita >= 0) {\n this.row = Object.assign({}, this.model2.visitas[this.model2.editarVisita]);\n console.log(this.row);\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n this.imageName = 'EXP-' + String(this.model['nexp']) + '-22-' +\n String( this.model2.editarVisita >= 0 ? this.model2.editarVisita + 1 : this.model2.visitas.length );\n this.imageDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n if (this.route.snapshot.params.uid !== null) {\n\n }\n }\n\n saveForm() {\n this.row.matricula = this.row.matricula.toUpperCase();\n if (this.model2.editarVisita >= 0) {\n this.model2.visitas[this.model2.editarVisita] = this.row;\n } else {\n this.model2.visitas.push(this.row);\n }\n\n this.router.navigate(['//' + this.siteName + '/visita/' + this.model.uid]);\n };\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAxOS9zaWFzYS12aXNpdGEyMDE5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnREFBZ0Q7SUFDaEQsZUFBZSxFQUFFO0FBQ3JCOztBQUVBO0VBQ0U7O0FBQ0Y7SUFDSSw0QkFBNEI7SUFDNUIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQjtBQUNKOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9jaGlsL3Byb3llY3Rvcy9zaWFzYS9zaWFzYS12aXNpdGEyMDE5L3NpYXNhLXZpc2l0YTIwMTkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxudGQud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi5wcmludG9ubHkge1xuICAgIHZpc2liaWxpdHk6IGNvbGxhcHNlO1xufVxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnRleHRhcmVhXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgIFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7ICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, ViewContainerRef} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-visita-2019',\n templateUrl: './siasa-visita2019.component.html',\n styleUrls: ['./siasa-visita2019.component.css']\n})\nexport class SiasaVisita2019Component {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n pdfName = '';\n pdfDescr = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid: '',\n nexp: '',\n nombre: '',\n apellido1: '',\n apellido2: '',\n tecnombre: '',\n tecapell1: '',\n tecapell2: '',\n\n entidad: 0,\n area : 1,\n\n materia : '',\n\n locent: '',\n fechafirma: null,\n\n valoracion: '',\n informe: null,\n visitas: [\n ]\n };\n\n model2: any = {\n\n entidadname : '',\n\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n materias : [ false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, true, true\n ],\n\n visitas : this.model.visitas,\n totalHoras : 0,\n totalKm : 0,\n\n editarVisita : 0\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.model2 = memData.model2;\n this.rowUid = this.model.uid;\n console.log('EDITAR (Vuelta) : ' + this.rowUid);\n\n this.calculateTotals();\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Visitas');\n this.tableClosed = table.closed;\n // console.log(table);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n // console.log(row);\n // console.log(this.model);\n switch (this.model.entidad) {\n case 1:\n this.model2.entidadname = 'ARAGA';\n break;\n case 2:\n this.model2.entidadname = 'ASAJA';\n break;\n case 3:\n this.model2.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model2.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model2.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model2.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model2.entidadname = 'UPA';\n break;\n default:\n this.model2.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model2.serv1 = true;\n break;\n case 2:\n this.model2.serv2 = true;\n break;\n case 3:\n this.model2.serv3 = true;\n break;\n case 4:\n this.model2.serv4 = true;\n break;\n case 5:\n this.model2.serv5 = true;\n break;\n }\n\n const splitted = this.model.materia.split(',', 30);\n const model2 = this.model2;\n // console.log(splitted);\n splitted.forEach(function (value) {\n const index = +value - 1;\n model2.materias[index] = true;\n // console.log(index);\n });\n\n this.model2.visitas = [];\n this.model2.totalHoras = 0;\n this.model2.totalKm = 0;\n this.model.visitas.forEach(function (value) {\n const index = +value - 1;\n model2.visitas.push(Object.assign({}, value));\n });\n this.calculateTotals();\n // console.log(model2);\n this.pdfName = 'EXP-' + String(this.model['nexp']) + '-19';\n this.pdfDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n }\n }\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const removeList = root2.getElementsByClassName('remove-printing');\n for (let i = 0; i < removeList.length; i++) {\n const target = removeList[i];\n console.log(target);\n target.parentNode.removeChild(target);\n }\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '') {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model'));\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default:\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n let temp = '';\n if (this.model2.serv1 || this.model2.serv2 || this.model2.serv3) { // Agrario\n if (this.model2.materias[0]) { temp += ((temp === '') ? '' : ',') + '1'; }\n if (this.model2.materias[1]) { temp += ((temp === '') ? '' : ',') + '2'; }\n if (this.model2.materias[2]) { temp += ((temp === '') ? '' : ',') + '3'; }\n if (this.model2.materias[3]) { temp += ((temp === '') ? '' : ',') + '4'; }\n if (this.model2.materias[4]) { temp += ((temp === '') ? '' : ',') + '5'; }\n if (this.model2.materias[5]) { temp += ((temp === '') ? '' : ',') + '6'; }\n if (this.model2.materias[6]) { temp += ((temp === '') ? '' : ',') + '7'; }\n if (this.model2.materias[7]) { temp += ((temp === '') ? '' : ',') + '8'; }\n if (this.model2.materias[8]) { temp += ((temp === '') ? '' : ',') + '9'; }\n if (this.model2.materias[9]) { temp += ((temp === '') ? '' : ',') + '10'; }\n if (this.model2.materias[10]) { temp += ((temp === '') ? '' : ',') + '11'; }\n\n if (this.model2.materias[11]) { temp += ((temp === '') ? '' : ',') + '12'; }\n if (this.model2.materias[12]) { temp += ((temp === '') ? '' : ',') + '13'; }\n if (this.model2.materias[13]) { temp += ((temp === '') ? '' : ',') + '14'; }\n if (this.model2.materias[14]) { temp += ((temp === '') ? '' : ',') + '15'; }\n if (this.model2.materias[15]) { temp += ((temp === '') ? '' : ',') + '16'; }\n if (this.model2.materias[16]) { temp += ((temp === '') ? '' : ',') + '17'; }\n\n if (this.model2.materias[17]) { temp += ((temp === '') ? '' : ',') + '18'; }\n if (this.model2.materias[18]) { temp += ((temp === '') ? '' : ',') + '19'; }\n if (this.model2.materias[19]) { temp += ((temp === '') ? '' : ',') + '20'; }\n if (this.model2.materias[20]) { temp += ((temp === '') ? '' : ',') + '21'; }\n\n } else if (this.model2.serv4) { // Forestal\n\n if (this.model2.materias[22]) { temp += ((temp === '') ? '' : ',') + '23'; }\n\n } else if (this.model2.serv5) { // Pypme\n\n if (this.model2.materias[21]) { temp += ((temp === '') ? '' : ',') + '22'; }\n\n }\n\n this.model.materia = temp;\n\n this.model2.visitas.forEach ( (visita) => {\n delete visita.mousePrimary;\n delete visita.mouseDelete;\n });\n this.model.visitas = this.model2.visitas;\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Visitas').tableId, this.model, this.rowUid)\n .then(value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Visitas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n removeVisita( visita: any) {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index > -1) {\n this.model2.visitas.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editVisita( visita: any) {\n if ( visita === null) {\n this.model2.newField = false;\n this.model2.editarVisita = -1;\n } else {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index < 0) {\n return;\n }\n visita.mousePrimary = false;\n this.model2.editarVisita = index;\n }\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/visita/detalle']);\n }\n\n calculateTotals() {\n let totalHoras = 0;\n let totalKm = 0;\n this.model2.visitas.forEach(function (value) {\n totalHoras += value.horas;\n totalKm += value.km;\n });\n this.model2.totalHoras = totalHoras;\n this.model2.totalKm = totalKm;\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n limpiaTexto(texto: String) : String {\n console.log(\"----------\");\n console.log(texto);\n console.log(\"----------\");\n return texto.trim();\n }\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n display: none;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\ntd.form-secondrow {\\n border-top: none;\\n margin-top: 0px;\\n padding-top: 0px;\\n padding-bottom: 10px;\\n color: blue;\\n font-size: 12px\\n}\\n\\n.richtext-container div,\\n.richtext-container p,\\n.richtext-container ul,\\n.richtext-container img,\\n.richtext-container table\\n.richtext-container ol {\\n max-width: 100% !important;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMC9zaWFzYS12aXNpdGEyMDIwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWDtBQUNKOztBQUVBOzs7Ozs7SUFNSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFdBQVc7O0lBRVgsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsZUFBZTtDQUNsQjs7QUFFQTtJQUNHLHFCQUFxQjtJQUNyQiw2Q0FBNkM7SUFDN0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMC9zaWFzYS12aXNpdGEyMDIwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cbnRkLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6IGdyYXk7fVxuXG5QLmNqayB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0IH1cblxuUC5jdGwgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgfVxuXG4ucHJpbnRvbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxudGQuZm9ybS1zZWNvbmRyb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6IGJsdWU7XG4gICAgZm9udC1zaXplOiAxMnB4XG59XG5cbi5yaWNodGV4dC1jb250YWluZXIgZGl2LFxuLnJpY2h0ZXh0LWNvbnRhaW5lciBwLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB1bCxcbi5yaWNodGV4dC1jb250YWluZXIgaW1nLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB0YWJsZVxuLnJpY2h0ZXh0LWNvbnRhaW5lciBvbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAgXG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, ViewContainerRef, ViewEncapsulation} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-visita-2020',\n templateUrl: './siasa-visita2020.component.html',\n styleUrls: ['./siasa-visita2020.component.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SiasaVisita2020Component {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n pdfName = '';\n pdfDescr = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid: '',\n nexp: '',\n nombre: '',\n apellido1: '',\n apellido2: '',\n tecnombre: '',\n tecapell1: '',\n tecapell2: '',\n\n entidad: 0,\n area : 1,\n\n materia : '',\n\n locent: '',\n fechafirma: null,\n\n valoracion: '',\n informe: null,\n otros: [],\n visitas: [\n ]\n };\n\n model2: any = {\n\n entidadname : '',\n\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n materias : [ false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, true, true\n ],\n\n visitas : this.model.visitas,\n totalHoras : 0,\n totalKm : 0,\n\n editarVisita : 0\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private sanitizer: DomSanitizer, private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.model2 = memData.model2;\n this.rowUid = this.model.uid;\n console.log('EDITAR (Vuelta) : ' + this.rowUid);\n\n this.calculateTotals();\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Visitas');\n this.tableClosed = table.closed;\n // console.log(table);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n console.log(row);\n console.log(this.model);\n switch (this.model.entidad) {\n case 1:\n this.model2.entidadname = 'ARAGA';\n break;\n case 2:\n this.model2.entidadname = 'ASAJA';\n break;\n case 3:\n this.model2.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model2.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model2.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model2.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model2.entidadname = 'UPA';\n break;\n default:\n this.model2.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model2.serv1 = true;\n break;\n case 2:\n this.model2.serv2 = true;\n break;\n case 3:\n this.model2.serv3 = true;\n break;\n case 4:\n this.model2.serv4 = true;\n break;\n case 5:\n this.model2.serv5 = true;\n break;\n }\n\n const splitted = this.model.materia.split(',', 30);\n const model2 = this.model2;\n // console.log(splitted);\n splitted.forEach(function (value) {\n const index = +value - 1;\n model2.materias[index] = true;\n // console.log(index);\n });\n\n this.model2.visitas = [];\n this.model2.totalHoras = 0;\n this.model2.totalKm = 0;\n this.model.visitas.forEach(function (value) {\n const index = +value - 1;\n model2.visitas.push(Object.assign({}, value));\n });\n this.calculateTotals();\n console.log(model2);\n console.log(this.model2);\n this.pdfName = 'EXP-' + String(this.model['nexp']) + '-19';\n this.pdfDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n }\n }\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const removeList = root2.getElementsByClassName('remove-printing');\n for (let i = 0; i < removeList.length; i++) {\n const target = removeList[i];\n console.log(target);\n target.parentNode.removeChild(target);\n }\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '') {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model'));\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default:\n console.log('Aqui es!')\n //c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n let temp = '';\n if (this.model2.serv1 || this.model2.serv2 || this.model2.serv3) { // Agrario\n if (this.model2.materias[0]) { temp += ((temp === '') ? '' : ',') + '1'; }\n if (this.model2.materias[1]) { temp += ((temp === '') ? '' : ',') + '2'; }\n if (this.model2.materias[2]) { temp += ((temp === '') ? '' : ',') + '3'; }\n if (this.model2.materias[3]) { temp += ((temp === '') ? '' : ',') + '4'; }\n if (this.model2.materias[4]) { temp += ((temp === '') ? '' : ',') + '5'; }\n if (this.model2.materias[5]) { temp += ((temp === '') ? '' : ',') + '6'; }\n if (this.model2.materias[6]) { temp += ((temp === '') ? '' : ',') + '7'; }\n if (this.model2.materias[7]) { temp += ((temp === '') ? '' : ',') + '8'; }\n if (this.model2.materias[8]) { temp += ((temp === '') ? '' : ',') + '9'; }\n if (this.model2.materias[9]) { temp += ((temp === '') ? '' : ',') + '10'; }\n if (this.model2.materias[10]) { temp += ((temp === '') ? '' : ',') + '11'; }\n\n if (this.model2.materias[11]) { temp += ((temp === '') ? '' : ',') + '12'; }\n if (this.model2.materias[12]) { temp += ((temp === '') ? '' : ',') + '13'; }\n if (this.model2.materias[13]) { temp += ((temp === '') ? '' : ',') + '14'; }\n if (this.model2.materias[14]) { temp += ((temp === '') ? '' : ',') + '15'; }\n if (this.model2.materias[15]) { temp += ((temp === '') ? '' : ',') + '16'; }\n if (this.model2.materias[16]) { temp += ((temp === '') ? '' : ',') + '17'; }\n\n if (this.model2.materias[17]) { temp += ((temp === '') ? '' : ',') + '18'; }\n if (this.model2.materias[18]) { temp += ((temp === '') ? '' : ',') + '19'; }\n if (this.model2.materias[19]) { temp += ((temp === '') ? '' : ',') + '20'; }\n if (this.model2.materias[20]) { temp += ((temp === '') ? '' : ',') + '21'; }\n\n } else if (this.model2.serv4) { // Forestal\n\n if (this.model2.materias[22]) { temp += ((temp === '') ? '' : ',') + '23'; }\n\n } else if (this.model2.serv5) { // Pypme\n\n if (this.model2.materias[21]) { temp += ((temp === '') ? '' : ',') + '22'; }\n\n }\n\n this.model.materia = temp;\n\n this.model2.visitas.forEach ( (visita) => {\n delete visita.mousePrimary;\n delete visita.mouseDelete;\n });\n this.model.visitas = this.model2.visitas;\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Visitas').tableId, this.model, this.rowUid)\n .then(value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Visitas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n removeVisita( visita: any) {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index > -1) {\n this.model2.visitas.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editVisita( visita: any) {\n if ( visita === null) {\n this.model2.newField = false;\n this.model2.editarVisita = -1;\n } else {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index < 0) {\n return;\n }\n visita.mousePrimary = false;\n this.model2.editarVisita = index;\n }\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/visita/detalle']);\n }\n\n calculateTotals() {\n let totalHoras = 0;\n let totalKm = 0;\n this.model2.visitas.forEach(function (value) {\n totalHoras += value.horas;\n totalKm += value.km;\n });\n this.model2.totalHoras = totalHoras;\n this.model2.totalKm = totalKm;\n }\n\n formatFecha(fecha: any) {\n //console.log(fecha);\n //console.log(moment(fecha).format('l'));\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n limpiaTexto(texto: String) : String {\n console.log(\"----------\");\n console.log(texto);\n console.log(\"----------\");\n return texto.trim();\n }\n}\n\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n display: none;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\ntd.form-secondrow {\\n border-top: none;\\n margin-top: 0px;\\n padding-top: 0px;\\n padding-bottom: 10px;\\n color: blue;\\n font-size: 12px\\n}\\n\\n.richtext-container div,\\n.richtext-container p,\\n.richtext-container ul,\\n.richtext-container img,\\n.richtext-container table\\n.richtext-container ol {\\n max-width: 100% !important;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMS9zaWFzYS12aXNpdGEyMDIxLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWDtBQUNKOztBQUVBOzs7Ozs7SUFNSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFdBQVc7O0lBRVgsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsZUFBZTtDQUNsQjs7QUFFQTtJQUNHLHFCQUFxQjtJQUNyQiw2Q0FBNkM7SUFDN0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMS9zaWFzYS12aXNpdGEyMDIxLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cbnRkLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6IGdyYXk7fVxuXG5QLmNqayB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0IH1cblxuUC5jdGwgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgfVxuXG4ucHJpbnRvbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxudGQuZm9ybS1zZWNvbmRyb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6IGJsdWU7XG4gICAgZm9udC1zaXplOiAxMnB4XG59XG5cbi5yaWNodGV4dC1jb250YWluZXIgZGl2LFxuLnJpY2h0ZXh0LWNvbnRhaW5lciBwLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB1bCxcbi5yaWNodGV4dC1jb250YWluZXIgaW1nLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB0YWJsZVxuLnJpY2h0ZXh0LWNvbnRhaW5lciBvbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAgXG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\"","\nimport { Component, ViewContainerRef, ViewEncapsulation} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-visita-2021',\n templateUrl: './siasa-visita2021.component.html',\n styleUrls: ['./siasa-visita2021.component.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SiasaVisita2021Component {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n pdfName = '';\n pdfDescr = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid: '',\n nexp: '',\n nombre: '',\n apellido1: '',\n apellido2: '',\n tecnombre: '',\n tecapell1: '',\n tecapell2: '',\n\n entidad: 0,\n area : 1,\n\n materia : '',\n\n locent: '',\n fechafirma: null,\n\n valoracion: '',\n informes: [],\n visitas: [\n ]\n };\n\n model2: any = {\n\n entidadname : '',\n\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n materias : [ false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, true, true\n ],\n\n visitas : this.model.visitas,\n totalHoras : 0,\n totalKm : 0,\n\n editarVisita : 0\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private sanitizer: DomSanitizer, private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2020-31-12').toDate();\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.model2 = memData.model2;\n this.rowUid = this.model.uid;\n console.log('EDITAR (Vuelta) : ' + this.rowUid);\n\n this.calculateTotals();\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Visitas');\n this.tableClosed = table.closed;\n // console.log(table);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n console.log(row);\n console.log(this.model);\n switch (this.model.entidad) {\n case 1:\n this.model2.entidadname = 'ARAGA';\n break;\n case 2:\n this.model2.entidadname = 'ASAJA';\n break;\n case 3:\n this.model2.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model2.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model2.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model2.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model2.entidadname = 'UPA';\n break;\n default:\n this.model2.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model2.serv1 = true;\n break;\n case 2:\n this.model2.serv2 = true;\n break;\n case 3:\n this.model2.serv3 = true;\n break;\n case 4:\n this.model2.serv4 = true;\n break;\n case 5:\n this.model2.serv5 = true;\n break;\n }\n\n const splitted = this.model.materia.split(',', 30);\n const model2 = this.model2;\n // console.log(splitted);\n splitted.forEach(function (value) {\n const index = +value - 1;\n model2.materias[index] = true;\n // console.log(index);\n });\n\n this.model2.visitas = [];\n this.model2.totalHoras = 0;\n this.model2.totalKm = 0;\n this.model.visitas.forEach(function (value) {\n const index = +value - 1;\n model2.visitas.push(Object.assign({}, value));\n });\n this.calculateTotals();\n console.log(model2);\n console.log(this.model2);\n this.pdfName = 'EXP-' + String(this.model['nexp']) + '-19';\n this.pdfDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n }\n }\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const removeList = root2.getElementsByClassName('remove-printing');\n for (let i = 0; i < removeList.length; i++) {\n const target = removeList[i];\n console.log(target);\n target.parentNode.removeChild(target);\n }\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '') {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model'));\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default:\n console.log('Aqui es!')\n //c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n let temp = '';\n if (this.model2.serv1 || this.model2.serv2 || this.model2.serv3) { // Agrario\n if (this.model2.materias[0]) { temp += ((temp === '') ? '' : ',') + '1'; }\n if (this.model2.materias[1]) { temp += ((temp === '') ? '' : ',') + '2'; }\n if (this.model2.materias[2]) { temp += ((temp === '') ? '' : ',') + '3'; }\n if (this.model2.materias[3]) { temp += ((temp === '') ? '' : ',') + '4'; }\n if (this.model2.materias[4]) { temp += ((temp === '') ? '' : ',') + '5'; }\n if (this.model2.materias[5]) { temp += ((temp === '') ? '' : ',') + '6'; }\n if (this.model2.materias[6]) { temp += ((temp === '') ? '' : ',') + '7'; }\n if (this.model2.materias[7]) { temp += ((temp === '') ? '' : ',') + '8'; }\n if (this.model2.materias[8]) { temp += ((temp === '') ? '' : ',') + '9'; }\n if (this.model2.materias[9]) { temp += ((temp === '') ? '' : ',') + '10'; }\n if (this.model2.materias[10]) { temp += ((temp === '') ? '' : ',') + '11'; }\n\n if (this.model2.materias[11]) { temp += ((temp === '') ? '' : ',') + '12'; }\n if (this.model2.materias[12]) { temp += ((temp === '') ? '' : ',') + '13'; }\n if (this.model2.materias[13]) { temp += ((temp === '') ? '' : ',') + '14'; }\n if (this.model2.materias[14]) { temp += ((temp === '') ? '' : ',') + '15'; }\n if (this.model2.materias[15]) { temp += ((temp === '') ? '' : ',') + '16'; }\n if (this.model2.materias[16]) { temp += ((temp === '') ? '' : ',') + '17'; }\n\n if (this.model2.materias[17]) { temp += ((temp === '') ? '' : ',') + '18'; }\n if (this.model2.materias[18]) { temp += ((temp === '') ? '' : ',') + '19'; }\n if (this.model2.materias[19]) { temp += ((temp === '') ? '' : ',') + '20'; }\n if (this.model2.materias[20]) { temp += ((temp === '') ? '' : ',') + '21'; }\n\n } else if (this.model2.serv4) { // Forestal\n\n if (this.model2.materias[22]) { temp += ((temp === '') ? '' : ',') + '23'; }\n\n } else if (this.model2.serv5) { // Pypme\n\n if (this.model2.materias[21]) { temp += ((temp === '') ? '' : ',') + '22'; }\n\n }\n\n this.model.materia = temp;\n\n this.model2.visitas.forEach ( (visita) => {\n delete visita.mousePrimary;\n delete visita.mouseDelete;\n });\n this.model.visitas = this.model2.visitas;\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Visitas').tableId, this.model, this.rowUid)\n .then(value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Visitas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n removeVisita( visita: any) {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index > -1) {\n this.model2.visitas.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editVisita( visita: any) {\n if ( visita === null) {\n this.model2.newField = false;\n this.model2.editarVisita = -1;\n } else {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index < 0) {\n return;\n }\n visita.mousePrimary = false;\n this.model2.editarVisita = index;\n }\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/visita/detalle']);\n }\n\n calculateTotals() {\n let totalHoras = 0;\n let totalKm = 0;\n this.model2.visitas.forEach(function (value) {\n totalHoras += value.horas;\n totalKm += value.km;\n });\n this.model2.totalHoras = totalHoras;\n this.model2.totalKm = totalKm;\n }\n\n formatFecha(fecha: any) {\n //console.log(fecha);\n //console.log(moment(fecha).format('l'));\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n limpiaTexto(texto: String) : String {\n console.log(\"----------\");\n console.log(texto);\n console.log(\"----------\");\n return texto.trim();\n }\n}\n\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n display: none;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\ntd.form-secondrow {\\n border-top: none;\\n margin-top: 0px;\\n padding-top: 0px;\\n padding-bottom: 10px;\\n color: blue;\\n font-size: 12px\\n}\\n\\n.richtext-container div,\\n.richtext-container p,\\n.richtext-container ul,\\n.richtext-container img,\\n.richtext-container table\\n.richtext-container ol {\\n max-width: 100% !important;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important;\\n background-color: white !important;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMi9zaWFzYS12aXNpdGEyMDIyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGFBQWEsZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdkcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWDtBQUNKOztBQUVBOzs7Ozs7SUFNSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFdBQVc7O0lBRVgsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsZUFBZTtDQUNsQjs7QUFFQTtJQUNHLHFCQUFxQjtJQUNyQiw2Q0FBNkM7SUFDN0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvY2hpbC9wcm95ZWN0b3Mvc2lhc2Evc2lhc2EtdmlzaXRhMjAyMi9zaWFzYS12aXNpdGEyMDIyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cbnRkLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6IGdyYXk7fVxuXG5QLmNqayB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0IH1cblxuUC5jdGwgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgfVxuXG4ucHJpbnRvbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxudGQuZm9ybS1zZWNvbmRyb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6IGJsdWU7XG4gICAgZm9udC1zaXplOiAxMnB4XG59XG5cbi5yaWNodGV4dC1jb250YWluZXIgZGl2LFxuLnJpY2h0ZXh0LWNvbnRhaW5lciBwLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB1bCxcbi5yaWNodGV4dC1jb250YWluZXIgaW1nLFxuLnJpY2h0ZXh0LWNvbnRhaW5lciB0YWJsZVxuLnJpY2h0ZXh0LWNvbnRhaW5lciBvbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG50ZXh0YXJlYVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIl19 */\"","import { Component, ViewContainerRef, ViewEncapsulation} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-visita-2022',\n templateUrl: './siasa-visita2022.component.html',\n styleUrls: ['./siasa-visita2022.component.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SiasaVisita2022Component {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n pdfName = '';\n pdfDescr = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid: '',\n nexp: '',\n nombre: '',\n apellido1: '',\n apellido2: '',\n tecnombre: '',\n tecapell1: '',\n tecapell2: '',\n\n entidad: 0,\n area : 1,\n\n materia : '',\n\n locent: '',\n fechafirma: null,\n\n valoracion: '',\n informes: [],\n visitas: [\n ]\n };\n\n model2: any = {\n\n entidadname : '',\n\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n materias : [ false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, true, true\n ],\n\n visitas : this.model.visitas,\n totalHoras : 0,\n totalKm : 0,\n\n editarVisita : 0\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private sanitizer: DomSanitizer, private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('2019-01-01').toDate();\n this.maxDate = moment('2022-31-12').toDate();\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.model2 = memData.model2;\n this.rowUid = this.model.uid;\n console.log('EDITAR (Vuelta) : ' + this.rowUid);\n\n this.calculateTotals();\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Visitas');\n this.tableClosed = table.closed;\n // console.log(table);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n console.log(row);\n console.log(this.model);\n switch (this.model.entidad) {\n case 1:\n this.model2.entidadname = 'ARAGA';\n break;\n case 2:\n this.model2.entidadname = 'ASAJA';\n break;\n case 3:\n this.model2.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model2.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model2.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model2.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model2.entidadname = 'UPA';\n break;\n default:\n this.model2.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model2.serv1 = true;\n break;\n case 2:\n this.model2.serv2 = true;\n break;\n case 3:\n this.model2.serv3 = true;\n break;\n case 4:\n this.model2.serv4 = true;\n break;\n case 5:\n this.model2.serv5 = true;\n break;\n }\n\n const splitted = this.model.materia.split(',', 30);\n const model2 = this.model2;\n // console.log(splitted);\n splitted.forEach(function (value) {\n const index = +value - 1;\n model2.materias[index] = true;\n // console.log(index);\n });\n\n this.model2.visitas = [];\n this.model2.totalHoras = 0;\n this.model2.totalKm = 0;\n this.model.visitas.forEach(function (value) {\n const index = +value - 1;\n model2.visitas.push(Object.assign({}, value));\n });\n this.calculateTotals();\n console.log(model2);\n console.log(this.model2);\n this.pdfName = 'EXP-' + String(this.model['nexp']) + '-19';\n this.pdfDescr = String(this.model.nexp) + ' ' + String(this.model.apellido1.trim()) + ' ' +\n String(this.model.apellido2.trim()) + ', ' + String(this.model.nombre.trim());\n }\n }\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const removeList = root2.getElementsByClassName('remove-printing');\n for (let i = 0; i < removeList.length; i++) {\n const target = removeList[i];\n console.log(target);\n target.parentNode.removeChild(target);\n }\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '') {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model'));\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default:\n console.log('Aqui es!')\n //c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n let temp = '';\n if (this.model2.serv1 || this.model2.serv2 || this.model2.serv3) { // Agrario\n if (this.model2.materias[0]) { temp += ((temp === '') ? '' : ',') + '1'; }\n if (this.model2.materias[1]) { temp += ((temp === '') ? '' : ',') + '2'; }\n if (this.model2.materias[2]) { temp += ((temp === '') ? '' : ',') + '3'; }\n if (this.model2.materias[3]) { temp += ((temp === '') ? '' : ',') + '4'; }\n if (this.model2.materias[4]) { temp += ((temp === '') ? '' : ',') + '5'; }\n if (this.model2.materias[5]) { temp += ((temp === '') ? '' : ',') + '6'; }\n if (this.model2.materias[6]) { temp += ((temp === '') ? '' : ',') + '7'; }\n if (this.model2.materias[7]) { temp += ((temp === '') ? '' : ',') + '8'; }\n if (this.model2.materias[8]) { temp += ((temp === '') ? '' : ',') + '9'; }\n if (this.model2.materias[9]) { temp += ((temp === '') ? '' : ',') + '10'; }\n if (this.model2.materias[10]) { temp += ((temp === '') ? '' : ',') + '11'; }\n\n if (this.model2.materias[11]) { temp += ((temp === '') ? '' : ',') + '12'; }\n if (this.model2.materias[12]) { temp += ((temp === '') ? '' : ',') + '13'; }\n if (this.model2.materias[13]) { temp += ((temp === '') ? '' : ',') + '14'; }\n if (this.model2.materias[14]) { temp += ((temp === '') ? '' : ',') + '15'; }\n if (this.model2.materias[15]) { temp += ((temp === '') ? '' : ',') + '16'; }\n if (this.model2.materias[16]) { temp += ((temp === '') ? '' : ',') + '17'; }\n\n if (this.model2.materias[17]) { temp += ((temp === '') ? '' : ',') + '18'; }\n if (this.model2.materias[18]) { temp += ((temp === '') ? '' : ',') + '19'; }\n if (this.model2.materias[19]) { temp += ((temp === '') ? '' : ',') + '20'; }\n if (this.model2.materias[20]) { temp += ((temp === '') ? '' : ',') + '21'; }\n\n } else if (this.model2.serv4) { // Forestal\n\n if (this.model2.materias[22]) { temp += ((temp === '') ? '' : ',') + '23'; }\n\n } else if (this.model2.serv5) { // Pypme\n\n if (this.model2.materias[21]) { temp += ((temp === '') ? '' : ',') + '22'; }\n\n }\n\n this.model.materia = temp;\n\n this.model2.visitas.forEach ( (visita) => {\n delete visita.mousePrimary;\n delete visita.mouseDelete;\n });\n this.model.visitas = this.model2.visitas;\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Visitas').tableId, this.model, this.rowUid)\n .then(value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Visitas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n removeVisita( visita: any) {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index > -1) {\n this.model2.visitas.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editVisita( visita: any) {\n if ( visita === null) {\n this.model2.newField = false;\n this.model2.editarVisita = -1;\n } else {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index < 0) {\n return;\n }\n visita.mousePrimary = false;\n this.model2.editarVisita = index;\n }\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/visita/detalle']);\n }\n\n calculateTotals() {\n let totalHoras = 0;\n let totalKm = 0;\n this.model2.visitas.forEach(function (value) {\n totalHoras += value.horas;\n totalKm += value.km;\n });\n this.model2.totalHoras = totalHoras;\n this.model2.totalKm = totalKm;\n }\n\n formatFecha(fecha: any) {\n //console.log(fecha);\n //console.log(moment(fecha).format('l'));\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n limpiaTexto(texto: String) : String {\n console.log(\"----------\");\n console.log(texto);\n console.log(\"----------\");\n return texto.trim();\n }\n}\n\n","export default \"img {\\n margin-top: 200px;\\n}\\n\\n.body {\\n margin-top: 200px;\\n}\\n\\n.title {\\n font-size: 70px;\\n text-align: center;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n letter-spacing: 14px;\\n font-weight: 100;\\n}\\n\\n.sub-title {\\n margin-top: 18px;\\n font-size: 20px;\\n text-align: center;\\n font-weight: 100;\\n letter-spacing: 2px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.body-sub-title {\\n margin-top: 10px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n margin-left: 25px;\\n margin-right: 25px;\\n text-align: justify;\\n}\\n\\n.btn {\\n float: right;\\n margin-top: 30px;\\n margin-right: 90px;\\n height: 20px;\\n width: 80px;\\n font-family: \\\"Montserrat\\\", \\\"Open Sans\\\", Helvetica, Arial, sans-serif;\\n font-size: 10px;\\n line-height: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9mZXJuYW5kb3J1YmlvL0RvY3VtZW50cy9DSElMIDMvQ2hpbCAzIFBhbmVsL3NyYy9hcHAvY2hpbC9zeXN0ZW0vY2gtc3lzdGVtLWNvbmZpZy9jaC1zeXN0ZW0tY29uZmlnLnNjc3MiLCJzcmMvYXBwL2NoaWwvc3lzdGVtL2NoLXN5c3RlbS1jb25maWcvY2gtc3lzdGVtLWNvbmZpZy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0ksaUJBQUE7QUNGSjs7QURJQTtFQUNJLGlCQUFBO0FDREo7O0FESUE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxvRUFiUztFQWNULG9CQWJZO0VBY1osZ0JBQUE7QUNESjs7QURHQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9FQXZCUztBQ3VCYjs7QURFQTtFQUNJLGdCQUFBO0VBQ0Esb0VBM0JTO0VBNEJULGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQ0NKOztBREVBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9FQXZDUztFQXdDVCxlQUFBO0VBQ0EsZ0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NoaWwvc3lzdGVtL2NoLXN5c3RlbS1jb25maWcvY2gtc3lzdGVtLWNvbmZpZy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJhc2ljLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJhc2ljLXNwYWNpbmc6IDE0cHg7XG5cbmltZ3tcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cbi5ib2R5e1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufVxuXG4udGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNpYy1mb250O1xuICAgIGxldHRlci1zcGFjaW5nOiAkYmFzaWMtc3BhY2luZztcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuLnN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbn1cbi5ib2R5LXN1Yi10aXRsZXtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmJ0bntcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWMtZm9udDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn0iLCJpbWcge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLmJvZHkge1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLnRpdGxlIHtcbiAgZm9udC1zaXplOiA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbi5zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uYm9keS1zdWItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi5idG4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogOTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogODBweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59Il19 */\"","import { Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport 'brace';\nimport 'brace/mode/xml';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { GroupInfo, MessageType, GroupSEO } from 'app/chil/chilweb/ch-globals-def';\nimport { isNullOrUndefined } from 'util';\nimport { ChFileCompact } from 'app/chil/cloud/ch-file';\nimport { ChPostLanguage } from 'app/chil/post/ch-post';\nimport { Console } from 'console';\n\n@Component({\n selector: 'app-ch-system-config',\n templateUrl: './ch-system-config.html',\n styleUrls: ['./ch-system-config.scss']\n})\n\n\nexport class ChSystemConfigComponent implements OnInit {\n\n private langCodes = [\n { cod: 'ES', name: 'Español'},\n { cod: 'CA', name: 'Catalá'},\n { cod: 'EN', name: 'English'},\n { cod: 'FR', name: 'Français'}\n ];\n\n private languageList = [];\n\n private model: GroupInfo = null;\n\n private model2Origin: GroupSEO = null;;\n private model2: GroupSEO = null;;\n\n constructor(private chGlobal: ChGlobalsService, vcr: ViewContainerRef) {\n\n chGlobal.initToasts(vcr);\n\n this.model = JSON.parse(JSON.stringify(chGlobal.getGroupInfo()));\n\n for (let element in ChPostLanguage) {\n if ( ChPostLanguage[element] != \"*\" ) {\n this.languageList.push({id: ChPostLanguage[element], name: element });\n //console.log(ChPostLanguage[element] + ' - ' + element)\n }\n }\n console.log(this.model)\n }\n\n ngOnInit() {\n this.chGlobal.loadGroupSEO(this.model.uid)\n .then ( (value) => {\n this.model2Origin = value;\n this.model2 = JSON.parse(JSON.stringify(this.model2Origin));\n },\n (reason) => {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'No han podido ser leidos los datos SEO del grupo.');\n this.model2 = null;\n }\n );\n }\n\n public saveBasic(){\n this.chGlobal.showRunningWindow('Guardando perfil...');\n\n var changesToSave = Object();\n let oldConfig = this.chGlobal.getGroupInfo();\n let keys = Object.keys(this.model);\n for (var key in this.model) {\n if (oldConfig.hasOwnProperty(key) &&\n oldConfig[key] != this.model[key]) {\n //console.log(key + \" : \" + this.model[key]);\n changesToSave[key] = this.model[key];\n }\n }\n\n console.log(changesToSave);\n\n this.chGlobal.updateGroupProfile( this.model /*changesToSave */ )\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n //console.log(this.model)\n this.chGlobal.setGroupInfo(this.model);\n this.chGlobal.showMessageWithParams(MessageType.success, 'Perfil guardado',\n 'El perfil %1 ha sido guardado.', [this.model['displayName'].trim()]);\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El perfil no ha podido ser guardado en la base de datos.');\n }\n },\n (value) => { // Rejected\n console.log(value)\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El perfil no ha podido ser guardado en la base de datos.');\n }\n );\n }\n\n public saveSEO(){\n if (!this.validSEOData(this.model2)) {\n return;\n }\n this.chGlobal.showRunningWindow('Guardando perfil SEO...');\n this.chGlobal.updateGroupSEO(this.getSEOChanges(this.model2, this.model2Origin))\n .then( (value) => { // Acepted\n this.chGlobal.hideRunningWindow();\n if (value) {\n this.chGlobal.setGroupInfo(this.model);\n this.chGlobal.showMessage(MessageType.success, 'Perfil SEO guardado',\n 'El perfil SEO ' + this.model['displayName'].trim() + ' Ha sido guardado');\n } else {\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El perfil SEO no ha podido ser guardado en la base de datos.');\n }\n },\n (value) => { // Rejected\n this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de comunicaciones',\n 'El perfil SEO no ha podido ser guardado en la base de datos.');\n }\n );\n }\n\n private validSEOData(newSEO: GroupSEO) : boolean {\n if (!isNullOrUndefined(newSEO.domain) && newSEO.domain.trim() !== '' && !this.chGlobal.isURL(newSEO.domain.trim())) {\n this.chGlobal.showMessage(MessageType.error, 'Error de validación',\n 'El dominio no parece una dirección URL válida.');\n return false;\n }\n if (!isNullOrUndefined(newSEO.sitemap) && newSEO.sitemap.trim() !== '') {\n var oParser = new DOMParser();\n var oDOM = oParser.parseFromString(newSEO.sitemap, \"text/xml\");\n if (oDOM.documentElement.nodeName === \"parsererror\") {\n this.chGlobal.showMessage(MessageType.error, 'Error de validación',\n 'El fichero SITEMAP.USER.XML no tiene una estructura válida.');\n return false;\n }\n }\n if (!isNullOrUndefined(newSEO.sitemapIndex) && newSEO.sitemapIndex.trim() !== '') {\n var oParser = new DOMParser();\n var oDOM = oParser.parseFromString(newSEO.sitemapIndex, \"text/xml\");\n if (oDOM.documentElement.nodeName === \"parsererror\") {\n this.chGlobal.showMessage(MessageType.error, 'Error de validación',\n 'El fichero SITEMAPINDEX.XML no tiene una estructura válida.');\n return false;\n }\n }\n if (!isNullOrUndefined(newSEO.idgAnalytics) && newSEO.idgAnalytics.trim() !== '') {\n var pattern = new RegExp('UA-[0-9]+-[0-9]+'); // REGEX de GA Id\n if (!pattern.test(newSEO.idgAnalytics.trim())) {\n this.chGlobal.showMessage(MessageType.error, 'Error de validación',\n 'El identificador de Google analytics no parece válido. Su forma debe ser parecida a UA-xxxxxxx-y');\n return false;\n }\n }\n\n return true;\n }\n\n private getSEOChanges(newSEO: GroupSEO, olderSEO: GroupSEO) : object {\n\n var temp = { uid : olderSEO.uid };\n if (newSEO.automaticRobot !== olderSEO.automaticRobot) {\n temp['automaticRobot'] = newSEO.automaticRobot;\n }\n if (newSEO.automaticSitemap !== olderSEO.automaticSitemap) {\n temp['automaticSitemap'] = newSEO.automaticSitemap;\n }\n if (newSEO.domain !== olderSEO.domain) {\n temp['domain'] = newSEO.domain;\n }\n if (newSEO.idgAnalytics !== olderSEO.idgAnalytics) {\n temp['idgAnalytics'] = newSEO.idgAnalytics;\n }\n if (newSEO.robotTxt !== olderSEO.robotTxt) {\n temp['robotTxt'] = newSEO.robotTxt;\n }\n if (newSEO.sitemap !== olderSEO.sitemap) {\n temp['sitemap'] = newSEO.sitemap;\n }\n if (newSEO.sitemapIndex !== olderSEO.sitemapIndex) {\n temp['sitemapIndex'] = newSEO.sitemapIndex;\n }\n return temp;\n }\n\n public setWebIcon(newIcon: ChFileCompact | null) {\n console.log(newIcon);\n if (newIcon != null ) {\n this.model.pictureMediaUid = newIcon.uid;\n } else {\n this.model.pictureMediaUid = '';\n }\n\n }\n\n public setWebHeader(newIcon: ChFileCompact | null) {\n console.log(newIcon);\n if (newIcon != null ) {\n this.model.headerPictureMediaUid = newIcon.uid;\n } else {\n this.model.headerPictureMediaUid = '';\n }\n }\n\n public setFavIcon(newIcon: ChFileCompact | null) {\n console.log(newIcon);\n if (newIcon != null ) {\n this.model.faviconUid = newIcon.uid;\n } else {\n this.model.faviconUid = '';\n }\n }\n}\n","//JavaScript HTML Sanitizer v2.0.0, (c) Alexander Yumashev, Jitbit Software.\n\n//homepage https://github.com/jitbit/HtmlSanitizer\n\n//License: MIT https://github.com/jitbit/HtmlSanitizer/blob/master/LICENSE\nimport { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { IsInstance } from 'class-validator';\n\n\nexport class HtmlSanitizer {\n\n constructor() {}\n\n @Inject(DOCUMENT) private document: Document;\n\n\tpublic tagWhitelist_ : object = {\n\t\t'A': true, 'ABBR': true, 'B': true, 'BLOCKQUOTE': true, 'BODY': true, 'BR': true, 'CENTER': true, 'CODE': true, 'DD': true, 'DIV': true, 'DL': true, 'DT': true, 'EM': true, 'FONT': true,\n\t\t'H1': true, 'H2': true, 'H3': true, 'H4': true, 'H5': true, 'H6': true, 'HR': true, 'I': true, 'IMG': true, 'LABEL': true, 'LI': true, 'OL': true, 'P': true, 'PRE': true,\n\t\t'SMALL': true, 'SOURCE': true, 'SPAN': true, 'STRONG': true, 'SUB': true, 'SUP': true,\n 'TABLE': true, 'TBODY': true, 'TR': true, 'TD': true, 'TH': true, 'THEAD': true,'CAPTION': true, 'COLGROUP': true,'COL': true,'TFOOT': true,\n 'UL': true, 'U': true, 'VIDEO': true,\n 'FIGURE': true, 'SECTION': true, \"BUTTON\": true,\n \"HEADER\":true,\"PICTURE\":true,\"FIGCAPTION\":true,\"TIME\":true,\"ASIDE\":true, \"SVG\":true, \"STYLE\":true\n\t};\n\n\tpublic divTagWhiteList_ : object = { 'FORM': true, 'GOOGLE-SHEETS-HTML-ORIGIN': true, 'PRE': true,\n 'TABLE': true, 'TBODY': true, 'TR': true, 'TD': true, 'TH': true, 'THEAD': true, 'CAPTION': true, 'COLGROUP': true,'COL': true,'TFOOT': true,\n 'FIGURE': true, 'OL': true, 'UL': true }; //tags that will be converted to DIVs\n\n public spanTagWhiteList_ : object = { 'TD': true, 'TH': true, 'I': true, 'B': true, 'U': true, 'CODE': true, 'A': true , 'FIGCAPTION': true }; //tags that will be converted to SPANs\n\n public pTagWhiteList_ : object = { 'H1': true, 'H2': true, 'H3': true, 'H4': true, 'H5': true, 'H6': true, 'HR': true , 'LI': true }; //tags that will be converted to Ps\n\n\tpublic attributeWhitelist_ : object = { 'align': true, 'color': true, 'controls': true, 'height': true, 'href': true, 'id': true, 'src': true, 'style': true, 'target': true, 'title': true, 'type': true, 'width': true, 'class': true,\n 'data-lang': true, \"data-mrf-recirculation\":true, \"alt\":true, \"datetime\":true,\"rel\":true,\"data-event-emitter\":true,\"data-event-emitter-action\":true,\"data-event-emitter-data\":true,\n \"aria-label\":true,\"data-section\":true,\"data-ue-id\":true,\n \"data-actas\":true,\"data-video-ad-config\":true,\"data-video-title\":true,\"data-video-id\":true,\"data-video-file\":true,\"data-video-image\":true,\n \"data-video-secure\":true,\"data-gztm-object\":true,\"data-video-overlay\":true,\n \"media\":true,\"data-was-processed\":true,\"data-share-button\":true,\"data-share-mobileon-sm\":true,\"data-share-url\":true,\n \"data-share-text\":true,\"data-disqus-identifier\":true,\"data-it\":true,\"data-device\":true,\"data-index\":true };\n\n\tpublic cssWhitelist_ : object = { 'background-color': true, 'color': true, 'font-size': true, 'font-weight': true, 'text-align': true, 'text-decoration': true, 'width': true,\n \"box-sizing\":true,\"font-family\":true,\"line-height\":true,\n \"font-style\":true,\"font-variant-caps\":true,\"letter-spacing\":true,\"text-indent\":true,\"text-transform\":true,\n \"white-space\":true,\"word-spacing\":true,\"-moz-text-size-adjust\":true,\"-webkit-text-stroke-width\":true,\n \"text-decoration-line\":true,\"text-decoration-style\":true,\"text-decoration-color\":true,\"text-decoration-thickness\":true,\n \"border\":true,\"border-style\":true,\"border-radius\":true,\"border-color\":true,\"border-width\":true,\n \"border-top-left-radius\":true,\n \"border-top-right-radius\":true,\"border-bottom-right-radius\":true,\"border-bottom-left-radius\":true,\n \"font-stretch\":true,\"font-size-adjust\":true,\"font-kerning\":true,\"font-optical-sizing\":true,\"font-variant-alternates\":true,\"font-variant-east-asian\":true,\n \"font-variant-ligatures\":true,\"font-variant-numeric\":true,\"font-variant-position\":true,\n \"font-language-override\":true,\"font-feature-settings\":true,\"font-variation-settings\":true,\n \"word-break\":true,\"text-decoration-skip-ink\":true,\"background-position-x\":true,\"background-position-y\":true,\n \"background-repeat\":true,\"background-attachment\":true,\"background-image\":true,\n \"background-size\":true,\"background-origin\":true,\"background-clip\":true,\"cursor\":true,\n \"display\":true,\"caret-color\":true,\"overflow-x\":true,\"overflow-y\":true,\"overflow-wrap\":true,\"border-top-color\":true,\n \"border-top-style\":true,\"border-top-width\":true,\"border-right-color\":true,\"border-right-style\":true,\"border-right-width\":true,\n \"border-bottom-color\":true,\"border-bottom-style\":true,\"border-bottom-width\":true,\"border-left-color\":true,\"border-left-style\":true,\n \"border-left-width\":true,\"border-image-outset\":true,\"border-image-repeat\":true,\"border-image-slice\":true,\n \"border-image-source\":true,\"border-image-width\":true,\n \"appearance\":true,\"vertical-align\":true,\"touch-action\":true,\"user-select\":true,\n \"flex-wrap\":true,\"flex-basis\":true,\"max-width\":true,\"order\":true,\"align-items\":true,\"justify-content\":true,\"position\":true,\"flex-grow\":true,\"flex-shrink\":true,\"opacity\":true,\"min-width\":true,\"text-overflow\":true,\n \"height\":true,\"transition-property\":true,\"transition-duration\":true,\"transition-timing-function\":true,\"transition-delay\":true,\"top\":true,\"align-self\":true,\"list-style-position\":true,\n \"list-style-image\":true,\"list-style-type\":true,\"-webkit-line-clamp\":true,\"-moz-box-orient\":true,\n \"direction\":true,\"color-scheme\":true,\"font-synthesis\":true,\"text-rendering\":true,\"writing-mode\":true,\"accent-color\":true,\"border-collapse\":true,\"caption-side\":true,\"clip-rule\":true,\n \"color-interpolation\":true,\"color-interpolation-filters\":true,\"empty-cells\":true,\"fill\":true,\"fill-opacity\":true,\"fill-rule\":true,\n \"image-orientation\":true,\"image-rendering\":true,\"line-break\":true,\"marker-end\":true,\"marker-mid\":true,\"marker-start\":true,\"pointer-events\":true,\n \"print-color-adjust\":true,\"quotes\":true,\"resize\":true,\"shape-rendering\":true,\"stroke\":true,\n \"stroke-dasharray\":true,\"stroke-dashoffset\":true,\"stroke-linecap\":true,\"stroke-linejoin\":true,\"stroke-miterlimit\":true,\"stroke-opacity\":true,\n \"stroke-width\":true,\"tab-size\":true,\"text-anchor\":true,\"text-combine-upright\":true,\"text-emphasis-color\":true,\"text-emphasis-position\":true,\n \"text-emphasis-style\":true,\"text-shadow\":true,\"text-underline-offset\":true,\"text-underline-position\":true,\"visibility\":true,\"border-spacing\":true,\n \"-moz-box-direction\":true,\"-webkit-text-fill-color\":true,\"-webkit-text-stroke-color\":true,\"z-index\":true,\n \"left\":true,\"max-height\":true,\"float\":true,\"clear\":true,\"transform\":true,\"right\":true,\"transform-origin\":true,\"min-height\":true,\"flex-direction\":true,\n \"clip\":true,\"clip-path\":true,\"box-shadow\":true,\n \"margin\": true,\"margin-top\": true,\"margin-left\": true,\"margin-bottom\": true,\"margin-right\": true,\n \"padding\": true,\"padding-top\": true,\"padding-left\": true,\"padding-bottom\": true,\"padding-right\": true\n };\n\n\tpublic schemaWhiteList_ : Array = [ 'http:', 'https:', 'data:', 'm-files:', 'file:', 'ftp:', 'mailto:', 'pw:' ]; //which \"protocols\" are allowed in \"href\", \"src\" etc\n\n\tpublic uriAttributes_ : object = { 'href': true, 'action': true };\n\n\tprivate _parser = new DOMParser();\n\n private notUsedTags : object = {};\n\n private notUsedAttributes : object = {};\n\n private notUsedCss : object = {};\n\n public sanitizeHtml(input: string, extraTags?: Array, extraAttributes?: Array) : string {\n\t\textraTags = (extraTags && extraTags instanceof Array) ? extraTags : [];\n\t\textraAttributes = (extraAttributes && extraAttributes instanceof Array) ? extraAttributes : [];\n\n this.notUsedTags = {};\n this.notUsedAttributes = {};\n\n\t\tinput = input.trim();\n\t\tif (input == \"\") return \"\"; //to save performance and not create iframe\n\n\t\t//firefox \"bogus node\" workaround\n\t\tif (input == \"
\") return \"\";\n\n\t\tif (input.indexOf(\"\" + input + \"\"; //add \"body\" otherwise some tags are skipped, like \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n }\n\n saveForm(event: any) {\n // console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n // console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Consultas').tableId, this.model, this.rowUid)\n .then(value => {\n // console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Consultas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n setValue(estado: any) {\n this.model._closed = estado['close'];\n this.rowClosed = this.tableClosed || this.model._closed;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfopacConsultaComponent } from './infopac-consulta/infopac-consulta.component';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { ToastrModule } from 'ngx-toastr';\nimport { TextMaskModule } from 'angular2-text-mask';\n\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@NgModule({\n declarations: [InfopacConsultaComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserModule,\n BsDatepickerModule.forRoot(),\n BsDropdownModule.forRoot(),\n ToastrModule.forRoot(),\n\n NgSelectModule,\n\n TextMaskModule\n ],\n providers: [ ChGlobalsService, BsDatepickerModule ],\n})\nexport class InfopacModule { }\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8vc2lhc2EtY29udHJhdG8uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0Esc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQzs7QUFFNUYsUUFBUSxxQ0FBcUMsRUFBRSxnQkFBZ0I7O0FBRS9ELFFBQVEscUNBQXFDLEVBQUUsZUFBZSxFQUFFOztBQUdoRTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELGVBQWUsRUFBRTtBQUNyQjs7QUFFQTtFQUNFOztBQUNGO0lBQ0ksc0JBQXNCO0lBQ3RCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL3NpYXNhL3NpYXNhLWNvbnRyYXRvL3NpYXNhLWNvbnRyYXRvLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cblxudWwud2VzdGVybiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNClcbn1cblxuLyogQTpsaW5rIHsgY29sb3I6ICMwMDAwZmYgfVxuICovXG50ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTtcbiAgICBwYWRkaW5nOiAycHg7XG59XG5cbmgzIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbmg0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAgcmdiKDM0LCAzNCwgMzQpXG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tcmVhZG9ubHkge1xuICAgIGNvbG9yOiBibHVlICFpbXBvcnRhbnQ7ICAgXG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXRleHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2sgO1xufVxuXG4ucmFkaW8ge1xuICAgIGNvbG9yOiBibGFja1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG5cbiBkYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biB0aW1lcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuYmctZmFkZWQge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1Y1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-contrato',\n templateUrl: './siasa-contrato.component.html',\n styleUrls: ['./siasa-contrato.component.css']\n})\nexport class SiasaContratoComponent implements AfterViewInit {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nexp: '',\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n exmun : '',\n exprov : '',\n repnif : '',\n repnombre : '',\n repapell1 : '',\n repapell2 : '',\n\n tecnif : '',\n tecnombre : '',\n tecapell1 : '',\n tecapell2 : '',\n tectfn : '',\n tecemail : '',\n\n entidad : 0,\n entidadname : 'ENTIDAD',\n\n area : 1,\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n precio1 : 735.00,\n precio2 : 128.00,\n locent : '',\n fechaent : null\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this._localeService.use('es');\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Contratos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n switch (this.model.entidad) {\n case 1:\n this.model.entidadname = 'ARAGA';\n break;\n case 2:\n this.model.entidadname = 'ASAJA';\n break;\n case 3:\n this.model.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model.entidadname = 'UPA';\n break;\n default:\n this.model.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model.serv1 = true;\n break;\n case 2:\n this.model.serv2 = true;\n break;\n case 3:\n this.model.serv3 = true;\n break;\n case 4:\n this.model.serv4 = true;\n break;\n case 5:\n this.model.serv5 = true;\n break;\n }\n\n // console.log(row);\n // console.log(this.model);\n }\n }\n\n chGlobal.getTableRows(chGlobal.getTable('Tecnicos').tableId, {entidad: this.model.entidad} ).subscribe(\n (values: any[]) => {\n for (const v of values){\n this.tecnicos.push(v);\n }\n // console.log(this.tecnicos);\n } );\n\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, { _marca : 'Amarillo' }, this.rowUid); }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Contratos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n selectTecnico(newValue) {\n console.log(newValue);\n const target = this.tecnicos.find((value, index) => { return value.nif === newValue; });\n if (target != null) {\n this.model.tecnombre = target.nombre;\n this.model.tecapell1 = target.apellido1;\n this.model.tecapell2 = target.apellido2;\n this.model.tecemail = target.email;\n this.model.tectfn = target.tfn;\n }\n }\n}\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 35px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8yMDE5L3NpYXNhLWNvbnRyYXRvMjAxOS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxzRUFBc0U7O0FBRXRFLFFBQVEsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCOztBQUV4RSxJQUFJLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVc7O0FBRWpGLFlBQVksZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdEcsY0FBYyxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDOztBQUU3RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBR2hFO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnREFBZ0Q7SUFDaEQsZUFBZSxFQUFFO0FBQ3JCOztBQUVBO0VBQ0U7O0FBQ0Y7SUFDSSxzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2Y7QUFDSjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQjtBQUNKOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFdBQVc7O0lBRVgsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsZUFBZTtDQUNsQjs7QUFFQTtJQUNHLHFCQUFxQjtJQUNyQiw2Q0FBNkM7SUFDN0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8yMDE5L3NpYXNhLWNvbnRyYXRvMjAxOS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-contrato2019',\n templateUrl: './siasa-contrato2019.component.html',\n styleUrls: ['./siasa-contrato2019.component.css']\n})\nexport class SiasaContrato2019Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nexp: '',\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n exmun : '',\n exprov : '',\n repnif : '',\n repnombre : '',\n repapell1 : '',\n repapell2 : '',\n\n tecnif : '',\n tecnombre : '',\n tecapell1 : '',\n tecapell2 : '',\n tectfn : '',\n tecemail : '',\n\n entidad : 0,\n entidadname : 'ENTIDAD',\n\n area : 1,\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n precio1 : 735.00,\n precio2 : 128.00,\n locent : '',\n fechaent : null\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this._localeService.use('es');\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaContrato2019Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun contrato para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaContrato2019Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR 2019 : ' + this.rowUid);\n const table = chGlobal.getTable('Contratos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(property.toLowerCase() + ': ' + this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n switch (this.model.entidad) {\n case 1:\n this.model.entidadname = 'ARAGA';\n break;\n case 2:\n this.model.entidadname = 'ASAJA';\n break;\n case 3:\n this.model.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model.entidadname = 'UPA';\n break;\n default:\n this.model.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model.serv1 = true;\n break;\n case 2:\n this.model.serv2 = true;\n break;\n case 3:\n this.model.serv3 = true;\n break;\n case 4:\n this.model.serv4 = true;\n break;\n case 5:\n this.model.serv5 = true;\n break;\n }\n\n // console.log(row);\n console.log(this.model);\n }\n }\n\n chGlobal.getTableRows(chGlobal.getTable('Tecnicos').tableId, {entidad: this.model.entidad} ).subscribe(\n (values: any[]) => {\n for (const v of values){\n this.tecnicos.push(v);\n }\n // console.log(this.tecnicos);\n } );\n\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, { _marca : 'Amarillo' }, this.rowUid); }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Contratos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n selectTecnico(newValue) {\n console.log(newValue);\n const target = this.tecnicos.find((value, index) => { return value.nif === newValue; });\n if (target != null) {\n this.model.tecnombre = target.nombre;\n this.model.tecapell1 = target.apellido1;\n this.model.tecapell2 = target.apellido2;\n this.model.tecemail = target.email;\n this.model.tectfn = target.tfn;\n }\n }\n\n /**\n * Ejecutar impresion batch\n */\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Contratos');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n }\n }\n\n // tslint:disable-next-line:member-ordering\n public static resetBatchPrint() {\n this.batchList = [];\n }\n\n // tslint:disable-next-line:member-ordering\n public static addBatchPrint(uid: string) {\n this.batchList.push(uid);\n }\n\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaContrato2019Component.batchList.length; i++) {\n const rowUid = SiasaContrato2019Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaContrato2019Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n htmlString += '
' + this.adjustControlForPrinting().innerHTML + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa2/data/Contratos']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 35px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8yMDIwL3NpYXNhLWNvbnRyYXRvMjAyMC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxjQUFjLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7O0FBRTdGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFHaEU7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS1jb250cmF0bzIwMjAvc2lhc2EtY29udHJhdG8yMDIwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'app-siasa-contrato2020',\n templateUrl: './siasa-contrato2020.component.html',\n styleUrls: ['./siasa-contrato2020.component.css']\n})\nexport class SiasaContrato2020Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nexp: '',\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n exmun : '',\n exprov : '',\n repnif : '',\n repnombre : '',\n repapell1 : '',\n repapell2 : '',\n\n tecnif : '',\n tecnombre : '',\n tecapell1 : '',\n tecapell2 : '',\n tectfn : '',\n tecemail : '',\n\n entidad : 0,\n entidadname : 'ENTIDAD',\n\n area : 1,\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n precio1 : 735.00,\n precio2 : 128.00,\n locent : '',\n fechaent : null\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this._localeService.use('es');\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaContrato2020Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun contrato para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaContrato2020Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR 2019 : ' + this.rowUid);\n const table = chGlobal.getTable('Contratos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(property.toLowerCase() + ': ' + this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n switch (this.model.entidad) {\n case 1:\n this.model.entidadname = 'ARAGA';\n break;\n case 2:\n this.model.entidadname = 'ASAJA';\n break;\n case 3:\n this.model.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model.entidadname = 'UPA';\n break;\n default:\n this.model.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model.serv1 = true;\n break;\n case 2:\n this.model.serv2 = true;\n break;\n case 3:\n this.model.serv3 = true;\n break;\n case 4:\n this.model.serv4 = true;\n break;\n case 5:\n this.model.serv5 = true;\n break;\n }\n\n // console.log(row);\n console.log(this.model);\n }\n }\n\n chGlobal.getTableRows(chGlobal.getTable('Tecnicos').tableId, {entidad: this.model.entidad} ).subscribe(\n (values: any[]) => {\n for (const v of values){\n this.tecnicos.push(v);\n }\n // console.log(this.tecnicos);\n } );\n\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, { _marca : 'Amarillo' }, this.rowUid); }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Contratos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n selectTecnico(newValue) {\n console.log(newValue);\n const target = this.tecnicos.find((value, index) => { return value.nif === newValue; });\n if (target != null) {\n this.model.tecnombre = target.nombre;\n this.model.tecapell1 = target.apellido1;\n this.model.tecapell2 = target.apellido2;\n this.model.tecemail = target.email;\n this.model.tectfn = target.tfn;\n }\n }\n\n /**\n * Ejecutar impresion batch\n */\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Contratos');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n }\n }\n\n // tslint:disable-next-line:member-ordering\n public static resetBatchPrint() {\n this.batchList = [];\n }\n\n // tslint:disable-next-line:member-ordering\n public static addBatchPrint(uid: string) {\n this.batchList.push(uid);\n }\n\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaContrato2020Component.batchList.length; i++) {\n const rowUid = SiasaContrato2020Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaContrato2020Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n htmlString += '
' + this.adjustControlForPrinting().innerHTML + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa2/data/Contratos']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 35px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8yMDIxL3NpYXNhLWNvbnRyYXRvMjAyMS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxjQUFjLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7O0FBRTdGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFHaEU7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS1jb250cmF0bzIwMjEvc2lhc2EtY29udHJhdG8yMDIxLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'app-siasa-contrato2021',\n templateUrl: './siasa-contrato2021.component.html',\n styleUrls: ['./siasa-contrato2021.component.css']\n})\nexport class SiasaContrato2021Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nexp: '',\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n exmun : '',\n exprov : '',\n repnif : '',\n repnombre : '',\n repapell1 : '',\n repapell2 : '',\n\n tecnif : '',\n tecnombre : '',\n tecapell1 : '',\n tecapell2 : '',\n tectfn : '',\n tecemail : '',\n\n entidad : 0,\n entidadname : 'ENTIDAD',\n\n area : 1,\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n precio1 : 735.00,\n precio2 : 128.00,\n locent : '',\n fechaent : null\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this._localeService.use('es');\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaContrato2021Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun contrato para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaContrato2021Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR 2019 : ' + this.rowUid);\n const table = chGlobal.getTable('Contratos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(property.toLowerCase() + ': ' + this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n switch (this.model.entidad) {\n case 1:\n this.model.entidadname = 'ARAGA';\n break;\n case 2:\n this.model.entidadname = 'ASAJA';\n break;\n case 3:\n this.model.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model.entidadname = 'UPA';\n break;\n default:\n this.model.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model.serv1 = true;\n break;\n case 2:\n this.model.serv2 = true;\n break;\n case 3:\n this.model.serv3 = true;\n break;\n case 4:\n this.model.serv4 = true;\n break;\n case 5:\n this.model.serv5 = true;\n break;\n }\n\n // console.log(row);\n console.log(this.model);\n }\n }\n\n chGlobal.getTableRows(chGlobal.getTable('Tecnicos').tableId, {entidad: this.model.entidad} ).subscribe(\n (values: any[]) => {\n for (const v of values){\n this.tecnicos.push(v);\n }\n // console.log(this.tecnicos);\n } );\n\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, { _marca : 'Amarillo' }, this.rowUid); }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Contratos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n selectTecnico(newValue) {\n console.log(newValue);\n const target = this.tecnicos.find((value, index) => { return value.nif === newValue; });\n if (target != null) {\n this.model.tecnombre = target.nombre;\n this.model.tecapell1 = target.apellido1;\n this.model.tecapell2 = target.apellido2;\n this.model.tecemail = target.email;\n this.model.tectfn = target.tfn;\n }\n }\n\n /**\n * Ejecutar impresion batch\n */\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Contratos');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n }\n }\n\n // tslint:disable-next-line:member-ordering\n public static resetBatchPrint() {\n this.batchList = [];\n }\n\n // tslint:disable-next-line:member-ordering\n public static addBatchPrint(uid: string) {\n this.batchList.push(uid);\n }\n\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaContrato2021Component.batchList.length; i++) {\n const rowUid = SiasaContrato2021Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaContrato2021Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n htmlString += '
' + this.adjustControlForPrinting().innerHTML + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa2/data/Contratos']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 35px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtY29udHJhdG8yMDIyL3NpYXNhLWNvbnRyYXRvMjAyMi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxjQUFjLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7O0FBRTdGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFHaEU7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS1jb250cmF0bzIwMjIvc2lhc2EtY29udHJhdG8yMDIyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY3NzXCI7XG5cbkBwYWdlIHsgbWFyZ2luLXJpZ2h0OiAwLjM3aW47IG1hcmdpbi10b3A6IDAuNDlpbjsgbWFyZ2luLWJvdHRvbTogMC40OWluIH1cblxuUCB7IG1hcmdpbi1ib3R0b206IDAuMDhpbjsgZGlyZWN0aW9uOiBsdHI7IGNvbG9yOiAjMDAwMDAwOyB3aWRvd3M6IDI7IG9ycGhhbnM6IDIgfVxuXG5QLndlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KSB9XG5cblAuc213ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIl19 */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'app-siasa-contrato2022',\n templateUrl: './siasa-contrato2022.component.html',\n styleUrls: ['./siasa-contrato2022.component.css']\n})\nexport class SiasaContrato2022Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nexp: '',\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n exmun : '',\n exprov : '',\n repnif : '',\n repnombre : '',\n repapell1 : '',\n repapell2 : '',\n\n tecnif : '',\n tecnombre : '',\n tecapell1 : '',\n tecapell2 : '',\n tectfn : '',\n tecemail : '',\n\n entidad : 0,\n entidadname : 'ENTIDAD',\n\n area : 1,\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n precio1 : 735.00,\n precio2 : 128.00,\n locent : '',\n fechaent : null\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this._localeService.use('es');\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaContrato2022Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun contrato para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaContrato2022Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR 2019 : ' + this.rowUid);\n const table = chGlobal.getTable('Contratos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(property.toLowerCase() + ': ' + this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n switch (this.model.entidad) {\n case 1:\n this.model.entidadname = 'ARAGA';\n break;\n case 2:\n this.model.entidadname = 'ASAJA';\n break;\n case 3:\n this.model.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model.entidadname = 'UPA';\n break;\n default:\n this.model.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model.serv1 = true;\n break;\n case 2:\n this.model.serv2 = true;\n break;\n case 3:\n this.model.serv3 = true;\n break;\n case 4:\n this.model.serv4 = true;\n break;\n case 5:\n this.model.serv5 = true;\n break;\n }\n\n // console.log(row);\n console.log(this.model);\n }\n }\n\n chGlobal.getTableRows(chGlobal.getTable('Tecnicos').tableId, {entidad: this.model.entidad} ).subscribe(\n (values: any[]) => {\n for (const v of values){\n this.tecnicos.push(v);\n }\n // console.log(this.tecnicos);\n } );\n\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true'); }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, { _marca : 'Amarillo' }, this.rowUid); }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Contratos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Contratos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n selectTecnico(newValue) {\n console.log(newValue);\n const target = this.tecnicos.find((value, index) => { return value.nif === newValue; });\n if (target != null) {\n this.model.tecnombre = target.nombre;\n this.model.tecapell1 = target.apellido1;\n this.model.tecapell2 = target.apellido2;\n this.model.tecemail = target.email;\n this.model.tectfn = target.tfn;\n }\n }\n\n /**\n * Ejecutar impresion batch\n */\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Contratos');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n }\n }\n\n // tslint:disable-next-line:member-ordering\n public static resetBatchPrint() {\n this.batchList = [];\n }\n\n // tslint:disable-next-line:member-ordering\n public static addBatchPrint(uid: string) {\n this.batchList.push(uid);\n }\n\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaContrato2022Component.batchList.length; i++) {\n const rowUid = SiasaContrato2022Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaContrato2022Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n htmlString += '
' + this.adjustControlForPrinting().innerHTML + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa2/data/Contratos']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n\n\n}\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(70, 70, 70) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black \\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2Etc29saWNpdHVkL3NpYXNhLXNvbGljaXR1ZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxzRUFBc0U7O0FBRXRFLFFBQVEsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCOztBQUV4RSxJQUFJLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVc7O0FBRWpGLFlBQVksZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdEcsY0FBYyxnREFBZ0QsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOztBQUU1RixRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0VBQ0U7O0FBQ0Y7SUFDSSxzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBQ0E7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS1zb2xpY2l0dWQvc2lhc2Etc29saWNpdHVkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9uZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci5jc3NcIjtcblxuQHBhZ2UgeyBtYXJnaW4tcmlnaHQ6IDAuMzdpbjsgbWFyZ2luLXRvcDogMC40OWluOyBtYXJnaW4tYm90dG9tOiAwLjQ5aW4gfVxuXG5QIHsgbWFyZ2luLWJvdHRvbTogMC4wOGluOyBkaXJlY3Rpb246IGx0cjsgY29sb3I6ICMwMDAwMDA7IHdpZG93czogMjsgb3JwaGFuczogMiB9XG5cblAud2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDcwLCA3MCwgNzApIH1cblxuUC5zbXdlc3Rlcm4geyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBjb2xvcjogZ3JheTt9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayBcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common'\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-solicitud',\n templateUrl: './siasa-solicitud.component.html',\n styleUrls: ['./siasa-solicitud.component.css']\n})\nexport class SiasaSolicitudComponent implements AfterViewInit {\n\n tableName = '';\n siteName = '';\n content: string;\n rowUid = '';\n\n minDate : Date;\n maxDate : Date;\n tableClosed : boolean = false;\n\n model : any = {\n uid : \"\" ,\n nif : \"\" ,\n nombre : \"\",\n apellido1 : \"\",\n apellido2 : \"\",\n fnacim : null,\n fresol : null,\n repnif : \"\",\n repnombre : \"\",\n repapell1 : \"\",\n repapell2 : \"\",\n direc : \"\",\n loc : \"\",\n cp : \"\",\n prov : \"\",\n tfn : \"\",\n email : \"\",\n exmun : \"\",\n exprov : \"\",\n entidad : 0,\n orden : \"2.1\",\n area : 1,\n zona : false,\n n2000 : false,\n priorit : false,\n tcomp : false,\n agroal : false,\n calidad : false,\n joven : false,\n mujer : false,\n fnacim2 : null,\n fresol2 : null,\n doc1 : false,\n doc2 : false,\n doc3 : false,\n doc4 : false,\n doc5 : false,\n locent : \"\",\n fechaent : null\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/,/[0-9]/,/[0-9]/,/[0-9]/,/[0-9]/,/[0-9]/,/[0-9]/,/[0-9]/,/[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/,/[0-9]/,/[0-9]/,/[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService,private chGlobal: ChGlobalsService,private _localeService: BsLocaleService,\n private router : Router) { \n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n \n \n this._localeService.use(\"es\");\n\n this.minDate = moment(\"01-01-1900\").toDate();\n this.maxDate = moment(\"31-12-1999\").toDate();\n\n if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log(\"EDITAR : \"+this.rowUid)\n let table = chGlobal.getTable('Solicitudes');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n let row = table.data.find( r => {return r.uid === this.rowUid});\n for (var property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()])\n } \n // do stuff\n }\n }\n }\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting() : HTMLElement {\n //let doc2 = document.cloneNode(true) as HTMLDocument;\n let root = document.getElementById('print-section');\n let root2 = root.cloneNode(true) as HTMLElement;\n //root2.setAttribute(\"zoom\",\"0.5\");\n //root2.setAttribute(\"moztransform\",\"0.5\");\n\n let controls = root2.getElementsByTagName(\"input\");\n for (var i = 0; i < controls.length; i++) {\n let c = controls[i];\n switch (c.type) {\n case \"text\":\n case \"email\":\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) // ES UNA FECHA\n {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' )\n c.setAttribute('value',moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n //else\n //c.setAttribute(\"value\",moment(c.getAttribute(\"value\")).format('l'));\n }\n else\n c.setAttribute('value',c.getAttribute('ng-reflect-model') );\n break;\n case 'radio':\n if (c.checked)\n c.setAttribute('checked','true');\n case 'checkbox':\n if (c.checked)\n c.setAttribute('checked','true');\n\n \n break;\n default :\n c.value = '1';\n } \n }\n\n let tables = root2.getElementsByTagName('table');\n for (var tindex = 0; tindex < tables.length; tindex++) {\n let t = tables[tindex];\n let controls2 = t.getElementsByTagName('select');\n for (var i = 0; i < controls2.length; i++) {\n let c2 = controls2[i];\n let cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch(cod){\n case '22':\n prov4='HUESCA'; break\n case '44':\n prov4='TERUEL'; break\n default: \n prov4='ZARAGOZA'; break\n }\n c2.outerHTML =``;\n }\n }\n\n\n return root2;\n }\n\n printForm(): void {\n console.log(' > IMPRIMIR FORMULARIO');\n \n let printContents, popupWin;\n\n let domDocument : HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '')\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, { _marca : 'Amarillo' }, this.rowUid)\n }\n\n saveForm(event:any) {\n console.log('Guardar! '+this.rowUid)\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, this.model, this.rowUid)\n .then( value => {\n //this.chGlobal.hideRunningWindow();\n //this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado')\n this.router.navigate(['//' + this.siteName+'/data/Solicitudes' ]);\n },\n error => {\n console.log(error)\n //this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error,'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error)\n //this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error,'Error de red', 'El formulario no ha podido ser guardado.');\n\n })\n \n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden,area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n}\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(70, 70, 70) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray; margin-right: 10px}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black \\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2Etc29saWNpdHVkMjAxOS9zaWFzYS1zb2xpY2l0dWQyMDE5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxjQUFjLGdEQUFnRCxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsa0JBQWtCOztBQUUvRyxRQUFRLHFDQUFxQyxFQUFFLGdCQUFnQjs7QUFFL0QsUUFBUSxxQ0FBcUMsRUFBRSxlQUFlLEVBQUU7O0FBRWhFO0VBQ0U7O0FBQ0Y7SUFDSSxzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBQ0E7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS1zb2xpY2l0dWQyMDE5L3NpYXNhLXNvbGljaXR1ZDIwMTkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoNzAsIDcwLCA3MCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5OyBtYXJnaW4tcmlnaHQ6IDEwcHh9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayBcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-solicitud2019',\n templateUrl: './siasa-solicitud2019.component.html',\n styleUrls: ['./siasa-solicitud2019.component.css']\n})\nexport class SiasaSolicitud2019Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content: string;\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid: '' ,\n nif: '' ,\n nombre: '',\n apellido1: '',\n apellido2: '',\n fnacim: null,\n fresol: null,\n repnif: '',\n repnombre: '',\n repapell1: '',\n repapell2: '',\n direc: '',\n loc: '',\n cp: '',\n prov: '',\n tfn: '',\n email: '',\n exmun: '',\n exprov: '',\n entidad: 0,\n orden: '2.1',\n area: 1,\n zona: false,\n n2000: false,\n priorit: false,\n tcomp: false,\n agroal: false,\n calidad: false,\n joven: false,\n mujer: false,\n fnacim2: null,\n fresol2: null,\n doc1: false,\n doc2: false,\n doc3: false,\n doc4: false,\n doc5: false,\n aut1: false,\n aut2: false,\n locent: '',\n fechaent: null\n };\n\n // tslint:disable-next-line:max-line-length\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWXYZ]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n\n public static resetBatchPrint() {\n this.batchList = [];\n }\n\n public static addBatchPrint(uid: string) {\n this.batchList.push(uid);\n }\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaSolicitud2019Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun formulario para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaSolicitud2019Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Solicitudes');\n console.log(table);\n this.tableClosed = table.closed;\n if (table.data != null) {\n this.loadRowData(this.rowUid);\n }\n }\n }\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Solicitudes');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n }\n // console.log(this.model);\n }\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n // else\n // c.setAttribute(\"value\",moment(c.getAttribute(\"value\")).format('l'));\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n };\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n\n\n return root2;\n }\n\n /**\n * EJECUTAR IMPRESION\n * \n */\n\n /**\n * Ejecutar impresion batch\n */\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaSolicitud2019Component.batchList.length; i++) {\n const rowUid = SiasaSolicitud2019Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaSolicitud2019Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n htmlString += '
' + this.adjustControlForPrinting().innerHTML + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa2/data/Solicitudes']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n /**\n *\n * @param event\n */\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, { _marca : 'Amarillo' }, this.rowUid);\n }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Solicitudes' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(70, 70, 70) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray; margin-right: 10px}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black \\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2Etc29saWNpdHVkMjAyMC9zaWFzYS1zb2xpY2l0dWQyMDIwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxrQkFBa0I7O0FBRS9HLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFFaEU7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFDQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL3NpYXNhL3NpYXNhLXNvbGljaXR1ZDIwMjAvc2lhc2Etc29saWNpdHVkMjAyMC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoNzAsIDcwLCA3MCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5OyBtYXJnaW4tcmlnaHQ6IDEwcHh9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayBcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-solicitud2020',\n templateUrl: './siasa-solicitud2020.component.html',\n styleUrls: ['./siasa-solicitud2020.component.css']\n})\nexport class SiasaSolicitud2020Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content: string;\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid: '' ,\n nif: '' ,\n nombre: '',\n apellido1: '',\n apellido2: '',\n fnacim: null,\n fresol: null,\n repnif: '',\n repnombre: '',\n repapell1: '',\n repapell2: '',\n direc: '',\n loc: '',\n cp: '',\n prov: '',\n tfn: '',\n email: '',\n exmun: '',\n exprov: '',\n entidad: 0,\n orden: '2.1',\n area: 1,\n zona: false,\n n2000: false,\n priorit: false,\n tcomp: false,\n agroal: false,\n calidad: false,\n joven: false,\n mujer: false,\n fnacim2: null,\n fresol2: null,\n doc1: false,\n doc2: false,\n doc3: false,\n doc4: false,\n doc5: false,\n aut1: false,\n aut2: false,\n locent: '',\n fechaent: null\n };\n\n // tslint:disable-next-line:max-line-length\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWXYZ]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n\n public static resetBatchPrint() {\n SiasaSolicitud2020Component.batchList = [];\n }\n\n public static addBatchPrint(uid: string) {\n SiasaSolicitud2020Component.batchList.push(uid);\n }\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaSolicitud2020Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun formulario para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaSolicitud2020Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Solicitudes');\n console.log(table);\n this.tableClosed = table.closed;\n if (table.data != null) {\n this.loadRowData(this.rowUid);\n }\n }\n }\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Solicitudes');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n }\n // console.log(this.model);\n }\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(targetUid: string): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n // console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n // else\n // c.setAttribute(\"value\",moment(c.getAttribute(\"value\")).format('l'));\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n };\n if (targetUid !== '') {\n c.setAttribute('name', targetUid + '.' + c.getAttribute('name'));\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n\n\n return root2;\n }\n\n /**\n * EJECUTAR IMPRESION\n * \n */\n\n /**\n * Ejecutar impresion batch\n */\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaSolicitud2020Component.batchList.length; i++) {\n const rowUid = SiasaSolicitud2020Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaSolicitud2020Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n const innerHtml: String = this.adjustControlForPrinting(rowUid).innerHTML;\n // console.log(innerHtml);\n htmlString += '
' + innerHtml + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa3/data/Solicitudes']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n /**\n *\n * @param event\n */\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, { _marca : 'Amarillo' }, this.rowUid);\n }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Solicitudes' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(70, 70, 70) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray; margin-right: 10px}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black \\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2Etc29saWNpdHVkMjAyMS9zaWFzYS1zb2xpY2l0dWQyMDIxLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxrQkFBa0I7O0FBRS9HLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFFaEU7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFDQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL3NpYXNhL3NpYXNhLXNvbGljaXR1ZDIwMjEvc2lhc2Etc29saWNpdHVkMjAyMS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoNzAsIDcwLCA3MCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5OyBtYXJnaW4tcmlnaHQ6IDEwcHh9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayBcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-solicitud2021',\n templateUrl: './siasa-solicitud2021.component.html',\n styleUrls: ['./siasa-solicitud2021.component.css']\n})\nexport class SiasaSolicitud2021Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content: string;\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid: '' ,\n nif: '' ,\n nombre: '',\n apellido1: '',\n apellido2: '',\n fnacim: null,\n fresol: null,\n repnif: '',\n repnombre: '',\n repapell1: '',\n repapell2: '',\n direc: '',\n loc: '',\n cp: '',\n prov: '',\n tfn: '',\n email: '',\n exloc: '',\n exmun: '',\n exprov: '',\n entidad: 0,\n orden: '2.1',\n area: 1,\n zona: false,\n n2000: false,\n priorit: false,\n tcomp: false,\n agroal: false,\n calidad: false,\n joven: false,\n mujer: false,\n fnacim2: null,\n fresol2: null,\n doc1: false,\n doc2: false,\n doc3: false,\n doc4: false,\n doc5: false,\n aut1: false,\n aut2: false,\n locent: '',\n fechaent: null\n };\n\n // tslint:disable-next-line:max-line-length\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWXYZ]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n\n public static resetBatchPrint() {\n SiasaSolicitud2021Component.batchList = [];\n }\n\n public static addBatchPrint(uid: string) {\n SiasaSolicitud2021Component.batchList.push(uid);\n }\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaSolicitud2021Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun formulario para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaSolicitud2021Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Solicitudes');\n console.log(table);\n this.tableClosed = table.closed;\n if (table.data != null) {\n this.loadRowData(this.rowUid);\n }\n }\n }\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Solicitudes');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n }\n // console.log(this.model);\n }\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(targetUid: string): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n // console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n // else\n // c.setAttribute(\"value\",moment(c.getAttribute(\"value\")).format('l'));\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n };\n if (targetUid !== '') {\n c.setAttribute('name', targetUid + '.' + c.getAttribute('name'));\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n\n\n return root2;\n }\n\n /**\n * EJECUTAR IMPRESION\n * \n */\n\n /**\n * Ejecutar impresion batch\n */\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaSolicitud2021Component.batchList.length; i++) {\n const rowUid = SiasaSolicitud2021Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaSolicitud2021Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n const innerHtml: String = this.adjustControlForPrinting(rowUid).innerHTML;\n // console.log(innerHtml);\n htmlString += '
' + innerHtml + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa4/data/Solicitudes']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n /**\n *\n * @param event\n */\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, { _marca : 'Amarillo' }, this.rowUid);\n }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Solicitudes' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(70, 70, 70) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray; margin-right: 10px}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n\\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2Etc29saWNpdHVkMjAyMi9zaWFzYS1zb2xpY2l0dWQyMDIyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFRLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQjs7QUFFeEUsSUFBSSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXOztBQUVqRixZQUFZLGdEQUFnRCxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7O0FBRXRHLGNBQWMsZ0RBQWdELEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxrQkFBa0I7O0FBRS9HLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFFaEU7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtBQUNuQjs7QUFDQTtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL3NpYXNhL3NpYXNhLXNvbGljaXR1ZDIwMjIvc2lhc2Etc29saWNpdHVkMjAyMi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoNzAsIDcwLCA3MCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5OyBtYXJnaW4tcmlnaHQ6IDEwcHh9XG5cblAuY2prIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQgfVxuXG5QLmN0bCB7IGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyB9XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tb2RhbC1ib2R5IHtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWFzYS1mb3JtIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5zZWxlY3RcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiJdfQ== */\"","\nimport { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-solicitud2022',\n templateUrl: './siasa-solicitud2022.component.html',\n styleUrls: ['./siasa-solicitud2022.component.css']\n})\nexport class SiasaSolicitud2022Component implements AfterViewInit {\n\n static batchList: string[] = [];\n\n tableName = '';\n siteName = '';\n content: string;\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n noPrint = false;\n\n model: any = {\n uid: '' ,\n nif: '' ,\n nombre: '',\n apellido1: '',\n apellido2: '',\n fnacim: null,\n fresol: null,\n repnif: '',\n repnombre: '',\n repapell1: '',\n repapell2: '',\n direc: '',\n loc: '',\n cp: '',\n prov: '',\n tfn: '',\n email: '',\n exloc: '',\n exmun: '',\n exprov: '',\n entidad: 0,\n orden: '2.1',\n area: 1,\n zona: false,\n n2000: false,\n priorit: false,\n tcomp: false,\n agroal: false,\n calidad: false,\n joven: false,\n mujer: false,\n fnacim2: null,\n fresol2: null,\n doc1: false,\n doc2: false,\n doc3: false,\n doc4: false,\n doc5: false,\n aut1: false,\n aut2: false,\n locent: '',\n fechaent: null\n };\n\n // tslint:disable-next-line:max-line-length\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWXYZ]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n\n public static resetBatchPrint() {\n SiasaSolicitud2022Component.batchList = [];\n }\n\n public static addBatchPrint(uid: string) {\n SiasaSolicitud2022Component.batchList.push(uid);\n }\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-2025').toDate();\n\n if (this.route.snapshot.params.uid === 'batchprint') {\n this.tableClosed = true;\n this.noPrint = true;\n\n if (SiasaSolicitud2022Component.batchList.length === 0) {\n chGlobal.showMessage(MessageType.error, 'Lista de impresión vacía', 'No se ha seleccionado ningun formulario para imprimir');\n } else {\n chGlobal.showMessage(MessageType.warning, 'Orden ejecutada', 'Se van a imprimir ' +\n String(SiasaSolicitud2022Component.batchList.length) + ' documentos.');\n this.performBatchPrint();\n }\n\n } else if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Solicitudes');\n console.log(table);\n this.tableClosed = table.closed;\n if (table.data != null) {\n this.loadRowData(this.rowUid);\n }\n }\n }\n\n loadRowData(targetUid: string) {\n const table = this.chGlobal.getTable('Solicitudes');\n const row = table.data.find( r => {return r.uid === targetUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n // console.log(this.model[property.toLowerCase()]);\n }\n }\n // console.log(this.model);\n }\n\n ngAfterViewInit(): void {\n\n }\n\n adjustControlForPrinting(targetUid: string): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n // console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '' ) {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n // else\n // c.setAttribute(\"value\",moment(c.getAttribute(\"value\")).format('l'));\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model') );\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n };\n if (targetUid !== '') {\n c.setAttribute('name', targetUid + '.' + c.getAttribute('name'));\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default :\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n\n\n return root2;\n }\n\n /**\n * EJECUTAR IMPRESION\n *\n */\n\n /**\n * Ejecutar impresion batch\n */\n async performBatchPrint() {\n const delay = ms => new Promise(res => setTimeout(res, ms));\n let htmlString = this.printBatchHeader() + '';\n\n for (let i = 0; i < SiasaSolicitud2022Component.batchList.length; i++) {\n const rowUid = SiasaSolicitud2022Component.batchList[i];\n console.log('PRINT ' + rowUid);\n this.loadRowData(rowUid);\n this.chGlobal.showRunningWindow('Solicitud ' + String(i + 1) + ' de ' +\n String(SiasaSolicitud2022Component.batchList.length) + ' - ' +\n this.model.nombre.trim() + ' ' + this.model.apellido1.trim() + ' ' + this.model.apellido2.trim());\n await delay(500);\n const innerHtml: String = this.adjustControlForPrinting(rowUid).innerHTML;\n // console.log(innerHtml);\n htmlString += '
' + innerHtml + '
';\n }\n htmlString += '';\n\n const popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n popupWin.document.write(htmlString);\n popupWin.print();\n popupWin.close();\n this.chGlobal.hideRunningWindow();\n this.router.navigate(['//siasa4/data/Solicitudes']);\n }\n\n printBatchHeader(): string {\n\n return `\n \n \n \n ` ;\n }\n\n printBatchForm(popupWin: any) {\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n const printContents = domDocument.innerHTML; // + '
';\n\n }\n\n async printBatchForm2(popupWin: any) {\n console.log(' > IMPRIMIR FORMULARIO BATCH');\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n const printContents = domDocument.innerHTML;\n\n // popupWin = window.open('', '_blank', 'top=20px,left=20px,height=auto,width=700px');\n // popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.print();\n // popupWin.close();\n }\n\n\n /**\n *\n * @param event\n */\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting('');\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n if (this.rowUid !== null && this.rowUid !== undefined && this.rowUid !== '') {\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, { _marca : 'Amarillo' }, this.rowUid);\n }\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Solicitudes').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Solicitudes' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n selectArea(orden, area) {\n this.model.area = area;\n this.model.orden = orden === 1 ? '2.1' : '2.2';\n }\n\n}\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n border: 1px solid gray;\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtdGVjbmljby9zaWFzYS10ZWNuaWNvLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLHNFQUFzRTs7QUFFdEUsUUFBUSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0I7O0FBRXhFLElBQUkscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVzs7QUFFakYsWUFBWSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV0RyxjQUFjLGdEQUFnRCxFQUFFLGNBQWMsRUFBRSxXQUFXLENBQUM7O0FBRTVGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFHaEU7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS10ZWNuaWNvL3NpYXNhLXRlY25pY28uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbnNlbGVjdFxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG4uZm9ybS1yZWFkb25seSB7XG4gICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDsgICBcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZvcm0tdGV4dC1zbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uZm9ybS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFjayA7XG59XG5cbi5yYWRpbyB7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuIH1cblxuIGRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIHRpbWVwaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5iZy1mYWRlZCB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24ge1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIGRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\"","\nimport { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n@Component({\n selector: 'app-siasa-tecnico',\n templateUrl: './siasa-tecnico.component.html',\n styleUrls: ['./siasa-tecnico.component.css']\n})\nexport class SiasaTecnicoComponent implements AfterViewInit {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid : '' ,\n nif : '' ,\n nombre : '',\n apellido1 : '',\n apellido2 : '',\n direc : '',\n loc : '',\n cp : '',\n prov : '',\n tfn : '',\n email : '',\n entidad : 0\n };\n\n tecSelected = '';\n tecnicos: any[] = [];\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWXYZ]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/ ];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/ ];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid !== null) {\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Tecnicos');\n this.tableClosed = table.closed;\n console.log(table);\n if (table.data != null) {\n const row = table.data.find( r => { return r.uid === this.rowUid; } );\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n }\n }\n }\n\n\n ngAfterViewInit(): void {\n\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando datos ');\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Tecnicos').tableId, this.model, this.rowUid)\n .then( value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado');\n this.router.navigate(['//' + this.siteName + '/data/Tecnicos' ]);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el técnico.');\n\n })\n .catch( error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El técnico no ha podido ser guardado.');\n\n } );\n\n }\n\n selectEntidad(entidad) {\n this.model.entidad = entidad;\n }\n\n}\n","export default \"@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"number\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtdmlzaXRhLWRldGFsbGUvc2lhc2EtdmlzaXRhLWRldGFsbGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzRUFBc0U7O0FBRXRFLFFBQVEsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCOztBQUV4RSxJQUFJLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVc7O0FBRWpGLFlBQVksZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdEcsYUFBYSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV2RyxjQUFjLGdEQUFnRCxFQUFFLGNBQWMsRUFBRSxXQUFXLENBQUM7O0FBRTVGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFHaEU7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVzs7SUFFWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlDQUF5QztJQUN6QyxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0NBQ2xCOztBQUVBO0lBQ0cscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFFBQVE7SUFDUixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9zaWFzYS9zaWFzYS12aXNpdGEtZGV0YWxsZS9zaWFzYS12aXNpdGEtZGV0YWxsZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG50ZC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuXG51bC53ZXN0ZXJuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgY29sb3I6IHJnYigzNCwgMzQsIDM0KVxufVxuXG4vKiBBOmxpbmsgeyBjb2xvcjogIzAwMDBmZiB9XG4gKi9cbnRkIHtcbiAgICAvKiBib3JkZXI6IDBweCBzb2xpZCBncmF5OyAqL1xuICAgIHBhZGRpbmc6IDJweDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuaDQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICByZ2IoMzQsIDM0LCAzNClcbn1cblxuLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpYXNhLWZvcm0ge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHhcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdXG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxudGV4dGFyZWFcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuc2VsZWN0XG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbi5mb3JtLXJlYWRvbmx5IHtcbiAgICBjb2xvcjogYmx1ZSAhaW1wb3J0YW50OyAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgIFxufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGNvbG9yOiBncmF5O1xuICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { add } from 'ngx-bootstrap/chronos';\n\n@Component({\n selector: 'app-siasa-visita-detalle',\n templateUrl: './siasa-visita-detalle.component.html',\n styleUrls: ['./siasa-visita-detalle.component.css']\n})\nexport class SiasaVisitaDetalleComponent {\n\n minDate = null;\n maxDate = null;\n siteName = '';\n\n model: any = {\n\n };\n\n model2: any = {\n\n };\n\n row: any = {\n fecha : null,\n loc : '',\n horas : 0,\n km : 0,\n matricula : '',\n muestras : false,\n foto : false,\n recomend : '',\n aplic : false\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n const data = chGlobal.getData();\n this.model = data.model;\n this.model2 = data.model2;\n if (this.model2.editarVisita >= 0) {\n this.row = Object.assign({}, this.model2.visitas[this.model2.editarVisita]);\n }\n\n this._localeService.use('es');\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n if (this.route.snapshot.params.uid !== null) {\n\n }\n\n }\n\n saveForm() {\n this.row.matricula = this.row.matricula.toUpperCase();\n if (this.model2.editarVisita >= 0) {\n this.model2.visitas[this.model2.editarVisita] = this.row;\n } else {\n this.model2.visitas.push(this.row);\n }\n\n this.router.navigate(['//' + this.siteName + '/visita/' + this.model.uid]);\n };\n}\n","export default \"\\n@import \\\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\\\";\\n\\n@page { margin-right: 0.37in; margin-top: 0.49in; margin-bottom: 0.49in }\\n\\nP { margin-bottom: 0.08in; direction: ltr; color: #000000; widows: 2; orphans: 2 }\\n\\nP.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\ntd.western { font-family: Arial, Helvetica, sans-serif, serif; font-size: 10pt; color: rgb(34, 34, 34) }\\n\\nP.smwestern { font-family: Arial, Helvetica, sans-serif, serif; font-size: 8pt; color: gray;}\\n\\nP.cjk { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt }\\n\\nP.ctl { font-family: \\\"Times New Roman\\\", serif; font-size: 12pt; }\\n\\n.printonly {\\n visibility: collapse;\\n}\\n\\nul.western {\\n margin-left: 10px;\\n margin-top:10px;\\n font-family: Arial, Helvetica, sans-serif, serif;\\n font-size: 10pt; color: rgb(34, 34, 34)\\n}\\n\\n/* A:link { color: #0000ff }\\n */\\n\\ntd {\\n /* border: 0px solid gray; */\\n padding: 2px;\\n}\\n\\nh3 {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black\\n}\\n\\nh4 {\\n margin-top: 25px;\\n margin-top: 10px;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 15px;\\n color: rgb(34, 34, 34)\\n}\\n\\n.modal-body {\\n height: 700px;\\n overflow-y: auto;\\n width: 100%;\\n}\\n\\n.siasa-form {\\n width: 700px;\\n margin: auto;\\n background-color: white;\\n padding-bottom: 20px;\\n padding-top: 20px;\\n padding-left: 25px;\\n padding-right: 25px\\n}\\n\\ninput[type=\\\"text\\\"]\\n{\\n color: blue;\\n}\\n\\ninput[type=\\\"email\\\"]\\n{\\n color: blue;\\n}\\n\\ntextarea\\n{\\n color: blue;\\n}\\n\\nselect\\n{\\n color: blue;\\n}\\n\\n.form-readonly {\\n color: blue !important; \\n background-color: white !important; \\n}\\n\\n.form-control {\\n padding: 2px;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.form-label {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 0px;\\n padding: 0px;\\n margin-top: -5px;\\n margin-bottom: 0px;\\n color: gray;\\n \\n float: left;\\n text-align: left;\\n visibility: hidden;\\n}\\n\\n.form-text-small {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 10px;\\n}\\n\\n.form-title {\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 16px;\\n color: black ;\\n}\\n\\n.radio {\\n color: black\\n}\\n\\n.disabled {\\n pointer-events: none;\\n cursor: default;\\n }\\n\\ndatetime-popup > .dropdown .glyphicon {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\ndatetime-popup > .dropdown timepicker {\\n display: flex;\\n justify-content: center;\\n}\\n\\ndatetime-popup > .dropdown .bg-faded {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button {\\n border:0;\\n background-color: #fff;\\n}\\n\\ndatetime-popup > .dropdown datepicker button.active {\\n background-color: #ddd;\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-remove-circle:before {\\n content: \\\"\\\\f05c\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-down:before {\\n content: \\\"\\\\f078\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-up:before {\\n content: \\\"\\\\f077\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-left:before {\\n content: \\\"\\\\f053\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.glyphicon-chevron-right:before {\\n content: \\\"\\\\f054\\\";\\n}\\n\\ndatetime-popup > .dropdown .glyphicon.hidden {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lhc2Evc2lhc2EtdmlzaXRhL3NpYXNhLXZpc2l0YS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxzRUFBc0U7O0FBRXRFLFFBQVEsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCOztBQUV4RSxJQUFJLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVc7O0FBRWpGLFlBQVksZ0RBQWdELEVBQUUsZUFBZSxFQUFFLHVCQUF1Qjs7QUFFdEcsYUFBYSxnREFBZ0QsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOztBQUV2RyxjQUFjLGdEQUFnRCxFQUFFLGNBQWMsRUFBRSxXQUFXLENBQUM7O0FBRTVGLFFBQVEscUNBQXFDLEVBQUUsZ0JBQWdCOztBQUUvRCxRQUFRLHFDQUFxQyxFQUFFLGVBQWUsRUFBRTs7QUFFaEU7SUFDSSxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdEQUFnRDtJQUNoRCxlQUFlLEVBQUU7QUFDckI7O0FBRUE7RUFDRTs7QUFDRjtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5Q0FBeUM7SUFDekMsZUFBZTtJQUNmO0FBQ0o7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7QUFDZjs7QUFFQTs7SUFFSSxXQUFXO0FBQ2Y7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXOztJQUVYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUNBQXlDO0lBQ3pDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDbEI7O0FBRUE7SUFDRyxxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxRQUFRO0lBQ1Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksUUFBUTtJQUNSLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL3NpYXNhL3NpYXNhLXZpc2l0YS9zaWFzYS12aXNpdGEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL25neC1ib290c3RyYXAvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNzc1wiO1xuXG5AcGFnZSB7IG1hcmdpbi1yaWdodDogMC4zN2luOyBtYXJnaW4tdG9wOiAwLjQ5aW47IG1hcmdpbi1ib3R0b206IDAuNDlpbiB9XG5cblAgeyBtYXJnaW4tYm90dG9tOiAwLjA4aW47IGRpcmVjdGlvbjogbHRyOyBjb2xvcjogIzAwMDAwMDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH1cblxuUC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG50ZC53ZXN0ZXJuIHsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmOyBmb250LXNpemU6IDEwcHQ7IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCkgfVxuXG5QLnNtd2VzdGVybiB7IGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiBncmF5O31cblxuUC5jamsgeyBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCB9XG5cblAuY3RsIHsgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IH1cblxuLnByaW50b25seSB7XG4gICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG5cbnVsLndlc3Rlcm4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMHB0OyBjb2xvcjogcmdiKDM0LCAzNCwgMzQpXG59XG5cbi8qIEE6bGluayB7IGNvbG9yOiAjMDAwMGZmIH1cbiAqL1xudGQge1xuICAgIC8qIGJvcmRlcjogMHB4IHNvbGlkIGdyYXk7ICovXG4gICAgcGFkZGluZzogMnB4O1xufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiBibGFja1xufVxuXG5oNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIHJnYigzNCwgMzQsIDM0KVxufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lhc2EtZm9ybSB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweFxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXVxue1xuICAgIGNvbG9yOiBibHVlO1xufVxuXG5pbnB1dFt0eXBlPVwiZW1haWxcIl1cbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxudGV4dGFyZWFcbntcbiAgICBjb2xvcjogYmx1ZTtcbn1cblxuc2VsZWN0XG57XG4gICAgY29sb3I6IGJsdWU7XG59XG5cbi5mb3JtLXJlYWRvbmx5IHtcbiAgICBjb2xvcjogYmx1ZSAhaW1wb3J0YW50OyAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgIFxufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGNvbG9yOiBncmF5O1xuICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS10ZXh0LXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mb3JtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IGJsYWNrIDtcbn1cblxuLnJhZGlvIHtcbiAgICBjb2xvcjogYmxhY2tcbn1cblxuLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuXG4gZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gdGltZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmJnLWZhZGVkIHtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biBkYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gZGF0ZXBpY2tlciBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cblxuZGF0ZXRpbWUtcG9wdXAgPiAuZHJvcGRvd24gLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG5cbmRhdGV0aW1lLXBvcHVwID4gLmRyb3Bkb3duIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuXG5kYXRldGltZS1wb3B1cCA+IC5kcm9wZG93biAuZ2x5cGhpY29uLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, AfterViewInit, ViewContainerRef, ViewEncapsulation, ElementRef, ViewRef, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { esLocale } from 'ngx-bootstrap/locale';\ndefineLocale('es', esLocale);\n\nimport * as moment from 'moment';\nimport { MessageType } from 'app/chil/chilweb/ch-globals-def';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'siasa-visita',\n templateUrl: './siasa-visita.component.html',\n styleUrls: ['./siasa-visita.component.css']\n})\nexport class SiasaVisitaComponent {\n\n tableName = '';\n siteName = '';\n content = '';\n rowUid = '';\n\n minDate: Date;\n maxDate: Date;\n tableClosed = false;\n\n model: any = {\n uid: '',\n nexp: '',\n nombre: '',\n apellido1: '',\n apellido2: '',\n tecnombre: '',\n tecapell1: '',\n tecapell2: '',\n\n entidad: 0,\n area : 1,\n\n materia : '',\n\n locent: '',\n fechafirma: null,\n\n valoracion: '',\n visitas: [\n ]\n };\n\n model2: any = {\n\n entidadname : '',\n\n serv1 : false,\n serv2 : false,\n serv3 : false,\n serv4 : false,\n serv5 : false,\n\n materias : [ false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, false, false, false, false,\n false, true, true\n ],\n\n visitas : this.model.visitas,\n totalHoras : 0,\n totalKm : 0,\n\n editarVisita : 0\n };\n\n nifMask = [/[0123456789ABCDEFGHJNPQRSUVWX]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/,\n /[0-9]/, /[0-9]/, /[0123456789TRWAGMYFPDXBNJZSQVHLCKET]/];\n imeMask = [/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/];\n\n constructor(private route: ActivatedRoute, vcr: ViewContainerRef,\n private translate: TranslateService, private chGlobal: ChGlobalsService, private _localeService: BsLocaleService,\n private router: Router) {\n\n chGlobal.initToasts(vcr);\n\n this.siteName = this.route.parent.snapshot.routeConfig.path;\n\n this._localeService.use('es');\n\n this.minDate = moment('01-01-1900').toDate();\n this.maxDate = moment('31-12-1999').toDate();\n\n const memData = this.chGlobal.popData();\n if (memData !== null && memData !== undefined ) {\n\n this.model = memData.model;\n this.model2 = memData.model2;\n this.rowUid = this.model.uid;\n console.log('EDITAR (Vuelta) : ' + this.rowUid);\n\n this.calculateTotals();\n\n } else if (this.route.snapshot.params.uid !== null) {\n\n this.rowUid = this.route.snapshot.params.uid;\n console.log('EDITAR : ' + this.rowUid);\n const table = chGlobal.getTable('Visitas');\n this.tableClosed = table.closed;\n // console.log(table);\n if (table.data != null) {\n const row = table.data.find(r => { return r.uid === this.rowUid; });\n for (const property in row) {\n if (property.toLowerCase() in this.model) {\n this.model[property.toLowerCase()] = row[property];\n console.log(this.model[property.toLowerCase()]);\n }\n // do stuff\n }\n // console.log(row);\n // console.log(this.model);\n switch (this.model.entidad) {\n case 1:\n this.model2.entidadname = 'ARAGA';\n break;\n case 2:\n this.model2.entidadname = 'ASAJA';\n break;\n case 3:\n this.model2.entidadname = 'Grupo Cooperativo Arento';\n break;\n case 4:\n this.model2.entidadname = 'Cooperativa cereales Teruel';\n break;\n case 5:\n this.model2.entidadname = 'Cooperativa Los Monegros';\n break;\n case 6:\n this.model.entidadname = 'Oviaragón S.C.';\n break;\n case 7:\n this.model2.entidadname = 'UAGA (Vara y Coudo)';\n break;\n case 8:\n this.model2.entidadname = 'UPA';\n break;\n default:\n this.model2.entidadname = '< DESCONOCIDA >';\n break;\n }\n switch (this.model.area) {\n case 1:\n this.model2.serv1 = true;\n break;\n case 2:\n this.model2.serv2 = true;\n break;\n case 3:\n this.model2.serv3 = true;\n break;\n case 4:\n this.model2.serv4 = true;\n break;\n case 5:\n this.model2.serv5 = true;\n break;\n }\n\n const splitted = this.model.materia.split(',', 30);\n const model2 = this.model2;\n // console.log(splitted);\n splitted.forEach(function (value) {\n const index = +value - 1;\n model2.materias[index] = true;\n // console.log(index);\n });\n\n this.model2.visitas = [];\n this.model2.totalHoras = 0;\n this.model2.totalKm = 0;\n this.model.visitas.forEach(function (value) {\n const index = +value - 1;\n model2.visitas.push(Object.assign({}, value));\n });\n this.calculateTotals();\n // console.log(model2);\n }\n }\n\n }\n\n adjustControlForPrinting(): HTMLElement {\n // let doc2 = document.cloneNode(true) as HTMLDocument;\n const root = document.getElementById('print-section');\n const root2 = root.cloneNode(true) as HTMLElement;\n // root2.setAttribute(\"zoom\",\"0.5\");\n // root2.setAttribute(\"moztransform\",\"0.5\");\n\n const controls = root2.getElementsByTagName('input');\n for (let i = 0; i < controls.length; i++) {\n const c = controls[i];\n switch (c.type) {\n case 'text':\n case 'email':\n c.removeAttribute('placeholder');\n if (c.hasAttribute('bsDatepicker')) {\n console.log(c);\n if (c.getAttribute('ng-reflect-bs-value') !== null && c.getAttribute('ng-reflect-bs-value') !== '') {\n c.setAttribute('value', moment(c.getAttribute('ng-reflect-bs-value')).format('l'));\n }\n } else {\n c.setAttribute('value', c.getAttribute('ng-reflect-model'));\n }\n break;\n case 'radio':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n case 'checkbox':\n if (c.checked) {\n c.setAttribute('checked', 'true');\n }\n break;\n default:\n c.value = '1';\n }\n }\n\n const tables = root2.getElementsByTagName('table');\n for (let tindex = 0; tindex < tables.length; tindex++) {\n const t = tables[tindex];\n const controls2 = t.getElementsByTagName('select');\n for (let i = 0; i < controls2.length; i++) {\n const c2 = controls2[i];\n const cod = c2.getAttribute('ng-reflect-model');\n let prov4 = 'GRANADA';\n switch (cod) {\n case '22':\n prov4 = 'HUESCA'; break;\n case '44':\n prov4 = 'TERUEL'; break;\n default:\n prov4 = 'ZARAGOZA'; break;\n }\n c2.outerHTML = ``;\n }\n }\n return root2;\n }\n\n printForm(event: any): void {\n console.log(' > IMPRIMIR FORMULARIO');\n\n let printContents, popupWin;\n\n const domDocument: HTMLElement = this.adjustControlForPrinting();\n\n printContents = domDocument.innerHTML;\n\n popupWin = window.open('', '_blank', 'top=0,left=20px,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n \n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n fixSaveOptions() {\n let temp = '';\n if (this.model2.serv1 || this.model2.serv2 || this.model2.serv3) { // Agrario\n if (this.model2.materias[0]) { temp += ((temp === '') ? '' : ',') + '1'; }\n if (this.model2.materias[1]) { temp += ((temp === '') ? '' : ',') + '2'; }\n if (this.model2.materias[2]) { temp += ((temp === '') ? '' : ',') + '3'; }\n if (this.model2.materias[3]) { temp += ((temp === '') ? '' : ',') + '4'; }\n if (this.model2.materias[4]) { temp += ((temp === '') ? '' : ',') + '5'; }\n if (this.model2.materias[5]) { temp += ((temp === '') ? '' : ',') + '6'; }\n if (this.model2.materias[6]) { temp += ((temp === '') ? '' : ',') + '7'; }\n if (this.model2.materias[7]) { temp += ((temp === '') ? '' : ',') + '8'; }\n if (this.model2.materias[8]) { temp += ((temp === '') ? '' : ',') + '9'; }\n if (this.model2.materias[9]) { temp += ((temp === '') ? '' : ',') + '10'; }\n if (this.model2.materias[10]) { temp += ((temp === '') ? '' : ',') + '11'; }\n\n if (this.model2.materias[11]) { temp += ((temp === '') ? '' : ',') + '12'; }\n if (this.model2.materias[12]) { temp += ((temp === '') ? '' : ',') + '13'; }\n if (this.model2.materias[13]) { temp += ((temp === '') ? '' : ',') + '14'; }\n if (this.model2.materias[14]) { temp += ((temp === '') ? '' : ',') + '15'; }\n if (this.model2.materias[15]) { temp += ((temp === '') ? '' : ',') + '16'; }\n if (this.model2.materias[16]) { temp += ((temp === '') ? '' : ',') + '17'; }\n\n if (this.model2.materias[17]) { temp += ((temp === '') ? '' : ',') + '18'; }\n if (this.model2.materias[18]) { temp += ((temp === '') ? '' : ',') + '19'; }\n if (this.model2.materias[19]) { temp += ((temp === '') ? '' : ',') + '20'; }\n if (this.model2.materias[20]) { temp += ((temp === '') ? '' : ',') + '21'; }\n\n } else if (this.model2.serv4) { // Forestal\n\n if (this.model2.materias[22]) { temp += ((temp === '') ? '' : ',') + '23'; }\n\n } else if (this.model2.serv5) { // Pypme\n\n if (this.model2.materias[21]) { temp += ((temp === '') ? '' : ',') + '22'; }\n\n }\n\n this.model.materia = temp;\n\n this.model2.visitas.forEach ( (visita) => {\n delete visita.mousePrimary;\n delete visita.mouseDelete;\n });\n this.model.visitas = this.model2.visitas;\n }\n\n saveForm(event: any) {\n console.log('Guardar! ' + this.rowUid);\n this.chGlobal.showRunningWindow('Guardando formulario ');\n this.fixSaveOptions();\n console.log(this.model);\n this.chGlobal.saveTableRow(this.chGlobal.getTable('Visitas').tableId, this.model, this.rowUid)\n .then(value => {\n // this.chGlobal.hideRunningWindow();\n // this.chGlobal.showMessage(MessageType.success,\"Operación efectuada\", \"Formulario guardada\");\n console.log('Guardado : ' + this.siteName);\n this.router.navigate(['//' + this.siteName + '/data/Visitas']);\n },\n error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error desconocido', 'Se ha producido un error guardando el formulario.');\n\n })\n .catch(error => {\n console.log(error);\n // this.chGlobal.hideRunningWindow();\n this.chGlobal.showMessage(MessageType.error, 'Error de red', 'El formulario no ha podido ser guardado.');\n\n });\n\n }\n\n removeVisita( visita: any) {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index > -1) {\n this.model2.visitas.splice(index, 1);\n }\n this.calculateTotals();\n }\n\n editVisita( visita: any) {\n if ( visita === null) {\n this.model2.newField = false;\n this.model2.editarVisita = -1;\n } else {\n const index = this.model2.visitas.indexOf(visita, 0);\n if (index < 0) {\n return;\n }\n visita.mousePrimary = false;\n this.model2.editarVisita = index;\n }\n this.chGlobal.pushData( { model: this.model, model2: this.model2 });\n this.router.navigate(['//' + this.siteName + '/visita/detalle']);\n }\n\n calculateTotals() {\n let totalHoras = 0;\n let totalKm = 0;\n this.model2.visitas.forEach(function (value) {\n totalHoras += value.horas;\n totalKm += value.km;\n });\n this.model2.totalHoras = totalHoras;\n this.model2.totalKm = totalKm;\n }\n\n formatFecha(fecha: any) {\n return ( fecha === null) ? '' : moment(fecha).format('l');\n }\n\n limpiaTexto(texto: String) : String {\n console.log(\"----------\");\n console.log(texto);\n console.log(\"----------\");\n return texto.trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { ChGlobalsService } from 'app/chil/chilweb/ch-globals.service';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { SiasaSolicitudComponent } from 'app/siasa/siasa-solicitud/siasa-solicitud.component';\nimport { SiasaContratoComponent } from 'app/siasa/siasa-contrato/siasa-contrato.component';\nimport { SiasaTecnicoComponent } from 'app/siasa/siasa-tecnico/siasa-tecnico.component';\nimport { SiasaVisitaComponent } from 'app/siasa/siasa-visita/siasa-visita.component';\nimport { SiasaVisitaDetalleComponent } from 'app/siasa/siasa-visita-detalle/siasa-visita-detalle.component';\n\nimport { ToastrModule } from 'ngx-toastr';\nimport { TextMaskModule } from 'angular2-text-mask';\nimport { SiasaSolicitud2019Component } from '../siasa-solicitud2019/siasa-solicitud2019.component';\nimport { SiasaContrato2019Component } from '../siasa-contrato2019/siasa-contrato2019.component';\nimport { SiasaSolicitud2020Component } from '../siasa-solicitud2020/siasa-solicitud2020.component';\nimport { SiasaContrato2020Component } from '../siasa-contrato2020/siasa-contrato2020.component';\nimport { SiasaSolicitud2021Component } from '../siasa-solicitud2021/siasa-solicitud2021.component';\nimport { SiasaContrato2021Component } from '../siasa-contrato2021/siasa-contrato2021.component';\n\nimport { SiasaSolicitud2022Component } from '../siasa-solicitud2022/siasa-solicitud2022.component';\nimport { SiasaContrato2022Component } from '../siasa-contrato2022/siasa-contrato2022.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserModule,\n BsDatepickerModule.forRoot(),\n ToastrModule.forRoot(),\n\n TextMaskModule\n ],\n declarations: [\n SiasaSolicitudComponent, SiasaContratoComponent, SiasaTecnicoComponent,\n SiasaVisitaComponent, SiasaVisitaDetalleComponent, SiasaSolicitud2019Component, SiasaContrato2019Component,\n SiasaSolicitud2020Component, SiasaContrato2020Component,\n SiasaSolicitud2021Component, SiasaContrato2021Component,\n SiasaSolicitud2022Component, SiasaContrato2022Component\n ],\n entryComponents: [],\n providers: [ ChGlobalsService, BsDatepickerModule ],\n})\nexport class SiasaModule { }\n","import {NgModule} from \"@angular/core\";\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {RouterModule} from \"@angular/router\";\n\nimport {StarterViewComponent} from \"./starterview.component\";\nimport {LoginComponent} from \"./login.component\";\n\nimport {PeityModule } from '../../components/charts/peity';\nimport {SparklineModule } from '../../components/charts/sparkline';\n\n@NgModule({\n declarations: [\n StarterViewComponent,\n LoginComponent\n ],\n imports: [\n BrowserModule,\n RouterModule,\n PeityModule,\n SparklineModule\n ],\n exports: [\n StarterViewComponent,\n LoginComponent\n ],\n})\n\nexport class AppviewsModule {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'login',\n templateUrl: 'login.template.html'\n})\nexport class LoginComponent { }\n","import { Component, OnDestroy, OnInit, } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'starter',\n templateUrl: 'starter.template.html'\n})\nexport class StarterViewComponent implements OnDestroy, OnInit {\n\npublic nav:any;\n\npublic constructor(private translate: TranslateService) {\n this.nav = document.querySelector('nav.navbar');\n}\n\npublic ngOnInit():any {\n this.nav.className += \" white-bg\";\n}\n\n\npublic ngOnDestroy():any {\n this.nav.classList.remove(\"white-bg\");\n}\n\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n","export class SystemConst {\n\n public static apiPort : string = \"80\"\n public static chilUrl : string = \"https://chil.me\"\n\n public static isDebugging = true // Afecta a la traduccion etc\n\n // API 2\n // --------------------------\n public static chilApi2 = 'https://api2.chil.me'; // En producción\n // public static chilApi2 = 'http://51.38.52.49'; // En OVH - DB1\n // public static chilApi2 = 'http://localhost:8080';\n // public static chilApi2 = 'http://90.173.3.36:8080'; // En Torre\n // public static chilApi2 = 'http://192.168.1.31:8080'; // En casa\n public static internalApiIdent = '234d3453456sd';\n\n // DATA MANAGER SERVICE\n // --------------------------\n public static chilMongoDb = 'https://api2.chil.me'; // En producción\n // public static chilMongoDb = 'http://51.38.52.49'; // WEB DB Abierto\n // public static chilMongoDb = 'http://localhost:8080';\n // public static chilMongoDb = 'http://90.173.3.36:8080'; // En Torre\n // public static chilMongoDb = 'http://192.168.1.31:8080'; // En casa\n\n // IMAGE MANAGER\n // --------------------------\n public static base_imageUrl : string = \"https://chilmedia.org\"; // En producción\n //public static base_imageUrl : string = 'http://imagesvr.chil.live'; // En pruebas raras\n\n}\n"],"sourceRoot":"webpack:///"}