desy-angular 2.0.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/bundles/desy-angular.umd.js +5961 -1898
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +2 -2
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +30 -17
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +31 -18
- package/esm2015/lib/desy-angular.module.js +6 -3
- package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -20
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +76 -17
- package/esm2015/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.js +26 -0
- package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +14 -0
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +287 -0
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +8 -10
- package/esm2015/lib/desy-buttons/desy-buttons.module.js +15 -4
- package/esm2015/lib/desy-buttons/interfaces/listbox-item-data.js +2 -0
- package/esm2015/lib/desy-buttons/interfaces/listbox-label-data.js +2 -0
- package/esm2015/lib/desy-commons/components/content/content.component.js +14 -0
- package/esm2015/lib/desy-commons/components/description/description.component.js +14 -0
- package/esm2015/lib/desy-commons/components/icon/icon.component.js +14 -0
- package/esm2015/lib/desy-commons/components/title/title.component.js +14 -0
- package/esm2015/lib/desy-commons/desy-commons.module.js +33 -0
- package/esm2015/lib/desy-commons/interfaces/content-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/description-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/icon-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/index.js +5 -0
- package/esm2015/lib/desy-commons/interfaces/title-data.js +2 -0
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +2 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +190 -0
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +181 -74
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +132 -27
- package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +17 -5
- package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +27 -4
- package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +6 -5
- package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +1 -1
- package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +45 -7
- package/esm2015/lib/desy-forms/components/hint/hint.component.js +18 -6
- package/esm2015/lib/desy-forms/components/input/input.component.js +2 -3
- package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +115 -21
- package/esm2015/lib/desy-forms/components/label/label.component.js +21 -8
- package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +147 -0
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +198 -12
- package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +14 -4
- package/esm2015/lib/desy-forms/components/select/option/option.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
- package/esm2015/lib/desy-forms/components/select/select.component.js +33 -18
- package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +1 -1
- package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +1 -1
- package/esm2015/lib/desy-forms/desy-forms.module.js +43 -6
- package/esm2015/lib/desy-forms/directives/condition.directive.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/accesibility-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/error-message-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/hint-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/index.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
- package/esm2015/lib/desy-forms/interfaces/item-divider-input-group-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-radio-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/label-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/legend-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/select-item-data.js +1 -1
- package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +1 -1
- package/esm2015/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.js +19 -0
- package/esm2015/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.js +19 -0
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +106 -21
- package/esm2015/lib/desy-modals/desy-modals.module.js +7 -1
- package/esm2015/lib/desy-modals/interfaces/dialog-options.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/index.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/modal-button-data.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/modal-data.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/modal-icon-data.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/modal-options.js +1 -1
- package/esm2015/lib/desy-modals/interfaces/open-dialog-result.js +1 -1
- package/esm2015/lib/desy-modals/services/dialog.service.js +1 -1
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.js +15 -0
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +18 -16
- package/esm2015/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.js +15 -0
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +34 -13
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +31 -8
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +14 -7
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +76 -14
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header.component.js +38 -7
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.js +28 -0
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +41 -21
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +43 -93
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.js +36 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.js +14 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.js +29 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.js +23 -0
- package/esm2015/lib/desy-nav/components/menubar/directives/menubaritem.directive.js +37 -0
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +656 -0
- package/esm2015/lib/desy-nav/components/nav/nav-item/nav-item.component.js +30 -0
- package/esm2015/lib/desy-nav/components/nav/nav.component.js +44 -22
- package/esm2015/lib/desy-nav/components/notification/notification-item/notification-item.component.js +18 -0
- package/esm2015/lib/desy-nav/components/notification/notification.component.js +49 -22
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +24 -5
- package/esm2015/lib/desy-nav/desy-nav.module.js +78 -12
- package/esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/error-summary-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/footer-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-navigation-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/index.js +1 -5
- package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/nav-item-event.data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/nav-item.data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/notification-items-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/notification-options.js +1 -1
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +41 -76
- package/esm2015/lib/desy-pagination/desy-pagination.module.js +1 -1
- package/esm2015/lib/desy-pagination/interfaces/index.js +1 -1
- package/esm2015/lib/desy-pagination/interfaces/pagination-item.data.js +1 -1
- package/esm2015/lib/desy-tables/components/table/components/table-caption.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/components/table-cell.component.js +17 -0
- package/esm2015/lib/desy-tables/components/table/components/table-header.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/components/table-row.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/table.component.js +47 -14
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.js +20 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.js +17 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.js +20 -0
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +173 -149
- package/esm2015/lib/desy-tables/desy-tables.module.js +31 -3
- package/esm2015/lib/desy-tables/directives/cell.directive.js +26 -0
- package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +12 -8
- package/esm2015/lib/desy-tables/directives/row.directive.js +24 -0
- package/esm2015/lib/desy-tables/interfaces/cell-data.js +1 -1
- package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +1 -1
- package/esm2015/lib/desy-tables/interfaces/index.js +2 -1
- package/esm2015/lib/desy-tables/interfaces/recalculate-table-params.js +2 -0
- package/esm2015/lib/desy-tables/interfaces/row-data.js +1 -1
- package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
- package/esm2015/lib/desy-views/components/accordion/accordion-header/accordion-header.component.js +14 -0
- package/esm2015/lib/desy-views/components/accordion/accordion-item/accordion-item.component.js +33 -0
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +84 -56
- package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
- package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +6 -10
- package/esm2015/lib/desy-views/components/description-list/definition/definition.component.js +15 -0
- package/esm2015/lib/desy-views/components/description-list/description-item/description-item.component.js +26 -0
- package/esm2015/lib/desy-views/components/description-list/description-list.component.js +13 -23
- package/esm2015/lib/desy-views/components/description-list/term/term.component.js +15 -0
- package/esm2015/lib/desy-views/components/details/details.component.js +1 -1
- package/esm2015/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.js +14 -0
- package/esm2015/lib/desy-views/components/item/item-content-right/item-content-right.component.js +11 -0
- package/esm2015/lib/desy-views/components/item/item-item/item-item.component.js +11 -0
- package/esm2015/lib/desy-views/components/item/item.component.js +57 -24
- package/esm2015/lib/desy-views/components/media-object/media-object.component.js +1 -1
- package/esm2015/lib/desy-views/components/spinner/spinner.component.js +1 -1
- package/esm2015/lib/desy-views/components/status/status.component.js +2 -2
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +39 -26
- package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
- package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +58 -36
- package/esm2015/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.js +11 -0
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +132 -0
- package/esm2015/lib/desy-views/desy-views.module.js +41 -1
- package/esm2015/lib/desy-views/interfaces/accordion-header.data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/accordion-item.data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/alert-options.js +1 -1
- package/esm2015/lib/desy-views/interfaces/description-item.data.js +2 -0
- package/esm2015/lib/desy-views/interfaces/index.js +4 -4
- package/esm2015/lib/desy-views/interfaces/open-alert-result.js +1 -1
- package/esm2015/lib/desy-views/interfaces/status-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/status-icon-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/status-item-title-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/term-definition.data.js +2 -0
- package/esm2015/lib/desy-views/services/alert.service.js +1 -1
- package/esm2015/lib/shared/components/accessibility/accessibility.component.js +1 -1
- package/esm2015/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.js +27 -0
- package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +1 -1
- package/esm2015/lib/shared/components/content-base/content-base.component.js +20 -0
- package/esm2015/lib/shared/components/index.js +3 -1
- package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +1 -1
- package/esm2015/lib/shared/decorators/desy-content-child.decorator.js +41 -0
- package/esm2015/lib/shared/decorators/desy-on-input-change.decorator.js +19 -0
- package/esm2015/lib/shared/directives/attribute-change.directive.js +43 -0
- package/esm2015/lib/shared/directives/click-outside.directive.js +1 -1
- package/esm2015/lib/shared/directives/content-change.directive.js +43 -0
- package/esm2015/lib/shared/directives/content-empty.directive.js +86 -0
- package/esm2015/lib/shared/directives/custom-inner-content.directive.js +62 -0
- package/esm2015/lib/shared/directives/inner-content.directive.js +5 -3
- package/esm2015/lib/shared/interfaces/accesibility-data.js +1 -1
- package/esm2015/lib/shared/pipes/external-href.pipe.js +28 -0
- package/esm2015/lib/shared/pipes/inner-html.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/make-html-list.pipe.js +1 -1
- package/esm2015/lib/shared/shared.module.js +23 -4
- package/esm2015/lib/shared/utils/focus-utils.js +1 -1
- package/esm2015/lib/shared/utils/search-utils.js +1 -1
- package/esm2015/lib/shared/utils/string-utils.js +18 -0
- package/esm2015/public-api.js +88 -29
- package/fesm2015/desy-angular.js +5759 -2069
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-buttons/components/button/button.component.d.ts +6 -7
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +9 -7
- package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +12 -0
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +4 -0
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +53 -0
- package/lib/desy-buttons/components/pill/pill.component.d.ts +3 -3
- package/lib/desy-buttons/interfaces/listbox-item-data.d.ts +9 -0
- package/lib/{desy-nav/interfaces/notification-title-data.d.ts → desy-buttons/interfaces/listbox-label-data.d.ts} +1 -1
- package/lib/desy-commons/components/content/content.component.d.ts +5 -0
- package/lib/desy-commons/components/description/description.component.d.ts +5 -0
- package/lib/desy-commons/components/icon/icon.component.d.ts +5 -0
- package/lib/desy-commons/components/title/title.component.d.ts +5 -0
- package/lib/desy-commons/desy-commons.module.d.ts +2 -0
- package/lib/{desy-nav/interfaces/notification-content-data.d.ts → desy-commons/interfaces/content-data.d.ts} +1 -1
- package/lib/desy-commons/interfaces/description-data.d.ts +5 -0
- package/lib/desy-commons/interfaces/icon-data.d.ts +4 -0
- package/lib/desy-commons/interfaces/index.d.ts +4 -0
- package/lib/desy-commons/interfaces/title-data.d.ts +6 -0
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +47 -0
- package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +53 -15
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +21 -4
- package/lib/desy-forms/components/error-message/error-message.component.d.ts +8 -2
- package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +12 -4
- package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +3 -2
- package/lib/desy-forms/components/form-field/form-field.component.d.ts +7 -18
- package/lib/desy-forms/components/hint/hint.component.d.ts +8 -2
- package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +24 -6
- package/lib/desy-forms/components/label/label.component.d.ts +12 -5
- package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +43 -0
- package/lib/desy-forms/components/radios/radios.component.d.ts +56 -11
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +7 -3
- package/lib/desy-forms/components/select/option/option.component.d.ts +7 -0
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
- package/lib/desy-forms/components/select/select.component.d.ts +9 -2
- package/lib/desy-forms/interfaces/error-message-data.d.ts +5 -5
- package/lib/desy-forms/interfaces/fieldset-data.d.ts +5 -4
- package/lib/desy-forms/interfaces/hint-data.d.ts +4 -4
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +3 -0
- package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
- package/lib/desy-forms/interfaces/item-input-group-data.d.ts +1 -2
- package/lib/desy-forms/interfaces/item-radio-data.d.ts +15 -12
- package/lib/desy-forms/interfaces/legend-data.d.ts +4 -4
- package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -1
- package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +7 -0
- package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +7 -0
- package/lib/desy-modals/components/modal/modal.component.d.ts +27 -2
- package/lib/desy-modals/interfaces/modal-button-data.d.ts +2 -2
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +6 -0
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +7 -4
- package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +6 -0
- package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +12 -4
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
- package/lib/desy-nav/components/footer/footer.component.d.ts +15 -3
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +10 -6
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +6 -2
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +30 -9
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +11 -8
- package/lib/desy-nav/components/header/header.component.d.ts +16 -5
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +6 -5
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +13 -18
- package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +23 -0
- package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +4 -0
- package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +15 -0
- package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +10 -0
- package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +16 -0
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +88 -0
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +17 -0
- package/lib/desy-nav/components/nav/nav.component.d.ts +7 -5
- package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +9 -0
- package/lib/desy-nav/components/notification/notification.component.d.ts +25 -11
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +9 -2
- package/lib/desy-nav/interfaces/breadcrumbs.data.d.ts +4 -4
- package/lib/desy-nav/interfaces/error-summary-data.d.ts +4 -4
- package/lib/desy-nav/interfaces/footer-data.d.ts +7 -10
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
- package/lib/desy-nav/interfaces/header-offcanvas-data.d.ts +0 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +6 -1
- package/lib/desy-nav/interfaces/index.d.ts +0 -4
- package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +15 -13
- package/lib/desy-nav/interfaces/menu-vertical-sub-data.d.ts +3 -4
- package/lib/desy-nav/interfaces/menu-vertical-sub-items-data.d.ts +15 -12
- package/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.d.ts +6 -0
- package/lib/desy-nav/interfaces/menubar-item-sub-item.d.ts +9 -0
- package/lib/desy-nav/interfaces/menubar-item-sub.d.ts +6 -0
- package/lib/desy-nav/interfaces/menubar-item.d.ts +18 -0
- package/lib/desy-nav/interfaces/nav-item.data.d.ts +2 -1
- package/lib/desy-nav/interfaces/notification-items-data.d.ts +8 -5
- package/lib/desy-nav/interfaces/notification-options.d.ts +5 -8
- package/lib/desy-pagination/components/pagination/pagination.component.d.ts +7 -12
- package/lib/desy-tables/components/table/components/table-caption.component.d.ts +4 -0
- package/lib/desy-tables/components/table/components/table-cell.component.d.ts +8 -0
- package/lib/desy-tables/components/table/components/table-header.component.d.ts +5 -0
- package/lib/desy-tables/components/table/components/table-row.component.d.ts +5 -0
- package/lib/desy-tables/components/table/table.component.d.ts +16 -4
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +13 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +5 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +8 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +8 -0
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +66 -39
- package/lib/desy-tables/directives/cell.directive.d.ts +14 -0
- package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +3 -3
- package/lib/desy-tables/directives/row.directive.d.ts +16 -0
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +2 -2
- package/lib/desy-tables/interfaces/index.d.ts +1 -0
- package/lib/desy-tables/interfaces/recalculate-table-params.d.ts +11 -0
- package/lib/desy-tables/interfaces/row-data.d.ts +1 -0
- package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
- package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
- package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +13 -0
- package/lib/desy-views/components/accordion/accordion.component.d.ts +20 -11
- package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +4 -6
- package/lib/desy-views/components/description-list/definition/definition.component.d.ts +6 -0
- package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +9 -0
- package/lib/desy-views/components/description-list/description-list.component.d.ts +9 -6
- package/lib/desy-views/components/description-list/term/term.component.d.ts +6 -0
- package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +5 -0
- package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
- package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
- package/lib/desy-views/components/item/item.component.d.ts +28 -9
- package/lib/desy-views/components/status-item/status-item.component.d.ts +17 -6
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +15 -3
- package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +35 -0
- package/lib/desy-views/interfaces/accordion-header.data.d.ts +3 -3
- package/lib/desy-views/interfaces/accordion-item.data.d.ts +8 -8
- package/lib/desy-views/interfaces/description-item.data.d.ts +8 -0
- package/lib/desy-views/interfaces/index.d.ts +3 -3
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +5 -5
- package/lib/desy-views/interfaces/tabs-panel-data.d.ts +4 -4
- package/lib/desy-views/interfaces/term-definition.data.d.ts +7 -0
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +26 -0
- package/lib/shared/components/content-base/content-base.component.d.ts +9 -0
- package/lib/shared/components/index.d.ts +2 -0
- package/lib/shared/decorators/desy-content-child.decorator.d.ts +15 -0
- package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +5 -0
- package/lib/shared/directives/attribute-change.directive.d.ts +10 -0
- package/lib/shared/directives/content-change.directive.d.ts +19 -0
- package/lib/shared/directives/content-empty.directive.d.ts +26 -0
- package/lib/shared/directives/custom-inner-content.directive.d.ts +22 -0
- package/lib/shared/directives/inner-content.directive.d.ts +1 -0
- package/lib/shared/pipes/external-href.pipe.d.ts +8 -0
- package/lib/shared/utils/string-utils.d.ts +10 -0
- package/package.json +16 -11
- package/public-api.d.ts +75 -25
- package/esm2015/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.js +0 -100
- package/esm2015/lib/desy-forms/components/radios/item-radio/item-radio.component.js +0 -89
- package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -62
- package/esm2015/lib/desy-nav/interfaces/notification-content-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-description-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-icon-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-title-data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/description.data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/item-data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/item-description.data.js +0 -2
- package/esm2015/lib/shared/utils/navigation-utils.js +0 -18
- package/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.d.ts +0 -39
- package/lib/desy-forms/components/radios/item-radio/item-radio.component.d.ts +0 -36
- package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -19
- package/lib/desy-nav/interfaces/notification-description-data.d.ts +0 -5
- package/lib/desy-nav/interfaces/notification-icon-data.d.ts +0 -3
- package/lib/desy-views/interfaces/description.data.d.ts +0 -7
- package/lib/desy-views/interfaces/item-data.d.ts +0 -19
- package/lib/desy-views/interfaces/item-description.data.d.ts +0 -8
- package/lib/shared/utils/navigation-utils.d.ts +0 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decorador para controlar los cambios de un input
|
|
3
|
+
* @param callbackName nombre de la función a la que se llamará tras aplicar el cambio
|
|
4
|
+
*/
|
|
5
|
+
export function DesyOnInputChange(callbackName) {
|
|
6
|
+
return (target, propertyKey) => {
|
|
7
|
+
const privateKeyName = `_${propertyKey}`;
|
|
8
|
+
Object.defineProperty(target, propertyKey, {
|
|
9
|
+
set(value) {
|
|
10
|
+
this[privateKeyName] = value;
|
|
11
|
+
this[callbackName]();
|
|
12
|
+
},
|
|
13
|
+
get() {
|
|
14
|
+
return this[privateKeyName];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUFvQjtJQUNwRCxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLGNBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRTtZQUN6QyxHQUFHLENBQUMsS0FBSztnQkFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBQ0QsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBEZWNvcmFkb3IgcGFyYSBjb250cm9sYXIgbG9zIGNhbWJpb3MgZGUgdW4gaW5wdXRcclxuICogQHBhcmFtIGNhbGxiYWNrTmFtZSBub21icmUgZGUgbGEgZnVuY2nDs24gYSBsYSBxdWUgc2UgbGxhbWFyw6EgdHJhcyBhcGxpY2FyIGVsIGNhbWJpb1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIERlc3lPbklucHV0Q2hhbmdlKGNhbGxiYWNrTmFtZTogc3RyaW5nKTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHByaXZhdGVLZXlOYW1lID0gYF8ke3Byb3BlcnR5S2V5fWA7XHJcblxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcclxuICAgICAgc2V0KHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpc1twcml2YXRlS2V5TmFtZV0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzW2NhbGxiYWNrTmFtZV0oKTtcclxuICAgICAgfSxcclxuICAgICAgZ2V0KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbcHJpdmF0ZUtleU5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
export class AttributeChangeDirective {
|
|
3
|
+
constructor(elementRef) {
|
|
4
|
+
this.elementRef = elementRef;
|
|
5
|
+
this.desyAttributeChange = new EventEmitter();
|
|
6
|
+
this.desyAttributeChangeMutation = new EventEmitter();
|
|
7
|
+
const element = this.elementRef.nativeElement;
|
|
8
|
+
this.changes = new MutationObserver((mutations) => {
|
|
9
|
+
mutations.forEach((mutation) => {
|
|
10
|
+
if (this.attributesToCheck) {
|
|
11
|
+
const attrs = typeof (this.attributesToCheck) === 'string' ? [this.attributesToCheck] : this.attributesToCheck;
|
|
12
|
+
if (attrs.findIndex(v => v === mutation.attributeName) >= 0) {
|
|
13
|
+
this.desyAttributeChange.emit(this.elementRef.nativeElement.innerHTML);
|
|
14
|
+
this.desyAttributeChangeMutation.emit(mutation);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
this.changes.observe(element, {
|
|
20
|
+
attributes: true,
|
|
21
|
+
childList: false,
|
|
22
|
+
characterData: false,
|
|
23
|
+
subtree: false
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this.changes.disconnect();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
AttributeChangeDirective.decorators = [
|
|
31
|
+
{ type: Directive, args: [{
|
|
32
|
+
selector: '[desyAttributeChange]'
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
AttributeChangeDirective.ctorParameters = () => [
|
|
36
|
+
{ type: ElementRef }
|
|
37
|
+
];
|
|
38
|
+
AttributeChangeDirective.propDecorators = {
|
|
39
|
+
attributesToCheck: [{ type: Input }],
|
|
40
|
+
desyAttributeChange: [{ type: Output }],
|
|
41
|
+
desyAttributeChangeMutation: [{ type: Output }]
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWNoYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9hdHRyaWJ1dGUtY2hhbmdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUs1RixNQUFNLE9BQU8sd0JBQXdCO0lBWW5DLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMbkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd6QyxnQ0FBMkIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUNoRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtvQkFDMUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMvRyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDM0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDdkUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDakQ7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQzVCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVCLENBQUM7OztZQXpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjthQUNsQzs7O1lBSmtCLFVBQVU7OztnQ0FTMUIsS0FBSztrQ0FFTCxNQUFNOzBDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZGVzeUF0dHJpYnV0ZUNoYW5nZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVDaGFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIGNoYW5nZXM6IE11dGF0aW9uT2JzZXJ2ZXI7XHJcblxyXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXNUb0NoZWNrOiBzdHJpbmd8c3RyaW5nW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXN5QXR0cmlidXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVzeUF0dHJpYnV0ZUNoYW5nZU11dGF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLmNoYW5nZXMgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XHJcbiAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXR0cmlidXRlc1RvQ2hlY2spIHtcclxuICAgICAgICAgICAgY29uc3QgYXR0cnMgPSB0eXBlb2YgKHRoaXMuYXR0cmlidXRlc1RvQ2hlY2spID09PSAnc3RyaW5nJyA/IFt0aGlzLmF0dHJpYnV0ZXNUb0NoZWNrXSA6IHRoaXMuYXR0cmlidXRlc1RvQ2hlY2s7XHJcbiAgICAgICAgICAgIGlmIChhdHRycy5maW5kSW5kZXgodiA9PiB2ID09PSBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lKSA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5kZXN5QXR0cmlidXRlQ2hhbmdlLmVtaXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MKTtcclxuICAgICAgICAgICAgICB0aGlzLmRlc3lBdHRyaWJ1dGVDaGFuZ2VNdXRhdGlvbi5lbWl0KG11dGF0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2hhbmdlcy5vYnNlcnZlKGVsZW1lbnQsIHtcclxuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcclxuICAgICAgY2hpbGRMaXN0OiBmYWxzZSxcclxuICAgICAgY2hhcmFjdGVyRGF0YTogZmFsc2UsXHJcbiAgICAgIHN1YnRyZWU6IGZhbHNlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VzLmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -32,4 +32,4 @@ ClickOutsideDirective.propDecorators = {
|
|
|
32
32
|
desyClickOutsideElem: [{ type: Input }],
|
|
33
33
|
onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLakcsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFvQixjQUEwQjtRQUExQixtQkFBYyxHQUFkLGNBQWMsQ0FBWTtRQUpuQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUdBLENBQUM7SUFHNUMsT0FBTyxDQUFDLE1BQU07UUFDbkIsSUFBSSxhQUFhLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLGFBQWEsR0FBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQXlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDOzs7WUF0QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7YUFDL0I7OztZQUptQixVQUFVOzs7cUJBTzNCLEtBQUssU0FBQyxrQkFBa0I7MkJBQ3hCLE1BQU07bUNBQ04sS0FBSztzQkFJTCxZQUFZLFNBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5Q2xpY2tPdXRzaWRlXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZURpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnZGVzeUNsaWNrT3V0c2lkZScpIGFjdGl2ZSA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBASW5wdXQoKSBkZXN5Q2xpY2tPdXRzaWRlRWxlbTogRWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBob3N0RWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgcHVibGljIG9uQ2xpY2sodGFyZ2V0KTogdm9pZCB7XHJcbiAgICBsZXQgY2xpY2tlZEluc2lkZTtcclxuICAgIGlmICh0aGlzLmRlc3lDbGlja091dHNpZGVFbGVtKSB7XHJcbiAgICAgIGNsaWNrZWRJbnNpZGUgPSB0aGlzLmRlc3lDbGlja091dHNpZGVFbGVtLmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjbGlja2VkSW5zaWRlID0gKHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBFbGVtZW50KS5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHRoaXMuYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Permite comprobar cuándo se produce un cambio en el contenido de un elemento.
|
|
4
|
+
* La propia directiva emite el html interno del elemento en formato string, mientras que desyContentChangeMutation emite los cambios.
|
|
5
|
+
*/
|
|
6
|
+
export class ContentChangeDirective {
|
|
7
|
+
constructor(elementRef) {
|
|
8
|
+
this.elementRef = elementRef;
|
|
9
|
+
this.observeProperties = {
|
|
10
|
+
attributes: false,
|
|
11
|
+
childList: true,
|
|
12
|
+
characterData: true,
|
|
13
|
+
subtree: true
|
|
14
|
+
};
|
|
15
|
+
this.desyContentChange = new EventEmitter();
|
|
16
|
+
this.desyContentChangeMutation = new EventEmitter();
|
|
17
|
+
const element = this.elementRef.nativeElement;
|
|
18
|
+
this.changes = new MutationObserver((mutations) => {
|
|
19
|
+
mutations.forEach((mutation) => {
|
|
20
|
+
this.desyContentChange.emit(this.elementRef);
|
|
21
|
+
this.desyContentChangeMutation.emit(mutation);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
this.changes.observe(element, this.observeProperties);
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this.changes.disconnect();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ContentChangeDirective.decorators = [
|
|
31
|
+
{ type: Directive, args: [{
|
|
32
|
+
selector: '[desyContentChange]'
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
ContentChangeDirective.ctorParameters = () => [
|
|
36
|
+
{ type: ElementRef }
|
|
37
|
+
];
|
|
38
|
+
ContentChangeDirective.propDecorators = {
|
|
39
|
+
observeProperties: [{ type: Input }],
|
|
40
|
+
desyContentChange: [{ type: Output }],
|
|
41
|
+
desyContentChangeMutation: [{ type: Output }]
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jaGFuZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvY29udGVudC1jaGFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFpQmpDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFiakMsc0JBQWlCLEdBQTBGO1lBQ2xILFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7WUFDbkIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBR0ssc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUduRCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUNoRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUFwQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7OztZQVJrQixVQUFVOzs7Z0NBYTFCLEtBQUs7Z0NBT0wsTUFBTTt3Q0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBQZXJtaXRlIGNvbXByb2JhciBjdcOhbmRvIHNlIHByb2R1Y2UgdW4gY2FtYmlvIGVuIGVsIGNvbnRlbmlkbyBkZSB1biBlbGVtZW50by5cclxuICogTGEgcHJvcGlhIGRpcmVjdGl2YSBlbWl0ZSBlbCBodG1sIGludGVybm8gZGVsIGVsZW1lbnRvIGVuIGZvcm1hdG8gc3RyaW5nLCBtaWVudHJhcyBxdWUgZGVzeUNvbnRlbnRDaGFuZ2VNdXRhdGlvbiBlbWl0ZSBsb3MgY2FtYmlvcy5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rlc3lDb250ZW50Q2hhbmdlXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRDaGFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIGNoYW5nZXM6IE11dGF0aW9uT2JzZXJ2ZXI7XHJcblxyXG4gIEBJbnB1dCgpIG9ic2VydmVQcm9wZXJ0aWVzOiB7IGF0dHJpYnV0ZXM6IGJvb2xlYW4sIGNoaWxkTGlzdDogYm9vbGVhbiwgY2hhcmFjdGVyRGF0YTogYm9vbGVhbiwgc3VidHJlZTogYm9vbGVhbiB9ID0ge1xyXG4gICAgYXR0cmlidXRlczogZmFsc2UsXHJcbiAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxyXG4gICAgc3VidHJlZTogdHJ1ZVxyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXN5Q29udGVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWxlbWVudFJlZj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc3lDb250ZW50Q2hhbmdlTXV0YXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuY2hhbmdlcyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcclxuICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaCgobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlc3lDb250ZW50Q2hhbmdlLmVtaXQodGhpcy5lbGVtZW50UmVmKTtcclxuICAgICAgICAgIHRoaXMuZGVzeUNvbnRlbnRDaGFuZ2VNdXRhdGlvbi5lbWl0KG11dGF0aW9uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNoYW5nZXMub2JzZXJ2ZShlbGVtZW50LCB0aGlzLm9ic2VydmVQcm9wZXJ0aWVzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VzLmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ContentChildren, Directive, ElementRef, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Emite un evento cuando el contenido de un elemento esté vacío
|
|
4
|
+
* El contenido marcado con #desyContentEmptyIgnore será ignorado
|
|
5
|
+
*
|
|
6
|
+
* NOTA: tener en cuenta que los eventos se emiten después de generarse la vista, por lo que si al gestionar el evento se realizan
|
|
7
|
+
* cambios que afectan a la template, conviene forzar la detección de cambios. (Ejemplo de esto en el icono de NotificationComponent)
|
|
8
|
+
*/
|
|
9
|
+
export class ContentEmptyDirective {
|
|
10
|
+
constructor(elementRef) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.desyContentEmpty = new EventEmitter();
|
|
13
|
+
this.desyContentNotEmpty = new EventEmitter();
|
|
14
|
+
this.lastWasEmpty = false;
|
|
15
|
+
this.viewInit = false;
|
|
16
|
+
const element = this.elementRef.nativeElement;
|
|
17
|
+
this.changes = new MutationObserver((mutations) => mutations.forEach(() => this.checkContent()));
|
|
18
|
+
this.changes.observe(element, {
|
|
19
|
+
attributes: false,
|
|
20
|
+
childList: true,
|
|
21
|
+
characterData: true,
|
|
22
|
+
subtree: false
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
ngAfterViewInit() {
|
|
26
|
+
if (!this.viewInit) {
|
|
27
|
+
this.viewInit = true;
|
|
28
|
+
this.checkContent();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Comprueba el contenido del elemento una vez se haya inicializado la vista. Si se detecta que el elemento está vacío, las comprobaciones
|
|
33
|
+
* sucesivas que tampoco detecten contenido no emitirán evento.
|
|
34
|
+
*/
|
|
35
|
+
checkContent() {
|
|
36
|
+
if (this.viewInit) {
|
|
37
|
+
const childs = this.elementRef.nativeElement.childNodes;
|
|
38
|
+
let hasContent = false;
|
|
39
|
+
for (let i = 0; i < childs.length && !hasContent; i++) {
|
|
40
|
+
const item = childs.item(i);
|
|
41
|
+
if (item.nodeType === Node.TEXT_NODE && item.textContent.length > 0) {
|
|
42
|
+
hasContent = true;
|
|
43
|
+
}
|
|
44
|
+
else if ((item.nodeType === Node.ELEMENT_NODE || item.nodeType === Node.CDATA_SECTION_NODE) && this.isContentNode(item)) {
|
|
45
|
+
hasContent = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (hasContent) {
|
|
49
|
+
if (this.lastWasEmpty) {
|
|
50
|
+
this.desyContentNotEmpty.emit(this.elementRef.nativeElement.innerHTML);
|
|
51
|
+
}
|
|
52
|
+
this.lastWasEmpty = false;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (!this.lastWasEmpty) {
|
|
56
|
+
this.desyContentEmpty.emit(this.elementRef.nativeElement.innerHTML);
|
|
57
|
+
}
|
|
58
|
+
this.lastWasEmpty = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
isContentNode(elem) {
|
|
63
|
+
let contentNode = true;
|
|
64
|
+
if (this.contentsToIgnore && this.contentsToIgnore.length > 0) {
|
|
65
|
+
contentNode = !this.contentsToIgnore.find(ignoreElem => ignoreElem.nativeElement === elem);
|
|
66
|
+
}
|
|
67
|
+
return contentNode;
|
|
68
|
+
}
|
|
69
|
+
ngOnDestroy() {
|
|
70
|
+
this.changes.disconnect();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
ContentEmptyDirective.decorators = [
|
|
74
|
+
{ type: Directive, args: [{
|
|
75
|
+
selector: '[desyContentEmpty]'
|
|
76
|
+
},] }
|
|
77
|
+
];
|
|
78
|
+
ContentEmptyDirective.ctorParameters = () => [
|
|
79
|
+
{ type: ElementRef }
|
|
80
|
+
];
|
|
81
|
+
ContentEmptyDirective.propDecorators = {
|
|
82
|
+
desyContentEmpty: [{ type: Output }],
|
|
83
|
+
desyContentNotEmpty: [{ type: Output }],
|
|
84
|
+
contentsToIgnore: [{ type: ContentChildren, args: ['desyContentEmptyIgnore', { read: ElementRef },] }]
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1lbXB0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jb250ZW50LWVtcHR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBYSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFaEk7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBWG5DLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDNUIsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLElBQUk7WUFDZixhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxNQUFNLEdBQTBCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUMvRSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbkUsVUFBVSxHQUFHLElBQUksQ0FBQztpQkFDbkI7cUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3pILFVBQVUsR0FBRyxJQUFJLENBQUM7aUJBQ25CO2FBQ0Y7WUFFRCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3hFO2dCQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNyRTtnQkFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFVO1FBQzlCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3RCxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsQ0FBQztTQUM1RjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUE1RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7YUFDL0I7OztZQVhrRCxVQUFVOzs7K0JBYzFELE1BQU07a0NBR04sTUFBTTsrQkFHTixlQUFlLFNBQUMsd0JBQXdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBFbWl0ZSB1biBldmVudG8gY3VhbmRvIGVsIGNvbnRlbmlkbyBkZSB1biBlbGVtZW50byBlc3TDqSB2YWPDrW9cclxuICogRWwgY29udGVuaWRvIG1hcmNhZG8gY29uICNkZXN5Q29udGVudEVtcHR5SWdub3JlIHNlcsOhIGlnbm9yYWRvXHJcbiAqXHJcbiAqIE5PVEE6IHRlbmVyIGVuIGN1ZW50YSBxdWUgbG9zIGV2ZW50b3Mgc2UgZW1pdGVuIGRlc3B1w6lzIGRlIGdlbmVyYXJzZSBsYSB2aXN0YSwgcG9yIGxvIHF1ZSBzaSBhbCBnZXN0aW9uYXIgZWwgZXZlbnRvIHNlIHJlYWxpemFuXHJcbiAqIGNhbWJpb3MgcXVlIGFmZWN0YW4gYSBsYSB0ZW1wbGF0ZSwgY29udmllbmUgZm9yemFyIGxhIGRldGVjY2nDs24gZGUgY2FtYmlvcy4gKEVqZW1wbG8gZGUgZXN0byBlbiBlbCBpY29ubyBkZSBOb3RpZmljYXRpb25Db21wb25lbnQpXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5Q29udGVudEVtcHR5XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRFbXB0eURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXN5Q29udGVudEVtcHR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVzeUNvbnRlbnROb3RFbXB0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbignZGVzeUNvbnRlbnRFbXB0eUlnbm9yZScsIHtyZWFkOiBFbGVtZW50UmVmfSkgY29udGVudHNUb0lnbm9yZTogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG5cclxuICBwcml2YXRlIGNoYW5nZXM6IE11dGF0aW9uT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSBsYXN0V2FzRW1wdHkgPSBmYWxzZTtcclxuICBwcml2YXRlIHZpZXdJbml0ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5jaGFuZ2VzID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4gbXV0YXRpb25zLmZvckVhY2goKCkgPT4gdGhpcy5jaGVja0NvbnRlbnQoKSkpO1xyXG4gICAgdGhpcy5jaGFuZ2VzLm9ic2VydmUoZWxlbWVudCwge1xyXG4gICAgICBhdHRyaWJ1dGVzOiBmYWxzZSxcclxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxyXG4gICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxyXG4gICAgICBzdWJ0cmVlOiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudmlld0luaXQpIHtcclxuICAgICAgdGhpcy52aWV3SW5pdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2hlY2tDb250ZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wcnVlYmEgZWwgY29udGVuaWRvIGRlbCBlbGVtZW50byB1bmEgdmV6IHNlIGhheWEgaW5pY2lhbGl6YWRvIGxhIHZpc3RhLiBTaSBzZSBkZXRlY3RhIHF1ZSBlbCBlbGVtZW50byBlc3TDoSB2YWPDrW8sIGxhcyBjb21wcm9iYWNpb25lc1xyXG4gICAqIHN1Y2VzaXZhcyBxdWUgdGFtcG9jbyBkZXRlY3RlbiBjb250ZW5pZG8gbm8gZW1pdGlyw6FuIGV2ZW50by5cclxuICAgKi9cclxuICBjaGVja0NvbnRlbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aWV3SW5pdCkge1xyXG4gICAgICBjb25zdCBjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXM7XHJcbiAgICAgIGxldCBoYXNDb250ZW50ID0gZmFsc2U7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRzLmxlbmd0aCAmJiAhaGFzQ29udGVudDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IGNoaWxkcy5pdGVtKGkpO1xyXG4gICAgICAgIGlmIChpdGVtLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSAmJiBpdGVtLnRleHRDb250ZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGhhc0NvbnRlbnQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoKGl0ZW0ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFIHx8IGl0ZW0ubm9kZVR5cGUgPT09IE5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFKSAmJiB0aGlzLmlzQ29udGVudE5vZGUoaXRlbSkpIHtcclxuICAgICAgICAgIGhhc0NvbnRlbnQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGhhc0NvbnRlbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5sYXN0V2FzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZGVzeUNvbnRlbnROb3RFbXB0eS5lbWl0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdFdhc0VtcHR5ID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxhc3RXYXNFbXB0eSkge1xyXG4gICAgICAgICAgdGhpcy5kZXN5Q29udGVudEVtcHR5LmVtaXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0V2FzRW1wdHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQ29udGVudE5vZGUoZWxlbTogTm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGNvbnRlbnROb2RlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbnRlbnRzVG9JZ25vcmUgJiYgdGhpcy5jb250ZW50c1RvSWdub3JlLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29udGVudE5vZGUgPSAhdGhpcy5jb250ZW50c1RvSWdub3JlLmZpbmQoaWdub3JlRWxlbSA9PiBpZ25vcmVFbGVtLm5hdGl2ZUVsZW1lbnQgPT09IGVsZW0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbnRlbnROb2RlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZXMuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ComponentFactoryResolver, Directive, Injector, Input, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ContentBaseComponent } from '../components';
|
|
3
|
+
/**
|
|
4
|
+
* Permite introducir contenido de forma dinámica en una posición determinada desde:
|
|
5
|
+
* - component: Componente existente de tipo ContentBase
|
|
6
|
+
* - html: texto html en formato string
|
|
7
|
+
* - text: texto plano en formato string
|
|
8
|
+
*/
|
|
9
|
+
export class CustomInnerContentDirective {
|
|
10
|
+
constructor(viewContainerRef, resolver, injector) {
|
|
11
|
+
this.viewContainerRef = viewContainerRef;
|
|
12
|
+
this.resolver = resolver;
|
|
13
|
+
this.injector = injector;
|
|
14
|
+
this.factory = this.resolver.resolveComponentFactory(ContentBaseComponent);
|
|
15
|
+
}
|
|
16
|
+
ngOnChanges(changes) {
|
|
17
|
+
this.viewContainerRef.clear();
|
|
18
|
+
if (this.desyCustomInnerContent.component && this.desyCustomInnerContent.component instanceof ContentBaseComponent) {
|
|
19
|
+
// Se crea la vista embebida basándose en el contenido del ContentBase indicado.
|
|
20
|
+
this.viewContainerRef.createEmbeddedView(this.desyCustomInnerContent.component.getContent());
|
|
21
|
+
}
|
|
22
|
+
else if (this.desyCustomInnerContent.template) {
|
|
23
|
+
// Se crea la vista embebida utilizando directamente el template.
|
|
24
|
+
this.viewContainerRef.createEmbeddedView(this.desyCustomInnerContent.template);
|
|
25
|
+
}
|
|
26
|
+
else if (this.desyCustomInnerContent.html) {
|
|
27
|
+
// Se carga el contenido en un div temporal.
|
|
28
|
+
const tmpWrapper = document.createElement('div');
|
|
29
|
+
tmpWrapper.innerHTML = this.desyCustomInnerContent.html;
|
|
30
|
+
// Los nodos hijos del div se proyectan dentro de un componente ContentBase.
|
|
31
|
+
const nodeList = [];
|
|
32
|
+
tmpWrapper.childNodes.forEach(node => nodeList.push(node));
|
|
33
|
+
const componentRef = this.factory.create(this.injector, [nodeList]);
|
|
34
|
+
// Finalmente se crea la vista embebida basándose en el contenido del ContentBase creado.
|
|
35
|
+
// Se podría hacer con un this.viewContainerRef.createComponent(), pero así se evita el tag envolvente del componente en el DOM
|
|
36
|
+
this.viewContainerRef.createEmbeddedView(componentRef.instance.getContent());
|
|
37
|
+
}
|
|
38
|
+
else if (this.desyCustomInnerContent.text) {
|
|
39
|
+
// Se carga el contenido en un nodo de texto
|
|
40
|
+
const textNode = document.createTextNode(this.desyCustomInnerContent.text);
|
|
41
|
+
// El nodo de texto se proyecta dentro de un componente ContentBase
|
|
42
|
+
const componentRef = this.factory.create(this.injector, [[textNode]]);
|
|
43
|
+
// Finalmente se crea la vista embebida basándose en el contenido del ContentBase creado.
|
|
44
|
+
// Se podría hacer con un this.viewContainerRef.createComponent(), pero así se evita el tag envolvente del componente en el DOM
|
|
45
|
+
this.viewContainerRef.createEmbeddedView(componentRef.instance.getContent());
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
CustomInnerContentDirective.decorators = [
|
|
50
|
+
{ type: Directive, args: [{
|
|
51
|
+
selector: '[desyCustomInnerContent]'
|
|
52
|
+
},] }
|
|
53
|
+
];
|
|
54
|
+
CustomInnerContentDirective.ctorParameters = () => [
|
|
55
|
+
{ type: ViewContainerRef },
|
|
56
|
+
{ type: ComponentFactoryResolver },
|
|
57
|
+
{ type: Injector }
|
|
58
|
+
];
|
|
59
|
+
CustomInnerContentDirective.propDecorators = {
|
|
60
|
+
desyCustomInnerContent: [{ type: Input }]
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlubmVyLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvY3VzdG9tLWlubmVyLWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBRUwsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRDs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFBb0IsZ0JBQWtDLEVBQVUsUUFBa0MsRUFBVSxRQUFrQjtRQUExRyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxZQUFZLG9CQUFvQixFQUFFO1lBRWxILGdGQUFnRjtZQUNoRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzlGO2FBQU0sSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1lBRS9DLGlFQUFpRTtZQUNqRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hGO2FBQU0sSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1lBRTNDLDRDQUE0QztZQUM1QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELFVBQVUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQztZQUV4RCw0RUFBNEU7WUFDNUUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBRSxRQUFRLENBQUUsQ0FBQyxDQUFDO1lBRXRFLHlGQUF5RjtZQUN6RiwrSEFBK0g7WUFDL0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUM5RTthQUFNLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRTtZQUUzQyw0Q0FBNEM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0UsbUVBQW1FO1lBQ25FLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFFLFFBQVEsQ0FBRSxDQUFDLENBQUMsQ0FBQztZQUV4RSx5RkFBeUY7WUFDekYsK0hBQStIO1lBQy9ILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDOzs7WUFqREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7YUFDckM7OztZQVpDLGdCQUFnQjtZQUxoQix3QkFBd0I7WUFFeEIsUUFBUTs7O3FDQWtCUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5cclxuLyoqXHJcbiAqIFBlcm1pdGUgaW50cm9kdWNpciBjb250ZW5pZG8gZGUgZm9ybWEgZGluw6FtaWNhIGVuIHVuYSBwb3NpY2nDs24gZGV0ZXJtaW5hZGEgZGVzZGU6XHJcbiAqIC0gY29tcG9uZW50OiBDb21wb25lbnRlIGV4aXN0ZW50ZSBkZSB0aXBvIENvbnRlbnRCYXNlXHJcbiAqIC0gaHRtbDogdGV4dG8gaHRtbCBlbiBmb3JtYXRvIHN0cmluZ1xyXG4gKiAtIHRleHQ6IHRleHRvIHBsYW5vIGVuIGZvcm1hdG8gc3RyaW5nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5Q3VzdG9tSW5uZXJDb250ZW50XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbUlubmVyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGRlc3lDdXN0b21Jbm5lckNvbnRlbnQ6IHsgY29tcG9uZW50PzogYW55fENvbnRlbnRCYXNlQ29tcG9uZW50LCB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIGh0bWw/OiBzdHJpbmcsIHRleHQ/OiBzdHJpbmcgfTtcclxuXHJcbiAgcHJpdmF0ZSBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PENvbnRlbnRCYXNlQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KENvbnRlbnRCYXNlQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgaWYgKHRoaXMuZGVzeUN1c3RvbUlubmVyQ29udGVudC5jb21wb25lbnQgJiYgdGhpcy5kZXN5Q3VzdG9tSW5uZXJDb250ZW50LmNvbXBvbmVudCBpbnN0YW5jZW9mIENvbnRlbnRCYXNlQ29tcG9uZW50KSB7XHJcblxyXG4gICAgICAvLyBTZSBjcmVhIGxhIHZpc3RhIGVtYmViaWRhIGJhc8OhbmRvc2UgZW4gZWwgY29udGVuaWRvIGRlbCBDb250ZW50QmFzZSBpbmRpY2Fkby5cclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmRlc3lDdXN0b21Jbm5lckNvbnRlbnQuY29tcG9uZW50LmdldENvbnRlbnQoKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVzeUN1c3RvbUlubmVyQ29udGVudC50ZW1wbGF0ZSkge1xyXG5cclxuICAgICAgLy8gU2UgY3JlYSBsYSB2aXN0YSBlbWJlYmlkYSB1dGlsaXphbmRvIGRpcmVjdGFtZW50ZSBlbCB0ZW1wbGF0ZS5cclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmRlc3lDdXN0b21Jbm5lckNvbnRlbnQudGVtcGxhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRlc3lDdXN0b21Jbm5lckNvbnRlbnQuaHRtbCkge1xyXG5cclxuICAgICAgLy8gU2UgY2FyZ2EgZWwgY29udGVuaWRvIGVuIHVuIGRpdiB0ZW1wb3JhbC5cclxuICAgICAgY29uc3QgdG1wV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0bXBXcmFwcGVyLmlubmVySFRNTCA9IHRoaXMuZGVzeUN1c3RvbUlubmVyQ29udGVudC5odG1sO1xyXG5cclxuICAgICAgLy8gTG9zIG5vZG9zIGhpam9zIGRlbCBkaXYgc2UgcHJveWVjdGFuIGRlbnRybyBkZSB1biBjb21wb25lbnRlIENvbnRlbnRCYXNlLlxyXG4gICAgICBjb25zdCBub2RlTGlzdCA9IFtdO1xyXG4gICAgICB0bXBXcmFwcGVyLmNoaWxkTm9kZXMuZm9yRWFjaChub2RlID0+IG5vZGVMaXN0LnB1c2gobm9kZSkpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IsIFsgbm9kZUxpc3QgXSk7XHJcblxyXG4gICAgICAvLyBGaW5hbG1lbnRlIHNlIGNyZWEgbGEgdmlzdGEgZW1iZWJpZGEgYmFzw6FuZG9zZSBlbiBlbCBjb250ZW5pZG8gZGVsIENvbnRlbnRCYXNlIGNyZWFkby5cclxuICAgICAgLy8gU2UgcG9kcsOtYSBoYWNlciBjb24gdW4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCgpLCBwZXJvIGFzw60gc2UgZXZpdGEgZWwgdGFnIGVudm9sdmVudGUgZGVsIGNvbXBvbmVudGUgZW4gZWwgRE9NXHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoY29tcG9uZW50UmVmLmluc3RhbmNlLmdldENvbnRlbnQoKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVzeUN1c3RvbUlubmVyQ29udGVudC50ZXh0KSB7XHJcblxyXG4gICAgICAvLyBTZSBjYXJnYSBlbCBjb250ZW5pZG8gZW4gdW4gbm9kbyBkZSB0ZXh0b1xyXG4gICAgICBjb25zdCB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRoaXMuZGVzeUN1c3RvbUlubmVyQ29udGVudC50ZXh0KTtcclxuXHJcbiAgICAgIC8vIEVsIG5vZG8gZGUgdGV4dG8gc2UgcHJveWVjdGEgZGVudHJvIGRlIHVuIGNvbXBvbmVudGUgQ29udGVudEJhc2VcclxuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5mYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yLCBbWyB0ZXh0Tm9kZSBdXSk7XHJcblxyXG4gICAgICAvLyBGaW5hbG1lbnRlIHNlIGNyZWEgbGEgdmlzdGEgZW1iZWJpZGEgYmFzw6FuZG9zZSBlbiBlbCBjb250ZW5pZG8gZGVsIENvbnRlbnRCYXNlIGNyZWFkby5cclxuICAgICAgLy8gU2UgcG9kcsOtYSBoYWNlciBjb24gdW4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCgpLCBwZXJvIGFzw60gc2UgZXZpdGEgZWwgdGFnIGVudm9sdmVudGUgZGVsIGNvbXBvbmVudGUgZW4gZWwgRE9NXHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoY29tcG9uZW50UmVmLmluc3RhbmNlLmdldENvbnRlbnQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Directive, ElementRef, Input } from '@angular/core';
|
|
|
2
2
|
export class InnerContentDirective {
|
|
3
3
|
constructor(el) {
|
|
4
4
|
this.el = el;
|
|
5
|
+
this.deleteContentIfEmpty = true;
|
|
5
6
|
}
|
|
6
7
|
ngOnChanges(changes) {
|
|
7
8
|
if (this.content) {
|
|
@@ -12,7 +13,7 @@ export class InnerContentDirective {
|
|
|
12
13
|
this.el.nativeElement.innerText = this.content;
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
|
-
else {
|
|
16
|
+
else if (this.deleteContentIfEmpty) {
|
|
16
17
|
this.el.nativeElement.innerText = null;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
@@ -27,6 +28,7 @@ InnerContentDirective.ctorParameters = () => [
|
|
|
27
28
|
];
|
|
28
29
|
InnerContentDirective.propDecorators = {
|
|
29
30
|
content: [{ type: Input, args: ['desyInnerContent',] }],
|
|
30
|
-
isHtml: [{ type: Input }]
|
|
31
|
+
isHtml: [{ type: Input }],
|
|
32
|
+
deleteContentIfEmpty: [{ type: Input }]
|
|
31
33
|
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9pbm5lci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBSXJGLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFGekIseUJBQW9CLEdBQUcsSUFBSSxDQUFDO0lBRUMsQ0FBQztJQUV2QyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNoRDtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN4QztJQUNILENBQUM7OztZQXJCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjthQUMvQjs7O1lBSGtCLFVBQVU7OztzQkFNMUIsS0FBSyxTQUFDLGtCQUFrQjtxQkFDeEIsS0FBSzttQ0FDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5SW5uZXJDb250ZW50XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIElubmVyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgnZGVzeUlubmVyQ29udGVudCcpIGNvbnRlbnQ6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0h0bWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlQ29udGVudElmRW1wdHkgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xyXG4gICAgICBpZiAodGhpcy5pc0h0bWwpIHtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jb250ZW50O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSB0aGlzLmNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5kZWxldGVDb250ZW50SWZFbXB0eSkge1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNpYmlsaXR5LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvaW50ZXJmYWNlcy9hY2Nlc2liaWxpdHktZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBY2Nlc2liaWxpdHlEYXRhIHtcclxuICByb2xlPzogc3RyaW5nO1xyXG4gIGFyaWFMYWJlbD86IHN0cmluZztcclxuICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmc7XHJcbiAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XHJcbiAgYXJpYUhpZGRlbj86IHN0cmluZztcclxuICBhcmlhRGlzYWJsZWQ/OiBzdHJpbmc7XHJcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nO1xyXG4gIGFyaWFDdXJyZW50Pzogc3RyaW5nO1xyXG4gIGFyaWFMaXZlPzogc3RyaW5nO1xyXG4gIGFyaWFFeHBhbmRlZD86IHN0cmluZztcclxuICBhcmlhRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIGFyaWFIYXNQb3B1cD86IHN0cmluZztcclxuICBhcmlhTW9kYWw/OiBzdHJpbmc7XHJcbiAgdGFiaW5kZXg/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class ExternalHrefPipe {
|
|
3
|
+
/**
|
|
4
|
+
* Asegura que un enlace externo sea correcto
|
|
5
|
+
* @param href enlace
|
|
6
|
+
*/
|
|
7
|
+
transform(href) {
|
|
8
|
+
let externalHref;
|
|
9
|
+
if (href) {
|
|
10
|
+
if (href.match('http(s)?://')) {
|
|
11
|
+
externalHref = href;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
externalHref = 'http://' + href;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
externalHref = '#';
|
|
19
|
+
}
|
|
20
|
+
return externalHref;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
ExternalHrefPipe.decorators = [
|
|
24
|
+
{ type: Pipe, args: [{
|
|
25
|
+
name: 'externalHref'
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaHJlZi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3BpcGVzL2V4dGVybmFsLWhyZWYucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksWUFBb0IsQ0FBQztRQUN6QixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDN0IsWUFBWSxHQUFHLElBQUksQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxZQUFZLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQzthQUNqQztTQUNGO2FBQU07WUFDTCxZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7O1lBckJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsY0FBYzthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZXh0ZXJuYWxIcmVmJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxIcmVmUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAvKipcclxuICAgKiBBc2VndXJhIHF1ZSB1biBlbmxhY2UgZXh0ZXJubyBzZWEgY29ycmVjdG9cclxuICAgKiBAcGFyYW0gaHJlZiBlbmxhY2VcclxuICAgKi9cclxuICB0cmFuc2Zvcm0oaHJlZjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBleHRlcm5hbEhyZWY6IHN0cmluZztcclxuICAgIGlmIChocmVmKSB7XHJcbiAgICAgIGlmIChocmVmLm1hdGNoKCdodHRwKHMpPzovLycpKSB7XHJcbiAgICAgICAgZXh0ZXJuYWxIcmVmID0gaHJlZjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBleHRlcm5hbEhyZWYgPSAnaHR0cDovLycgKyBocmVmO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBleHRlcm5hbEhyZWYgPSAnIyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXh0ZXJuYWxIcmVmO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -16,4 +16,4 @@ InnerHtmlPipe.decorators = [
|
|
|
16
16
|
InnerHtmlPipe.ctorParameters = () => [
|
|
17
17
|
{ type: DomSanitizer }
|
|
18
18
|
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItaHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3BpcGVzL2lubmVyLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBS25FLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBSSxDQUFDO0lBRWhELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDOzs7WUFURixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7YUFDbEI7OztZQUpRLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBTZWN1cml0eUNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdpbm5lckh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbm5lckh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -13,4 +13,4 @@ MakeHtmlListPipe.decorators = [
|
|
|
13
13
|
name: 'makeHtmlList'
|
|
14
14
|
},] }
|
|
15
15
|
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS1odG1sLWxpc3QucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL3NoYXJlZC9waXBlcy9tYWtlLWh0bWwtbGlzdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsU0FBUyxDQUFDLE9BQWlCLEVBQUUsYUFBc0I7UUFDakQsSUFBSSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGFBQWEsRUFBRTtZQUM5QyxZQUFZLEdBQUcsYUFBYSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7O1lBWEYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxjQUFjO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdtYWtlSHRtbExpc3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWtlSHRtbExpc3RQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybShjbGFzc2VzOiBzdHJpbmdbXSwgdmFsdWVGb3JFbXB0eT86IHN0cmluZyk6IHN0cmluZ3xudWxsIHtcclxuICAgIGxldCBmaWx0ZXJlZExpc3QgPSBjbGFzc2VzLmZpbHRlcihjID0+IGMpLmpvaW4oJyAnKTtcclxuICAgIGlmIChmaWx0ZXJlZExpc3QubGVuZ3RoID09PSAwICYmIHZhbHVlRm9yRW1wdHkpIHtcclxuICAgICAgZmlsdGVyZWRMaXN0ID0gdmFsdWVGb3JFbXB0eTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZExpc3Q7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -2,13 +2,18 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { RouterModule } from '@angular/router';
|
|
4
4
|
// components
|
|
5
|
-
import { AccessibilityComponent, TextOrHtmlRequiredComponent, AccessibilityAndTextOrHtmlRequiredComponent } from './components';
|
|
5
|
+
import { AccessibilityComponent, ContentBaseComponent, TextOrHtmlRequiredComponent, AccessibilityAndTextOrHtmlRequiredComponent, AccessibilityAndContentRequiredComponent } from './components';
|
|
6
6
|
// pipes
|
|
7
7
|
import { InnerHtmlPipe } from './pipes/inner-html.pipe';
|
|
8
8
|
import { MakeHtmlListPipe } from './pipes/make-html-list.pipe';
|
|
9
|
+
import { ExternalHrefPipe } from './pipes/external-href.pipe';
|
|
9
10
|
// directives
|
|
11
|
+
import { AttributeChangeDirective } from './directives/attribute-change.directive';
|
|
10
12
|
import { InnerContentDirective } from './directives/inner-content.directive';
|
|
11
13
|
import { ClickOutsideDirective } from './directives/click-outside.directive';
|
|
14
|
+
import { ContentChangeDirective } from './directives/content-change.directive';
|
|
15
|
+
import { ContentEmptyDirective } from './directives/content-empty.directive';
|
|
16
|
+
import { CustomInnerContentDirective } from './directives/custom-inner-content.directive';
|
|
12
17
|
export class SharedModule {
|
|
13
18
|
}
|
|
14
19
|
SharedModule.decorators = [
|
|
@@ -16,14 +21,21 @@ SharedModule.decorators = [
|
|
|
16
21
|
declarations: [
|
|
17
22
|
// components
|
|
18
23
|
AccessibilityComponent,
|
|
24
|
+
ContentBaseComponent,
|
|
19
25
|
TextOrHtmlRequiredComponent,
|
|
20
26
|
AccessibilityAndTextOrHtmlRequiredComponent,
|
|
27
|
+
AccessibilityAndContentRequiredComponent,
|
|
21
28
|
// pipes
|
|
22
29
|
InnerHtmlPipe,
|
|
23
30
|
MakeHtmlListPipe,
|
|
31
|
+
ExternalHrefPipe,
|
|
24
32
|
// directives
|
|
33
|
+
AttributeChangeDirective,
|
|
25
34
|
InnerContentDirective,
|
|
26
|
-
ClickOutsideDirective
|
|
35
|
+
ClickOutsideDirective,
|
|
36
|
+
ContentChangeDirective,
|
|
37
|
+
ContentEmptyDirective,
|
|
38
|
+
CustomInnerContentDirective,
|
|
27
39
|
],
|
|
28
40
|
imports: [
|
|
29
41
|
CommonModule,
|
|
@@ -32,15 +44,22 @@ SharedModule.decorators = [
|
|
|
32
44
|
RouterModule,
|
|
33
45
|
// components
|
|
34
46
|
AccessibilityComponent,
|
|
47
|
+
ContentBaseComponent,
|
|
35
48
|
TextOrHtmlRequiredComponent,
|
|
36
49
|
AccessibilityAndTextOrHtmlRequiredComponent,
|
|
50
|
+
AccessibilityAndContentRequiredComponent,
|
|
37
51
|
// pipes
|
|
38
52
|
InnerHtmlPipe,
|
|
39
53
|
MakeHtmlListPipe,
|
|
54
|
+
ExternalHrefPipe,
|
|
40
55
|
// directives
|
|
56
|
+
AttributeChangeDirective,
|
|
41
57
|
InnerContentDirective,
|
|
42
|
-
ClickOutsideDirective
|
|
58
|
+
ClickOutsideDirective,
|
|
59
|
+
ContentChangeDirective,
|
|
60
|
+
ContentEmptyDirective,
|
|
61
|
+
CustomInnerContentDirective,
|
|
43
62
|
]
|
|
44
63
|
},] }
|
|
45
64
|
];
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL3NoYXJlZC9zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxhQUFhO0FBQ2IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJDQUEyQyxFQUMzQyx3Q0FBd0MsRUFDekMsTUFBTSxjQUFjLENBQUM7QUFFdEIsUUFBUTtBQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFvRDFGLE1BQU0sT0FBTyxZQUFZOzs7WUFqRHhCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQiwyQ0FBMkM7b0JBQzNDLHdDQUF3QztvQkFFeEMsUUFBUTtvQkFDUixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUVoQixhQUFhO29CQUNiLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtvQkFDdEIscUJBQXFCO29CQUNyQiwyQkFBMkI7aUJBQzVCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUVaLGFBQWE7b0JBQ2Isc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLDJCQUEyQjtvQkFDM0IsMkNBQTJDO29CQUMzQyx3Q0FBd0M7b0JBRXhDLFFBQVE7b0JBQ1IsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFFaEIsYUFBYTtvQkFDYix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIscUJBQXFCO29CQUNyQixzQkFBc0I7b0JBQ3RCLHFCQUFxQjtvQkFDckIsMkJBQTJCO2lCQUM1QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vIGNvbXBvbmVudHNcclxuaW1wb3J0IHtcclxuICBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50LFxyXG4gIENvbnRlbnRCYXNlQ29tcG9uZW50LFxyXG4gIFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCxcclxuICBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50LFxyXG4gIEFjY2Vzc2liaWxpdHlBbmRDb250ZW50UmVxdWlyZWRDb21wb25lbnRcclxufSBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5cclxuLy8gcGlwZXNcclxuaW1wb3J0IHsgSW5uZXJIdG1sUGlwZSB9IGZyb20gJy4vcGlwZXMvaW5uZXItaHRtbC5waXBlJztcclxuaW1wb3J0IHsgTWFrZUh0bWxMaXN0UGlwZSB9IGZyb20gJy4vcGlwZXMvbWFrZS1odG1sLWxpc3QucGlwZSc7XHJcbmltcG9ydCB7IEV4dGVybmFsSHJlZlBpcGUgfSBmcm9tICcuL3BpcGVzL2V4dGVybmFsLWhyZWYucGlwZSc7XHJcblxyXG4vLyBkaXJlY3RpdmVzXHJcbmltcG9ydCB7IEF0dHJpYnV0ZUNoYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdHRyaWJ1dGUtY2hhbmdlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElubmVyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbm5lci1jb250ZW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRDaGFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29udGVudC1jaGFuZ2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEVtcHR5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbnRlbnQtZW1wdHkuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ3VzdG9tSW5uZXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2N1c3RvbS1pbm5lci1jb250ZW50LmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC8vIGNvbXBvbmVudHNcclxuICAgIEFjY2Vzc2liaWxpdHlDb21wb25lbnQsXHJcbiAgICBDb250ZW50QmFzZUNvbXBvbmVudCxcclxuICAgIFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCxcclxuICAgIEFjY2Vzc2liaWxpdHlBbmRUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnQsXHJcbiAgICBBY2Nlc3NpYmlsaXR5QW5kQ29udGVudFJlcXVpcmVkQ29tcG9uZW50LFxyXG5cclxuICAgIC8vIHBpcGVzXHJcbiAgICBJbm5lckh0bWxQaXBlLFxyXG4gICAgTWFrZUh0bWxMaXN0UGlwZSxcclxuICAgIEV4dGVybmFsSHJlZlBpcGUsXHJcblxyXG4gICAgLy8gZGlyZWN0aXZlc1xyXG4gICAgQXR0cmlidXRlQ2hhbmdlRGlyZWN0aXZlLFxyXG4gICAgSW5uZXJDb250ZW50RGlyZWN0aXZlLFxyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudENoYW5nZURpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRFbXB0eURpcmVjdGl2ZSxcclxuICAgIEN1c3RvbUlubmVyQ29udGVudERpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJvdXRlck1vZHVsZSxcclxuXHJcbiAgICAvLyBjb21wb25lbnRzXHJcbiAgICBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50LFxyXG4gICAgQ29udGVudEJhc2VDb21wb25lbnQsXHJcbiAgICBUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnQsXHJcbiAgICBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50LFxyXG4gICAgQWNjZXNzaWJpbGl0eUFuZENvbnRlbnRSZXF1aXJlZENvbXBvbmVudCxcclxuXHJcbiAgICAvLyBwaXBlc1xyXG4gICAgSW5uZXJIdG1sUGlwZSxcclxuICAgIE1ha2VIdG1sTGlzdFBpcGUsXHJcbiAgICBFeHRlcm5hbEhyZWZQaXBlLFxyXG5cclxuICAgIC8vIGRpcmVjdGl2ZXNcclxuICAgIEF0dHJpYnV0ZUNoYW5nZURpcmVjdGl2ZSxcclxuICAgIElubmVyQ29udGVudERpcmVjdGl2ZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRDaGFuZ2VEaXJlY3RpdmUsXHJcbiAgICBDb250ZW50RW1wdHlEaXJlY3RpdmUsXHJcbiAgICBDdXN0b21Jbm5lckNvbnRlbnREaXJlY3RpdmUsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -48,4 +48,4 @@ export class FocusUtils {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvdXRpbHMvZm9jdXMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFFZCxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBb0I7UUFDekQsTUFBTSxxQkFBcUIsR0FBRywwRUFBMEUsQ0FBQztRQUN6RyxJQUFJLGFBQWEsQ0FBQztRQUNsQixJQUFJLE1BQU0sRUFBRTtZQUNWLGFBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDL0IsSUFBSTtnQkFDRixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBcUIsQ0FBQztnQkFDMUQsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNuQyxjQUFjLEdBQUcsT0FBTyxDQUFDO29CQUN6QixNQUFNO2lCQUNQO2FBQ0Y7WUFBQyxPQUFPLENBQUMsRUFBRTthQUVYO1lBQ0QsQ0FBQyxFQUFFLENBQUM7U0FDTDtRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQVk7UUFDcEMsSUFBSSxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDakcsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssR0FBRztnQkFDTixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO1lBQ3BELEtBQUssT0FBTztnQkFDVixPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO1lBQzlELEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLENBQUM7WUFDZDtnQkFDRSxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGb2N1c1V0aWxzIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQocGFyZW50PzogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25hYmxlRWxlbWVudHMgPSAnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknO1xyXG4gICAgbGV0IGZvY3VzYWJsZUxpc3Q7XHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIGZvY3VzYWJsZUxpc3QgPSBwYXJlbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rpb25hYmxlRWxlbWVudHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9jdXNhYmxlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0aW9uYWJsZUVsZW1lbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWZvY3VzYWJsZUxpc3QgfHwgZm9jdXNhYmxlTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGZpcnN0Rm9jdXNhYmxlID0gbnVsbDtcclxuICAgIGxldCBpID0gMDtcclxuICAgIHdoaWxlIChpIDwgZm9jdXNhYmxlTGlzdC5sZW5ndGgpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZm9jdXNhYmxlTGlzdC5pdGVtKGkpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKEZvY3VzVXRpbHMuaXNGb2N1c2FibGUoZWxlbWVudCkpIHtcclxuICAgICAgICAgIGZpcnN0Rm9jdXNhYmxlID0gZWxlbWVudDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG5cclxuICAgICAgfVxyXG4gICAgICBpKys7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpcnN0Rm9jdXNhYmxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc0ZvY3VzYWJsZShlbGVtZW50OiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmIChlbGVtZW50LnRhYkluZGV4ID4gMCB8fCAoZWxlbWVudC50YWJJbmRleCA9PT0gMCAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZSgndGFiSW5kZXgnKSAhPT0gbnVsbCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAoZWxlbWVudC5ub2RlTmFtZSkge1xyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gISFlbGVtZW50LmhyZWYgJiYgZWxlbWVudC5yZWwgIT09ICdpZ25vcmUnO1xyXG4gICAgICBjYXNlICdJTlBVVCc6XHJcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQudHlwZSAhPT0gJ2hpZGRlbicgJiYgZWxlbWVudC50eXBlICE9PSAnZmlsZSc7XHJcbiAgICAgIGNhc2UgJ0JVVFRPTic6XHJcbiAgICAgIGNhc2UgJ1NFTEVDVCc6XHJcbiAgICAgIGNhc2UgJ1RFWFRBUkVBJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -54,4 +54,4 @@ export class SearchUtils {
|
|
|
54
54
|
return res;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3V0aWxzL3NlYXJjaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUV0Qjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFFBQWtCO1FBQ2hGLElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksZ0JBQWdCLElBQUksSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsUUFBUSxJQUFJLGdCQUFnQixLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQzt1QkFDMUQsQ0FBQyxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbkYsUUFBUSxHQUFHLElBQUksQ0FBQztpQkFDakI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQzVDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1QjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNlYXJjaFV0aWxzIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHJ1ZWJhIHNpIHVuYSBjYWRlbmEgZGUgdGV4dG8gKHRhcmdldCkgY29udGllbmUgY3VhbHF1aWVyIHBhbGFicmEgZGUgb3RybyB0ZXh0byAodGV4dClcclxuICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGV4dG8gZW4gZWwgcXVlIGJ1c2NhclxyXG4gICAqIEBwYXJhbSB0ZXh0IC0gVGV4dG8gYSBidXNjYXJcclxuICAgKiBAcGFyYW0gZnVsbFdvcmQgLSBJbmRpY2Egc2kgbGFzIHBhbGFicmFzIGRlbCB0ZXh0byBhIGJ1c2NhciBkZWJlbiBhcGFyZWNlciBlbnRlcmFzXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBjb250YWluc0FueVdvcmRGcm9tKHRhcmdldDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGZ1bGxXb3JkPzogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHdvcmRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGluY2x1ZGVzID0gZmFsc2U7XHJcbiAgICBjb25zdCBzaW1wbGlmaWVkVGFyZ2V0ID0gdGhpcy5nZXRTaW1wbGlmaWVkU3RyaW5nKHRhcmdldCk7XHJcblxyXG4gICAgaWYgKHRleHQgJiYgdGV4dC5zcGxpdCgnICcpLmxlbmd0aCA+IDEpIHtcclxuICAgICAgd29yZHMgPSB0ZXh0LnNwbGl0KCcgJyk7XHJcbiAgICB9XHJcbiAgICB3b3Jkcy5wdXNoKHRleHQpO1xyXG5cclxuICAgIHdvcmRzLmZvckVhY2god29yZCA9PiB7XHJcbiAgICAgIGlmIChzaW1wbGlmaWVkVGFyZ2V0ICYmIHdvcmQpIHtcclxuICAgICAgICBpZiAoKGZ1bGxXb3JkICYmIHNpbXBsaWZpZWRUYXJnZXQgPT09IHRoaXMuZ2V0U2ltcGxpZmllZFN0cmluZyh3b3JkKSlcclxuICAgICAgICAgICAgICAgIHx8ICghZnVsbFdvcmQgJiYgc2ltcGxpZmllZFRhcmdldC5pbmNsdWRlcyh0aGlzLmdldFNpbXBsaWZpZWRTdHJpbmcod29yZCkpKSkge1xyXG4gICAgICAgICAgaW5jbHVkZXMgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGluY2x1ZGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmllcnRlIGEgbWF5w7pzY3VsYXMsIGVsaW1pbmEgZXNwYWNpb3MgeSByZWVtcGxhemEvZWxpbWluYSBjYXJhY3RlcmVzIGVzcGVjaWFsZXMgcGFyYSByZWFsaXphciBjb21wYXJhY2lvbmVzIG3DoXMgdG9sZXJhbnRlc1xyXG4gICAqIEBwYXJhbSBzdHIgLSBjYWRlbmEgZGUgZW50cmFkYVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFNpbXBsaWZpZWRTdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlcyA9IHN0cjtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmVzID0gc3RyLnRvTG9jYWxlVXBwZXJDYXNlKCkudHJpbSgpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4EnLCAnQScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4knLCAnRScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw40nLCAnSScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5MnLCAnTycpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5onLCAnVScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4AnLCAnQScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4gnLCAnRScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4wnLCAnSScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5InLCAnTycpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5knLCAnVScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4QnLCAnQScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw4snLCAnRScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw48nLCAnSScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5YnLCAnTycpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnw5wnLCAnVScpO1xyXG4gICAgICByZXMgPSByZXMucmVwbGFjZSgnLCcsICcnKTtcclxuICAgICAgcmVzID0gcmVzLnJlcGxhY2UoJy4nLCAnJyk7XHJcbiAgICAgIHJlcyA9IHJlcy5yZXBsYWNlKCdcXCcnLCAnJyk7XHJcbiAgICAgIHJlcyA9IHJlcy5yZXBsYWNlKCdcIicsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Facilita funciones de utilidad para trabajar con strings
|
|
3
|
+
*/
|
|
4
|
+
export class StringUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Escapa los caracteres propios de HTML para mostrarlos como contenido
|
|
7
|
+
* @param value texto en formato html
|
|
8
|
+
*/
|
|
9
|
+
static escapeHtml(value) {
|
|
10
|
+
return value ? value
|
|
11
|
+
.replace(new RegExp(`&`, 'g'), '&')
|
|
12
|
+
.replace(new RegExp(`<`, 'g'), '<')
|
|
13
|
+
.replace(new RegExp(`>`, 'g'), '>')
|
|
14
|
+
.replace(new RegExp(`"`, 'g'), '"')
|
|
15
|
+
.replace(new RegExp(`'`, 'g'), ''') : '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBRXRCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSzthQUNqQixPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQzthQUN0QyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQzthQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQzthQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQzthQUN2QyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEZhY2lsaXRhIGZ1bmNpb25lcyBkZSB1dGlsaWRhZCBwYXJhIHRyYWJhamFyIGNvbiBzdHJpbmdzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3RyaW5nVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBFc2NhcGEgbG9zIGNhcmFjdGVyZXMgcHJvcGlvcyBkZSBIVE1MIHBhcmEgbW9zdHJhcmxvcyBjb21vIGNvbnRlbmlkb1xyXG4gICAqIEBwYXJhbSB2YWx1ZSB0ZXh0byBlbiBmb3JtYXRvIGh0bWxcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGVzY2FwZUh0bWwodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZVxyXG4gICAgICAucmVwbGFjZShuZXcgUmVnRXhwKGAmYCwgJ2cnKSwgJyZhbXA7JylcclxuICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgPGAsICdnJyksICcmbHQ7JylcclxuICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgPmAsICdnJyksICcmZ3Q7JylcclxuICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgXCJgLCAnZycpLCAnJnF1b3Q7JylcclxuICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJ2AsICdnJyksICcmIzM5OycpIDogJyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|