@pepperi-addons/ngx-lib 0.4.0-angular14.9 → 0.4.0-beta.3
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/chips/chips.component.d.ts +93 -0
- package/chips/chips.component.theme.scss +58 -0
- package/chips/chips.model.d.ts +13 -0
- package/chips/chips.module.d.ts +20 -0
- package/chips/chips.service.d.ts +15 -0
- package/{plugin → chips}/index.d.ts +1 -1
- package/chips/public-api.d.ts +3 -0
- package/color/color-picker.component.d.ts +1 -1
- package/core/common/model/wapi.model.d.ts +1 -0
- package/core/common/services/addon.service.d.ts +13 -9
- package/core/common/services/utilities.service.d.ts +5 -4
- package/core/customization/customization.model.d.ts +7 -0
- package/esm2020/address/address.component.mjs +1 -1
- package/esm2020/attachment/attachment.component.mjs +1 -1
- package/esm2020/checkbox/checkbox.component.mjs +1 -1
- package/esm2020/chips/chips.component.mjs +158 -0
- package/esm2020/chips/chips.model.mjs +2 -0
- package/esm2020/chips/chips.module.mjs +81 -0
- package/esm2020/chips/chips.service.mjs +44 -0
- package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
- package/esm2020/chips/public-api.mjs +7 -0
- package/esm2020/color/color-picker.component.mjs +4 -4
- package/esm2020/color/color.component.mjs +1 -1
- package/esm2020/core/common/model/wapi.model.mjs +1 -1
- package/esm2020/core/common/services/addon.service.mjs +43 -38
- package/esm2020/core/common/services/utilities.service.mjs +66 -13
- package/esm2020/core/customization/customization.model.mjs +10 -1
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
- package/esm2020/core/http/services/loader.service.mjs +4 -4
- package/esm2020/date/date.component.mjs +3 -3
- package/esm2020/field-title/field-title.component.mjs +6 -3
- package/esm2020/form/field-generator.component.mjs +7 -7
- package/esm2020/form/form.component.mjs +12 -3
- package/esm2020/form/internal-button.component.mjs +1 -1
- package/esm2020/form/internal-field-generator.component.mjs +3 -3
- package/esm2020/form/internal-form.component.mjs +4 -2
- package/esm2020/form/internal-list.component.mjs +5 -2
- package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
- package/esm2020/icon/icon-generated-all.model.mjs +8 -1
- package/esm2020/icon/icon-generated.model.mjs +29 -1
- package/esm2020/image/image.component.mjs +1 -1
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
- package/esm2020/link/link.component.mjs +1 -1
- package/esm2020/list/list-pager.component.mjs +1 -1
- package/esm2020/list/list.component.mjs +5 -2
- package/esm2020/list/virtual-scroller.mjs +11 -10
- package/esm2020/menu/menu.component.mjs +11 -3
- package/esm2020/page-layout/page-layout.component.mjs +3 -3
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
- package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
- package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
- package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
- package/esm2020/remote-loader/public-api.mjs +2 -1
- package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
- package/esm2020/remote-loader/remote-loader.component.mjs +37 -59
- package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
- package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
- package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
- package/esm2020/select/select.component.mjs +33 -7
- package/esm2020/side-bar/side-bar.component.mjs +11 -27
- package/esm2020/side-bar/side-bar.module.mjs +7 -3
- package/esm2020/signature/signature.component.mjs +1 -1
- package/esm2020/size-detector/size-detector.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +1 -1
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
- package/esm2020/textarea/textarea.component.mjs +1 -1
- package/esm2020/textbox/textbox.component.mjs +48 -7
- package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +23 -12
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +249 -105
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +49 -8
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +128 -57
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +26 -12
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +230 -98
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +48 -8
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +125 -58
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +2 -1
- package/form/field-generator.component.d.ts +1 -1
- package/group-buttons/group-buttons.component.d.ts +2 -1
- package/icon/icon-generated-all.model.d.ts +7 -0
- package/icon/icon-generated.model.d.ts +29 -1
- package/menu/menu.component.d.ts +2 -0
- package/package.json +14 -13
- package/page-layout/page-layout.component.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +7 -1
- package/remote-loader/addon-block-loader.component.d.ts +10 -6
- package/remote-loader/addon-block-loader.service.d.ts +2 -3
- package/remote-loader/public-api.d.ts +1 -0
- package/remote-loader/remote-loader-element.component.d.ts +30 -0
- package/remote-loader/remote-loader.component.d.ts +3 -5
- package/remote-loader/remote-loader.model.d.ts +16 -11
- package/remote-loader/remote-loader.module.d.ts +8 -6
- package/remote-loader/remote-loader.service.d.ts +5 -7
- package/select/select.component.d.ts +10 -4
- package/side-bar/side-bar.component.d.ts +3 -3
- package/src/assets/i18n/en.ngx-lib.json +4 -0
- package/src/core/style/components/checkbox.scss +20 -1
- package/src/core/style/components/general.scss +5 -4
- package/textbox/textbox.component.d.ts +16 -1
- package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +0 -5
- package/esm2020/plugin/plugin-proxy.component.mjs +0 -90
- package/esm2020/plugin/plugin.model.mjs +0 -2
- package/esm2020/plugin/public-api.mjs +0 -6
- package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +0 -107
- package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +0 -101
- package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
- package/plugin/plugin-proxy.component.d.ts +0 -22
- package/plugin/plugin.model.d.ts +0 -5
- package/plugin/public-api.d.ts +0 -2
|
@@ -101,7 +101,7 @@ export class PepQueryBuilderItemComponent {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
PepQueryBuilderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderItemComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderItemComponent, selector: "pep-query-builder-item", inputs: { formKey: "formKey", fields: "fields", selected: "selected", filter: "filter", parentForm: "parentForm", variableFields: "variableFields" }, outputs: { filterChange: "filterChange", remove: "remove" }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "
|
|
104
|
+
PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderItemComponent, selector: "pep-query-builder-item", inputs: { formKey: "formKey", fields: "fields", selected: "selected", filter: "filter", parentForm: "parentForm", variableFields: "variableFields" }, outputs: { filterChange: "filterChange", remove: "remove" }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i6.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i7.PepTextFilterComponent, selector: "pep-text-filter" }, { kind: "component", type: i7.PepBooleanFilterComponent, selector: "pep-boolean-filter", inputs: ["options"] }, { kind: "component", type: i7.PepDateFilterComponent, selector: "pep-date-filter" }, { kind: "component", type: i7.PepMultiSelectFilterComponent, selector: "pep-multi-select-filter" }, { kind: "component", type: i7.PepNumberFilterComponent, selector: "pep-number-filter" }] });
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderItemComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
107
|
args: [{ selector: 'pep-query-builder-item', template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"] }]
|
|
@@ -46,7 +46,7 @@ export class PepQueryBuilderSectionComponent {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
PepQueryBuilderSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderSectionComponent, deps: [{ token: i1.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: { form: "form", depth: "depth", hasFields: "hasFields" }, outputs: { createSection: "createSection", createItem: "createItem", remove: "remove", operatorChange: "operatorChange" }, viewQueries: [{ propertyName: "sectionContainer", first: true, predicate: ["sectionContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
|
|
49
|
+
PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: { form: "form", depth: "depth", hasFields: "hasFields" }, outputs: { createSection: "createSection", createItem: "createItem", remove: "remove", operatorChange: "operatorChange" }, viewQueries: [{ propertyName: "sectionContainer", first: true, predicate: ["sectionContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderSectionComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'pep-query-builder-section', template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"] }]
|
|
@@ -4,10 +4,13 @@ import * as i1 from "./remote-loader.service";
|
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
import * as i3 from "@pepperi-addons/ngx-lib/dialog";
|
|
6
6
|
import * as i4 from "./remote-loader.component";
|
|
7
|
+
import * as i5 from "./remote-loader-element.component";
|
|
7
8
|
export class PepAddonBlockLoaderComponent {
|
|
8
9
|
constructor(remoteLoaderService) {
|
|
9
10
|
this.remoteLoaderService = remoteLoaderService;
|
|
11
|
+
this.addonId = '';
|
|
10
12
|
this.remoteEntry = '';
|
|
13
|
+
this.slugName = '';
|
|
11
14
|
this._blockType = 'AddonBlock';
|
|
12
15
|
this._name = '';
|
|
13
16
|
this.hostObject = null;
|
|
@@ -16,7 +19,10 @@ export class PepAddonBlockLoaderComponent {
|
|
|
16
19
|
this.blockLoad = new EventEmitter();
|
|
17
20
|
this.inDialog = false;
|
|
18
21
|
this.remotePathOptions = null;
|
|
19
|
-
|
|
22
|
+
this.loadElement = false;
|
|
23
|
+
this.onHostEventsCallback = (event) => {
|
|
24
|
+
this.onHostEvents(event.detail);
|
|
25
|
+
};
|
|
20
26
|
}
|
|
21
27
|
set blockType(value) {
|
|
22
28
|
this._blockType = value;
|
|
@@ -38,7 +44,15 @@ export class PepAddonBlockLoaderComponent {
|
|
|
38
44
|
return this._dialogRef;
|
|
39
45
|
}
|
|
40
46
|
ngOnInit() {
|
|
41
|
-
|
|
47
|
+
const options = {
|
|
48
|
+
name: this.name,
|
|
49
|
+
slugName: this.slugName,
|
|
50
|
+
blockType: this.blockType,
|
|
51
|
+
addonUUID: this.addonId,
|
|
52
|
+
blockRemoteEntry: this.remoteEntry
|
|
53
|
+
};
|
|
54
|
+
this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options) => {
|
|
55
|
+
this.loadElement = options.elementName?.length > 0;
|
|
42
56
|
this.remotePathOptions = options;
|
|
43
57
|
});
|
|
44
58
|
}
|
|
@@ -59,15 +73,19 @@ export class PepAddonBlockLoaderComponent {
|
|
|
59
73
|
}
|
|
60
74
|
}
|
|
61
75
|
PepAddonBlockLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, deps: [{ token: i1.PepRemoteLoaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { remoteEntry: "remoteEntry", 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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\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: i3.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }] });
|
|
76
|
+
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: i3.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }, { kind: "component", type: i5.PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: ["options", "props", "events"], outputs: ["load"] }] });
|
|
63
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, decorators: [{
|
|
64
78
|
type: Component,
|
|
65
|
-
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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>" }]
|
|
79
|
+
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>" }]
|
|
66
80
|
}], ctorParameters: function () { return [{ type: i1.PepRemoteLoaderService }]; }, propDecorators: { dialogTemplate: [{
|
|
67
81
|
type: ViewChild,
|
|
68
82
|
args: ['dialogTemplate', { static: true, read: TemplateRef }]
|
|
83
|
+
}], addonId: [{
|
|
84
|
+
type: Input
|
|
69
85
|
}], remoteEntry: [{
|
|
70
86
|
type: Input
|
|
87
|
+
}], slugName: [{
|
|
88
|
+
type: Input
|
|
71
89
|
}], blockType: [{
|
|
72
90
|
type: Input
|
|
73
91
|
}], name: [{
|
|
@@ -81,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
81
99
|
}], blockLoad: [{
|
|
82
100
|
type: Output
|
|
83
101
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVbEgsTUFBTSxPQUFPLDRCQUE0QjtJQThDckMsWUFBb0IsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUEzQ3RELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsWUFBWSxDQUFDO1FBU2xDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFTVixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRW5CLGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBVW5DLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4RCxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixzQkFBaUIsR0FBMkIsSUFBSSxDQUFDO1FBQ2pELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBS25DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBMUNELElBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFDSSxJQUFJLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxJQUNJLFNBQVMsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQWlCRCxRQUFRO1FBQ0osTUFBTSxPQUFPLEdBQWtDO1lBQzNDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3JDLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO1lBQ25HLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzt5SEFyRlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsb1lBQ2MsV0FBVywyQ0NabEUsdW5DQTJCYzsyRkRoQkQsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHdCQUF3Qjs2R0FLZ0MsY0FBYztzQkFBL0UsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFdkQsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFJRixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsSUFBSTtzQkFEUCxLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQVNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlYkNvbXBvbmVudFdyYXBwZXJPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbi10b29scyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucywgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1hZGRvbi1ibG9jay1sb2FkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnZGlhbG9nVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgZGlhbG9nVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIFxuICAgIEBJbnB1dCgpIGFkZG9uSWQ6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHJlbW90ZUVudHJ5OiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBzbHVnTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9ibG9ja1R5cGU6IHN0cmluZyA9ICdBZGRvbkJsb2NrJztcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgYmxvY2tUeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYmxvY2tUeXBlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBibG9ja1R5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jsb2NrVHlwZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9uYW1lID0gJyc7XG4gICAgQElucHV0KCkgXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGhvc3RPYmplY3QgPSBudWxsO1xuICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGFueT4gPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRpYWxvZ1JlZih2YWx1ZTogTWF0RGlhbG9nUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5EaWFsb2cgPSB0aGlzLl9kaWFsb2dSZWYgIT0gbnVsbDtcbiAgICB9XG4gICAgZ2V0IGRpYWxvZ1JlZigpOiBNYXREaWFsb2dSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWFsb2dSZWY7XG4gICAgfVxuICAgIFxuICAgIEBPdXRwdXQoKSBob3N0RXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBibG9ja0xvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBcbiAgICBwcm90ZWN0ZWQgaW5EaWFsb2cgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcmVtb3RlUGF0aE9wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgPSBudWxsO1xuICAgIHByb3RlY3RlZCBsb2FkRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG9uSG9zdEV2ZW50c0NhbGxiYWNrOiAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW1vdGVMb2FkZXJTZXJ2aWNlOiBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25Ib3N0RXZlbnRzQ2FsbGJhY2sgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSG9zdEV2ZW50cyhldmVudC5kZXRhaWwpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBvcHRpb25zOiBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHNsdWdOYW1lOiB0aGlzLnNsdWdOYW1lLFxuICAgICAgICAgICAgYmxvY2tUeXBlOiB0aGlzLmJsb2NrVHlwZSxcbiAgICAgICAgICAgIGFkZG9uVVVJRDogdGhpcy5hZGRvbklkLFxuICAgICAgICAgICAgYmxvY2tSZW1vdGVFbnRyeTogdGhpcy5yZW1vdGVFbnRyeVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMob3B0aW9ucykudGhlbigob3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkRWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudE5hbWU/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB0aGlzLnJlbW90ZVBhdGhPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW1vdGVQYXRoT3B0aW9ucyA9IG51bGw7XG4gICAgfVxuXG4gICAgb25CbG9ja0xvYWQoKSB7XG4gICAgICAgIHRoaXMuYmxvY2tMb2FkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkhvc3RFdmVudHMoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgY2xvc2VEaWFsb2coZXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKGV2ZW50KTtcbiAgICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbkRpYWxvZ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW1vdGVMb2FkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGlhbG9nVGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgPHBlcC1kaWFsb2cgW3Nob3dDbG9zZV09XCJkYXRhPy5zaG93Q2xvc2VcIiBbc2hvd0hlYWRlcl09XCJkYXRhPy5zaG93SGVhZGVyXCIgW3Nob3dGb290ZXJdPVwiZGF0YT8uc2hvd0Zvb3RlclwiIFt0aXRsZV09XCJkYXRhPy50aXRsZVwiIChjbG9zZSk9XCJjbG9zZURpYWxvZygkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgcGVwLWRpYWxvZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbW90ZUxvYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcGVwLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVtb3RlTG9hZGVyVGVtcGxhdGU+XG4gICAgPHBlcC1yZW1vdGUtbG9hZGVyICpuZ0lmPVwicmVtb3RlUGF0aE9wdGlvbnMgJiYgIWxvYWRFbGVtZW50XCJcbiAgICAgICAgW29wdGlvbnNdPVwicmVtb3RlUGF0aE9wdGlvbnNcIlxuICAgICAgICBbaG9zdE9iamVjdF09XCJob3N0T2JqZWN0XCJcbiAgICAgICAgKGhvc3RFdmVudHMpPVwib25Ib3N0RXZlbnRzKCRldmVudCk7XCJcbiAgICAgICAgKGxvYWQpPVwib25CbG9ja0xvYWQoKVwiPlxuICAgIDwvcGVwLXJlbW90ZS1sb2FkZXI+XG5cbiAgICA8cGVwLXJlbW90ZS1sb2FkZXItZWxlbWVudCAqbmdJZj1cInJlbW90ZVBhdGhPcHRpb25zICYmIGxvYWRFbGVtZW50XCIgXG4gICAgICAgIFtvcHRpb25zXT1cInJlbW90ZVBhdGhPcHRpb25zXCJcbiAgICAgICAgW3Byb3BzXT1cInsgaG9zdE9iamVjdDogaG9zdE9iamVjdCB9XCJcbiAgICAgICAgW2V2ZW50c109XCJ7IGhvc3RFdmVudHM6IG9uSG9zdEV2ZW50c0NhbGxiYWNrIH1cIlxuICAgICAgICAobG9hZCk9XCJvbkJsb2NrTG9hZCgpXCI+XG4gICAgPC9wZXAtcmVtb3RlLWxvYWRlci1lbGVtZW50PlxuXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -3,18 +3,19 @@ import { PepAddonBlockLoaderComponent } from './addon-block-loader.component';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@pepperi-addons/ngx-lib/dialog";
|
|
5
5
|
export class PepAddonBlockLoaderService {
|
|
6
|
-
constructor(
|
|
7
|
-
this.resolver = resolver;
|
|
6
|
+
constructor(dialogService) {
|
|
8
7
|
this.dialogService = dialogService;
|
|
9
8
|
//
|
|
10
9
|
}
|
|
11
10
|
loadAddonBlockInternal(options) {
|
|
12
11
|
if (options.container !== null) {
|
|
13
|
-
const
|
|
14
|
-
const componentRef = options.container.createComponent(factory);
|
|
12
|
+
const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
|
|
15
13
|
const addonBlockInstance = componentRef.instance;
|
|
16
|
-
addonBlockInstance.blockType = options.blockType || 'AddonBlock';
|
|
17
14
|
addonBlockInstance.name = options.name;
|
|
15
|
+
addonBlockInstance.slugName = options.slugName;
|
|
16
|
+
addonBlockInstance.blockType = options.blockType || 'AddonBlock';
|
|
17
|
+
addonBlockInstance.addonId = options.addonUUID;
|
|
18
|
+
addonBlockInstance.remoteEntry = options.blockRemoteEntry;
|
|
18
19
|
addonBlockInstance.hostObject = options.hostObject;
|
|
19
20
|
addonBlockInstance.hostEvents.subscribe((event) => {
|
|
20
21
|
if (options.hostEventsCallback) {
|
|
@@ -50,12 +51,12 @@ export class PepAddonBlockLoaderService {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token:
|
|
54
|
+
PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
55
|
PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
|
|
55
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
|
|
56
57
|
type: Injectable,
|
|
57
58
|
args: [{
|
|
58
59
|
providedIn: 'root'
|
|
59
60
|
}]
|
|
60
|
-
}], ctorParameters: function () { return [{ type:
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.PepDialogService }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUVqRCxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN2QyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUMvQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUM7WUFDakUsa0JBQWtCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDL0Msa0JBQWtCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUVuRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFlBQVksQ0FBQztTQUN2QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBdUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1lBQ2pKLE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDbEMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBRXZDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7dUhBdkRRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zLCBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMsIElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHsgXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnIFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9uczogSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zKTogQ29tcG9uZW50UmVmPFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQ+IHwgbnVsbCB7XG4gICAgICAgIGlmIChvcHRpb25zLmNvbnRhaW5lciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gb3B0aW9ucy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgYWRkb25CbG9ja0luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UubmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5zbHVnTmFtZSA9IG9wdGlvbnMuc2x1Z05hbWU7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuYmxvY2tUeXBlID0gb3B0aW9ucy5ibG9ja1R5cGUgfHwgJ0FkZG9uQmxvY2snO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmFkZG9uSWQgPSBvcHRpb25zLmFkZG9uVVVJRDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5yZW1vdGVFbnRyeSA9IG9wdGlvbnMuYmxvY2tSZW1vdGVFbnRyeTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0T2JqZWN0ID0gb3B0aW9ucy5ob3N0T2JqZWN0O1xuXG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuaG9zdEV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuaG9zdEV2ZW50c0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaG9zdEV2ZW50c0NhbGxiYWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZEFkZG9uQmxvY2tJbkNvbnRhaW5lcihvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsICB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgbG9hZEFkZG9uQmxvY2tJbkRpYWxvZyhvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBNYXREaWFsb2dSZWY8YW55PiB8IG51bGwge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9ucyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRvbkJsb2NrSW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBjb25zdCBwZXBDb25maWcgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nQ29uZmlnKHsgZGlzYWJsZUNsb3NlOiBmYWxzZSwgcGFuZWxDbGFzczogJ3JlbW90ZS1sb2FkZXItZGlhbG9nJyB9LCBvcHRpb25zLnNpemUgfHwgJ2Z1bGwtc2NyZWVuJyk7XG4gICAgICAgICAgICBjb25zdCBtZXJnZUNvbmZpZyA9IHsuLi5vcHRpb25zLmNvbmZpZywgLi4ucGVwQ29uZmlnfTsgXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gb3B0aW9ucy5kYXRhIHx8IG51bGw7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coYWRkb25CbG9ja0luc3RhbmNlLmRpYWxvZ1RlbXBsYXRlLCBkYXRhLCBtZXJnZUNvbmZpZyk7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYWRkb25CbG9ja0luc3RhbmNlLmRpYWxvZ1JlZjtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
export * from './addon-block-loader.component';
|
|
5
5
|
export * from './addon-block-loader.service';
|
|
6
6
|
export * from './remote-loader.component';
|
|
7
|
+
export * from './remote-loader-element.component';
|
|
7
8
|
export * from './remote-loader.module';
|
|
8
9
|
export * from './remote-loader.model';
|
|
9
10
|
export * from './remote-loader.service';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcmVtb3RlLWxvYWRlclxuICovXG5leHBvcnQgKiBmcm9tICcuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGRvbi1ibG9jay1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
2
|
+
import { loadRemoteModule } from '@angular-architects/module-federation';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@pepperi-addons/ngx-lib";
|
|
5
|
+
import * as i2 from "./remote-loader.service";
|
|
6
|
+
import * as i3 from "@angular/router";
|
|
7
|
+
export class PepRemoteLoaderElementComponent {
|
|
8
|
+
constructor(renderer, el, pepAddonService, remoteLoaderService, route) {
|
|
9
|
+
this.renderer = renderer;
|
|
10
|
+
this.el = el;
|
|
11
|
+
this.pepAddonService = pepAddonService;
|
|
12
|
+
this.remoteLoaderService = remoteLoaderService;
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.load = new EventEmitter();
|
|
15
|
+
this.element = null;
|
|
16
|
+
}
|
|
17
|
+
ngOnChanges() {
|
|
18
|
+
if (!this.element)
|
|
19
|
+
return;
|
|
20
|
+
this.populateProps();
|
|
21
|
+
}
|
|
22
|
+
populateProps() {
|
|
23
|
+
for (const prop in this.props) {
|
|
24
|
+
this.element[prop] = this.props[prop];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
setupEvents() {
|
|
28
|
+
for (const event in this.events) {
|
|
29
|
+
this.element.addEventListener(event, this.events[event]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async loadOptionsFromRoute() {
|
|
33
|
+
const params = this.route?.snapshot.params;
|
|
34
|
+
const data = this.route?.snapshot.data;
|
|
35
|
+
const blockType = data?.blockType || 'SettingsBlock';
|
|
36
|
+
const slugName = params?.slugName || data?.slugName;
|
|
37
|
+
const blockName = params?.blockName || data?.blockName;
|
|
38
|
+
if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {
|
|
39
|
+
const addonUUID = params?.addonUUID || data?.addonUUID || '';
|
|
40
|
+
const blockRemoteEntry = data?.blockRemoteEntry || '';
|
|
41
|
+
this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({
|
|
42
|
+
name: blockName,
|
|
43
|
+
slugName,
|
|
44
|
+
blockType,
|
|
45
|
+
addonUUID,
|
|
46
|
+
blockRemoteEntry
|
|
47
|
+
});
|
|
48
|
+
const fileName = `${this.options['remoteName']}.js`;
|
|
49
|
+
if (window.location.search.indexOf('dev=true') > 0) {
|
|
50
|
+
this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;
|
|
51
|
+
}
|
|
52
|
+
// Set the data into the props cause this component is loading from the route.
|
|
53
|
+
this.props = data;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async ngAfterContentInit() {
|
|
57
|
+
try {
|
|
58
|
+
const t0 = performance.now();
|
|
59
|
+
// If the options is not supplied then we need to get it from the route.
|
|
60
|
+
if (!this.options) {
|
|
61
|
+
await this.loadOptionsFromRoute();
|
|
62
|
+
}
|
|
63
|
+
if (!this.options) {
|
|
64
|
+
throw new Error('No options supplied to the component.');
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
|
|
68
|
+
const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
|
|
69
|
+
if (lastSlashIndex > 0) {
|
|
70
|
+
const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
|
|
71
|
+
this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
await loadRemoteModule(this.options);
|
|
75
|
+
this.element = this.renderer.createElement(this.options.elementName);
|
|
76
|
+
this.populateProps();
|
|
77
|
+
this.setupEvents();
|
|
78
|
+
this.renderer.appendChild(this.el.nativeElement, this.element);
|
|
79
|
+
const t1 = performance.now();
|
|
80
|
+
console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
|
|
81
|
+
this.load.emit();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error(error);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
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: i2.PepRemoteLoaderService }, { token: i3.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
+
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: `
|
|
91
|
+
<!--<div #vc style="height: inherit;"></div>-->
|
|
92
|
+
`, isInline: true, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ selector: 'pep-remote-loader-element', template: `
|
|
96
|
+
<!--<div #vc style="height: inherit;"></div>-->
|
|
97
|
+
`, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] }]
|
|
98
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepAddonService }, { type: i2.PepRemoteLoaderService }, { type: i3.ActivatedRoute, decorators: [{
|
|
99
|
+
type: Optional
|
|
100
|
+
}] }]; }, propDecorators: { options: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], props: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], events: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], load: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}] } });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFFbEssT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7O0FBaUJ6RSxNQUFNLE9BQU8sK0JBQStCO0lBU3hDLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVRuQyxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEQsWUFBTyxHQUFnQixJQUFJLENBQUM7SUFVNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sYUFBYTtRQUNqQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDZixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsU0FBUyxJQUFJLGVBQWUsQ0FBQztRQUVyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxRQUFRLENBQUM7UUFDcEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBRXZELElBQUksU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLEtBQUssZUFBZSxDQUFDLEVBQUU7WUFDbEYsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUM3RCxNQUFNLGdCQUFnQixHQUFHLElBQUksRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFFdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywyQkFBMkIsQ0FBQztnQkFDdEUsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUTtnQkFDUixTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsZ0JBQWdCO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRXBELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyx5QkFBeUIsUUFBUSxFQUFFLENBQUM7YUFDckU7WUFFRCw4RUFBOEU7WUFDOUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJO1lBQ0EsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRTdCLHdFQUF3RTtZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZixNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3JDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2FBQzVEO2lCQUFNO2dCQUNILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUU7b0JBQzdGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFFeEUsSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDL0U7aUJBQ0o7Z0JBRUQsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBRW5CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0QsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxHQUFHLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVsRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7UUFDRCxPQUFNLEtBQUssRUFBRTtZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs0SEExR1EsK0JBQStCO2dIQUEvQiwrQkFBK0IsbUxBVjlCOztLQUVUOzJGQVFRLCtCQUErQjtrQkFaM0MsU0FBUzsrQkFDSSwyQkFBMkIsWUFDM0I7O0tBRVQ7OzBCQXNCSSxRQUFROzRDQWJKLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPcHRpb25hbCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLWFyY2hpdGVjdHMvbW9kdWxlLWZlZGVyYXRpb24nO1xuaW1wb3J0IHsgUGVwQWRkb25TZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS08ZGl2ICN2YyBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj48L2Rpdj4tLT5cbiAgICBgLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6IGluaGVyaXQgfVxuICAgICAgICA6aG9zdDo6bmctZGVlcCA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnM7XG4gICAgQElucHV0KCkgcHJvcHM6IHsgW3Byb3A6IHN0cmluZ106IHVua25vd24gfTtcbiAgICBASW5wdXQoKSBldmVudHM6IHsgW2V2ZW50OiBzdHJpbmddOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkIH07XG5cbiAgICBAT3V0cHV0KCkgbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbDpFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbW90ZUxvYWRlclNlcnZpY2U6IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7IFxuXG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5wb3B1bGF0ZVByb3BzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVByb3BzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5wcm9wcykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50W3Byb3BdID0gdGhpcy5wcm9wc1twcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZT8uc25hcHNob3QucGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YTtcbiAgICAgICAgY29uc3QgYmxvY2tUeXBlID0gZGF0YT8uYmxvY2tUeXBlIHx8ICdTZXR0aW5nc0Jsb2NrJztcblxuICAgICAgICBjb25zdCBzbHVnTmFtZSA9IHBhcmFtcz8uc2x1Z05hbWUgfHwgZGF0YT8uc2x1Z05hbWU7XG4gICAgICAgIGNvbnN0IGJsb2NrTmFtZSA9IHBhcmFtcz8uYmxvY2tOYW1lIHx8IGRhdGE/LmJsb2NrTmFtZTtcbiAgICAgICAgXG4gICAgICAgIGlmIChibG9ja05hbWU/Lmxlbmd0aCA+IDAgfHwgKHNsdWdOYW1lPy5sZW5ndGggPiAwICYmIGJsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25VVUlEID0gcGFyYW1zPy5hZGRvblVVSUQgfHwgZGF0YT8uYWRkb25VVUlEIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tSZW1vdGVFbnRyeSA9IGRhdGE/LmJsb2NrUmVtb3RlRW50cnkgfHwgJyc7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IGF3YWl0IHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICBzbHVnTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgYWRkb25VVUlELFxuICAgICAgICAgICAgICAgIGJsb2NrUmVtb3RlRW50cnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RoaXMub3B0aW9uc1sncmVtb3RlTmFtZSddfS5qc2A7XG5cbiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ2Rldj10cnVlJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zWydyZW1vdGVFbnRyeSddID0gYGh0dHA6Ly9sb2NhbGhvc3Q6NDQwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgZGF0YSBpbnRvIHRoZSBwcm9wcyBjYXVzZSB0aGlzIGNvbXBvbmVudCBpcyBsb2FkaW5nIGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgdGhpcy5wcm9wcyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICAgICAgICAvLyBJZiB0aGUgb3B0aW9ucyBpcyBub3Qgc3VwcGxpZWQgdGhlbiB3ZSBuZWVkIHRvIGdldCBpdCBmcm9tIHRoZSByb3V0ZS5cbiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5hZGRvbklkICYmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gJ21vZHVsZScgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICdzY3JpcHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeT8ubGFzdEluZGV4T2YoJy8nKSB8fCAtMTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlcEFkZG9uU2VydmljZS5zZXRBZGRvblN0YXRpY0ZvbGRlcihwdWJsaWNQYXRoLCB0aGlzLm9wdGlvbnMuYWRkb25JZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpO1xuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCh0aGlzLm9wdGlvbnMuZWxlbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBFdmVudHMoKTtcbiAgICBcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICBcbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIHdjIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMubG9hZC5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
|