@pepperi-addons/ngx-lib 0.4.2-beta.137 → 0.4.2-beta.139
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/address/address.component.d.ts +30 -0
- package/address/address.module.d.ts +15 -0
- package/address/index.d.ts +5 -0
- package/address/public-api.d.ts +2 -0
- package/attachment/attachment.component.d.ts +94 -0
- package/attachment/attachment.module.d.ts +14 -0
- package/attachment/index.d.ts +5 -0
- package/attachment/public-api.d.ts +2 -0
- package/bread-crumbs/bread-crumbs.component.d.ts +27 -0
- package/bread-crumbs/bread-crumbs.model.d.ts +11 -0
- package/bread-crumbs/bread-crumbs.module.d.ts +15 -0
- package/bread-crumbs/index.d.ts +5 -0
- package/bread-crumbs/public-api.d.ts +3 -0
- package/carousel/carousel-item.directive.d.ts +12 -0
- package/carousel/carousel.component.d.ts +148 -0
- package/carousel/carousel.module.d.ts +8 -0
- package/carousel/index.d.ts +5 -0
- package/carousel/public-api.d.ts +3 -0
- package/checkbox/checkbox.component.d.ts +50 -0
- package/checkbox/checkbox.module.d.ts +19 -0
- package/checkbox/index.d.ts +5 -0
- package/checkbox/public-api.d.ts +2 -0
- package/color/color-picker.component.d.ts +57 -0
- package/color/color.component.d.ts +30 -0
- package/color/color.model.d.ts +1 -0
- package/color/color.module.d.ts +26 -0
- package/color/index.d.ts +5 -0
- package/color/public-api.d.ts +3 -0
- package/date/date.component.d.ts +70 -0
- package/date/date.model.d.ts +31 -0
- package/date/date.module.d.ts +23 -0
- package/date/index.d.ts +5 -0
- package/date/public-api.d.ts +2 -0
- package/draggable-items/draggable-item/draggable-item.component.d.ts +11 -0
- package/draggable-items/draggable-items.component.d.ts +36 -0
- package/draggable-items/draggable-items.model.d.ts +11 -0
- package/draggable-items/draggable-items.module.d.ts +18 -0
- package/draggable-items/index.d.ts +5 -0
- package/draggable-items/public-api.d.ts +4 -0
- package/esm2020/address/address.component.mjs +109 -0
- package/esm2020/address/address.module.mjs +54 -0
- package/esm2020/address/pepperi-addons-ngx-lib-address.mjs +5 -0
- package/esm2020/address/public-api.mjs +6 -0
- package/esm2020/attachment/attachment.component.mjs +240 -0
- package/esm2020/attachment/attachment.module.mjs +50 -0
- package/esm2020/attachment/pepperi-addons-ngx-lib-attachment.mjs +5 -0
- package/esm2020/attachment/public-api.mjs +6 -0
- package/esm2020/bread-crumbs/bread-crumbs.component.mjs +85 -0
- package/esm2020/bread-crumbs/bread-crumbs.model.mjs +7 -0
- package/esm2020/bread-crumbs/bread-crumbs.module.mjs +50 -0
- package/esm2020/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +5 -0
- package/esm2020/bread-crumbs/public-api.mjs +7 -0
- package/esm2020/carousel/carousel-item.directive.mjs +33 -0
- package/esm2020/carousel/carousel.component.mjs +745 -0
- package/esm2020/carousel/carousel.module.mjs +17 -0
- package/esm2020/carousel/pepperi-addons-ngx-lib-carousel.mjs +5 -0
- package/esm2020/carousel/public-api.mjs +8 -0
- package/esm2020/checkbox/checkbox.component.mjs +168 -0
- package/esm2020/checkbox/checkbox.module.mjs +63 -0
- package/esm2020/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +5 -0
- package/esm2020/checkbox/public-api.mjs +6 -0
- package/esm2020/color/color-picker.component.mjs +224 -0
- package/esm2020/color/color.component.mjs +90 -0
- package/esm2020/color/color.model.mjs +2 -0
- package/esm2020/color/color.module.mjs +93 -0
- package/esm2020/color/pepperi-addons-ngx-lib-color.mjs +5 -0
- package/esm2020/color/public-api.mjs +7 -0
- package/esm2020/date/date.component.mjs +312 -0
- package/esm2020/date/date.model.mjs +54 -0
- package/esm2020/date/date.module.mjs +88 -0
- package/esm2020/date/pepperi-addons-ngx-lib-date.mjs +5 -0
- package/esm2020/date/public-api.mjs +6 -0
- package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +27 -0
- package/esm2020/draggable-items/draggable-items.component.mjs +102 -0
- package/esm2020/draggable-items/draggable-items.model.mjs +2 -0
- package/esm2020/draggable-items/draggable-items.module.mjs +60 -0
- package/esm2020/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +5 -0
- package/esm2020/draggable-items/public-api.mjs +8 -0
- package/esm2020/files-uploader/files-uploader.component.mjs +246 -0
- package/esm2020/files-uploader/files-uploader.module.mjs +79 -0
- package/esm2020/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +5 -0
- package/esm2020/files-uploader/public-api.mjs +6 -0
- package/esm2020/form/field-generator.component.mjs +152 -0
- package/esm2020/form/form.component.mjs +1238 -0
- package/esm2020/form/form.model.mjs +2 -0
- package/esm2020/form/form.module.mjs +179 -0
- package/esm2020/form/indicators.component.mjs +23 -0
- package/esm2020/form/internal-button.component.mjs +184 -0
- package/esm2020/form/internal-carusel.component.mjs +117 -0
- package/esm2020/form/internal-carusel.service.mjs +32 -0
- package/esm2020/form/internal-field-generator.component.mjs +146 -0
- package/esm2020/form/internal-form.component.mjs +1216 -0
- package/esm2020/form/internal-list.component.mjs +513 -0
- package/esm2020/form/internal-menu.component.mjs +66 -0
- package/esm2020/form/internal-page.component.mjs +361 -0
- package/esm2020/form/internal-page.service.mjs +120 -0
- package/esm2020/form/pepperi-addons-ngx-lib-form.mjs +5 -0
- package/esm2020/form/public-api.mjs +7 -0
- package/esm2020/group-buttons/group-buttons.component.mjs +71 -0
- package/esm2020/group-buttons/group-buttons.module.mjs +59 -0
- package/esm2020/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +5 -0
- package/esm2020/group-buttons/public-api.mjs +6 -0
- package/esm2020/image/image.component.mjs +263 -0
- package/esm2020/image/image.module.mjs +74 -0
- package/esm2020/image/image.service.mjs +50 -0
- package/esm2020/image/pepperi-addons-ngx-lib-image.mjs +5 -0
- package/esm2020/image/public-api.mjs +7 -0
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +337 -0
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +83 -0
- package/esm2020/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +5 -0
- package/esm2020/images-filmstrip/public-api.mjs +6 -0
- package/esm2020/link/link.component.mjs +300 -0
- package/esm2020/link/link.module.mjs +80 -0
- package/esm2020/link/link.pipes.mjs +18 -0
- package/esm2020/link/pepperi-addons-ngx-lib-link.mjs +5 -0
- package/esm2020/link/public-api.mjs +7 -0
- package/esm2020/list/list-actions.component.mjs +44 -0
- package/esm2020/list/list-carousel.component.mjs +107 -0
- package/esm2020/list/list-chooser.component.mjs +64 -0
- package/esm2020/list/list-pager.component.mjs +120 -0
- package/esm2020/list/list-sorting.component.mjs +61 -0
- package/esm2020/list/list-total.component.mjs +30 -0
- package/esm2020/list/list-views.component.mjs +85 -0
- package/esm2020/list/list.component.mjs +1303 -0
- package/esm2020/list/list.model.mjs +4 -0
- package/esm2020/list/list.module.mjs +144 -0
- package/esm2020/list/list.pipes.mjs +47 -0
- package/esm2020/list/pepperi-addons-ngx-lib-list.mjs +5 -0
- package/esm2020/list/public-api.mjs +15 -0
- package/esm2020/list/virtual-scroller.mjs +1080 -0
- package/esm2020/menu/menu-item.component.mjs +115 -0
- package/esm2020/menu/menu.component.mjs +213 -0
- package/esm2020/menu/menu.model.mjs +19 -0
- package/esm2020/menu/menu.module.mjs +59 -0
- package/esm2020/menu/pepperi-addons-ngx-lib-menu.mjs +5 -0
- package/esm2020/menu/public-api.mjs +7 -0
- package/esm2020/page-layout/page-layout.component.mjs +35 -0
- package/esm2020/page-layout/page-layout.module.mjs +34 -0
- package/esm2020/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +5 -0
- package/esm2020/page-layout/public-api.mjs +6 -0
- package/esm2020/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +5 -0
- package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +45 -0
- package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +81 -0
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +127 -0
- package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +2 -0
- package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +88 -0
- package/esm2020/profile-data-views-list/public-api.mjs +9 -0
- package/esm2020/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +5 -0
- package/esm2020/quantity-selector/public-api.mjs +6 -0
- package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +49 -0
- package/esm2020/quantity-selector/quantity-selector.component.mjs +574 -0
- package/esm2020/quantity-selector/quantity-selector.module.mjs +82 -0
- package/esm2020/quantity-selector/quantity-selector.pipes.mjs +23 -0
- package/esm2020/query-builder/common/model/field.mjs +2 -0
- package/esm2020/query-builder/common/model/filter.mjs +2 -0
- package/esm2020/query-builder/common/model/legacy.mjs +2 -0
- package/esm2020/query-builder/common/model/operator-unit.mjs +42 -0
- package/esm2020/query-builder/common/model/operator.mjs +276 -0
- package/esm2020/query-builder/common/model/structure.mjs +2 -0
- package/esm2020/query-builder/common/model/type-map.mjs +27 -0
- package/esm2020/query-builder/common/model/type.mjs +6 -0
- package/esm2020/query-builder/common/services/output-query.service.mjs +116 -0
- package/esm2020/query-builder/common/services/query-structure.service.mjs +249 -0
- package/esm2020/query-builder/common/services/type-convertor.service.mjs +42 -0
- package/esm2020/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +5 -0
- package/esm2020/query-builder/public-api.mjs +9 -0
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +125 -0
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +71 -0
- package/esm2020/query-builder/query-builder.component.mjs +110 -0
- package/esm2020/query-builder/query-builder.module.mjs +70 -0
- package/esm2020/query-builder/query-builder.service.mjs +102 -0
- package/esm2020/remote-loader/addon-block-loader.component.mjs +102 -0
- package/esm2020/remote-loader/addon-block-loader.service.mjs +62 -0
- package/esm2020/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +5 -0
- package/esm2020/remote-loader/public-api.mjs +11 -0
- package/esm2020/remote-loader/remote-loader-element.component.mjs +116 -0
- package/esm2020/remote-loader/remote-loader.component.mjs +115 -0
- package/esm2020/remote-loader/remote-loader.model.mjs +2 -0
- package/esm2020/remote-loader/remote-loader.module.mjs +69 -0
- package/esm2020/remote-loader/remote-loader.service.mjs +81 -0
- package/esm2020/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +5 -0
- package/esm2020/rich-html-textarea/public-api.mjs +6 -0
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +250 -0
- package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +95 -0
- package/esm2020/search/pepperi-addons-ngx-lib-search.mjs +5 -0
- package/esm2020/search/public-api.mjs +7 -0
- package/esm2020/search/search.component.mjs +317 -0
- package/esm2020/search/search.model.mjs +2 -0
- package/esm2020/search/search.module.mjs +70 -0
- package/esm2020/select/pepperi-addons-ngx-lib-select.mjs +5 -0
- package/esm2020/select/public-api.mjs +6 -0
- package/esm2020/select/select.component.mjs +290 -0
- package/esm2020/select/select.module.mjs +70 -0
- package/esm2020/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +5 -0
- package/esm2020/select-panel/public-api.mjs +7 -0
- package/esm2020/select-panel/select-panel.component.mjs +159 -0
- package/esm2020/select-panel/select-panel.model.mjs +2 -0
- package/esm2020/select-panel/select-panel.module.mjs +70 -0
- package/esm2020/separator/pepperi-addons-ngx-lib-separator.mjs +5 -0
- package/esm2020/separator/public-api.mjs +6 -0
- package/esm2020/separator/separator.component.mjs +63 -0
- package/esm2020/separator/separator.module.mjs +18 -0
- package/esm2020/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +5 -0
- package/esm2020/side-bar/public-api.mjs +7 -0
- package/esm2020/side-bar/side-bar.component.mjs +122 -0
- package/esm2020/side-bar/side-bar.model.mjs +2 -0
- package/esm2020/side-bar/side-bar.module.mjs +55 -0
- package/esm2020/signature/pepperi-addons-ngx-lib-signature.mjs +5 -0
- package/esm2020/signature/public-api.mjs +7 -0
- package/esm2020/signature/signature-dialog.component.mjs +79 -0
- package/esm2020/signature/signature.component.mjs +282 -0
- package/esm2020/signature/signature.module.mjs +91 -0
- package/esm2020/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +5 -0
- package/esm2020/size-detector/public-api.mjs +6 -0
- package/esm2020/size-detector/size-detector.component.mjs +92 -0
- package/esm2020/size-detector/size-detector.module.mjs +35 -0
- package/esm2020/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +5 -0
- package/esm2020/skeleton-loader/public-api.mjs +6 -0
- package/esm2020/skeleton-loader/skeleton-loader.component.mjs +44 -0
- package/esm2020/skeleton-loader/skeleton-loader.module.mjs +24 -0
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +75 -0
- package/esm2020/smart-filters/common/filter-actions.component.mjs +29 -0
- package/esm2020/smart-filters/common/model/base-filter-component.mjs +296 -0
- package/esm2020/smart-filters/common/model/creator.mjs +76 -0
- package/esm2020/smart-filters/common/model/field.mjs +117 -0
- package/esm2020/smart-filters/common/model/filter.mjs +2 -0
- package/esm2020/smart-filters/common/model/operator.mjs +278 -0
- package/esm2020/smart-filters/common/model/type.mjs +2 -0
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +182 -0
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +200 -0
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +136 -0
- package/esm2020/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +5 -0
- package/esm2020/smart-filters/public-api.mjs +19 -0
- package/esm2020/smart-filters/smart-filters.component.mjs +141 -0
- package/esm2020/smart-filters/smart-filters.module.mjs +158 -0
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +93 -0
- package/esm2020/snack-bar/default-snack-bar.component.mjs +29 -0
- package/esm2020/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +5 -0
- package/esm2020/snack-bar/public-api.mjs +8 -0
- package/esm2020/snack-bar/snack-bar.component.mjs +26 -0
- package/esm2020/snack-bar/snack-bar.model.mjs +7 -0
- package/esm2020/snack-bar/snack-bar.module.mjs +63 -0
- package/esm2020/snack-bar/snack-bar.service.mjs +60 -0
- package/esm2020/textarea/pepperi-addons-ngx-lib-textarea.mjs +5 -0
- package/esm2020/textarea/public-api.mjs +6 -0
- package/esm2020/textarea/textarea.component.mjs +188 -0
- package/esm2020/textarea/textarea.module.mjs +82 -0
- package/esm2020/textbox/pepperi-addons-ngx-lib-textbox.mjs +5 -0
- package/esm2020/textbox/public-api.mjs +6 -0
- package/esm2020/textbox/textbox-validation.directive.mjs +93 -0
- package/esm2020/textbox/textbox.component.mjs +582 -0
- package/esm2020/textbox/textbox.module.mjs +72 -0
- package/esm2020/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +5 -0
- package/esm2020/top-bar/public-api.mjs +7 -0
- package/esm2020/top-bar/top-bar.component.mjs +112 -0
- package/esm2020/top-bar/top-bar.model.mjs +2 -0
- package/esm2020/top-bar/top-bar.module.mjs +62 -0
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +170 -0
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +297 -0
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +804 -0
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +404 -0
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +458 -0
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +192 -0
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +331 -0
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +4226 -0
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +136 -0
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +388 -0
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +425 -0
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +399 -0
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +3047 -0
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +399 -0
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +337 -0
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +728 -0
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +1216 -0
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +555 -0
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +349 -0
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs +393 -0
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +237 -0
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +366 -0
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +89 -0
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +182 -0
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +455 -0
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +1715 -0
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +183 -0
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +277 -0
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +748 -0
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +180 -0
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +170 -0
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +297 -0
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +800 -0
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +401 -0
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +454 -0
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +191 -0
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +328 -0
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +4225 -0
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +136 -0
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +386 -0
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +422 -0
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +399 -0
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +3035 -0
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +399 -0
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +336 -0
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +726 -0
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +1202 -0
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +532 -0
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +349 -0
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs +392 -0
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +236 -0
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +366 -0
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +89 -0
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +182 -0
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +450 -0
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +76 -0
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +1708 -0
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +180 -0
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +276 -0
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +748 -0
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +179 -0
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
- package/files-uploader/files-uploader.component.d.ts +60 -0
- package/files-uploader/files-uploader.module.d.ts +21 -0
- package/files-uploader/index.d.ts +5 -0
- package/files-uploader/public-api.d.ts +2 -0
- package/form/field-generator.component.d.ts +37 -0
- package/form/form.component.d.ts +93 -0
- package/form/form.model.d.ts +20 -0
- package/form/form.module.d.ts +50 -0
- package/form/index.d.ts +5 -0
- package/form/indicators.component.d.ts +10 -0
- package/form/internal-button.component.d.ts +42 -0
- package/form/internal-carusel.component.d.ts +39 -0
- package/form/internal-carusel.service.d.ts +10 -0
- package/form/internal-field-generator.component.d.ts +33 -0
- package/form/internal-form.component.d.ts +89 -0
- package/form/internal-list.component.d.ts +95 -0
- package/form/internal-menu.component.d.ts +19 -0
- package/form/internal-page.component.d.ts +73 -0
- package/form/internal-page.service.d.ts +22 -0
- package/form/public-api.d.ts +3 -0
- package/group-buttons/group-buttons.component.d.ts +24 -0
- package/group-buttons/group-buttons.module.d.ts +18 -0
- package/group-buttons/index.d.ts +5 -0
- package/group-buttons/public-api.d.ts +2 -0
- package/image/image.component.d.ts +74 -0
- package/image/image.module.d.ts +20 -0
- package/image/image.service.d.ts +14 -0
- package/image/index.d.ts +5 -0
- package/image/public-api.d.ts +3 -0
- package/images-filmstrip/images-filmstrip.component.d.ts +87 -0
- package/images-filmstrip/images-filmstrip.module.d.ts +22 -0
- package/images-filmstrip/index.d.ts +5 -0
- package/images-filmstrip/public-api.d.ts +2 -0
- package/link/index.d.ts +5 -0
- package/link/link.component.d.ts +121 -0
- package/link/link.module.d.ts +22 -0
- package/link/link.pipes.d.ts +7 -0
- package/link/public-api.d.ts +3 -0
- package/list/index.d.ts +5 -0
- package/list/list-actions.component.d.ts +18 -0
- package/list/list-carousel.component.d.ts +40 -0
- package/list/list-chooser.component.d.ts +29 -0
- package/list/list-pager.component.d.ts +39 -0
- package/list/list-sorting.component.d.ts +30 -0
- package/list/list-total.component.d.ts +11 -0
- package/list/list-views.component.d.ts +35 -0
- package/list/list.component.d.ts +177 -0
- package/list/list.model.d.ts +32 -0
- package/list/list.module.d.ts +34 -0
- package/list/list.pipes.d.ts +16 -0
- package/list/public-api.d.ts +10 -0
- package/list/virtual-scroller.d.ts +183 -0
- package/menu/index.d.ts +5 -0
- package/menu/menu-item.component.d.ts +28 -0
- package/menu/menu.component.d.ts +48 -0
- package/menu/menu.model.d.ts +25 -0
- package/menu/menu.module.d.ts +18 -0
- package/menu/public-api.d.ts +3 -0
- package/package.json +1 -1
- package/page-layout/index.d.ts +5 -0
- package/page-layout/page-layout.component.d.ts +19 -0
- package/page-layout/page-layout.module.d.ts +10 -0
- package/page-layout/public-api.d.ts +2 -0
- package/profile-data-views-list/index.d.ts +5 -0
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +18 -0
- package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +25 -0
- package/profile-data-views-list/profile-data-views-list.component.d.ts +38 -0
- package/profile-data-views-list/profile-data-views-list.model.d.ts +26 -0
- package/profile-data-views-list/profile-data-views-list.module.d.ts +23 -0
- package/profile-data-views-list/public-api.d.ts +5 -0
- package/quantity-selector/index.d.ts +5 -0
- package/quantity-selector/public-api.d.ts +2 -0
- package/quantity-selector/quantity-selector-validation.directive.d.ts +17 -0
- package/quantity-selector/quantity-selector.component.d.ts +110 -0
- package/quantity-selector/quantity-selector.module.d.ts +23 -0
- package/quantity-selector/quantity-selector.pipes.d.ts +7 -0
- package/query-builder/common/model/field.d.ts +8 -0
- package/query-builder/common/model/filter.d.ts +6 -0
- package/query-builder/common/model/legacy.d.ts +31 -0
- package/query-builder/common/model/operator-unit.d.ts +13 -0
- package/query-builder/common/model/operator.d.ts +31 -0
- package/query-builder/common/model/structure.d.ts +4 -0
- package/query-builder/common/model/type-map.d.ts +12 -0
- package/query-builder/common/model/type.d.ts +4 -0
- package/query-builder/common/services/output-query.service.d.ts +47 -0
- package/query-builder/common/services/query-structure.service.d.ts +83 -0
- package/query-builder/common/services/type-convertor.service.d.ts +13 -0
- package/query-builder/index.d.ts +5 -0
- package/query-builder/public-api.d.ts +5 -0
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +41 -0
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +30 -0
- package/query-builder/query-builder.component.d.ts +39 -0
- package/query-builder/query-builder.module.d.ts +20 -0
- package/query-builder/query-builder.service.d.ts +30 -0
- package/remote-loader/addon-block-loader.component.d.ts +36 -0
- package/remote-loader/addon-block-loader.service.d.ts +15 -0
- package/remote-loader/index.d.ts +5 -0
- package/remote-loader/public-api.d.ts +7 -0
- package/remote-loader/remote-loader-element.component.d.ts +32 -0
- package/remote-loader/remote-loader.component.d.ts +25 -0
- package/remote-loader/remote-loader.model.d.ts +41 -0
- package/remote-loader/remote-loader.module.d.ts +15 -0
- package/remote-loader/remote-loader.service.d.ts +15 -0
- package/rich-html-textarea/index.d.ts +5 -0
- package/rich-html-textarea/public-api.d.ts +2 -0
- package/rich-html-textarea/rich-html-textarea.component.d.ts +80 -0
- package/rich-html-textarea/rich-html-textarea.module.d.ts +25 -0
- package/search/index.d.ts +5 -0
- package/search/public-api.d.ts +3 -0
- package/search/search.component.d.ts +65 -0
- package/search/search.model.d.ts +14 -0
- package/search/search.module.d.ts +20 -0
- package/select/index.d.ts +5 -0
- package/select/public-api.d.ts +2 -0
- package/select/select.component.d.ts +67 -0
- package/select/select.module.d.ts +20 -0
- package/select-panel/index.d.ts +5 -0
- package/select-panel/public-api.d.ts +3 -0
- package/select-panel/select-panel.component.d.ts +51 -0
- package/select-panel/select-panel.model.d.ts +5 -0
- package/select-panel/select-panel.module.d.ts +19 -0
- package/separator/index.d.ts +5 -0
- package/separator/public-api.d.ts +2 -0
- package/separator/separator.component.d.ts +22 -0
- package/separator/separator.module.d.ts +8 -0
- package/side-bar/index.d.ts +5 -0
- package/side-bar/public-api.d.ts +3 -0
- package/side-bar/side-bar.component.d.ts +42 -0
- package/side-bar/side-bar.model.d.ts +4 -0
- package/side-bar/side-bar.module.d.ts +16 -0
- package/signature/index.d.ts +5 -0
- package/signature/public-api.d.ts +3 -0
- package/signature/signature-dialog.component.d.ts +29 -0
- package/signature/signature.component.d.ts +59 -0
- package/signature/signature.module.d.ts +25 -0
- package/size-detector/index.d.ts +5 -0
- package/size-detector/public-api.d.ts +2 -0
- package/size-detector/size-detector.component.d.ts +29 -0
- package/size-detector/size-detector.module.d.ts +11 -0
- package/skeleton-loader/index.d.ts +5 -0
- package/skeleton-loader/public-api.d.ts +2 -0
- package/skeleton-loader/skeleton-loader.component.d.ts +20 -0
- package/skeleton-loader/skeleton-loader.module.d.ts +9 -0
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +29 -0
- package/smart-filters/common/filter-actions.component.d.ts +12 -0
- package/smart-filters/common/model/base-filter-component.d.ts +74 -0
- package/smart-filters/common/model/creator.d.ts +6 -0
- package/smart-filters/common/model/field.d.ts +69 -0
- package/smart-filters/common/model/filter.d.ts +11 -0
- package/smart-filters/common/model/operator.d.ts +52 -0
- package/smart-filters/common/model/type.d.ts +4 -0
- package/smart-filters/date-filter/date-filter.component.d.ts +61 -0
- package/smart-filters/index.d.ts +5 -0
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +57 -0
- package/smart-filters/number-filter/number-filter.component.d.ts +53 -0
- package/smart-filters/public-api.d.ts +14 -0
- package/smart-filters/smart-filters.component.d.ts +35 -0
- package/smart-filters/smart-filters.module.d.ts +37 -0
- package/smart-filters/text-filter/text-filter.component.d.ts +29 -0
- package/snack-bar/default-snack-bar.component.d.ts +13 -0
- package/snack-bar/index.d.ts +5 -0
- package/snack-bar/public-api.d.ts +4 -0
- package/snack-bar/snack-bar.component.d.ts +12 -0
- package/snack-bar/snack-bar.model.d.ts +8 -0
- package/snack-bar/snack-bar.module.d.ts +19 -0
- package/snack-bar/snack-bar.service.d.ts +24 -0
- package/textarea/index.d.ts +5 -0
- package/textarea/public-api.d.ts +2 -0
- package/textarea/textarea.component.d.ts +56 -0
- package/textarea/textarea.module.d.ts +23 -0
- package/textbox/index.d.ts +5 -0
- package/textbox/public-api.d.ts +2 -0
- package/textbox/textbox-validation.directive.d.ts +22 -0
- package/textbox/textbox.component.d.ts +157 -0
- package/textbox/textbox.module.d.ts +22 -0
- package/top-bar/index.d.ts +5 -0
- package/top-bar/public-api.d.ts +3 -0
- package/top-bar/top-bar.component.d.ts +39 -0
- package/top-bar/top-bar.model.d.ts +4 -0
- package/top-bar/top-bar.module.d.ts +18 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, Optional, TemplateRef, NgModule } from '@angular/core';
|
|
3
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import * as i1 from '@pepperi-addons/ngx-lib';
|
|
5
|
+
import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
6
|
+
import * as i2 from '@angular/common';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
import * as i1$1 from '@pepperi-addons/ngx-lib/dialog';
|
|
9
|
+
import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
|
|
10
|
+
import { loadRemoteModule } from '@angular-architects/module-federation';
|
|
11
|
+
import * as i3 from '@angular/router';
|
|
12
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
13
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
14
|
+
import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
|
|
15
|
+
|
|
16
|
+
class PepRemoteLoaderService {
|
|
17
|
+
constructor(httpService, sessionService, addonService) {
|
|
18
|
+
this.httpService = httpService;
|
|
19
|
+
this.sessionService = sessionService;
|
|
20
|
+
this.addonService = addonService;
|
|
21
|
+
//
|
|
22
|
+
}
|
|
23
|
+
getBlockLoaderDataUrl(options) {
|
|
24
|
+
const fileName = 'addon_blocks';
|
|
25
|
+
const pagesAddonUuid = this.addonService.getPagesAddonUUID();
|
|
26
|
+
let pagesBaseUrl;
|
|
27
|
+
// For devServer run server on localhost.
|
|
28
|
+
if (options.pagesDevServer?.length > 0) {
|
|
29
|
+
pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const baseUrl = this.sessionService.getPapiBaseUrl();
|
|
33
|
+
pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;
|
|
34
|
+
}
|
|
35
|
+
const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;
|
|
36
|
+
return url;
|
|
37
|
+
}
|
|
38
|
+
getRemoteLoaderOptions(blockLoaderData, blockRemoteEntry = '', type = 'module') {
|
|
39
|
+
const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;
|
|
40
|
+
const res = {
|
|
41
|
+
type: type,
|
|
42
|
+
remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
|
|
43
|
+
remoteName: blockLoaderData.relation.AddonRelativeURL,
|
|
44
|
+
exposedModule: `./${exposedModule}`,
|
|
45
|
+
addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).
|
|
46
|
+
};
|
|
47
|
+
// If it's web components
|
|
48
|
+
if (blockLoaderData.relation.ElementsModule?.length > 0) {
|
|
49
|
+
res['elementName'] = blockLoaderData.relation.ElementName;
|
|
50
|
+
}
|
|
51
|
+
else { // For load the component from the module.
|
|
52
|
+
res['componentName'] = blockLoaderData.relation.ComponentName;
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
}
|
|
56
|
+
async getBlockRemoteLoaderOptions(options) {
|
|
57
|
+
options.blockType = options.blockType ?? 'AddonBlock';
|
|
58
|
+
options.name = options.name ?? '';
|
|
59
|
+
options.slugName = options.slugName ?? '';
|
|
60
|
+
options.addonUUID = options.addonUUID ?? '';
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {
|
|
63
|
+
const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);
|
|
64
|
+
this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data) => {
|
|
65
|
+
const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);
|
|
66
|
+
const type = ngVersionNumber >= 14 ? 'module' : 'script';
|
|
67
|
+
resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));
|
|
68
|
+
}).catch(err => {
|
|
69
|
+
const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`;
|
|
70
|
+
reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
if (options.blockType === 'SettingsBlock') {
|
|
75
|
+
reject(`slugName is not supplied`);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
reject(`name is not supplied`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
PepRemoteLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, deps: [{ token: i1.PepHttpService }, { token: i1.PepSessionService }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
PepRemoteLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, providedIn: 'root' });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, decorators: [{
|
|
87
|
+
type: Injectable,
|
|
88
|
+
args: [{
|
|
89
|
+
providedIn: 'root'
|
|
90
|
+
}]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }]; } });
|
|
92
|
+
|
|
93
|
+
class PepRemoteLoaderComponent {
|
|
94
|
+
constructor(injector, pepAddonService) {
|
|
95
|
+
this.injector = injector;
|
|
96
|
+
this.pepAddonService = pepAddonService;
|
|
97
|
+
this._options = null;
|
|
98
|
+
// This is the data passed by the API Design documentation.
|
|
99
|
+
this._hostObject = null;
|
|
100
|
+
this.hostEvents = new EventEmitter();
|
|
101
|
+
this.load = new EventEmitter();
|
|
102
|
+
}
|
|
103
|
+
set options(value) {
|
|
104
|
+
this._options = value;
|
|
105
|
+
if (value) {
|
|
106
|
+
this.loadModule();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
get options() {
|
|
110
|
+
return this._options;
|
|
111
|
+
}
|
|
112
|
+
set hostObject(value) {
|
|
113
|
+
this._hostObject = value;
|
|
114
|
+
this.setHostComponentIntoComponentRef();
|
|
115
|
+
}
|
|
116
|
+
get hostObject() {
|
|
117
|
+
return this._hostObject;
|
|
118
|
+
}
|
|
119
|
+
setHostComponentIntoComponentRef() {
|
|
120
|
+
if (this.hostObject && this.compRef?.instance) {
|
|
121
|
+
this.compRef.instance.hostObject = this.hostObject;
|
|
122
|
+
// TODO: Check if this is needed?? if not remove this.
|
|
123
|
+
// if (this.compRef?.instance?.ngOnChanges) {
|
|
124
|
+
// this.compRef.instance.ngOnChanges(this.hostObject);
|
|
125
|
+
// }
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
ngOnChanges(changes) {
|
|
129
|
+
// if (changes?.options?.currentValue) {
|
|
130
|
+
// this.loadModule(changes?.options?.currentValue);
|
|
131
|
+
// }
|
|
132
|
+
}
|
|
133
|
+
async loadModule() {
|
|
134
|
+
try {
|
|
135
|
+
const t0 = performance.now();
|
|
136
|
+
this.viewContainer?.clear();
|
|
137
|
+
if (this.options.exposedModule?.length > 0) { // Load module
|
|
138
|
+
if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
|
|
139
|
+
const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
|
|
140
|
+
if (lastSlashIndex > 0) {
|
|
141
|
+
const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
|
|
142
|
+
this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const module = await loadRemoteModule(this.options).then(m => m);
|
|
146
|
+
const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
|
|
147
|
+
this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
|
|
148
|
+
const t1 = performance.now();
|
|
149
|
+
console.log('remote module load performance: ' + (t1 - t0) / 1000);
|
|
150
|
+
}
|
|
151
|
+
// Check if this is in use??? (comment out in Angular 14 version)
|
|
152
|
+
// else { // Load Component
|
|
153
|
+
// const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
|
|
154
|
+
// this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
|
|
155
|
+
// }
|
|
156
|
+
this.load.emit();
|
|
157
|
+
if (this.compRef) {
|
|
158
|
+
this.setHostComponentIntoComponentRef();
|
|
159
|
+
this.compRef?.instance['hostEvents']?.subscribe(e => {
|
|
160
|
+
// switch(e.action){
|
|
161
|
+
// case 'addon-loaded':
|
|
162
|
+
// this.showSpinner = false;
|
|
163
|
+
// }
|
|
164
|
+
this.hostEvents.emit(e);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.error(error);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
ngOnDestroy() {
|
|
173
|
+
this.compRef?.destroy();
|
|
174
|
+
this.viewContainer?.clear();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
+
PepRemoteLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: { options: "options", hostObject: "hostObject" }, outputs: { hostEvents: "hostEvents", load: "load" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["placeHolder"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
179
|
+
<!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
|
|
180
|
+
<ng-template #placeHolder></ng-template>
|
|
181
|
+
`, isInline: true });
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, decorators: [{
|
|
183
|
+
type: Component,
|
|
184
|
+
args: [{
|
|
185
|
+
selector: 'pep-remote-loader',
|
|
186
|
+
template: `
|
|
187
|
+
<!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
|
|
188
|
+
<ng-template #placeHolder></ng-template>
|
|
189
|
+
`
|
|
190
|
+
}]
|
|
191
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
|
|
192
|
+
type: ViewChild,
|
|
193
|
+
args: ['placeHolder', { read: ViewContainerRef, static: true }]
|
|
194
|
+
}], options: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], hostObject: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], hostEvents: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], load: [{
|
|
201
|
+
type: Output
|
|
202
|
+
}] } });
|
|
203
|
+
|
|
204
|
+
class PepRemoteLoaderElementComponent {
|
|
205
|
+
constructor(renderer, el, pepAddonService, remoteLoaderService, route) {
|
|
206
|
+
this.renderer = renderer;
|
|
207
|
+
this.el = el;
|
|
208
|
+
this.pepAddonService = pepAddonService;
|
|
209
|
+
this.remoteLoaderService = remoteLoaderService;
|
|
210
|
+
this.route = route;
|
|
211
|
+
this.load = new EventEmitter();
|
|
212
|
+
this.element = null;
|
|
213
|
+
this._elementName = '';
|
|
214
|
+
}
|
|
215
|
+
populateProps() {
|
|
216
|
+
for (const prop in this.props) {
|
|
217
|
+
this.element[prop] = this.props[prop];
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
setupEvents() {
|
|
221
|
+
for (const event in this.events) {
|
|
222
|
+
this.element.addEventListener(event, this.events[event]);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
async loadOptionsFromRoute() {
|
|
226
|
+
const params = this.route?.snapshot.params;
|
|
227
|
+
const data = this.route?.snapshot.data;
|
|
228
|
+
const blockType = data?.blockType || 'SettingsBlock';
|
|
229
|
+
const slugName = params?.slugName || data?.slugName;
|
|
230
|
+
const blockName = params?.blockName || data?.blockName;
|
|
231
|
+
if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {
|
|
232
|
+
const addonUUID = params?.addonUUID || data?.addonUUID || '';
|
|
233
|
+
const blockRemoteEntry = data?.blockRemoteEntry || '';
|
|
234
|
+
this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({
|
|
235
|
+
name: blockName,
|
|
236
|
+
slugName,
|
|
237
|
+
blockType,
|
|
238
|
+
addonUUID,
|
|
239
|
+
blockRemoteEntry
|
|
240
|
+
});
|
|
241
|
+
const fileName = `${this.options['remoteName']}.js`;
|
|
242
|
+
if (window.location.search.indexOf('dev=true') > 0) {
|
|
243
|
+
this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;
|
|
244
|
+
}
|
|
245
|
+
// Set the data into the props cause this component is loading from the route.
|
|
246
|
+
this.props = data;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
ngOnChanges() {
|
|
250
|
+
if (!this.element)
|
|
251
|
+
return;
|
|
252
|
+
this.populateProps();
|
|
253
|
+
}
|
|
254
|
+
ngOnDestroy() {
|
|
255
|
+
//
|
|
256
|
+
}
|
|
257
|
+
async ngAfterContentInit() {
|
|
258
|
+
try {
|
|
259
|
+
const t0 = performance.now();
|
|
260
|
+
// If the options is not supplied then we need to get it from the route.
|
|
261
|
+
if (!this.options) {
|
|
262
|
+
await this.loadOptionsFromRoute();
|
|
263
|
+
}
|
|
264
|
+
if (!this.options) {
|
|
265
|
+
throw new Error('No options supplied to the component.');
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
|
|
269
|
+
const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
|
|
270
|
+
if (lastSlashIndex > 0) {
|
|
271
|
+
const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
|
|
272
|
+
this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
await loadRemoteModule(this.options);
|
|
276
|
+
this._elementName = this.options.elementName;
|
|
277
|
+
this.element = this.renderer.createElement(this._elementName);
|
|
278
|
+
this.populateProps();
|
|
279
|
+
this.setupEvents();
|
|
280
|
+
this.renderer.appendChild(this.el.nativeElement, this.element);
|
|
281
|
+
const t1 = performance.now();
|
|
282
|
+
console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
|
|
283
|
+
// Fix internal routing bug.
|
|
284
|
+
this.pepAddonService.connectInternalRouter(this._elementName);
|
|
285
|
+
this.load.emit();
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
console.error(error);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
PepRemoteLoaderElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PepAddonService }, { token: PepRemoteLoaderService }, { token: i3.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
294
|
+
PepRemoteLoaderElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: { options: "options", props: "props", events: "events" }, outputs: { load: "load" }, usesOnChanges: true, ngImport: i0, template: `
|
|
295
|
+
<!--<div #vc style="height: inherit;"></div>-->
|
|
296
|
+
`, isInline: true, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] });
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, decorators: [{
|
|
298
|
+
type: Component,
|
|
299
|
+
args: [{ selector: 'pep-remote-loader-element', template: `
|
|
300
|
+
<!--<div #vc style="height: inherit;"></div>-->
|
|
301
|
+
`, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] }]
|
|
302
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepAddonService }, { type: PepRemoteLoaderService }, { type: i3.ActivatedRoute, decorators: [{
|
|
303
|
+
type: Optional
|
|
304
|
+
}] }]; }, propDecorators: { options: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], props: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], events: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], load: [{
|
|
311
|
+
type: Output
|
|
312
|
+
}] } });
|
|
313
|
+
|
|
314
|
+
class PepAddonBlockLoaderComponent {
|
|
315
|
+
constructor(remoteLoaderService) {
|
|
316
|
+
this.remoteLoaderService = remoteLoaderService;
|
|
317
|
+
this.addonId = '';
|
|
318
|
+
this.remoteEntry = '';
|
|
319
|
+
this.slugName = '';
|
|
320
|
+
this._blockType = 'AddonBlock';
|
|
321
|
+
this._name = '';
|
|
322
|
+
this.hostObject = null;
|
|
323
|
+
this._dialogRef = null;
|
|
324
|
+
this.hostEvents = new EventEmitter();
|
|
325
|
+
this.blockLoad = new EventEmitter();
|
|
326
|
+
this.inDialog = false;
|
|
327
|
+
this.remotePathOptions = null;
|
|
328
|
+
this.loadElement = false;
|
|
329
|
+
this.onHostEventsCallback = (event) => {
|
|
330
|
+
this.onHostEvents(event.detail);
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
set blockType(value) {
|
|
334
|
+
this._blockType = value;
|
|
335
|
+
}
|
|
336
|
+
get blockType() {
|
|
337
|
+
return this._blockType;
|
|
338
|
+
}
|
|
339
|
+
set name(value) {
|
|
340
|
+
this._name = value;
|
|
341
|
+
}
|
|
342
|
+
get name() {
|
|
343
|
+
return this._name;
|
|
344
|
+
}
|
|
345
|
+
set dialogRef(value) {
|
|
346
|
+
this._dialogRef = value;
|
|
347
|
+
this.inDialog = this._dialogRef != null;
|
|
348
|
+
}
|
|
349
|
+
get dialogRef() {
|
|
350
|
+
return this._dialogRef;
|
|
351
|
+
}
|
|
352
|
+
ngOnInit() {
|
|
353
|
+
const options = {
|
|
354
|
+
name: this.name,
|
|
355
|
+
slugName: this.slugName,
|
|
356
|
+
blockType: this.blockType,
|
|
357
|
+
addonUUID: this.addonId,
|
|
358
|
+
blockRemoteEntry: this.remoteEntry
|
|
359
|
+
};
|
|
360
|
+
this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options) => {
|
|
361
|
+
this.loadElement = options.elementName?.length > 0;
|
|
362
|
+
this.remotePathOptions = options;
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
ngOnDestroy() {
|
|
366
|
+
if (this.dialogRef) {
|
|
367
|
+
this.dialogRef = null;
|
|
368
|
+
}
|
|
369
|
+
this.remotePathOptions = null;
|
|
370
|
+
}
|
|
371
|
+
onBlockLoad() {
|
|
372
|
+
this.blockLoad.emit();
|
|
373
|
+
}
|
|
374
|
+
onHostEvents(event) {
|
|
375
|
+
this.hostEvents.emit(event);
|
|
376
|
+
}
|
|
377
|
+
closeDialog(event) {
|
|
378
|
+
this.dialogRef?.close(event);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
PepAddonBlockLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, deps: [{ token: PepRemoteLoaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
382
|
+
PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { addonId: "addonId", remoteEntry: "remoteEntry", slugName: "slugName", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }, { kind: "component", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: ["options", "props", "events"], outputs: ["load"] }] });
|
|
383
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, decorators: [{
|
|
384
|
+
type: Component,
|
|
385
|
+
args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>" }]
|
|
386
|
+
}], ctorParameters: function () { return [{ type: PepRemoteLoaderService }]; }, propDecorators: { dialogTemplate: [{
|
|
387
|
+
type: ViewChild,
|
|
388
|
+
args: ['dialogTemplate', { static: true, read: TemplateRef }]
|
|
389
|
+
}], addonId: [{
|
|
390
|
+
type: Input
|
|
391
|
+
}], remoteEntry: [{
|
|
392
|
+
type: Input
|
|
393
|
+
}], slugName: [{
|
|
394
|
+
type: Input
|
|
395
|
+
}], blockType: [{
|
|
396
|
+
type: Input
|
|
397
|
+
}], name: [{
|
|
398
|
+
type: Input
|
|
399
|
+
}], hostObject: [{
|
|
400
|
+
type: Input
|
|
401
|
+
}], dialogRef: [{
|
|
402
|
+
type: Input
|
|
403
|
+
}], hostEvents: [{
|
|
404
|
+
type: Output
|
|
405
|
+
}], blockLoad: [{
|
|
406
|
+
type: Output
|
|
407
|
+
}] } });
|
|
408
|
+
|
|
409
|
+
class PepAddonBlockLoaderService {
|
|
410
|
+
constructor(dialogService) {
|
|
411
|
+
this.dialogService = dialogService;
|
|
412
|
+
//
|
|
413
|
+
}
|
|
414
|
+
loadAddonBlockInternal(options) {
|
|
415
|
+
if (options.container !== null) {
|
|
416
|
+
const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
|
|
417
|
+
const addonBlockInstance = componentRef.instance;
|
|
418
|
+
addonBlockInstance.name = options.name;
|
|
419
|
+
addonBlockInstance.slugName = options.slugName;
|
|
420
|
+
addonBlockInstance.blockType = options.blockType || 'AddonBlock';
|
|
421
|
+
addonBlockInstance.addonId = options.addonUUID;
|
|
422
|
+
addonBlockInstance.remoteEntry = options.blockRemoteEntry;
|
|
423
|
+
addonBlockInstance.hostObject = options.hostObject;
|
|
424
|
+
addonBlockInstance.hostEvents.subscribe((event) => {
|
|
425
|
+
if (options.hostEventsCallback) {
|
|
426
|
+
options.hostEventsCallback(event);
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
return componentRef;
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
return null;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
loadAddonBlockInContainer(options) {
|
|
436
|
+
return this.loadAddonBlockInternal(options);
|
|
437
|
+
}
|
|
438
|
+
loadAddonBlockInDialog(options) {
|
|
439
|
+
const componentRef = this.loadAddonBlockInternal(options);
|
|
440
|
+
if (componentRef) {
|
|
441
|
+
const addonBlockInstance = componentRef.instance;
|
|
442
|
+
const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');
|
|
443
|
+
const mergeConfig = { ...options.config, ...pepConfig };
|
|
444
|
+
const data = options.data || null;
|
|
445
|
+
addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);
|
|
446
|
+
addonBlockInstance.dialogRef.afterClosed().subscribe(() => {
|
|
447
|
+
componentRef.hostView.detach();
|
|
448
|
+
componentRef.hostView.destroy();
|
|
449
|
+
componentRef.destroy();
|
|
450
|
+
});
|
|
451
|
+
return addonBlockInstance.dialogRef;
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
return null;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
459
|
+
PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
|
|
460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
|
|
461
|
+
type: Injectable,
|
|
462
|
+
args: [{
|
|
463
|
+
providedIn: 'root'
|
|
464
|
+
}]
|
|
465
|
+
}], ctorParameters: function () { return [{ type: i1$1.PepDialogService }]; } });
|
|
466
|
+
|
|
467
|
+
class PepRemoteLoaderModule {
|
|
468
|
+
}
|
|
469
|
+
PepRemoteLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
470
|
+
PepRemoteLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, declarations: [PepAddonBlockLoaderComponent,
|
|
471
|
+
PepRemoteLoaderComponent,
|
|
472
|
+
PepRemoteLoaderElementComponent], imports: [CommonModule,
|
|
473
|
+
HttpClientModule,
|
|
474
|
+
ModuleFederationToolsModule,
|
|
475
|
+
// Material modules,
|
|
476
|
+
MatDialogModule,
|
|
477
|
+
// ngx-lib modules
|
|
478
|
+
PepNgxLibModule,
|
|
479
|
+
PepDialogModule], exports: [PepAddonBlockLoaderComponent,
|
|
480
|
+
PepRemoteLoaderComponent,
|
|
481
|
+
PepRemoteLoaderElementComponent] });
|
|
482
|
+
PepRemoteLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, providers: [
|
|
483
|
+
PepAddonBlockLoaderService,
|
|
484
|
+
PepRemoteLoaderService
|
|
485
|
+
], imports: [CommonModule,
|
|
486
|
+
HttpClientModule,
|
|
487
|
+
ModuleFederationToolsModule,
|
|
488
|
+
// Material modules,
|
|
489
|
+
MatDialogModule,
|
|
490
|
+
// ngx-lib modules
|
|
491
|
+
PepNgxLibModule,
|
|
492
|
+
PepDialogModule] });
|
|
493
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, decorators: [{
|
|
494
|
+
type: NgModule,
|
|
495
|
+
args: [{
|
|
496
|
+
declarations: [
|
|
497
|
+
PepAddonBlockLoaderComponent,
|
|
498
|
+
PepRemoteLoaderComponent,
|
|
499
|
+
PepRemoteLoaderElementComponent,
|
|
500
|
+
],
|
|
501
|
+
imports: [
|
|
502
|
+
CommonModule,
|
|
503
|
+
HttpClientModule,
|
|
504
|
+
ModuleFederationToolsModule,
|
|
505
|
+
// Material modules,
|
|
506
|
+
MatDialogModule,
|
|
507
|
+
// ngx-lib modules
|
|
508
|
+
PepNgxLibModule,
|
|
509
|
+
PepDialogModule,
|
|
510
|
+
],
|
|
511
|
+
exports: [
|
|
512
|
+
PepAddonBlockLoaderComponent,
|
|
513
|
+
PepRemoteLoaderComponent,
|
|
514
|
+
PepRemoteLoaderElementComponent
|
|
515
|
+
],
|
|
516
|
+
providers: [
|
|
517
|
+
PepAddonBlockLoaderService,
|
|
518
|
+
PepRemoteLoaderService
|
|
519
|
+
]
|
|
520
|
+
}]
|
|
521
|
+
}] });
|
|
522
|
+
|
|
523
|
+
/*
|
|
524
|
+
* Public API Surface of remote-loader
|
|
525
|
+
*/
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Generated bundle index. Do not edit.
|
|
529
|
+
*/
|
|
530
|
+
|
|
531
|
+
export { PepAddonBlockLoaderComponent, PepAddonBlockLoaderService, PepRemoteLoaderComponent, PepRemoteLoaderElementComponent, PepRemoteLoaderModule, PepRemoteLoaderService };
|
|
532
|
+
//# sourceMappingURL=pepperi-addons-ngx-lib-remote-loader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-remote-loader.mjs","sources":["../../../projects/ngx-lib/remote-loader/remote-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.component.ts","../../../projects/ngx-lib/remote-loader/remote-loader-element.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService\n ) {\n //\n }\n\n private getBlockLoaderDataUrl(options: IPepRemoteLoaderParamsOptions): string {\n const fileName = 'addon_blocks';\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n let pagesBaseUrl;\n\n // For devServer run server on localhost.\n if(options.pagesDevServer?.length > 0) {\n pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;\n }\n\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;\n return url;\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, blockRemoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;\n const res = {\n type: type,\n remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n exposedModule: `./${exposedModule}`,\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n }\n \n // If it's web components\n if (blockLoaderData.relation.ElementsModule?.length > 0) {\n res['elementName'] = blockLoaderData.relation.ElementName\n } else { // For load the component from the module.\n res['componentName'] = blockLoaderData.relation.ComponentName; \n }\n\n return res;\n }\n\n async getBlockRemoteLoaderOptions(options: IPepRemoteLoaderParamsOptions): Promise<PepRemoteLoaderOptions> {\n options.blockType = options.blockType ?? 'AddonBlock';\n options.name = options.name ?? '';\n options.slugName = options.slugName ?? '';\n options.addonUUID = options.addonUUID ?? '';\n\n return new Promise((resolve, reject) => {\n if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {\n const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);\n this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data: IBlockLoaderData) => {\n const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);\n const type = ngVersionNumber >= 14 ? 'module' : 'script';\n\n resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));\n }).catch(err => {\n const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`\n reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);\n });\n } else {\n if (options.blockType === 'SettingsBlock') {\n reject(`slugName is not supplied`);\n }\n else {\n reject(`name is not supplied`);\n }\n }\n });\n }\n}\n","import { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private pepAddonService: PepAddonService\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n try {\n const t0 = performance.now();\n \n this.viewContainer?.clear();\n \n if (this.options.exposedModule?.length > 0) { // Load module\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const module = await loadRemoteModule(this.options).then(m => m);\n const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./','')], this.injector);\n this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n } \n // Check if this is in use??? (comment out in Angular 14 version)\n // else { // Load Component\n // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });\n // }\n\n this.load.emit();\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n } catch(error) {\n console.error(error);\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-remote-loader-element',\n template: `\n <!--<div #vc style=\"height: inherit;\"></div>-->\n `,\n styles: [`\n :host { width:100%; height: inherit }\n :host::ng-deep > * {\n height: inherit;\n }\n `],\n})\nexport class PepRemoteLoaderElementComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() options: PepRemoteLoaderOptions;\n @Input() props: { [prop: string]: unknown };\n @Input() events: { [event: string]: (event: Event) => void };\n\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n element: HTMLElement = null;\n\n private _elementName = '';\n\n constructor(\n private renderer: Renderer2,\n private el:ElementRef,\n private pepAddonService: PepAddonService,\n private remoteLoaderService: PepRemoteLoaderService,\n @Optional() private route: ActivatedRoute\n ) { \n\n }\n\n private populateProps() {\n for (const prop in this.props) {\n this.element[prop] = this.props[prop];\n }\n }\n\n private setupEvents() {\n for (const event in this.events) {\n this.element.addEventListener(event, this.events[event]);\n }\n }\n\n private async loadOptionsFromRoute() {\n const params = this.route?.snapshot.params;\n const data = this.route?.snapshot.data;\n const blockType = data?.blockType || 'SettingsBlock';\n\n const slugName = params?.slugName || data?.slugName;\n const blockName = params?.blockName || data?.blockName;\n \n if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {\n const addonUUID = params?.addonUUID || data?.addonUUID || '';\n const blockRemoteEntry = data?.blockRemoteEntry || '';\n\n this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({\n name: blockName,\n slugName,\n blockType,\n addonUUID,\n blockRemoteEntry\n });\n\n const fileName = `${this.options['remoteName']}.js`;\n\n if (window.location.search.indexOf('dev=true') > 0) {\n this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;\n }\n\n // Set the data into the props cause this component is loading from the route.\n this.props = data;\n }\n }\n\n ngOnChanges(): void {\n if (!this.element) return;\n\n this.populateProps();\n }\n\n ngOnDestroy() {\n // \n }\n\n async ngAfterContentInit() {\n try {\n const t0 = performance.now();\n\n // If the options is not supplied then we need to get it from the route.\n if (!this.options) {\n await this.loadOptionsFromRoute();\n }\n\n if (!this.options) {\n throw new Error('No options supplied to the component.');\n } else {\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n \n await loadRemoteModule(this.options);\n \n this._elementName = this.options.elementName;\n this.element = this.renderer.createElement(this._elementName);\n this.populateProps();\n this.setupEvents();\n \n this.renderer.appendChild(this.el.nativeElement, this.element);\n \n const t1 = performance.now();\n console.log('remote module wc load performance: ' + (t1-t0)/1000);\n \n // Fix internal routing bug.\n this.pepAddonService.connectInternalRouter(this._elementName);\n\n this.load.emit();\n }\n }\n catch(error) {\n console.error(error);\n }\n }\n}","import { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\nimport { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() addonId = '';\n @Input() remoteEntry = '';\n @Input() slugName = '';\n\n private _blockType = 'AddonBlock';\n @Input() \n set blockType(value: string) {\n this._blockType = value;\n }\n get blockType(): string {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n protected inDialog = false;\n protected remotePathOptions: PepRemoteLoaderOptions = null;\n protected loadElement = false;\n\n protected onHostEventsCallback: (event: CustomEvent) => void;\n\n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n this.onHostEventsCallback = (event: CustomEvent) => {\n this.onHostEvents(event.detail);\n }\n }\n \n ngOnInit() {\n const options: IPepRemoteLoaderParamsOptions = {\n name: this.name,\n slugName: this.slugName,\n blockType: this.blockType,\n addonUUID: this.addonId,\n blockRemoteEntry: this.remoteEntry\n };\n\n this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options: PepRemoteLoaderOptions) => {\n this.loadElement = options.elementName?.length > 0;\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.name = options.name;\n addonBlockInstance.slugName = options.slugName;\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.addonId = options.addonUUID;\n addonBlockInstance.remoteEntry = options.blockRemoteEntry;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { PepRemoteLoaderElementComponent } from './remote-loader-element.component';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n ModuleFederationToolsModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader-element.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepRemoteLoaderService","i1.PepRemoteLoaderService","i3","i4.PepRemoteLoaderComponent","i5.PepRemoteLoaderElementComponent","i1"],"mappings":"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"}
|