@pepperi-addons/ngx-lib 0.4.0-angular14.14 → 0.4.0-angular14.17

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.
@@ -3,15 +3,14 @@ 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(resolver, dialogService) {
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 factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
14
- const componentRef = options.container.createComponent(factory);
12
+ // const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
13
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
15
14
  const addonBlockInstance = componentRef.instance;
16
15
  addonBlockInstance.blockType = options.blockType || 'AddonBlock';
17
16
  addonBlockInstance.name = options.name;
@@ -50,12 +49,12 @@ export class PepAddonBlockLoaderService {
50
49
  }
51
50
  }
52
51
  }
53
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ 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
53
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
55
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
56
55
  type: Injectable,
57
56
  args: [{
58
57
  providedIn: 'root'
59
58
  }]
60
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepDialogService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksUUFBa0MsRUFDbEMsYUFBK0I7UUFEL0IsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBRWpELGtCQUFrQixDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQztZQUNqRSxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN2QyxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUVuRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFlBQVksQ0FBQztTQUN2QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBdUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1lBQ2pKLE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDbEMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBRXZDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7dUhBdERRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zLCBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMsIElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHsgXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnIFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9wdGlvbnMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlIHx8ICdBZGRvbkJsb2NrJztcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmhvc3RPYmplY3QgPSBvcHRpb25zLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0RXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luQ29udGFpbmVyKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyk6IENvbXBvbmVudFJlZjxQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50PiB8IG51bGwgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luRGlhbG9nKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyRGlhbG9nT3B0aW9ucyk6IE1hdERpYWxvZ1JlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGNvbnN0IHBlcENvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoeyBkaXNhYmxlQ2xvc2U6IGZhbHNlLCBwYW5lbENsYXNzOiAncmVtb3RlLWxvYWRlci1kaWFsb2cnIH0sIG9wdGlvbnMuc2l6ZSB8fCAnZnVsbC1zY3JlZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlQ29uZmlnID0gey4uLm9wdGlvbnMuY29uZmlnLCAuLi5wZXBDb25maWd9OyBcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbnVsbDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nVGVtcGxhdGUsIGRhdGEsIG1lcmdlQ29uZmlnKTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
59
+ }], ctorParameters: function () { return [{ type: i1.PepDialogService }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1Qix1RkFBdUY7WUFDdkYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNyRixNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFFakQsa0JBQWtCLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDO1lBQ2pFLGtCQUFrQixDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLGtCQUFrQixDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBRW5ELGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7b0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDckM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELHlCQUF5QixDQUFDLE9BQWlDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUF1QztRQUMxRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsSUFBSSxZQUFZLEVBQUU7WUFDZCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLENBQUM7WUFDakosTUFBTSxXQUFXLEdBQUcsRUFBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsQ0FBQztZQUN0RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztZQUNsQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNuSCxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDdEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7U0FFdkM7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDOzt1SEFyRFEsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGdkIsTUFBTTsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMsIElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucywgSUJsb2NrTG9hZGVyRGF0YSB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuQEluamVjdGFibGUoeyBcbiAgICBwcm92aWRlZEluOiAncm9vdCcgXG59KVxuZXhwb3J0IGNsYXNzIFBlcEFkZG9uQmxvY2tMb2FkZXJTZXJ2aWNlIHtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9wdGlvbnMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlIHx8ICdBZGRvbkJsb2NrJztcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmhvc3RPYmplY3QgPSBvcHRpb25zLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0RXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luQ29udGFpbmVyKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyk6IENvbXBvbmVudFJlZjxQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50PiB8IG51bGwgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luRGlhbG9nKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyRGlhbG9nT3B0aW9ucyk6IE1hdERpYWxvZ1JlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGNvbnN0IHBlcENvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoeyBkaXNhYmxlQ2xvc2U6IGZhbHNlLCBwYW5lbENsYXNzOiAncmVtb3RlLWxvYWRlci1kaWFsb2cnIH0sIG9wdGlvbnMuc2l6ZSB8fCAnZnVsbC1zY3JlZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlQ29uZmlnID0gey4uLm9wdGlvbnMuY29uZmlnLCAuLi5wZXBDb25maWd9OyBcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbnVsbDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nVGVtcGxhdGUsIGRhdGEsIG1lcmdlQ29uZmlnKTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,12 +1,10 @@
1
- import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output } from '@angular/core';
1
+ import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output, createNgModuleRef } from '@angular/core';
2
2
  import { loadRemoteModule } from '@angular-architects/module-federation';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@pepperi-addons/ngx-lib";
5
5
  export class PepRemoteLoaderComponent {
6
- constructor(injector, cfr, compiler, pepAddonService) {
6
+ constructor(injector, pepAddonService) {
7
7
  this.injector = injector;
8
- this.cfr = cfr;
9
- this.compiler = compiler;
10
8
  this.pepAddonService = pepAddonService;
11
9
  this._options = null;
12
10
  // This is the data passed by the API Design documentation.
@@ -49,31 +47,21 @@ export class PepRemoteLoaderComponent {
49
47
  // Check if only need update
50
48
  if (!this.options?.update) {
51
49
  this.viewContainer?.clear();
52
- // Load Component
53
- if (this.options?.noModule) {
54
- const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
55
- // New code
56
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
57
- // Old code
58
- const componentFactory = this.cfr.resolveComponentFactory(component);
59
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
50
+ if (this.options?.noModule) { // Load Component
51
+ const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
52
+ this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
60
53
  }
61
- // Load Module
62
- else {
63
- const publicPathArr = this.options.remoteEntry.split('/');
64
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
65
- __webpack_public_path__ = publicPath;
66
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
54
+ else { // Load Module
55
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
56
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
57
+ if (lastSlashIndex > 0) {
58
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
59
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
60
+ }
61
+ }
67
62
  const module = await loadRemoteModule(this.options).then(m => m);
68
- // New code
69
- // const moduleRef = createNgModuleRef(module, this.injector);
70
- // const component = module[this.options.componentName];
71
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
72
- // Old code
73
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
74
- const moduleRef = moduleFactory.create(this.injector);
75
- const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);
76
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
63
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
64
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
77
65
  const t1 = performance.now();
78
66
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
79
67
  }
@@ -95,7 +83,7 @@ export class PepRemoteLoaderComponent {
95
83
  this.viewContainer?.clear();
96
84
  }
97
85
  }
98
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
86
+ 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 });
99
87
  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: `
100
88
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
101
89
  <ng-template #placeHolder></ng-template>
@@ -109,7 +97,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
109
97
  <ng-template #placeHolder></ng-template>
110
98
  `
111
99
  }]
112
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
100
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
113
101
  type: ViewChild,
114
102
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
115
103
  }], options: [{
@@ -121,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
121
109
  }], load: [{
122
110
  type: Output
123
111
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUMxQixZQUFZLEVBQUUsTUFBTSxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBV3pFLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLFlBQ1ksUUFBa0IsRUFDbEIsR0FBNkIsRUFDN0IsUUFBa0IsRUFDbEIsZUFBZ0M7UUFIaEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWpDcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFXcEQsQ0FBQztJQWxDTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFD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dUUsYUFBYTtzQkFBaEYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUQsT0FBTztzQkFEVixLQUFLO2dCQWNGLFVBQVU7c0JBRGIsS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLCBOZ01vZHVsZUZhY3RvcnksIENvbXBpbGVyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50UmVmLCBTaW1wbGVDaGFuZ2VzLCBOZ1pvbmUsIGNyZWF0ZU5nTW9kdWxlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbic7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmRlY2xhcmUgbGV0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8IS0tIDxtYXQtc3Bpbm5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIHBsYWNlSG9sZGVyXCI+PC9tYXQtc3Bpbm5lcj4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2VIb2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgncGxhY2VIb2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIFxuICAgIHByaXZhdGUgX29wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG9wdGlvbnModmFsdWU6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZE1vZHVsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCk6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgXG4gICAgLy8gVGhpcyBpcyB0aGUgZGF0YSBwYXNzZWQgYnkgdGhlIEFQSSBEZXNpZ24gZG9jdW1lbnRhdGlvbi5cbiAgICBwcml2YXRlIF9ob3N0T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhvc3RPYmplY3QodmFsdWU6IGFueSkgeyBcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCk7XG4gICAgfVxuICAgIGdldCBob3N0T2JqZWN0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3N0T2JqZWN0O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBob3N0RXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvLyBzaG93U3Bpbm5lciA9IHRydWU7XG4gICAgXG4gICAgcHJpdmF0ZSBjb21wUmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgcGVwQWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCkge1xuICAgICAgICBpZiAodGhpcy5ob3N0T2JqZWN0ICYmIHRoaXMuY29tcFJlZj8uaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5ob3N0T2JqZWN0ID0gdGhpcy5ob3N0T2JqZWN0O1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIG5lZWRlZD8/IGlmIG5vdCByZW1vdmUgdGhpcy5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBSZWY/Lmluc3RhbmNlPy5uZ09uQ2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcyh0aGlzLmhvc3RPYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICAvLyBpZiAoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmxvYWRNb2R1bGUoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZE1vZHVsZSgpIHtcbiAgICAgICAgY29uc3QgdDAgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgXG4gICAgICAgIC8vIENoZWNrIGlmIG9ubHkgbmVlZCB1cGRhdGVcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5jbGVhcigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBMb2FkIENvbXBvbmVudFxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubm9Nb2R1bGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbihtID0+IG1bdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBOZXcgY29kZVxuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gT2xkIGNvZGVcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIG51bGwsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTG9hZCBNb2R1bGVcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGhBcnIgPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWJsaWNQYXRoID0gcHVibGljUGF0aEFyci5zbGljZSgwLCBwdWJsaWNQYXRoQXJyLmxlbmd0aCAtIDEpLmpvaW4oJy8nKSsnLyc7XG4gICAgICAgICAgICAgICAgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gPSBwdWJsaWNQYXRoO1xuICAgICAgICAgICAgICAgIHRoaXMucGVwQWRkb25TZXJ2aWNlLnNldEFkZG9uU3RhdGljRm9sZGVyKHB1YmxpY1BhdGgsIHRoaXMub3B0aW9ucy5hZGRvbklkKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9ICBhd2FpdCBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbihtID0+IG0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIE5ldyBjb2RlXG4gICAgICAgICAgICAgICAgLy8gY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGVSZWYobW9kdWxlLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBjb21wb25lbnQgPSBtb2R1bGVbdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yLCBuZ01vZHVsZVJlZjogbW9kdWxlUmVmIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIE9sZCBjb2RlXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlRmFjdG9yeTogTmdNb2R1bGVGYWN0b3J5PGFueT4gPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVTeW5jKG1vZHVsZVt0aGlzLm9wdGlvbnMuZXhwb3NlZE1vZHVsZS5yZXBsYWNlKCcuLycsJycpXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gbW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IG1vZHVsZVJlZj8uY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPy5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShtb2R1bGVbdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIG51bGwsIHRoaXMuaW5qZWN0b3IsIG51bGwsIG1vZHVsZVJlZik7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcFJlZikge1xuICAgICAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmNvbXBSZWY/Lmluc3RhbmNlWydob3N0RXZlbnRzJ10/LnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzd2l0Y2goZS5hY3Rpb24pe1xuICAgICAgICAgICAgICAgIC8vICAgICBjYXNlICdhZGRvbi1sb2FkZWQnOlxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zaG93U3Bpbm5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICB9XG59XG5cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUFZLFlBQVksRUFBRSxNQUFNLEVBQStCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFVekUsTUFBTSxPQUFPLHdCQUF3QjtJQWdDakMsWUFDWSxRQUFrQixFQUNsQixlQUFnQztRQURoQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQS9CcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFRcEQsQ0FBQztJQS9CTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBYU8sZ0NBQWdDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUVuRCxzREFBc0Q7WUFDdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEQ7U0FDSjtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3BDLHdDQUF3QztRQUN4Qyx1REFBdUQ7UUFDdkQsSUFBSTtJQUNSLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUNwQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0IsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBRTVCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxpQkFBaUI7Z0JBQzNDLE1BQU0sYUFBYSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2pHO2lCQUFNLEVBQUUsY0FBYztnQkFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsRUFBRTtvQkFDN0YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUV4RSxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUU7d0JBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO3dCQUM3RSxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMvRTtpQkFDSjtnQkFFRCxNQUFNLE1BQU0sR0FBSSxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFFM0ksTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxHQUFHLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1lBRXhDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEQsb0JBQW9CO2dCQUNwQiwyQkFBMkI7Z0JBQzNCLG9DQUFvQztnQkFDcEMsSUFBSTtnQkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMzQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7cUhBckdRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlRQUNDLGdCQUFnQixnRUFOeEM7OztLQUdUOzJGQUVRLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7OztLQUdUO2lCQUNKOzZIQUV1RSxhQUFhO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxPQUFPO3NCQURWLEtBQUs7Z0JBY0YsVUFBVTtzQkFEYixLQUFLO2dCQVNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGVwQWRkb25TZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50UmVmLCBTaW1wbGVDaGFuZ2VzLCBjcmVhdGVOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLWFyY2hpdGVjdHMvbW9kdWxlLWZlZGVyYXRpb24nO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXJlbW90ZS1sb2FkZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS0gPG1hdC1zcGlubmVyICpuZ0lmPVwic2hvd1NwaW5uZXI7IGVsc2UgcGxhY2VIb2xkZXJcIj48L21hdC1zcGlubmVyPiAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZUhvbGRlcj48L25nLXRlbXBsYXRlPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdwbGFjZUhvbGRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyh2YWx1ZTogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkTW9kdWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG9wdGlvbnMoKTogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cbiAgICBcbiAgICAvLyBUaGlzIGlzIHRoZSBkYXRhIHBhc3NlZCBieSB0aGUgQVBJIERlc2lnbiBkb2N1bWVudGF0aW9uLlxuICAgIHByaXZhdGUgX2hvc3RPYmplY3Q6IGFueSA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgaG9zdE9iamVjdCh2YWx1ZTogYW55KSB7IFxuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0SG9zdENvbXBvbmVudEludG9Db21wb25lbnRSZWYoKTtcbiAgICB9XG4gICAgZ2V0IGhvc3RPYmplY3QoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvc3RPYmplY3Q7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGhvc3RFdmVudHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIHNob3dTcGlubmVyID0gdHJ1ZTtcbiAgICBcbiAgICBwcml2YXRlIGNvbXBSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIHByaXZhdGUgc2V0SG9zdENvbXBvbmVudEludG9Db21wb25lbnRSZWYoKSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3RPYmplY3QgJiYgdGhpcy5jb21wUmVmPy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLmhvc3RPYmplY3QgPSB0aGlzLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgbmVlZGVkPz8gaWYgbm90IHJlbW92ZSB0aGlzLlxuICAgICAgICAgICAgaWYgKHRoaXMuY29tcFJlZj8uaW5zdGFuY2U/Lm5nT25DaGFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHRoaXMuaG9zdE9iamVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIC8vIGlmIChjaGFuZ2VzPy5vcHRpb25zPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubG9hZE1vZHVsZShjaGFuZ2VzPy5vcHRpb25zPy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKCkge1xuICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICBcbiAgICAgICAgLy8gQ2hlY2sgaWYgb25seSBuZWVkIHVwZGF0ZVxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucz8udXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LmNsZWFyKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lm5vTW9kdWxlKSB7IC8vIExvYWQgQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50VHlwZSA9IGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7IC8vIExvYWQgTW9kdWxlXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8uYWRkb25JZCAmJiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICdtb2R1bGUnIHx8IHRoaXMub3B0aW9ucy50eXBlID09PSAnc2NyaXB0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnk/Lmxhc3RJbmRleE9mKCcvJykgfHwgLTE7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWJsaWNQYXRoID0gdGhpcy5vcHRpb25zLnJlbW90ZUVudHJ5LnN1YnN0cmluZygwLCBsYXN0U2xhc2hJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gIGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGVSZWYobW9kdWxlW3RoaXMub3B0aW9ucy5leHBvc2VkTW9kdWxlLnJlcGxhY2UoJy4vJywnJyldLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KG1vZHVsZVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsIG5nTW9kdWxlUmVmOiBtb2R1bGVSZWYgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcFJlZikge1xuICAgICAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmNvbXBSZWY/Lmluc3RhbmNlWydob3N0RXZlbnRzJ10/LnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzd2l0Y2goZS5hY3Rpb24pe1xuICAgICAgICAgICAgICAgIC8vICAgICBjYXNlICdhZGRvbi1sb2FkZWQnOlxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zaG93U3Bpbm5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlU2NyaXB0T3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2l6ZVR5cGUgfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudFJlbGF0aW9uIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9wYXBpLXNka1wiO1xuXG50eXBlIFBlcFJlbW90ZUxvYWRlckRhdGEgPSB7XG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIGFkZG9uSWQ6IHN0cmluZztcbiAgICB1cGRhdGU/OiBib29sZWFuO1xuICAgIG5vTW9kdWxlPzogYm9vbGVhbjtcbiAgICAvLyB0aXRsZTogc3RyaW5nO1xuICAgIC8vIG1vZHVsZURhdGE/OiBvYmplY3Q7XG4gICAgLy8gdmlzaWJsZUVuZHBvaW50Pzogc3RyaW5nO1xuICAgIC8vIG11bHRpU2VsZWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyA7XG4gICAgLy8gY29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAvLyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBba2V5OnN0cmluZ106IGFueTsgLy8gSWYgYW55b25lIHdpbGwgbmVlZCBpdCB0aGVuIGFkZCBpdCEhIVxufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gTG9hZFJlbW90ZU1vZHVsZVNjcmlwdE9wdGlvbnMgJiBQZXBSZW1vdGVMb2FkZXJEYXRhO1xuXG5leHBvcnQgdHlwZSBQZXBCbG9ja0RhdGFUeXBlID0gJ1NldHRpbmdzQmxvY2snIHwgJ0FkZG9uQmxvY2snIHwgJ1BhZ2VCbG9jayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uUHVibGljQmFzZVVSTDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgYmxvY2tUeXBlPzogUGVwQmxvY2tEYXRhVHlwZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2l6ZVR5cGUgfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudFJlbGF0aW9uIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9wYXBpLXNka1wiO1xuXG50eXBlIFBlcFJlbW90ZUxvYWRlckRhdGEgPSB7XG4gICAgYWRkb25JZD86IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICBjb21wb25lbnROYW1lPzogc3RyaW5nO1xuICAgIC8vIE1heWJlIHRob3NlIHByb3BlcnRpZXMgYXJlIG5vdCBpbiB1c2Ugc28gd2UgbmVlZCB0byByZW1vdmUgdGhlbS5cbiAgICB1cGRhdGU/OiBib29sZWFuO1xuICAgIG5vTW9kdWxlPzogYm9vbGVhbjtcblxuICAgIC8vIE9sZCBwcm9wZXJ0aWVzXG4gICAgLy8gY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIC8vIGFkZG9uSWQ6IHN0cmluZztcbiAgICAvLyB1cGRhdGU/OiBib29sZWFuO1xuICAgIC8vIG5vTW9kdWxlPzogYm9vbGVhbjtcbiAgICAvLyB0aXRsZTogc3RyaW5nO1xuICAgIC8vIG1vZHVsZURhdGE/OiBvYmplY3Q7XG4gICAgLy8gdmlzaWJsZUVuZHBvaW50Pzogc3RyaW5nO1xuICAgIC8vIG11bHRpU2VsZWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyA7XG4gICAgLy8gY29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAvLyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBba2V5OnN0cmluZ106IGFueTsgLy8gSWYgYW55b25lIHdpbGwgbmVlZCBpdCB0aGVuIGFkZCBpdCEhIVxufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnMgJiBQZXBSZW1vdGVMb2FkZXJEYXRhO1xuXG5leHBvcnQgdHlwZSBQZXBCbG9ja0RhdGFUeXBlID0gJ1NldHRpbmdzQmxvY2snIHwgJ0FkZG9uQmxvY2snIHwgJ1BhZ2VCbG9jayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uUHVibGljQmFzZVVSTDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgYmxvY2tUeXBlPzogUGVwQmxvY2tEYXRhVHlwZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
@@ -10,13 +10,14 @@ export class PepRemoteLoaderService {
10
10
  this.route = route;
11
11
  //
12
12
  }
13
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
13
+ getRemoteLoaderOptions(blockLoaderData, remoteEntry = '', type = 'module') {
14
14
  return {
15
- addonId: blockLoaderData.relation.AddonUUID,
15
+ type: type,
16
16
  remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
17
- remoteName: blockLoaderData.relation.AddonRelativeURL,
18
17
  exposedModule: `./${blockLoaderData.relation.ModuleName}`,
19
- componentName: blockLoaderData.relation.ComponentName,
18
+ remoteName: blockLoaderData.relation.AddonRelativeURL,
19
+ addonId: blockLoaderData.relation.AddonUUID,
20
+ componentName: blockLoaderData.relation.ComponentName, // For local use (other).
20
21
  };
21
22
  }
22
23
  getAddonBaseUrl(addonUUID, fileName = 'api') {
@@ -54,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
54
55
  providedIn: 'root'
55
56
  }]
56
57
  }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFDWSxXQUEyQixFQUMzQixjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixLQUFxQjtRQUhyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixFQUFFO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWlDLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDdEUsT0FBTztZQUNILE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7WUFDM0MsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUs7WUFDMUksVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JELGFBQWEsRUFBRSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pELGFBQWEsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWE7U0FDeEQsQ0FBQTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUIsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUN2RCx5Q0FBeUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUM7UUFDaEYsSUFBRyxTQUFTLEVBQUU7WUFDVixPQUFPLHlCQUF5QixRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRCxPQUFPLEdBQUcsT0FBTyxlQUFlLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBWSxFQUFFLFlBQThCLFlBQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUN4RyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVkscUNBQXFDLElBQUksY0FBYyxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sQ0FBQywyQkFBMkIsSUFBSSw0QkFBNEIsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDbEY7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBN0NRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSwgUGVwSHR0cFNlcnZpY2UsIFBlcFNlc3Npb25TZXJ2aWNlfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhibG9ja0xvYWRlckRhdGE6IElCbG9ja0xvYWRlckRhdGEsIHJlbW90ZUVudHJ5ID0gJycpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkZG9uSWQ6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblVVSUQsXG4gICAgICAgICAgICByZW1vdGVFbnRyeTogcmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IHJlbW90ZUVudHJ5IDogYCR7YmxvY2tMb2FkZXJEYXRhLmFkZG9uUHVibGljQmFzZVVSTH0ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMfS5qc2AsXG4gICAgICAgICAgICByZW1vdGVOYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25SZWxhdGl2ZVVSTCxcbiAgICAgICAgICAgIGV4cG9zZWRNb2R1bGU6IGAuLyR7YmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLk1vZHVsZU5hbWV9YCxcbiAgICAgICAgICAgIGNvbXBvbmVudE5hbWU6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Db21wb25lbnROYW1lLCBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkb25CYXNlVXJsKGFkZG9uVVVJRDogc3RyaW5nLCBmaWxlTmFtZSA9ICdhcGknKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRm9yIGRldlNlcnZlciBydW4gc2VydmVyIG9uIGxvY2FsaG9zdC5cbiAgICAgICAgY29uc3QgZGV2U2VydmVyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGV2U2VydmVyJykgPT09ICd0cnVlJztcbiAgICAgICAgaWYoZGV2U2VydmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gYGh0dHA6Ly9sb2NhbGhvc3Q6NDUwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9L2FkZG9ucy9hcGkvJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBhc3luYyBnZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMobmFtZTogc3RyaW5nLCBibG9ja1R5cGU6IFBlcEJsb2NrRGF0YVR5cGUgPSAnQWRkb25CbG9jaycsIHJlbW90ZUVudHJ5ID0gJycpOiBQcm9taXNlPFBlcFJlbW90ZUxvYWRlck9wdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQWRkb25VdWlkID0gdGhpcy5hZGRvblNlcnZpY2UuZ2V0UGFnZXNBZGRvblVVSUQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQmFzZVVybCA9IHRoaXMuZ2V0QWRkb25CYXNlVXJsKHBhZ2VzQWRkb25VdWlkLCAnYWRkb25fYmxvY2tzJyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtwYWdlc0Jhc2VVcmx9L2dldF9hZGRvbl9ibG9ja19sb2FkZXJfZGF0YT9uYW1lPSR7bmFtZX0mYmxvY2tUeXBlPSR7YmxvY2tUeXBlfWA7XG4gICAgICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLmdldEh0dHBDYWxsKHVybCkudG9Qcm9taXNlKCkudGhlbigoZGF0YTogSUJsb2NrTG9hZGVyRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5nZXRSZW1vdGVMb2FkZXJPcHRpb25zKGRhdGEsIHJlbW90ZUVudHJ5KSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGBBZGRvbiBibG9jayB3aXRoIG5hbWUgLSAke25hbWV9IGlzIG5vdCBmb3VuZCBmb3IgdHlwZSAtICR7YmxvY2tUeXBlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyBcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFDWSxXQUEyQixFQUMzQixjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixLQUFxQjtRQUhyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixFQUFFO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWlDLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxPQUF5QyxRQUFRO1FBQ3pILE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixLQUFLO1lBQzFJLGFBQWEsRUFBRSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pELFVBQVUsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtZQUNyRCxPQUFPLEVBQUUsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQzNDLGFBQWEsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSx5QkFBeUI7U0FDbkYsQ0FBQTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUIsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUN2RCx5Q0FBeUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUM7UUFDaEYsSUFBRyxTQUFTLEVBQUU7WUFDVixPQUFPLHlCQUF5QixRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRCxPQUFPLEdBQUcsT0FBTyxlQUFlLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBWSxFQUFFLFlBQThCLFlBQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUN4RyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVkscUNBQXFDLElBQUksY0FBYyxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sQ0FBQywyQkFBMkIsSUFBSSw0QkFBNEIsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDbEY7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBOUNRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSwgUGVwSHR0cFNlcnZpY2UsIFBlcFNlc3Npb25TZXJ2aWNlfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhibG9ja0xvYWRlckRhdGE6IElCbG9ja0xvYWRlckRhdGEsIHJlbW90ZUVudHJ5ID0gJycsIHR5cGU6ICdzY3JpcHQnIHwgJ21vZHVsZScgfCAnbWFuaWZlc3QnID0gJ21vZHVsZScpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgICAgICByZW1vdGVFbnRyeTogcmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IHJlbW90ZUVudHJ5IDogYCR7YmxvY2tMb2FkZXJEYXRhLmFkZG9uUHVibGljQmFzZVVSTH0ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMfS5qc2AsXG4gICAgICAgICAgICBleHBvc2VkTW9kdWxlOiBgLi8ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Nb2R1bGVOYW1lfWAsXG4gICAgICAgICAgICByZW1vdGVOYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25SZWxhdGl2ZVVSTCwgLy8gRm9yIHNjcmlwdCB0eXBlLCB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBzY3JpcHQuXG4gICAgICAgICAgICBhZGRvbklkOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25VVUlELCAvLyBGb3IgbG9jYWwgdXNlIChhZGRpbmcgdGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0cykuXG4gICAgICAgICAgICBjb21wb25lbnROYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQ29tcG9uZW50TmFtZSwgLy8gRm9yIGxvY2FsIHVzZSAob3RoZXIpLlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBZGRvbkJhc2VVcmwoYWRkb25VVUlEOiBzdHJpbmcsIGZpbGVOYW1lID0gJ2FwaScpOiBzdHJpbmcge1xuICAgICAgICAvLyBGb3IgZGV2U2VydmVyIHJ1biBzZXJ2ZXIgb24gbG9jYWxob3N0LlxuICAgICAgICBjb25zdCBkZXZTZXJ2ZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkZXZTZXJ2ZXInKSA9PT0gJ3RydWUnO1xuICAgICAgICBpZihkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBgaHR0cDovL2xvY2FsaG9zdDo0NTAwLyR7ZmlsZU5hbWV9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldFBhcGlCYXNlVXJsKCk7XG4gICAgICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vYWRkb25zL2FwaS8ke2FkZG9uVVVJRH0vJHtmaWxlTmFtZX1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGFzeW5jIGdldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9ucyhuYW1lOiBzdHJpbmcsIGJsb2NrVHlwZTogUGVwQmxvY2tEYXRhVHlwZSA9ICdBZGRvbkJsb2NrJywgcmVtb3RlRW50cnkgPSAnJyk6IFByb21pc2U8UGVwUmVtb3RlTG9hZGVyT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFnZXNBZGRvblV1aWQgPSB0aGlzLmFkZG9uU2VydmljZS5nZXRQYWdlc0FkZG9uVVVJRCgpO1xuICAgICAgICAgICAgY29uc3QgcGFnZXNCYXNlVXJsID0gdGhpcy5nZXRBZGRvbkJhc2VVcmwocGFnZXNBZGRvblV1aWQsICdhZGRvbl9ibG9ja3MnKTtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3BhZ2VzQmFzZVVybH0vZ2V0X2FkZG9uX2Jsb2NrX2xvYWRlcl9kYXRhP25hbWU9JHtuYW1lfSZibG9ja1R5cGU9JHtibG9ja1R5cGV9YDtcbiAgICAgICAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZ2V0SHR0cENhbGwodXJsKS50b1Byb21pc2UoKS50aGVuKChkYXRhOiBJQmxvY2tMb2FkZXJEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmdldFJlbW90ZUxvYWRlck9wdGlvbnMoZGF0YSwgcmVtb3RlRW50cnkpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoYEFkZG9uIGJsb2NrIHdpdGggbmFtZSAtICR7bmFtZX0gaXMgbm90IGZvdW5kIGZvciB0eXBlIC0gJHtibG9ja1R5cGV9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7IFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
4
  import * as i1 from '@pepperi-addons/ngx-lib';
5
5
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
@@ -20,13 +20,14 @@ class PepRemoteLoaderService {
20
20
  this.route = route;
21
21
  //
22
22
  }
23
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
23
+ getRemoteLoaderOptions(blockLoaderData, remoteEntry = '', type = 'module') {
24
24
  return {
25
- addonId: blockLoaderData.relation.AddonUUID,
25
+ type: type,
26
26
  remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
27
- remoteName: blockLoaderData.relation.AddonRelativeURL,
28
27
  exposedModule: `./${blockLoaderData.relation.ModuleName}`,
29
- componentName: blockLoaderData.relation.ComponentName,
28
+ remoteName: blockLoaderData.relation.AddonRelativeURL,
29
+ addonId: blockLoaderData.relation.AddonUUID,
30
+ componentName: blockLoaderData.relation.ComponentName, // For local use (other).
30
31
  };
31
32
  }
32
33
  getAddonBaseUrl(addonUUID, fileName = 'api') {
@@ -68,10 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
68
69
  }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
69
70
 
70
71
  class PepRemoteLoaderComponent {
71
- constructor(injector, cfr, compiler, pepAddonService) {
72
+ constructor(injector, pepAddonService) {
72
73
  this.injector = injector;
73
- this.cfr = cfr;
74
- this.compiler = compiler;
75
74
  this.pepAddonService = pepAddonService;
76
75
  this._options = null;
77
76
  // This is the data passed by the API Design documentation.
@@ -113,37 +112,27 @@ class PepRemoteLoaderComponent {
113
112
  });
114
113
  }
115
114
  loadModule() {
116
- var _a, _b, _c, _d, _e, _f;
115
+ var _a, _b, _c, _d, _e, _f, _g;
117
116
  return __awaiter(this, void 0, void 0, function* () {
118
117
  const t0 = performance.now();
119
118
  // Check if only need update
120
119
  if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.update)) {
121
120
  (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
122
- // Load Component
123
- if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.noModule) {
124
- const component = yield loadRemoteModule(this.options).then(m => m[this.options.componentName]);
125
- // New code
126
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
127
- // Old code
128
- const componentFactory = this.cfr.resolveComponentFactory(component);
129
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
121
+ if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.noModule) { // Load Component
122
+ const componentType = yield loadRemoteModule(this.options).then(m => m[this.options.componentName]);
123
+ this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
130
124
  }
131
- // Load Module
132
- else {
133
- const publicPathArr = this.options.remoteEntry.split('/');
134
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
135
- __webpack_public_path__ = publicPath;
136
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
125
+ else { // Load Module
126
+ if (((_d = this.options) === null || _d === void 0 ? void 0 : _d.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
127
+ const lastSlashIndex = ((_e = this.options.remoteEntry) === null || _e === void 0 ? void 0 : _e.lastIndexOf('/')) || -1;
128
+ if (lastSlashIndex > 0) {
129
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
130
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
131
+ }
132
+ }
137
133
  const module = yield loadRemoteModule(this.options).then(m => m);
138
- // New code
139
- // const moduleRef = createNgModuleRef(module, this.injector);
140
- // const component = module[this.options.componentName];
141
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
142
- // Old code
143
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
144
- const moduleRef = moduleFactory.create(this.injector);
145
- const componentFactory = (_d = moduleRef === null || moduleRef === void 0 ? void 0 : moduleRef.componentFactoryResolver) === null || _d === void 0 ? void 0 : _d.resolveComponentFactory(module[this.options.componentName]);
146
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
134
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
135
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
147
136
  const t1 = performance.now();
148
137
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
149
138
  }
@@ -151,7 +140,7 @@ class PepRemoteLoaderComponent {
151
140
  }
152
141
  if (this.compRef) {
153
142
  this.setHostComponentIntoComponentRef();
154
- (_f = (_e = this.compRef) === null || _e === void 0 ? void 0 : _e.instance['hostEvents']) === null || _f === void 0 ? void 0 : _f.subscribe(e => {
143
+ (_g = (_f = this.compRef) === null || _f === void 0 ? void 0 : _f.instance['hostEvents']) === null || _g === void 0 ? void 0 : _g.subscribe(e => {
155
144
  // switch(e.action){
156
145
  // case 'addon-loaded':
157
146
  // this.showSpinner = false;
@@ -167,7 +156,7 @@ class PepRemoteLoaderComponent {
167
156
  (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
168
157
  }
169
158
  }
170
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
159
+ 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 });
171
160
  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: `
172
161
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
173
162
  <ng-template #placeHolder></ng-template>
@@ -181,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
181
170
  <ng-template #placeHolder></ng-template>
182
171
  `
183
172
  }]
184
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
173
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
185
174
  type: ViewChild,
186
175
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
187
176
  }], options: [{
@@ -274,15 +263,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
274
263
  }] } });
275
264
 
276
265
  class PepAddonBlockLoaderService {
277
- constructor(resolver, dialogService) {
278
- this.resolver = resolver;
266
+ constructor(dialogService) {
279
267
  this.dialogService = dialogService;
280
268
  //
281
269
  }
282
270
  loadAddonBlockInternal(options) {
283
271
  if (options.container !== null) {
284
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
285
- const componentRef = options.container.createComponent(factory);
272
+ // const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
273
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
286
274
  const addonBlockInstance = componentRef.instance;
287
275
  addonBlockInstance.blockType = options.blockType || 'AddonBlock';
288
276
  addonBlockInstance.name = options.name;
@@ -321,14 +309,14 @@ class PepAddonBlockLoaderService {
321
309
  }
322
310
  }
323
311
  }
324
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
312
+ 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 });
325
313
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
326
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
327
315
  type: Injectable,
328
316
  args: [{
329
317
  providedIn: 'root'
330
318
  }]
331
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDialogService }]; } });
319
+ }], ctorParameters: function () { return [{ type: i1$1.PepDialogService }]; } });
332
320
 
333
321
  class PepRemoteLoaderModule {
334
322
  }
@@ -1 +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/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 { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\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 private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = ''): PepRemoteLoaderOptions {\n return {\n addonId: blockLoaderData.relation.AddonUUID,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n componentName: blockLoaderData.relation.ComponentName, \n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, ComponentFactoryResolver,\n Injector, NgModuleFactory, Compiler, EventEmitter, Output, ComponentRef, SimpleChanges, NgZone, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\ndeclare let __webpack_public_path__;\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 cfr: ComponentFactoryResolver,\n private compiler: Compiler,\n private pepAddonService: PepAddonService,\n // private zone: NgZone,\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 async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n // Load Component\n if (this.options?.noModule) {\n const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n \n // New code\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });\n\n // Old code\n const componentFactory = this.cfr.resolveComponentFactory(component);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);\n }\n // Load Module\n else {\n const publicPathArr = this.options.remoteEntry.split('/');\n const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n __webpack_public_path__ = publicPath;\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n\n const module = await loadRemoteModule(this.options).then(m => m);\n \n // New code\n // const moduleRef = createNgModuleRef(module, this.injector);\n // const component = module[this.options.componentName];\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });\n \n // Old code\n const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./','')]);\n const moduleRef = moduleFactory.create(this.injector);\n \n const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n }\n\n this.load.emit();\n }\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 }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, 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() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\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 inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\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 resolver: ComponentFactoryResolver,\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(factory);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\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';\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';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\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.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":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
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/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 { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\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 private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n return {\n type: type,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n componentName: blockLoaderData.relation.ComponentName, // For local use (other).\n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\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 async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n if (this.options?.noModule) { // 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 } else { // 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\n this.load.emit();\n }\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 }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, 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() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\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 inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\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 factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\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';\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';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\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.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":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
3
3
  import * as i1 from '@pepperi-addons/ngx-lib';
4
4
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
5
5
  import * as i2 from '@angular/router';
@@ -19,13 +19,14 @@ class PepRemoteLoaderService {
19
19
  this.route = route;
20
20
  //
21
21
  }
22
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
22
+ getRemoteLoaderOptions(blockLoaderData, remoteEntry = '', type = 'module') {
23
23
  return {
24
- addonId: blockLoaderData.relation.AddonUUID,
24
+ type: type,
25
25
  remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
26
- remoteName: blockLoaderData.relation.AddonRelativeURL,
27
26
  exposedModule: `./${blockLoaderData.relation.ModuleName}`,
28
- componentName: blockLoaderData.relation.ComponentName,
27
+ remoteName: blockLoaderData.relation.AddonRelativeURL,
28
+ addonId: blockLoaderData.relation.AddonUUID,
29
+ componentName: blockLoaderData.relation.ComponentName, // For local use (other).
29
30
  };
30
31
  }
31
32
  getAddonBaseUrl(addonUUID, fileName = 'api') {
@@ -65,10 +66,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
65
66
  }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
66
67
 
67
68
  class PepRemoteLoaderComponent {
68
- constructor(injector, cfr, compiler, pepAddonService) {
69
+ constructor(injector, pepAddonService) {
69
70
  this.injector = injector;
70
- this.cfr = cfr;
71
- this.compiler = compiler;
72
71
  this.pepAddonService = pepAddonService;
73
72
  this._options = null;
74
73
  // This is the data passed by the API Design documentation.
@@ -111,31 +110,21 @@ class PepRemoteLoaderComponent {
111
110
  // Check if only need update
112
111
  if (!this.options?.update) {
113
112
  this.viewContainer?.clear();
114
- // Load Component
115
- if (this.options?.noModule) {
116
- const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
117
- // New code
118
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
119
- // Old code
120
- const componentFactory = this.cfr.resolveComponentFactory(component);
121
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
113
+ if (this.options?.noModule) { // Load Component
114
+ const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
115
+ this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
122
116
  }
123
- // Load Module
124
- else {
125
- const publicPathArr = this.options.remoteEntry.split('/');
126
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
127
- __webpack_public_path__ = publicPath;
128
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
117
+ else { // Load Module
118
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
119
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
120
+ if (lastSlashIndex > 0) {
121
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
122
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
123
+ }
124
+ }
129
125
  const module = await loadRemoteModule(this.options).then(m => m);
130
- // New code
131
- // const moduleRef = createNgModuleRef(module, this.injector);
132
- // const component = module[this.options.componentName];
133
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
134
- // Old code
135
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
136
- const moduleRef = moduleFactory.create(this.injector);
137
- const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);
138
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
126
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
127
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
139
128
  const t1 = performance.now();
140
129
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
141
130
  }
@@ -157,7 +146,7 @@ class PepRemoteLoaderComponent {
157
146
  this.viewContainer?.clear();
158
147
  }
159
148
  }
160
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
149
+ 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 });
161
150
  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: `
162
151
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
163
152
  <ng-template #placeHolder></ng-template>
@@ -171,7 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
171
160
  <ng-template #placeHolder></ng-template>
172
161
  `
173
162
  }]
174
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
163
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
175
164
  type: ViewChild,
176
165
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
177
166
  }], options: [{
@@ -263,15 +252,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
263
252
  }] } });
264
253
 
265
254
  class PepAddonBlockLoaderService {
266
- constructor(resolver, dialogService) {
267
- this.resolver = resolver;
255
+ constructor(dialogService) {
268
256
  this.dialogService = dialogService;
269
257
  //
270
258
  }
271
259
  loadAddonBlockInternal(options) {
272
260
  if (options.container !== null) {
273
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
274
- const componentRef = options.container.createComponent(factory);
261
+ // const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
262
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
275
263
  const addonBlockInstance = componentRef.instance;
276
264
  addonBlockInstance.blockType = options.blockType || 'AddonBlock';
277
265
  addonBlockInstance.name = options.name;
@@ -310,14 +298,14 @@ class PepAddonBlockLoaderService {
310
298
  }
311
299
  }
312
300
  }
313
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
301
+ 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 });
314
302
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
315
303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
316
304
  type: Injectable,
317
305
  args: [{
318
306
  providedIn: 'root'
319
307
  }]
320
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDialogService }]; } });
308
+ }], ctorParameters: function () { return [{ type: i1$1.PepDialogService }]; } });
321
309
 
322
310
  class PepRemoteLoaderModule {
323
311
  }
@@ -1 +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/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 { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\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 private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = ''): PepRemoteLoaderOptions {\n return {\n addonId: blockLoaderData.relation.AddonUUID,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n componentName: blockLoaderData.relation.ComponentName, \n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, ComponentFactoryResolver,\n Injector, NgModuleFactory, Compiler, EventEmitter, Output, ComponentRef, SimpleChanges, NgZone, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\ndeclare let __webpack_public_path__;\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 cfr: ComponentFactoryResolver,\n private compiler: Compiler,\n private pepAddonService: PepAddonService,\n // private zone: NgZone,\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 async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n // Load Component\n if (this.options?.noModule) {\n const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n \n // New code\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });\n\n // Old code\n const componentFactory = this.cfr.resolveComponentFactory(component);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);\n }\n // Load Module\n else {\n const publicPathArr = this.options.remoteEntry.split('/');\n const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n __webpack_public_path__ = publicPath;\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n\n const module = await loadRemoteModule(this.options).then(m => m);\n \n // New code\n // const moduleRef = createNgModuleRef(module, this.injector);\n // const component = module[this.options.componentName];\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });\n \n // Old code\n const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./','')]);\n const moduleRef = moduleFactory.create(this.injector);\n \n const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n }\n\n this.load.emit();\n }\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 }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, 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() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\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 inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\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 resolver: ComponentFactoryResolver,\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(factory);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\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';\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';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\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.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":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
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/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 { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\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 private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n return {\n type: type,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n componentName: blockLoaderData.relation.ComponentName, // For local use (other).\n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\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 async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n if (this.options?.noModule) { // 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 } else { // 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\n this.load.emit();\n }\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 }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, 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() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\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 inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\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\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\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 factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\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';\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';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\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.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":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pepperi-addons/ngx-lib",
3
- "version": "0.4.0-angular14.14",
3
+ "version": "0.4.0-angular14.17",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">= 14.0.2",
6
6
  "@angular/cdk": ">= 14.0.2",
@@ -1,13 +1,12 @@
1
- import { ComponentFactoryResolver, ComponentRef } from '@angular/core';
1
+ import { ComponentRef } from '@angular/core';
2
2
  import { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions } from './remote-loader.model';
3
3
  import { PepAddonBlockLoaderComponent } from './addon-block-loader.component';
4
4
  import { MatDialogRef } from '@angular/material/dialog';
5
5
  import { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class PepAddonBlockLoaderService {
8
- private resolver;
9
8
  private dialogService;
10
- constructor(resolver: ComponentFactoryResolver, dialogService: PepDialogService);
9
+ constructor(dialogService: PepDialogService);
11
10
  private loadAddonBlockInternal;
12
11
  loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null;
13
12
  loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null;
@@ -1,11 +1,9 @@
1
1
  import { PepAddonService } from '@pepperi-addons/ngx-lib';
2
- import { OnChanges, ViewContainerRef, ComponentFactoryResolver, Injector, Compiler, EventEmitter, SimpleChanges } from '@angular/core';
2
+ import { OnChanges, ViewContainerRef, Injector, EventEmitter, SimpleChanges } from '@angular/core';
3
3
  import { PepRemoteLoaderOptions } from './remote-loader.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class PepRemoteLoaderComponent implements OnChanges {
6
6
  private injector;
7
- private cfr;
8
- private compiler;
9
7
  private pepAddonService;
10
8
  viewContainer: ViewContainerRef;
11
9
  private _options;
@@ -17,7 +15,7 @@ export declare class PepRemoteLoaderComponent implements OnChanges {
17
15
  hostEvents: EventEmitter<any>;
18
16
  load: EventEmitter<any>;
19
17
  private compRef;
20
- constructor(injector: Injector, cfr: ComponentFactoryResolver, compiler: Compiler, pepAddonService: PepAddonService);
18
+ constructor(injector: Injector, pepAddonService: PepAddonService);
21
19
  private setHostComponentIntoComponentRef;
22
20
  ngOnChanges(changes: SimpleChanges): Promise<void>;
23
21
  private loadModule;
@@ -1,15 +1,16 @@
1
- import { LoadRemoteModuleScriptOptions } from "@angular-architects/module-federation";
1
+ import { LoadRemoteModuleOptions } from "@angular-architects/module-federation";
2
2
  import { ViewContainerRef } from "@angular/core";
3
3
  import { MatDialogConfig } from "@angular/material/dialog";
4
4
  import { PepDialogSizeType } from "@pepperi-addons/ngx-lib/dialog";
5
5
  import { NgComponentRelation } from "@pepperi-addons/papi-sdk";
6
6
  declare type PepRemoteLoaderData = {
7
- componentName: string;
8
- addonId: string;
7
+ addonId?: string;
8
+ displayName?: string;
9
+ componentName?: string;
9
10
  update?: boolean;
10
11
  noModule?: boolean;
11
12
  };
12
- export declare type PepRemoteLoaderOptions = LoadRemoteModuleScriptOptions & PepRemoteLoaderData;
13
+ export declare type PepRemoteLoaderOptions = LoadRemoteModuleOptions & PepRemoteLoaderData;
13
14
  export declare type PepBlockDataType = 'SettingsBlock' | 'AddonBlock' | 'PageBlock';
14
15
  export interface IBlockLoaderData {
15
16
  relation: NgComponentRelation;
@@ -9,7 +9,7 @@ export declare class PepRemoteLoaderService {
9
9
  private addonService;
10
10
  private route;
11
11
  constructor(httpService: PepHttpService, sessionService: PepSessionService, addonService: PepAddonService, route: ActivatedRoute);
12
- getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry?: string): PepRemoteLoaderOptions;
12
+ getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry?: string, type?: 'script' | 'module' | 'manifest'): PepRemoteLoaderOptions;
13
13
  private getAddonBaseUrl;
14
14
  getBlockRemoteLoaderOptions(name: string, blockType?: PepBlockDataType, remoteEntry?: string): Promise<PepRemoteLoaderOptions>;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<PepRemoteLoaderService, never>;