ngx-bootstrap 5.4.0 → 5.6.2
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/CHANGELOG.md +138 -99
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -2
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
- package/accordion/fesm2015/ngx-bootstrap-accordion.js +79 -0
- package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/package.json +2 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
- package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
- package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
- package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
- package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
- package/alert/package.json +2 -2
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
- package/buttons/button-radio-group.directive.d.ts +4 -1
- package/buttons/esm2015/button-radio-group.directive.js +26 -2
- package/buttons/esm5/button-radio-group.directive.js +30 -2
- package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
- package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
- package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
- package/buttons/package.json +2 -2
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js +295 -4
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
- package/carousel/carousel.component.d.ts +2 -0
- package/carousel/esm2015/carousel.component.js +15 -2
- package/carousel/esm2015/slide.component.js +21 -2
- package/carousel/esm5/carousel.component.js +15 -2
- package/carousel/esm5/slide.component.js +6 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -4
- package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
- package/carousel/package.json +2 -2
- package/carousel/slide.component.d.ts +1 -0
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/format/format.js +1 -1
- package/chronos/esm2015/i18n/ka.js +108 -0
- package/chronos/esm2015/i18n/kk.js +89 -0
- package/chronos/esm2015/i18n/sq.js +62 -0
- package/chronos/esm2015/i18n/th-be.js +85 -0
- package/chronos/esm2015/index.js +2 -2
- package/chronos/esm2015/locale/locale.class.js +16 -2
- package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm2015/public_api.js +5 -1
- package/chronos/esm2015/units/year.js +4 -1
- package/chronos/esm5/format/format.js +1 -1
- package/chronos/esm5/i18n/ka.js +108 -0
- package/chronos/esm5/i18n/kk.js +89 -0
- package/chronos/esm5/i18n/sq.js +62 -0
- package/chronos/esm5/i18n/th-be.js +86 -0
- package/chronos/esm5/index.js +2 -2
- package/chronos/esm5/locale/locale.class.js +22 -2
- package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm5/public_api.js +5 -1
- package/chronos/esm5/units/year.js +4 -1
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/i18n/ka.d.ts +2 -0
- package/chronos/i18n/kk.d.ts +2 -0
- package/chronos/i18n/sq.d.ts +2 -0
- package/chronos/i18n/th-be.d.ts +2 -0
- package/chronos/locale/locale.class.d.ts +2 -0
- package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
- package/chronos/package.json +2 -2
- package/chronos/public_api.d.ts +4 -0
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
- package/collapse/collapse.directive.d.ts +1 -0
- package/collapse/esm2015/collapse.directive.js +14 -1
- package/collapse/esm5/collapse.directive.js +14 -1
- package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
- package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
- package/collapse/package.json +2 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +177 -0
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +2 -2
- package/datepicker/base/bs-datepicker-container.d.ts +4 -1
- package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
- package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-datepicker.component.d.ts +12 -3
- package/datepicker/bs-datepicker.config.d.ts +26 -0
- package/datepicker/bs-datepicker.css +19 -1
- package/datepicker/bs-datepicker.css.map +3 -3
- package/datepicker/bs-datepicker.scss +0 -1
- package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
- package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-daterangepicker.component.d.ts +16 -3
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2116 -106
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +18 -3
- package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
- package/datepicker/esm2015/bs-datepicker.component.js +55 -8
- package/datepicker/esm2015/bs-datepicker.config.js +36 -2
- package/datepicker/esm2015/bs-datepicker.module.js +23 -16
- package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
- package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
- package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
- package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
- package/datepicker/esm5/base/bs-datepicker-container.js +26 -3
- package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
- package/datepicker/esm5/bs-datepicker.component.js +59 -8
- package/datepicker/esm5/bs-datepicker.config.js +36 -2
- package/datepicker/esm5/bs-datepicker.module.js +26 -19
- package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
- package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
- package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm5/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
- package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
- package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1958 -91
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1989 -93
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +2 -2
- package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
- package/datepicker/reducer/bs-datepicker.state.d.ts +2 -0
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
- package/datepicker/utils/scss/mixins.css.map +1 -1
- package/datepicker/utils/scss/mixins.scss +9 -0
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +395 -5
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
- package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
- package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm5/bs-dropdown.directive.js +9 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +241 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +242 -3
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
- package/dropdown/package.json +2 -2
- package/locale/bundles/ngx-bootstrap-locale.umd.js +36 -2
- package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
- package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
- package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
- package/locale/esm2015/public_api.js +5 -1
- package/locale/esm5/ngx-bootstrap-locale.js +2 -2
- package/locale/esm5/public_api.js +5 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
- package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
- package/locale/ngx-bootstrap-locale.metadata.json +1 -1
- package/locale/package.json +2 -2
- package/locale/public_api.d.ts +4 -0
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -2
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +15 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/package.json +2 -2
- package/modal/bs-modal.service.d.ts +1 -2
- package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
- package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
- package/modal/esm2015/bs-modal.service.js +13 -4
- package/modal/esm2015/modal-container.component.js +24 -5
- package/modal/esm2015/modal-options.class.js +16 -1
- package/modal/esm2015/modal.directive.js +21 -4
- package/modal/esm2015/modal.module.js +10 -1
- package/modal/esm5/bs-modal.service.js +28 -8
- package/modal/esm5/modal-container.component.js +28 -5
- package/modal/esm5/modal-options.class.js +16 -1
- package/modal/esm5/modal.directive.js +25 -4
- package/modal/esm5/modal.module.js +13 -1
- package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
- package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
- package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
- package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
- package/modal/modal-container.component.d.ts +3 -1
- package/modal/modal-options.class.d.ts +13 -0
- package/modal/modal.directive.d.ts +3 -1
- package/modal/modal.module.d.ts +1 -0
- package/modal/ngx-bootstrap-modal.metadata.json +1 -1
- package/modal/package.json +2 -2
- package/package.json +2 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
- package/pagination/esm2015/models/index.js +49 -4
- package/pagination/esm2015/pager.component.js +2 -2
- package/pagination/esm2015/pagination.component.js +33 -3
- package/pagination/esm2015/public_api.js +1 -1
- package/pagination/esm5/models/index.js +49 -4
- package/pagination/esm5/pager.component.js +2 -2
- package/pagination/esm5/pagination.component.js +33 -3
- package/pagination/esm5/public_api.js +1 -1
- package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
- package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
- package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/models/index.d.ts +28 -0
- package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
- package/pagination/package.json +2 -2
- package/pagination/pagination.component.d.ts +12 -2
- package/pagination/public_api.d.ts +1 -0
- package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover.config.js +10 -1
- package/popover/esm2015/popover.directive.js +97 -16
- package/popover/esm5/popover.config.js +10 -1
- package/popover/esm5/popover.directive.js +98 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +2 -2
- package/popover/popover.config.d.ts +2 -0
- package/popover/popover.directive.d.ts +9 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/modifiers/arrow.js +19 -5
- package/positioning/esm2015/modifiers/initData.js +12 -2
- package/positioning/esm2015/modifiers/shift.js +6 -4
- package/positioning/esm5/modifiers/arrow.js +19 -5
- package/positioning/esm5/modifiers/initData.js +12 -2
- package/positioning/esm5/modifiers/shift.js +8 -6
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/package.json +2 -2
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/package.json +2 -2
- package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
- package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
- package/rating/esm2015/ngx-bootstrap-rating.js +2 -2
- package/rating/esm2015/public_api.js +2 -1
- package/rating/esm2015/rating.component.js +14 -5
- package/rating/esm2015/rating.config.js +27 -0
- package/rating/esm2015/rating.module.js +3 -2
- package/rating/esm5/ngx-bootstrap-rating.js +2 -2
- package/rating/esm5/public_api.js +2 -1
- package/rating/esm5/rating.component.js +13 -5
- package/rating/esm5/rating.config.js +29 -0
- package/rating/esm5/rating.module.js +3 -2
- package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
- package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
- package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
- package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
- package/rating/ngx-bootstrap-rating.metadata.json +1 -1
- package/rating/package.json +2 -2
- package/rating/public_api.d.ts +1 -0
- package/rating/rating.component.d.ts +4 -1
- package/rating/rating.config.d.ts +5 -0
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
- package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
- package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/package.json +2 -2
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
- package/tabs/esm2015/tab.directive.js +13 -2
- package/tabs/esm2015/tabset.component.js +7 -2
- package/tabs/esm2015/tabset.config.js +10 -1
- package/tabs/esm5/tab.directive.js +17 -2
- package/tabs/esm5/tabset.component.js +7 -2
- package/tabs/esm5/tabset.config.js +10 -1
- package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
- package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
- package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
- package/tabs/package.json +2 -2
- package/tabs/tab.directive.d.ts +2 -0
- package/tabs/tabset.component.d.ts +2 -0
- package/tabs/tabset.config.d.ts +2 -0
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
- package/timepicker/esm2015/timepicker.component.js +8 -2
- package/timepicker/esm2015/timepicker.config.js +28 -1
- package/timepicker/esm2015/timepicker.utils.js +9 -6
- package/timepicker/esm5/timepicker.component.js +8 -2
- package/timepicker/esm5/timepicker.config.js +28 -1
- package/timepicker/esm5/timepicker.utils.js +9 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -7
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
- package/timepicker/package.json +2 -2
- package/timepicker/timepicker.component.d.ts +3 -0
- package/timepicker/timepicker.config.d.ts +6 -0
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +355 -8
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip.directive.js +47 -10
- package/tooltip/esm5/tooltip.directive.js +50 -10
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +200 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +203 -7
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +2 -2
- package/tooltip/tooltip.directive.d.ts +3 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +719 -43
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/models/index.js +87 -0
- package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm2015/public_api.js +2 -1
- package/typeahead/esm2015/typeahead-container.component.js +52 -11
- package/typeahead/esm2015/typeahead-order.class.js +19 -0
- package/typeahead/esm2015/typeahead.config.js +10 -1
- package/typeahead/esm2015/typeahead.directive.js +133 -30
- package/typeahead/esm5/models/index.js +87 -0
- package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm5/public_api.js +2 -1
- package/typeahead/esm5/typeahead-container.component.js +59 -11
- package/typeahead/esm5/typeahead-order.class.js +23 -0
- package/typeahead/esm5/typeahead.config.js +10 -1
- package/typeahead/esm5/typeahead.directive.js +140 -36
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +550 -37
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +567 -43
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/models/index.d.ts +41 -0
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +2 -2
- package/typeahead/public_api.d.ts +2 -0
- package/typeahead/typeahead-container.component.d.ts +10 -5
- package/typeahead/typeahead-order.class.d.ts +6 -0
- package/typeahead/typeahead.config.d.ts +2 -0
- package/typeahead/typeahead.directive.d.ts +28 -10
- package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
- package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
- package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
- package/utils/package.json +2 -2
- package/bundles/ngx-bootstrap.umd.js +0 -1037
- package/bundles/ngx-bootstrap.umd.js.map +0 -1
- package/bundles/ngx-bootstrap.umd.min.js +0 -2
- package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
- package/esm2015/ngx-bootstrap.js +0 -9
- package/esm2015/public_api.js +0 -30
- package/esm5/ngx-bootstrap.js +0 -9
- package/esm5/public_api.js +0 -30
- package/fesm2015/ngx-bootstrap.js +0 -24
- package/fesm2015/ngx-bootstrap.js.map +0 -1
- package/fesm5/ngx-bootstrap.js +0 -24
- package/fesm5/ngx-bootstrap.js.map +0 -1
- package/ngx-bootstrap.d.ts +0 -4
- package/ngx-bootstrap.metadata.json +0 -1
- package/public_api.d.ts +0 -25
@@ -2,7 +2,7 @@
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-bootstrap/utils'), require('ngx-bootstrap/positioning')) :
|
3
3
|
typeof define === 'function' && define.amd ? define('ngx-bootstrap/component-loader', ['exports', '@angular/core', 'ngx-bootstrap/utils', 'ngx-bootstrap/positioning'], factory) :
|
4
4
|
(global = global || self, factory((global['ngx-bootstrap'] = global['ngx-bootstrap'] || {}, global['ngx-bootstrap']['component-loader'] = {}), global.ng.core, global.utils, global.positioning));
|
5
|
-
}(this, function (exports, core, utils, positioning) { 'use strict';
|
5
|
+
}(this, (function (exports, core, utils, positioning) { 'use strict';
|
6
6
|
|
7
7
|
/**
|
8
8
|
* @fileoverview added by tsickle
|
@@ -19,6 +19,12 @@
|
|
19
19
|
}
|
20
20
|
return BsComponentRef;
|
21
21
|
}());
|
22
|
+
if (false) {
|
23
|
+
/** @type {?} */
|
24
|
+
BsComponentRef.prototype.templateRef;
|
25
|
+
/** @type {?} */
|
26
|
+
BsComponentRef.prototype.viewContainer;
|
27
|
+
}
|
22
28
|
|
23
29
|
/**
|
24
30
|
* @fileoverview added by tsickle
|
@@ -40,6 +46,14 @@
|
|
40
46
|
}
|
41
47
|
return ContentRef;
|
42
48
|
}());
|
49
|
+
if (false) {
|
50
|
+
/** @type {?} */
|
51
|
+
ContentRef.prototype.nodes;
|
52
|
+
/** @type {?} */
|
53
|
+
ContentRef.prototype.viewRef;
|
54
|
+
/** @type {?} */
|
55
|
+
ContentRef.prototype.componentRef;
|
56
|
+
}
|
43
57
|
|
44
58
|
/**
|
45
59
|
* @fileoverview added by tsickle
|
@@ -499,6 +513,132 @@
|
|
499
513
|
};
|
500
514
|
return ComponentLoader;
|
501
515
|
}());
|
516
|
+
if (false) {
|
517
|
+
/** @type {?} */
|
518
|
+
ComponentLoader.prototype.onBeforeShow;
|
519
|
+
/** @type {?} */
|
520
|
+
ComponentLoader.prototype.onShown;
|
521
|
+
/** @type {?} */
|
522
|
+
ComponentLoader.prototype.onBeforeHide;
|
523
|
+
/** @type {?} */
|
524
|
+
ComponentLoader.prototype.onHidden;
|
525
|
+
/** @type {?} */
|
526
|
+
ComponentLoader.prototype.instance;
|
527
|
+
/** @type {?} */
|
528
|
+
ComponentLoader.prototype._componentRef;
|
529
|
+
/** @type {?} */
|
530
|
+
ComponentLoader.prototype._inlineViewRef;
|
531
|
+
/**
|
532
|
+
* @type {?}
|
533
|
+
* @private
|
534
|
+
*/
|
535
|
+
ComponentLoader.prototype._providers;
|
536
|
+
/**
|
537
|
+
* @type {?}
|
538
|
+
* @private
|
539
|
+
*/
|
540
|
+
ComponentLoader.prototype._componentFactory;
|
541
|
+
/**
|
542
|
+
* @type {?}
|
543
|
+
* @private
|
544
|
+
*/
|
545
|
+
ComponentLoader.prototype._zoneSubscription;
|
546
|
+
/**
|
547
|
+
* @type {?}
|
548
|
+
* @private
|
549
|
+
*/
|
550
|
+
ComponentLoader.prototype._contentRef;
|
551
|
+
/**
|
552
|
+
* @type {?}
|
553
|
+
* @private
|
554
|
+
*/
|
555
|
+
ComponentLoader.prototype._innerComponent;
|
556
|
+
/**
|
557
|
+
* @type {?}
|
558
|
+
* @private
|
559
|
+
*/
|
560
|
+
ComponentLoader.prototype._unregisterListenersFn;
|
561
|
+
/**
|
562
|
+
* @type {?}
|
563
|
+
* @private
|
564
|
+
*/
|
565
|
+
ComponentLoader.prototype._isHiding;
|
566
|
+
/**
|
567
|
+
* Placement of a component. Accepts: "top", "bottom", "left", "right"
|
568
|
+
* @type {?}
|
569
|
+
* @private
|
570
|
+
*/
|
571
|
+
ComponentLoader.prototype.attachment;
|
572
|
+
/**
|
573
|
+
* A selector specifying the element the popover should be appended to.
|
574
|
+
* @type {?}
|
575
|
+
* @private
|
576
|
+
*/
|
577
|
+
ComponentLoader.prototype.container;
|
578
|
+
/**
|
579
|
+
* A selector used if container element was not found
|
580
|
+
* @type {?}
|
581
|
+
* @private
|
582
|
+
*/
|
583
|
+
ComponentLoader.prototype.containerDefaultSelector;
|
584
|
+
/**
|
585
|
+
* Specifies events that should trigger. Supports a space separated list of
|
586
|
+
* event names.
|
587
|
+
* @type {?}
|
588
|
+
* @private
|
589
|
+
*/
|
590
|
+
ComponentLoader.prototype.triggers;
|
591
|
+
/**
|
592
|
+
* @type {?}
|
593
|
+
* @private
|
594
|
+
*/
|
595
|
+
ComponentLoader.prototype._listenOpts;
|
596
|
+
/**
|
597
|
+
* @type {?}
|
598
|
+
* @private
|
599
|
+
*/
|
600
|
+
ComponentLoader.prototype._globalListener;
|
601
|
+
/**
|
602
|
+
* @type {?}
|
603
|
+
* @private
|
604
|
+
*/
|
605
|
+
ComponentLoader.prototype._viewContainerRef;
|
606
|
+
/**
|
607
|
+
* @type {?}
|
608
|
+
* @private
|
609
|
+
*/
|
610
|
+
ComponentLoader.prototype._renderer;
|
611
|
+
/**
|
612
|
+
* @type {?}
|
613
|
+
* @private
|
614
|
+
*/
|
615
|
+
ComponentLoader.prototype._elementRef;
|
616
|
+
/**
|
617
|
+
* @type {?}
|
618
|
+
* @private
|
619
|
+
*/
|
620
|
+
ComponentLoader.prototype._injector;
|
621
|
+
/**
|
622
|
+
* @type {?}
|
623
|
+
* @private
|
624
|
+
*/
|
625
|
+
ComponentLoader.prototype._componentFactoryResolver;
|
626
|
+
/**
|
627
|
+
* @type {?}
|
628
|
+
* @private
|
629
|
+
*/
|
630
|
+
ComponentLoader.prototype._ngZone;
|
631
|
+
/**
|
632
|
+
* @type {?}
|
633
|
+
* @private
|
634
|
+
*/
|
635
|
+
ComponentLoader.prototype._applicationRef;
|
636
|
+
/**
|
637
|
+
* @type {?}
|
638
|
+
* @private
|
639
|
+
*/
|
640
|
+
ComponentLoader.prototype._posService;
|
641
|
+
}
|
502
642
|
|
503
643
|
/**
|
504
644
|
* @fileoverview added by tsickle
|
@@ -550,6 +690,33 @@
|
|
550
690
|
]; };
|
551
691
|
return ComponentLoaderFactory;
|
552
692
|
}());
|
693
|
+
if (false) {
|
694
|
+
/**
|
695
|
+
* @type {?}
|
696
|
+
* @private
|
697
|
+
*/
|
698
|
+
ComponentLoaderFactory.prototype._componentFactoryResolver;
|
699
|
+
/**
|
700
|
+
* @type {?}
|
701
|
+
* @private
|
702
|
+
*/
|
703
|
+
ComponentLoaderFactory.prototype._ngZone;
|
704
|
+
/**
|
705
|
+
* @type {?}
|
706
|
+
* @private
|
707
|
+
*/
|
708
|
+
ComponentLoaderFactory.prototype._injector;
|
709
|
+
/**
|
710
|
+
* @type {?}
|
711
|
+
* @private
|
712
|
+
*/
|
713
|
+
ComponentLoaderFactory.prototype._posService;
|
714
|
+
/**
|
715
|
+
* @type {?}
|
716
|
+
* @private
|
717
|
+
*/
|
718
|
+
ComponentLoaderFactory.prototype._applicationRef;
|
719
|
+
}
|
553
720
|
|
554
721
|
exports.BsComponentRef = BsComponentRef;
|
555
722
|
exports.ComponentLoader = ComponentLoader;
|
@@ -558,5 +725,5 @@
|
|
558
725
|
|
559
726
|
Object.defineProperty(exports, '__esModule', { value: true });
|
560
727
|
|
561
|
-
}));
|
728
|
+
})));
|
562
729
|
//# sourceMappingURL=ngx-bootstrap-component-loader.umd.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-component-loader.umd.js","sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"],"names":["EventEmitter","Injector","ElementRef","listenToTriggersV2","registerOutsideClick","registerEscClick","TemplateRef","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-component-loader.umd.js","sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"],"names":["EventEmitter","Injector","ElementRef","listenToTriggersV2","registerOutsideClick","registerEscClick","TemplateRef","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("ngx-bootstrap/utils"),require("ngx-bootstrap/positioning")):"function"==typeof define&&define.amd?define("ngx-bootstrap/component-loader",["exports","@angular/core","ngx-bootstrap/utils","ngx-bootstrap/positioning"],t):t(((e=e||self)["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"]["component-loader"]={}),e.ng.core,e.utils,e.positioning)}(this,function(e,t,n,i){"use strict";var o=function(){}
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("ngx-bootstrap/utils"),require("ngx-bootstrap/positioning")):"function"==typeof define&&define.amd?define("ngx-bootstrap/component-loader",["exports","@angular/core","ngx-bootstrap/utils","ngx-bootstrap/positioning"],t):t(((e=e||self)["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"]["component-loader"]={}),e.ng.core,e.utils,e.positioning)}(this,(function(e,t,n,i){"use strict";var o=function(){};var s=function(e,t,n){this.nodes=e,this.viewRef=t,this.componentRef=n};var r=function(){function e(e,n,i,o,s,r,c,h){this._viewContainerRef=e,this._renderer=n,this._elementRef=i,this._injector=o,this._componentFactoryResolver=s,this._ngZone=r,this._applicationRef=c,this._posService=h,this.onBeforeShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.onBeforeHide=new t.EventEmitter,this.onHidden=new t.EventEmitter,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}return Object.defineProperty(e.prototype,"isShown",{get:function(){return!this._isHiding&&!!this._componentRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(e),this},e.prototype.to=function(e){return this.container=e||this.container,this},e.prototype.position=function(e){return this.attachment=e.attachment||this.attachment,this._elementRef=e.target||this._elementRef,this},e.prototype.provide=function(e){return this._providers.push(e),this},e.prototype.show=function(e){if(void 0===e&&(e={}),this._subscribePositioning(),this._innerComponent=null,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(e.content,e.context,e.initialState);var n=t.Injector.create({providers:this._providers,parent:this._injector});if(this._componentRef=this._componentFactory.create(n,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,e),this.container instanceof t.ElementRef&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),"string"==typeof this.container&&"undefined"!=typeof document)(document.querySelector(this.container)||document.querySelector(this.containerDefaultSelector)).appendChild(this._componentRef.location.nativeElement);!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef},e.prototype.hide=function(){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);var e=this._componentRef.location.nativeElement;return e.parentNode.removeChild(e),this._contentRef.componentRef&&this._contentRef.componentRef.destroy(),this._componentRef.destroy(),this._viewContainerRef&&this._contentRef.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._contentRef=null,this._componentRef=null,this._removeGlobalListener(),this.onHidden.emit(),this},e.prototype.toggle=function(){this.isShown?this.hide():this.show()},e.prototype.dispose=function(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()},e.prototype.listen=function(e){var t=this;this.triggers=e.triggers||this.triggers,this._listenOpts.outsideClick=e.outsideClick,this._listenOpts.outsideEsc=e.outsideEsc,e.target=e.target||this._elementRef.nativeElement;var i=this._listenOpts.hide=function(){return e.hide?e.hide():void t.hide()},o=this._listenOpts.show=function(n){e.show?e.show(n):t.show(n),n()};return this._unregisterListenersFn=n.listenToTriggersV2(this._renderer,{target:e.target,triggers:e.triggers,show:o,hide:i,toggle:function(e){t.isShown?i():o(e)}}),this},e.prototype._removeGlobalListener=function(){this._globalListener&&(this._globalListener(),this._globalListener=null)},e.prototype.attachInline=function(e,t){return this._inlineViewRef=e.createEmbeddedView(t),this},e.prototype._registerOutsideClick=function(){var e=this;if(this._componentRef&&this._componentRef.location){if(this._listenOpts.outsideClick){var t=this._componentRef.location.nativeElement;setTimeout((function(){e._globalListener=n.registerOutsideClick(e._renderer,{targets:[t,e._elementRef.nativeElement],outsideClick:e._listenOpts.outsideClick,hide:function(){return e._listenOpts.hide()}})}))}if(this._listenOpts.outsideEsc){var i=this._componentRef.location.nativeElement;this._globalListener=n.registerEscClick(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:function(){return e._listenOpts.hide()}})}}},e.prototype.getInnerComponent=function(){return this._innerComponent},e.prototype._subscribePositioning=function(){var e=this;!this._zoneSubscription&&this.attachment&&(this.onShown.subscribe((function(){e._posService.position({element:e._componentRef.location,target:e._elementRef,attachment:e.attachment,appendToBody:"body"===e.container})})),this._zoneSubscription=this._ngZone.onStable.subscribe((function(){e._componentRef&&e._posService.calcPosition()})))},e.prototype._unsubscribePositioning=function(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=null)},e.prototype._getContentRef=function(e,n,i){if(!e)return new s([]);if(e instanceof t.TemplateRef){if(this._viewContainerRef){var o=this._viewContainerRef.createEmbeddedView(e,n);return o.markForCheck(),new s([o.rootNodes],o)}var r=e.createEmbeddedView({});return this._applicationRef.attachView(r),new s([r.rootNodes],r)}if("function"==typeof e){var c=this._componentFactoryResolver.resolveComponentFactory(e),h=t.Injector.create({providers:this._providers,parent:this._injector}),a=c.create(h);return Object.assign(a.instance,i),this._applicationRef.attachView(a.hostView),new s([[a.location.nativeElement]],a.hostView,a)}return new s([[this._renderer.createText(""+e)]])},e}();var c=function(){function e(e,t,n,i,o){this._componentFactoryResolver=e,this._ngZone=t,this._injector=n,this._posService=i,this._applicationRef=o}return e.prototype.createLoader=function(e,t,n){return new r(t,n,e,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.NgZone},{type:t.Injector},{type:i.PositioningService},{type:t.ApplicationRef}]},e}();e.BsComponentRef=o,e.ComponentLoader=r,e.ComponentLoaderFactory=c,e.ContentRef=s,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
2
|
//# sourceMappingURL=ngx-bootstrap-component-loader.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"names":["ContentRef","nodes","viewRef","componentRef","this","ComponentLoader","_viewContainerRef","_renderer","_elementRef","_injector","_componentFactoryResolver","_ngZone","_applicationRef","_posService","onBeforeShow","EventEmitter","onShown","onBeforeHide","onHidden","_providers","_isHiding","containerDefaultSelector","_listenOpts","_globalListener","Function","prototype","Object","defineProperty","_componentRef","attach","compType","_componentFactory","resolveComponentFactory","to","container","position","opts","attachment","provide","provider","push","show","_subscribePositioning","_innerComponent","emit","_contentRef","_getContentRef","content","context","initialState","injector","Injector","create","providers","parent","attachView","hostView","instance","assign","ElementRef","nativeElement","appendChild","location","document","querySelector","parentElement","changeDetectorRef","markForCheck","detectChanges","_registerOutsideClick","hide","deletePositionElement","componentEl","parentNode","removeChild","destroy","remove","indexOf","_removeGlobalListener","toggle","isShown","dispose","_unsubscribePositioning","_unregisterListenersFn","listen","listenOpts","_this","triggers","outsideClick","outsideEsc","target","registerHide","listenToTriggersV2","attachInline","vRef","template","_inlineViewRef","createEmbeddedView","target_1","setTimeout","registerOutsideClick","targets","registerEscClick","getInnerComponent","_zoneSubscription","subscribe","element","appendToBody","onStable","calcPosition","unsubscribe","TemplateRef","_viewRef","rootNodes","contentCmptFactory","modalContentInjector","createText","ComponentLoaderFactory","createLoader","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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","sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["ng://ngx-bootstrap/component-loader/bs-component-ref.class.ts","ng://ngx-bootstrap/component-loader/content-ref.class.ts","ng://ngx-bootstrap/component-loader/component-loader.class.ts","ng://ngx-bootstrap/component-loader/component-loader.factory.ts"],"names":["nodes","viewRef","componentRef","this","ComponentLoader","_viewContainerRef","_renderer","_elementRef","_injector","_componentFactoryResolver","_ngZone","_applicationRef","_posService","onBeforeShow","EventEmitter","onShown","onBeforeHide","onHidden","_providers","_isHiding","containerDefaultSelector","_listenOpts","_globalListener","Function","prototype","Object","defineProperty","_componentRef","attach","compType","_componentFactory","resolveComponentFactory","to","container","position","opts","attachment","provide","provider","push","show","_subscribePositioning","_innerComponent","emit","_contentRef","_getContentRef","content","context","initialState","injector","Injector","create","providers","parent","attachView","hostView","instance","assign","ElementRef","nativeElement","appendChild","location","document","querySelector","parentElement","changeDetectorRef","markForCheck","detectChanges","_registerOutsideClick","hide","deletePositionElement","componentEl","parentNode","removeChild","destroy","remove","indexOf","_removeGlobalListener","toggle","isShown","dispose","_unsubscribePositioning","_unregisterListenersFn","listen","listenOpts","_this","triggers","outsideClick","outsideEsc","target","registerHide","listenToTriggersV2","attachInline","vRef","template","_inlineViewRef","createEmbeddedView","target_1","setTimeout","registerOutsideClick","targets","registerEscClick","getInnerComponent","_zoneSubscription","subscribe","element","appendToBody","onStable","calcPosition","unsubscribe","ContentRef","TemplateRef","_viewRef","rootNodes","contentCmptFactory","modalContentInjector","createText","ComponentLoaderFactory","createLoader","Injectable","ComponentFactoryResolver","NgZone","PositioningService","ApplicationRef"],"mappings":"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","sourcesContent":["import { TemplateRef, ViewContainerRef } from '@angular/core';\n\nexport class BsComponentRef<T> {\n templateRef: TemplateRef<T>;\n viewContainer: ViewContainerRef;\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\n\nexport class ContentRef {\n /* tslint:disable-next-line: no-any */\n nodes: any[];\n viewRef?: ViewRef;\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>;\n\n constructor(\n /* tslint:disable-next-line: no-any */\n nodes: any[],\n viewRef?: ViewRef,\n /* tslint:disable-next-line: no-any */\n componentRef?: ComponentRef<any>\n ) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\n","// tslint:disable:max-file-line-count\n// todo: add delay support\n// todo: merge events onShow, onShown, etc...\n// todo: add global positioning configuration?\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Injector,\n NgZone,\n Renderer2,\n StaticProvider,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\n\nimport { PositioningOptions, PositioningService } from 'ngx-bootstrap/positioning';\n\nimport {\n listenToTriggersV2,\n registerEscClick,\n registerOutsideClick\n} from 'ngx-bootstrap/utils';\n\nimport { ContentRef } from './content-ref.class';\nimport { ListenOptions } from './listen-options.model';\nimport { Subscription } from 'rxjs';\n\nexport class ComponentLoader<T> {\n onBeforeShow: EventEmitter<void> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onShown: EventEmitter<any> = new EventEmitter();\n /* tslint:disable-next-line: no-any*/\n onBeforeHide: EventEmitter<any> = new EventEmitter();\n onHidden: EventEmitter<boolean> = new EventEmitter();\n\n instance: T;\n _componentRef: ComponentRef<T>;\n _inlineViewRef: EmbeddedViewRef<T>;\n\n private _providers: StaticProvider[] = [];\n private _componentFactory: ComponentFactory<T>;\n private _zoneSubscription: Subscription;\n private _contentRef: ContentRef;\n private _innerComponent: ComponentRef<T>;\n\n private _unregisterListenersFn: Function;\n\n get isShown(): boolean {\n if (this._isHiding) {\n return false;\n }\n\n return !!this._componentRef;\n }\n\n private _isHiding = false;\n\n /**\n * Placement of a component. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n private attachment: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n */\n /* tslint:disable-next-line: no-any*/\n private container: string | ElementRef | any;\n\n /**\n * A selector used if container element was not found\n */\n private containerDefaultSelector = 'body';\n\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n private triggers: string;\n\n private _listenOpts: ListenOptions = {};\n private _globalListener = Function.prototype;\n\n /**\n * Do not use this directly, it should be instanced via\n * `ComponentLoadFactory.attach`\n * @internal\n */\n // tslint:disable-next-line\n public constructor(\n private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _injector: Injector,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _applicationRef: ApplicationRef,\n private _posService: PositioningService\n ) {}\n\n attach(compType: Type<T>): ComponentLoader<T> {\n this._componentFactory = this._componentFactoryResolver\n .resolveComponentFactory<T>(compType);\n\n return this;\n }\n\n // todo: add behaviour: to target element, `body`, custom element\n to(container?: string | ElementRef): ComponentLoader<T> {\n this.container = container || this.container;\n\n return this;\n }\n\n position(opts?: PositioningOptions): ComponentLoader<T> {\n this.attachment = opts.attachment || this.attachment;\n /* tslint:disable-next-line: no-unnecessary-type-assertion */\n this._elementRef = (opts.target as ElementRef) || this._elementRef;\n\n return this;\n }\n\n provide(provider: StaticProvider): ComponentLoader<T> {\n this._providers.push(provider);\n\n return this;\n }\n\n // todo: appendChild to element or document.querySelector(this.container)\n\n show(opts: {\n /* tslint:disable-next-line: no-any*/\n content?: string | TemplateRef<any>;\n /* tslint:disable-next-line: no-any*/\n context?: any;\n /* tslint:disable-next-line: no-any*/\n initialState?: any;\n /* tslint:disable-next-line: no-any*/\n [key: string]: any;\n } = {}\n ): ComponentRef<T> {\n\n this._subscribePositioning();\n this._innerComponent = null;\n\n if (!this._componentRef) {\n this.onBeforeShow.emit();\n this._contentRef = this._getContentRef(opts.content, opts.context, opts.initialState);\n\n const injector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n this._componentRef = this._componentFactory.create(injector, this._contentRef.nodes);\n\n this._applicationRef.attachView(this._componentRef.hostView);\n // this._componentRef = this._viewContainerRef\n // .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\n this.instance = this._componentRef.instance;\n\n Object.assign(this._componentRef.instance, opts);\n\n if (this.container instanceof ElementRef) {\n this.container.nativeElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\n const selectedElement = document.querySelector(this.container) ||\n document.querySelector(this.containerDefaultSelector);\n\n selectedElement.appendChild(this._componentRef.location.nativeElement);\n }\n\n if (\n !this.container &&\n this._elementRef &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.appendChild(\n this._componentRef.location.nativeElement\n );\n }\n\n // we need to manually invoke change detection since events registered\n // via\n // Renderer::listen() are not picked up by change detection with the\n // OnPush strategy\n if (this._contentRef.componentRef) {\n this._innerComponent = this._contentRef.componentRef.instance;\n this._contentRef.componentRef.changeDetectorRef.markForCheck();\n this._contentRef.componentRef.changeDetectorRef.detectChanges();\n }\n this._componentRef.changeDetectorRef.markForCheck();\n this._componentRef.changeDetectorRef.detectChanges();\n this.onShown.emit(this._componentRef.instance);\n }\n\n this._registerOutsideClick();\n\n return this._componentRef;\n }\n\n hide(): ComponentLoader<T> {\n if (!this._componentRef) {\n return this;\n }\n\n this._posService.deletePositionElement(this._componentRef.location);\n\n this.onBeforeHide.emit(this._componentRef.instance);\n\n const componentEl = this._componentRef.location.nativeElement;\n componentEl.parentNode.removeChild(componentEl);\n if (this._contentRef.componentRef) {\n this._contentRef.componentRef.destroy();\n }\n this._componentRef.destroy();\n if (this._viewContainerRef && this._contentRef.viewRef) {\n this._viewContainerRef.remove(\n this._viewContainerRef.indexOf(this._contentRef.viewRef)\n );\n }\n if (this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._contentRef = null;\n this._componentRef = null;\n this._removeGlobalListener();\n\n this.onHidden.emit();\n\n return this;\n }\n\n toggle(): void {\n if (this.isShown) {\n this.hide();\n\n return;\n }\n\n this.show();\n }\n\n dispose(): void {\n if (this.isShown) {\n this.hide();\n }\n\n this._unsubscribePositioning();\n\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n }\n\n listen(listenOpts: ListenOptions): ComponentLoader<T> {\n this.triggers = listenOpts.triggers || this.triggers;\n this._listenOpts.outsideClick = listenOpts.outsideClick;\n this._listenOpts.outsideEsc = listenOpts.outsideEsc;\n listenOpts.target = listenOpts.target || this._elementRef.nativeElement;\n\n const hide = (this._listenOpts.hide = () =>\n listenOpts.hide ? listenOpts.hide() : void this.hide());\n const show = (this._listenOpts.show = (registerHide: Function) => {\n listenOpts.show ? listenOpts.show(registerHide) : this.show(registerHide);\n registerHide();\n });\n\n const toggle = (registerHide: Function) => {\n this.isShown ? hide() : show(registerHide);\n };\n\n this._unregisterListenersFn = listenToTriggersV2(this._renderer, {\n target: listenOpts.target,\n triggers: listenOpts.triggers,\n show,\n hide,\n toggle\n });\n\n return this;\n }\n\n _removeGlobalListener() {\n if (this._globalListener) {\n this._globalListener();\n this._globalListener = null;\n }\n }\n\n attachInline(\n vRef: ViewContainerRef,\n /* tslint:disable-next-line: no-any*/\n template: TemplateRef<any>\n ): ComponentLoader<T> {\n this._inlineViewRef = vRef.createEmbeddedView(template);\n\n return this;\n }\n\n _registerOutsideClick(): void {\n if (!this._componentRef || !this._componentRef.location) {\n return;\n }\n // why: should run after first event bubble\n if (this._listenOpts.outsideClick) {\n const target = this._componentRef.location.nativeElement;\n setTimeout(() => {\n this._globalListener = registerOutsideClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideClick: this._listenOpts.outsideClick,\n hide: () => this._listenOpts.hide()\n });\n });\n }\n if (this._listenOpts.outsideEsc) {\n const target = this._componentRef.location.nativeElement;\n this._globalListener = registerEscClick(this._renderer, {\n targets: [target, this._elementRef.nativeElement],\n outsideEsc: this._listenOpts.outsideEsc,\n hide: () => this._listenOpts.hide()\n });\n }\n }\n\n getInnerComponent(): ComponentRef<T> {\n return this._innerComponent;\n }\n\n private _subscribePositioning(): void {\n if (this._zoneSubscription || !this.attachment) {\n return;\n }\n\n this.onShown.subscribe(() => {\n this._posService.position({\n element: this._componentRef.location,\n target: this._elementRef,\n attachment: this.attachment,\n appendToBody: this.container === 'body'\n });\n });\n\n this._zoneSubscription = this._ngZone.onStable.subscribe(() => {\n if (!this._componentRef) {\n return;\n }\n\n this._posService.calcPosition();\n });\n }\n\n private _unsubscribePositioning(): void {\n if (!this._zoneSubscription) {\n return;\n }\n\n this._zoneSubscription.unsubscribe();\n this._zoneSubscription = null;\n }\n\n private _getContentRef(\n /* tslint:disable-next-line: no-any*/\n content: string | TemplateRef<any> | any,\n /* tslint:disable-next-line: no-any*/\n context?: any,\n /* tslint:disable-next-line: no-any*/\n initialState?: any\n ): ContentRef {\n if (!content) {\n return new ContentRef([]);\n }\n\n if (content instanceof TemplateRef) {\n if (this._viewContainerRef) {\n const _viewRef = this._viewContainerRef\n .createEmbeddedView<TemplateRef<T>>(content, context);\n _viewRef.markForCheck();\n\n return new ContentRef([_viewRef.rootNodes], _viewRef);\n }\n const viewRef = content.createEmbeddedView({});\n this._applicationRef.attachView(viewRef);\n\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n if (typeof content === 'function') {\n const contentCmptFactory = this._componentFactoryResolver.resolveComponentFactory(\n content\n );\n\n const modalContentInjector = Injector.create({\n providers: this._providers,\n parent: this._injector\n });\n\n const componentRef = contentCmptFactory.create(modalContentInjector);\n Object.assign(componentRef.instance, initialState);\n this._applicationRef.attachView(componentRef.hostView);\n\n return new ContentRef(\n [[componentRef.location.nativeElement]],\n componentRef.hostView,\n componentRef\n );\n }\n\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ElementRef, Injectable, Injector,\n NgZone, Renderer2, ViewContainerRef\n} from '@angular/core';\nimport { ComponentLoader } from './component-loader.class';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@Injectable()\nexport class ComponentLoaderFactory {\n constructor(private _componentFactoryResolver: ComponentFactoryResolver,\n private _ngZone: NgZone,\n private _injector: Injector,\n private _posService: PositioningService,\n private _applicationRef: ApplicationRef) {}\n\n /**\n *\n * @param _elementRef\n * @param _viewContainerRef\n * @param _renderer\n */\n createLoader<T>(_elementRef: ElementRef,\n _viewContainerRef: ViewContainerRef,\n _renderer: Renderer2): ComponentLoader<T> {\n return new ComponentLoader<T>(\n _viewContainerRef,\n _renderer,\n _elementRef,\n this._injector,\n this._componentFactoryResolver,\n this._ngZone,\n this._applicationRef,\n this._posService\n );\n }\n}\n"]}
|