@pepperi-addons/ngx-lib 0.4.2-beta.222 → 0.4.2-beta.223

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.
@@ -89,11 +89,11 @@ export class PepRemoteLoaderElementComponent {
89
89
  this.renderer.appendChild(this.el.nativeElement, this.element);
90
90
  const t1 = performance.now();
91
91
  console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
92
+ // // Fix internal routing bug.
93
+ // this.pepAddonService.connectInternalRouter(this._elementName);
92
94
  this.load.emit();
93
95
  }
94
96
  }
95
- // Fix internal routing bug.
96
- this.pepAddonService.connectInternalRouter(this._elementName);
97
97
  }
98
98
  catch (error) {
99
99
  console.error(error);
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
120
120
  }], load: [{
121
121
  type: Output
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXdCLFFBQVEsRUFBRSxNQUFNLEVBQTBDLE1BQU0sZUFBZSxDQUFDO0FBRTdLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQTBCekUsTUFBTSxPQUFPLCtCQUErQjtJQVd4QywyQkFBMkI7SUFDM0IseUdBQXlHO0lBQ3pHLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsSUFBSTtJQUVKLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWpCbkMsU0FBSSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO0lBZ0IxQixDQUFDO0lBRU8sYUFBYTtRQUNqQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDZixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUks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VDsyRkFRUSwrQkFBK0I7a0JBWjNDLFNBQVM7K0JBQ0ksMkJBQTJCLFlBQzNCOztLQUVUOzswQkE4QkksUUFBUTs0Q0FyQkosT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEYXRhIHsgXG4gICAgbmFtZT86IHN0cmluZywgXG4gICAgc2x1Z05hbWU/OiBzdHJpbmcsIFxuICAgIGJsb2NrVHlwZT86IHN0cmluZywgXG4gICAgYWRkb25VVUlEPzogc3RyaW5nLCBcbiAgICBibG9ja1JlbW90ZUVudHJ5Pzogc3RyaW5nIFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS08ZGl2ICN2YyBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj48L2Rpdj4tLT5cbiAgICBgLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6IGluaGVyaXQgfVxuICAgICAgICA6aG9zdDo6bmctZGVlcCA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgb3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucztcbiAgICBASW5wdXQoKSBwcm9wczogeyBbcHJvcDogc3RyaW5nXTogdW5rbm93biB9O1xuICAgIEBJbnB1dCgpIGV2ZW50czogeyBbZXZlbnQ6IHN0cmluZ106IChldmVudDogRXZlbnQpID0+IHZvaWQgfTtcblxuICAgIEBPdXRwdXQoKSBsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9lbGVtZW50TmFtZSA9ICcnO1xuXG4gICAgLy8gLy8gVGhpcyBpcyBmb3IgZGVib3VuY2UuXG4gICAgLy8gcHJpdmF0ZSBfZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGF0YT4obnVsbCk7XG4gICAgLy8gZ2V0IGdldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc0RlYm91bmNlZFN1YmplY3QkKCk6IE9ic2VydmFibGU8QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGF0YT4ge1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5fZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgyNTApKTtcbiAgICAvLyB9XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbDpFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbW90ZUxvYWRlclNlcnZpY2U6IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7IFxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVByb3BzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5wcm9wcykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50W3Byb3BdID0gdGhpcy5wcm9wc1twcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZT8uc25hcHNob3QucGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YTtcbiAgICAgICAgY29uc3QgYmxvY2tUeXBlID0gZGF0YT8uYmxvY2tUeXBlIHx8ICdTZXR0aW5nc0Jsb2NrJztcblxuICAgICAgICBjb25zdCBzbHVnTmFtZSA9IHBhcmFtcz8uc2x1Z05hbWUgfHwgZGF0YT8uc2x1Z05hbWU7XG4gICAgICAgIGNvbnN0IGJsb2NrTmFtZSA9IHBhcmFtcz8uYmxvY2tOYW1lIHx8IGRhdGE/LmJsb2NrTmFtZTtcbiAgICAgICAgXG4gICAgICAgIGlmIChibG9ja05hbWU/Lmxlbmd0aCA+IDAgfHwgKHNsdWdOYW1lPy5sZW5ndGggPiAwICYmIGJsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25VVUlEID0gcGFyYW1zPy5hZGRvblVVSUQgfHwgZGF0YT8uYWRkb25VVUlEIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tSZW1vdGVFbnRyeSA9IGRhdGE/LmJsb2NrUmVtb3RlRW50cnkgfHwgJyc7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IGF3YWl0IHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICBzbHVnTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgYWRkb25VVUlELFxuICAgICAgICAgICAgICAgIGJsb2NrUmVtb3RlRW50cnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RoaXMub3B0aW9uc1sncmVtb3RlTmFtZSddfS5qc2A7XG5cbiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ2Rldj10cnVlJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zWydyZW1vdGVFbnRyeSddID0gYGh0dHA6Ly9sb2NhbGhvc3Q6NDQwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgZGF0YSBpbnRvIHRoZSBwcm9wcyBjYXVzZSB0aGlzIGNvbXBvbmVudCBpcyBsb2FkaW5nIGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgdGhpcy5wcm9wcyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHJldHVybjtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlUHJvcHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gXG4gICAgfVxuXG4gICAgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9wdGlvbnMgaXMgbm90IHN1cHBsaWVkIHRoZW4gd2UgbmVlZCB0byBnZXQgaXQgZnJvbSB0aGUgcm91dGUuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnM/LmFkZG9uSWQgJiYgKHRoaXMub3B0aW9ucy50eXBlID09PSAnbW9kdWxlJyB8fCB0aGlzLm9wdGlvbnMudHlwZSA9PT0gJ3NjcmlwdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeT8ubGFzdEluZGV4T2YoJy8nKSB8fCAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RTbGFzaEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudE5hbWUgPSB0aGlzLm9wdGlvbnMuZWxlbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCh0aGlzLl9lbGVtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHVwRXZlbnRzKCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQxID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIHdjIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGaXggaW50ZXJuYWwgcm91dGluZyBidWcuXG4gICAgICAgICAgICB0aGlzLnBlcEFkZG9uU2VydmljZS5jb25uZWN0SW50ZXJuYWxSb3V0ZXIodGhpcy5fZWxlbWVudE5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXdCLFFBQVEsRUFBRSxNQUFNLEVBQTBDLE1BQU0sZUFBZSxDQUFDO0FBRTdLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQTBCekUsTUFBTSxPQUFPLCtCQUErQjtJQVd4QywyQkFBMkI7SUFDM0IseUdBQXlHO0lBQ3pHLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsSUFBSTtJQUVKLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWpCbkMsU0FBSSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO0lBZ0IxQixDQUFDO0lBRU8sYUFBYTtRQUNqQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDZixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUks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QUVUOzswQkE4QkksUUFBUTs0Q0FyQkosT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEYXRhIHsgXG4gICAgbmFtZT86IHN0cmluZywgXG4gICAgc2x1Z05hbWU/OiBzdHJpbmcsIFxuICAgIGJsb2NrVHlwZT86IHN0cmluZywgXG4gICAgYWRkb25VVUlEPzogc3RyaW5nLCBcbiAgICBibG9ja1JlbW90ZUVudHJ5Pzogc3RyaW5nIFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS08ZGl2ICN2YyBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj48L2Rpdj4tLT5cbiAgICBgLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6IGluaGVyaXQgfVxuICAgICAgICA6aG9zdDo6bmctZGVlcCA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgb3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucztcbiAgICBASW5wdXQoKSBwcm9wczogeyBbcHJvcDogc3RyaW5nXTogdW5rbm93biB9O1xuICAgIEBJbnB1dCgpIGV2ZW50czogeyBbZXZlbnQ6IHN0cmluZ106IChldmVudDogRXZlbnQpID0+IHZvaWQgfTtcblxuICAgIEBPdXRwdXQoKSBsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9lbGVtZW50TmFtZSA9ICcnO1xuXG4gICAgLy8gLy8gVGhpcyBpcyBmb3IgZGVib3VuY2UuXG4gICAgLy8gcHJpdmF0ZSBfZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGF0YT4obnVsbCk7XG4gICAgLy8gZ2V0IGdldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc0RlYm91bmNlZFN1YmplY3QkKCk6IE9ic2VydmFibGU8QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGF0YT4ge1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5fZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgyNTApKTtcbiAgICAvLyB9XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbDpFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbW90ZUxvYWRlclNlcnZpY2U6IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7IFxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVByb3BzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5wcm9wcykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50W3Byb3BdID0gdGhpcy5wcm9wc1twcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZT8uc25hcHNob3QucGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YTtcbiAgICAgICAgY29uc3QgYmxvY2tUeXBlID0gZGF0YT8uYmxvY2tUeXBlIHx8ICdTZXR0aW5nc0Jsb2NrJztcblxuICAgICAgICBjb25zdCBzbHVnTmFtZSA9IHBhcmFtcz8uc2x1Z05hbWUgfHwgZGF0YT8uc2x1Z05hbWU7XG4gICAgICAgIGNvbnN0IGJsb2NrTmFtZSA9IHBhcmFtcz8uYmxvY2tOYW1lIHx8IGRhdGE/LmJsb2NrTmFtZTtcbiAgICAgICAgXG4gICAgICAgIGlmIChibG9ja05hbWU/Lmxlbmd0aCA+IDAgfHwgKHNsdWdOYW1lPy5sZW5ndGggPiAwICYmIGJsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25VVUlEID0gcGFyYW1zPy5hZGRvblVVSUQgfHwgZGF0YT8uYWRkb25VVUlEIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tSZW1vdGVFbnRyeSA9IGRhdGE/LmJsb2NrUmVtb3RlRW50cnkgfHwgJyc7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IGF3YWl0IHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICBzbHVnTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgYWRkb25VVUlELFxuICAgICAgICAgICAgICAgIGJsb2NrUmVtb3RlRW50cnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RoaXMub3B0aW9uc1sncmVtb3RlTmFtZSddfS5qc2A7XG5cbiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ2Rldj10cnVlJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zWydyZW1vdGVFbnRyeSddID0gYGh0dHA6Ly9sb2NhbGhvc3Q6NDQwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgZGF0YSBpbnRvIHRoZSBwcm9wcyBjYXVzZSB0aGlzIGNvbXBvbmVudCBpcyBsb2FkaW5nIGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgdGhpcy5wcm9wcyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHJldHVybjtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlUHJvcHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gXG4gICAgfVxuXG4gICAgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9wdGlvbnMgaXMgbm90IHN1cHBsaWVkIHRoZW4gd2UgbmVlZCB0byBnZXQgaXQgZnJvbSB0aGUgcm91dGUuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnM/LmFkZG9uSWQgJiYgKHRoaXMub3B0aW9ucy50eXBlID09PSAnbW9kdWxlJyB8fCB0aGlzLm9wdGlvbnMudHlwZSA9PT0gJ3NjcmlwdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeT8ubGFzdEluZGV4T2YoJy8nKSB8fCAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RTbGFzaEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudE5hbWUgPSB0aGlzLm9wdGlvbnMuZWxlbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCh0aGlzLl9lbGVtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHVwRXZlbnRzKCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQxID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIHdjIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLy8gLy8gRml4IGludGVybmFsIHJvdXRpbmcgYnVnLlxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnBlcEFkZG9uU2VydmljZS5jb25uZWN0SW50ZXJuYWxSb3V0ZXIodGhpcy5fZWxlbWVudE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
@@ -304,11 +304,11 @@ class PepRemoteLoaderElementComponent {
304
304
  this.renderer.appendChild(this.el.nativeElement, this.element);
305
305
  const t1 = performance.now();
306
306
  console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
307
+ // // Fix internal routing bug.
308
+ // this.pepAddonService.connectInternalRouter(this._elementName);
307
309
  this.load.emit();
308
310
  }
309
311
  }
310
- // Fix internal routing bug.
311
- this.pepAddonService.connectInternalRouter(this._elementName);
312
312
  }
313
313
  catch (error) {
314
314
  console.error(error);
@@ -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/remote-loader-element.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService\n ) {\n //\n }\n\n private getBlockLoaderDataUrl(options: IPepRemoteLoaderParamsOptions): string {\n const fileName = 'addon_blocks';\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n let pagesBaseUrl;\n\n // For devServer run server on localhost.\n if(options.pagesDevServer?.length > 0) {\n pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;\n }\n\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;\n return url;\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, blockRemoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;\n const res = {\n type: type,\n remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n exposedModule: `./${exposedModule}`,\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n }\n \n // If it's web components\n if (blockLoaderData.relation.ElementsModule?.length > 0) {\n res['elementName'] = blockLoaderData.relation.ElementName\n } else { // For load the component from the module.\n res['componentName'] = blockLoaderData.relation.ComponentName; \n }\n\n return res;\n }\n\n async getBlockRemoteLoaderOptions(options: IPepRemoteLoaderParamsOptions): Promise<PepRemoteLoaderOptions> {\n options.blockType = options.blockType ?? 'AddonBlock';\n options.name = options.name ?? '';\n options.slugName = options.slugName ?? '';\n options.addonUUID = options.addonUUID ?? '';\n\n return new Promise((resolve, reject) => {\n if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {\n const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);\n this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data: IBlockLoaderData) => {\n const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);\n const type = ngVersionNumber >= 14 ? 'module' : 'script';\n\n resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));\n }).catch(err => {\n const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`\n reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);\n });\n } else {\n if (options.blockType === 'SettingsBlock') {\n reject(`slugName is not supplied`);\n }\n else {\n reject(`name is not supplied`);\n }\n }\n });\n }\n}\n","import { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private pepAddonService: PepAddonService\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n try {\n const t0 = performance.now();\n \n this.viewContainer?.clear();\n \n if (this.options.exposedModule?.length > 0) { // Load module\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const module = await loadRemoteModule(this.options).then(m => m);\n const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./','')], this.injector);\n this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n } \n // Check if this is in use??? (comment out in Angular 14 version)\n // else { // Load Component\n // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });\n // }\n\n this.load.emit();\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n } catch(error) {\n console.error(error);\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { BehaviorSubject, Observable, debounceTime } from 'rxjs';\n\ninterface BlockRemoteLoaderOptionsData { \n name?: string, \n slugName?: string, \n blockType?: string, \n addonUUID?: string, \n blockRemoteEntry?: string \n}\n\n@Component({\n selector: 'pep-remote-loader-element',\n template: `\n <!--<div #vc style=\"height: inherit;\"></div>-->\n `,\n styles: [`\n :host { width:100%; height: inherit }\n :host::ng-deep > * {\n height: inherit;\n }\n `],\n})\nexport class PepRemoteLoaderElementComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() options: PepRemoteLoaderOptions;\n @Input() props: { [prop: string]: unknown };\n @Input() events: { [event: string]: (event: Event) => void };\n\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n element: HTMLElement = null;\n\n private _elementName = '';\n\n // // This is for debounce.\n // private _getBlockRemoteLoaderOptionsSubject = new BehaviorSubject<BlockRemoteLoaderOptionsData>(null);\n // get getBlockRemoteLoaderOptionsDebouncedSubject$(): Observable<BlockRemoteLoaderOptionsData> {\n // return this._getBlockRemoteLoaderOptionsSubject.asObservable().pipe(debounceTime(250));\n // }\n \n constructor(\n private renderer: Renderer2,\n private el:ElementRef,\n private pepAddonService: PepAddonService,\n private remoteLoaderService: PepRemoteLoaderService,\n @Optional() private route: ActivatedRoute\n ) { \n\n }\n\n private populateProps() {\n for (const prop in this.props) {\n this.element[prop] = this.props[prop];\n }\n }\n\n private setupEvents() {\n for (const event in this.events) {\n this.element.addEventListener(event, this.events[event]);\n }\n }\n\n private async loadOptionsFromRoute() {\n const params = this.route?.snapshot.params;\n const data = this.route?.snapshot.data;\n const blockType = data?.blockType || 'SettingsBlock';\n\n const slugName = params?.slugName || data?.slugName;\n const blockName = params?.blockName || data?.blockName;\n \n if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {\n const addonUUID = params?.addonUUID || data?.addonUUID || '';\n const blockRemoteEntry = data?.blockRemoteEntry || '';\n\n this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({\n name: blockName,\n slugName,\n blockType,\n addonUUID,\n blockRemoteEntry\n });\n\n const fileName = `${this.options['remoteName']}.js`;\n\n if (window.location.search.indexOf('dev=true') > 0) {\n this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;\n }\n\n // Set the data into the props cause this component is loading from the route.\n this.props = data;\n }\n }\n\n ngOnChanges(): void {\n if (!this.element) return;\n\n this.populateProps();\n }\n\n ngOnDestroy() {\n // \n }\n\n async ngAfterContentInit() {\n try {\n if (!this.element) {\n const t0 = performance.now();\n\n // If the options is not supplied then we need to get it from the route.\n if (!this.options) {\n await this.loadOptionsFromRoute();\n }\n\n if (!this.options) {\n throw new Error('No options supplied to the component.');\n } else {\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n \n const a = await loadRemoteModule(this.options);\n \n this._elementName = this.options.elementName;\n this.element = this.renderer.createElement(this._elementName);\n this.populateProps();\n this.setupEvents();\n \n this.renderer.appendChild(this.el.nativeElement, this.element);\n \n const t1 = performance.now();\n console.log('remote module wc load performance: ' + (t1-t0)/1000);\n \n \n this.load.emit();\n }\n }\n\n // Fix internal routing bug.\n this.pepAddonService.connectInternalRouter(this._elementName);\n }\n catch(error) {\n console.error(error);\n }\n }\n}","import { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\nimport { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() addonId = '';\n @Input() remoteEntry = '';\n @Input() slugName = '';\n\n private _blockType = 'AddonBlock';\n @Input() \n set blockType(value: string) {\n this._blockType = value;\n }\n get blockType(): string {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n protected inDialog = false;\n protected remotePathOptions: PepRemoteLoaderOptions = null;\n protected loadElement = false;\n\n protected onHostEventsCallback: (event: CustomEvent) => void;\n\n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n this.onHostEventsCallback = (event: CustomEvent) => {\n this.onHostEvents(event.detail);\n }\n }\n \n ngOnInit() {\n const options: IPepRemoteLoaderParamsOptions = {\n name: this.name,\n slugName: this.slugName,\n blockType: this.blockType,\n addonUUID: this.addonId,\n blockRemoteEntry: this.remoteEntry\n };\n\n this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options: PepRemoteLoaderOptions) => {\n this.loadElement = options.elementName?.length > 0;\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.name = options.name;\n addonBlockInstance.slugName = options.slugName;\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.addonId = options.addonUUID;\n addonBlockInstance.remoteEntry = options.blockRemoteEntry;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { PepRemoteLoaderElementComponent } from './remote-loader-element.component';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n ModuleFederationToolsModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader-element.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepRemoteLoaderService","i1.PepRemoteLoaderService","i3","i4.PepRemoteLoaderComponent","i5.PepRemoteLoaderElementComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-remote-loader.mjs","sources":["../../../projects/ngx-lib/remote-loader/remote-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.component.ts","../../../projects/ngx-lib/remote-loader/remote-loader-element.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService\n ) {\n //\n }\n\n private getBlockLoaderDataUrl(options: IPepRemoteLoaderParamsOptions): string {\n const fileName = 'addon_blocks';\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n let pagesBaseUrl;\n\n // For devServer run server on localhost.\n if(options.pagesDevServer?.length > 0) {\n pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;\n }\n\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;\n return url;\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, blockRemoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;\n const res = {\n type: type,\n remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n exposedModule: `./${exposedModule}`,\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n }\n \n // If it's web components\n if (blockLoaderData.relation.ElementsModule?.length > 0) {\n res['elementName'] = blockLoaderData.relation.ElementName\n } else { // For load the component from the module.\n res['componentName'] = blockLoaderData.relation.ComponentName; \n }\n\n return res;\n }\n\n async getBlockRemoteLoaderOptions(options: IPepRemoteLoaderParamsOptions): Promise<PepRemoteLoaderOptions> {\n options.blockType = options.blockType ?? 'AddonBlock';\n options.name = options.name ?? '';\n options.slugName = options.slugName ?? '';\n options.addonUUID = options.addonUUID ?? '';\n\n return new Promise((resolve, reject) => {\n if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {\n const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);\n this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data: IBlockLoaderData) => {\n const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);\n const type = ngVersionNumber >= 14 ? 'module' : 'script';\n\n resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));\n }).catch(err => {\n const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`\n reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);\n });\n } else {\n if (options.blockType === 'SettingsBlock') {\n reject(`slugName is not supplied`);\n }\n else {\n reject(`name is not supplied`);\n }\n }\n });\n }\n}\n","import { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private pepAddonService: PepAddonService\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n try {\n const t0 = performance.now();\n \n this.viewContainer?.clear();\n \n if (this.options.exposedModule?.length > 0) { // Load module\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const module = await loadRemoteModule(this.options).then(m => m);\n const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./','')], this.injector);\n this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n } \n // Check if this is in use??? (comment out in Angular 14 version)\n // else { // Load Component\n // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });\n // }\n\n this.load.emit();\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n } catch(error) {\n console.error(error);\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { BehaviorSubject, Observable, debounceTime } from 'rxjs';\n\ninterface BlockRemoteLoaderOptionsData { \n name?: string, \n slugName?: string, \n blockType?: string, \n addonUUID?: string, \n blockRemoteEntry?: string \n}\n\n@Component({\n selector: 'pep-remote-loader-element',\n template: `\n <!--<div #vc style=\"height: inherit;\"></div>-->\n `,\n styles: [`\n :host { width:100%; height: inherit }\n :host::ng-deep > * {\n height: inherit;\n }\n `],\n})\nexport class PepRemoteLoaderElementComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() options: PepRemoteLoaderOptions;\n @Input() props: { [prop: string]: unknown };\n @Input() events: { [event: string]: (event: Event) => void };\n\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n element: HTMLElement = null;\n\n private _elementName = '';\n\n // // This is for debounce.\n // private _getBlockRemoteLoaderOptionsSubject = new BehaviorSubject<BlockRemoteLoaderOptionsData>(null);\n // get getBlockRemoteLoaderOptionsDebouncedSubject$(): Observable<BlockRemoteLoaderOptionsData> {\n // return this._getBlockRemoteLoaderOptionsSubject.asObservable().pipe(debounceTime(250));\n // }\n \n constructor(\n private renderer: Renderer2,\n private el:ElementRef,\n private pepAddonService: PepAddonService,\n private remoteLoaderService: PepRemoteLoaderService,\n @Optional() private route: ActivatedRoute\n ) { \n\n }\n\n private populateProps() {\n for (const prop in this.props) {\n this.element[prop] = this.props[prop];\n }\n }\n\n private setupEvents() {\n for (const event in this.events) {\n this.element.addEventListener(event, this.events[event]);\n }\n }\n\n private async loadOptionsFromRoute() {\n const params = this.route?.snapshot.params;\n const data = this.route?.snapshot.data;\n const blockType = data?.blockType || 'SettingsBlock';\n\n const slugName = params?.slugName || data?.slugName;\n const blockName = params?.blockName || data?.blockName;\n \n if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {\n const addonUUID = params?.addonUUID || data?.addonUUID || '';\n const blockRemoteEntry = data?.blockRemoteEntry || '';\n\n this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({\n name: blockName,\n slugName,\n blockType,\n addonUUID,\n blockRemoteEntry\n });\n\n const fileName = `${this.options['remoteName']}.js`;\n\n if (window.location.search.indexOf('dev=true') > 0) {\n this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;\n }\n\n // Set the data into the props cause this component is loading from the route.\n this.props = data;\n }\n }\n\n ngOnChanges(): void {\n if (!this.element) return;\n\n this.populateProps();\n }\n\n ngOnDestroy() {\n // \n }\n\n async ngAfterContentInit() {\n try {\n if (!this.element) {\n const t0 = performance.now();\n\n // If the options is not supplied then we need to get it from the route.\n if (!this.options) {\n await this.loadOptionsFromRoute();\n }\n\n if (!this.options) {\n throw new Error('No options supplied to the component.');\n } else {\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n \n const a = await loadRemoteModule(this.options);\n \n this._elementName = this.options.elementName;\n this.element = this.renderer.createElement(this._elementName);\n this.populateProps();\n this.setupEvents();\n \n this.renderer.appendChild(this.el.nativeElement, this.element);\n \n const t1 = performance.now();\n console.log('remote module wc load performance: ' + (t1-t0)/1000);\n \n // // Fix internal routing bug.\n // this.pepAddonService.connectInternalRouter(this._elementName);\n\n this.load.emit();\n }\n }\n }\n catch(error) {\n console.error(error);\n }\n }\n}","import { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\nimport { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() addonId = '';\n @Input() remoteEntry = '';\n @Input() slugName = '';\n\n private _blockType = 'AddonBlock';\n @Input() \n set blockType(value: string) {\n this._blockType = value;\n }\n get blockType(): string {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n protected inDialog = false;\n protected remotePathOptions: PepRemoteLoaderOptions = null;\n protected loadElement = false;\n\n protected onHostEventsCallback: (event: CustomEvent) => void;\n\n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n this.onHostEventsCallback = (event: CustomEvent) => {\n this.onHostEvents(event.detail);\n }\n }\n \n ngOnInit() {\n const options: IPepRemoteLoaderParamsOptions = {\n name: this.name,\n slugName: this.slugName,\n blockType: this.blockType,\n addonUUID: this.addonId,\n blockRemoteEntry: this.remoteEntry\n };\n\n this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options: PepRemoteLoaderOptions) => {\n this.loadElement = options.elementName?.length > 0;\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.name = options.name;\n addonBlockInstance.slugName = options.slugName;\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.addonId = options.addonUUID;\n addonBlockInstance.remoteEntry = options.blockRemoteEntry;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { PepRemoteLoaderElementComponent } from './remote-loader-element.component';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n ModuleFederationToolsModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader-element.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepRemoteLoaderService","i1.PepRemoteLoaderService","i3","i4.PepRemoteLoaderComponent","i5.PepRemoteLoaderElementComponent","i1"],"mappings":"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"}
@@ -286,11 +286,11 @@ class PepRemoteLoaderElementComponent {
286
286
  this.renderer.appendChild(this.el.nativeElement, this.element);
287
287
  const t1 = performance.now();
288
288
  console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
289
+ // // Fix internal routing bug.
290
+ // this.pepAddonService.connectInternalRouter(this._elementName);
289
291
  this.load.emit();
290
292
  }
291
293
  }
292
- // Fix internal routing bug.
293
- this.pepAddonService.connectInternalRouter(this._elementName);
294
294
  }
295
295
  catch (error) {
296
296
  console.error(error);
@@ -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/remote-loader-element.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService\n ) {\n //\n }\n\n private getBlockLoaderDataUrl(options: IPepRemoteLoaderParamsOptions): string {\n const fileName = 'addon_blocks';\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n let pagesBaseUrl;\n\n // For devServer run server on localhost.\n if(options.pagesDevServer?.length > 0) {\n pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;\n }\n\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;\n return url;\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, blockRemoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;\n const res = {\n type: type,\n remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n exposedModule: `./${exposedModule}`,\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n }\n \n // If it's web components\n if (blockLoaderData.relation.ElementsModule?.length > 0) {\n res['elementName'] = blockLoaderData.relation.ElementName\n } else { // For load the component from the module.\n res['componentName'] = blockLoaderData.relation.ComponentName; \n }\n\n return res;\n }\n\n async getBlockRemoteLoaderOptions(options: IPepRemoteLoaderParamsOptions): Promise<PepRemoteLoaderOptions> {\n options.blockType = options.blockType ?? 'AddonBlock';\n options.name = options.name ?? '';\n options.slugName = options.slugName ?? '';\n options.addonUUID = options.addonUUID ?? '';\n\n return new Promise((resolve, reject) => {\n if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {\n const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);\n this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data: IBlockLoaderData) => {\n const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);\n const type = ngVersionNumber >= 14 ? 'module' : 'script';\n\n resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));\n }).catch(err => {\n const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`\n reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);\n });\n } else {\n if (options.blockType === 'SettingsBlock') {\n reject(`slugName is not supplied`);\n }\n else {\n reject(`name is not supplied`);\n }\n }\n });\n }\n}\n","import { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private pepAddonService: PepAddonService\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n try {\n const t0 = performance.now();\n \n this.viewContainer?.clear();\n \n if (this.options.exposedModule?.length > 0) { // Load module\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const module = await loadRemoteModule(this.options).then(m => m);\n const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./','')], this.injector);\n this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n } \n // Check if this is in use??? (comment out in Angular 14 version)\n // else { // Load Component\n // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });\n // }\n\n this.load.emit();\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n } catch(error) {\n console.error(error);\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { BehaviorSubject, Observable, debounceTime } from 'rxjs';\n\ninterface BlockRemoteLoaderOptionsData { \n name?: string, \n slugName?: string, \n blockType?: string, \n addonUUID?: string, \n blockRemoteEntry?: string \n}\n\n@Component({\n selector: 'pep-remote-loader-element',\n template: `\n <!--<div #vc style=\"height: inherit;\"></div>-->\n `,\n styles: [`\n :host { width:100%; height: inherit }\n :host::ng-deep > * {\n height: inherit;\n }\n `],\n})\nexport class PepRemoteLoaderElementComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() options: PepRemoteLoaderOptions;\n @Input() props: { [prop: string]: unknown };\n @Input() events: { [event: string]: (event: Event) => void };\n\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n element: HTMLElement = null;\n\n private _elementName = '';\n\n // // This is for debounce.\n // private _getBlockRemoteLoaderOptionsSubject = new BehaviorSubject<BlockRemoteLoaderOptionsData>(null);\n // get getBlockRemoteLoaderOptionsDebouncedSubject$(): Observable<BlockRemoteLoaderOptionsData> {\n // return this._getBlockRemoteLoaderOptionsSubject.asObservable().pipe(debounceTime(250));\n // }\n \n constructor(\n private renderer: Renderer2,\n private el:ElementRef,\n private pepAddonService: PepAddonService,\n private remoteLoaderService: PepRemoteLoaderService,\n @Optional() private route: ActivatedRoute\n ) { \n\n }\n\n private populateProps() {\n for (const prop in this.props) {\n this.element[prop] = this.props[prop];\n }\n }\n\n private setupEvents() {\n for (const event in this.events) {\n this.element.addEventListener(event, this.events[event]);\n }\n }\n\n private async loadOptionsFromRoute() {\n const params = this.route?.snapshot.params;\n const data = this.route?.snapshot.data;\n const blockType = data?.blockType || 'SettingsBlock';\n\n const slugName = params?.slugName || data?.slugName;\n const blockName = params?.blockName || data?.blockName;\n \n if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {\n const addonUUID = params?.addonUUID || data?.addonUUID || '';\n const blockRemoteEntry = data?.blockRemoteEntry || '';\n\n this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({\n name: blockName,\n slugName,\n blockType,\n addonUUID,\n blockRemoteEntry\n });\n\n const fileName = `${this.options['remoteName']}.js`;\n\n if (window.location.search.indexOf('dev=true') > 0) {\n this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;\n }\n\n // Set the data into the props cause this component is loading from the route.\n this.props = data;\n }\n }\n\n ngOnChanges(): void {\n if (!this.element) return;\n\n this.populateProps();\n }\n\n ngOnDestroy() {\n // \n }\n\n async ngAfterContentInit() {\n try {\n if (!this.element) {\n const t0 = performance.now();\n\n // If the options is not supplied then we need to get it from the route.\n if (!this.options) {\n await this.loadOptionsFromRoute();\n }\n\n if (!this.options) {\n throw new Error('No options supplied to the component.');\n } else {\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n \n const a = await loadRemoteModule(this.options);\n \n this._elementName = this.options.elementName;\n this.element = this.renderer.createElement(this._elementName);\n this.populateProps();\n this.setupEvents();\n \n this.renderer.appendChild(this.el.nativeElement, this.element);\n \n const t1 = performance.now();\n console.log('remote module wc load performance: ' + (t1-t0)/1000);\n \n \n this.load.emit();\n }\n }\n\n // Fix internal routing bug.\n this.pepAddonService.connectInternalRouter(this._elementName);\n }\n catch(error) {\n console.error(error);\n }\n }\n}","import { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\nimport { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() addonId = '';\n @Input() remoteEntry = '';\n @Input() slugName = '';\n\n private _blockType = 'AddonBlock';\n @Input() \n set blockType(value: string) {\n this._blockType = value;\n }\n get blockType(): string {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n protected inDialog = false;\n protected remotePathOptions: PepRemoteLoaderOptions = null;\n protected loadElement = false;\n\n protected onHostEventsCallback: (event: CustomEvent) => void;\n\n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n this.onHostEventsCallback = (event: CustomEvent) => {\n this.onHostEvents(event.detail);\n }\n }\n \n ngOnInit() {\n const options: IPepRemoteLoaderParamsOptions = {\n name: this.name,\n slugName: this.slugName,\n blockType: this.blockType,\n addonUUID: this.addonId,\n blockRemoteEntry: this.remoteEntry\n };\n\n this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options: PepRemoteLoaderOptions) => {\n this.loadElement = options.elementName?.length > 0;\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.name = options.name;\n addonBlockInstance.slugName = options.slugName;\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.addonId = options.addonUUID;\n addonBlockInstance.remoteEntry = options.blockRemoteEntry;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { PepRemoteLoaderElementComponent } from './remote-loader-element.component';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n ModuleFederationToolsModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader-element.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepRemoteLoaderService","i1.PepRemoteLoaderService","i3","i4.PepRemoteLoaderComponent","i5.PepRemoteLoaderElementComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-remote-loader.mjs","sources":["../../../projects/ngx-lib/remote-loader/remote-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.component.ts","../../../projects/ngx-lib/remote-loader/remote-loader-element.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService\n ) {\n //\n }\n\n private getBlockLoaderDataUrl(options: IPepRemoteLoaderParamsOptions): string {\n const fileName = 'addon_blocks';\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n let pagesBaseUrl;\n\n // For devServer run server on localhost.\n if(options.pagesDevServer?.length > 0) {\n pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;\n }\n\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;\n return url;\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, blockRemoteEntry = '', type: 'script' | 'module' | 'manifest' = 'module'): PepRemoteLoaderOptions {\n const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;\n const res = {\n type: type,\n remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL, // For script type, this is the name of the script.\n exposedModule: `./${exposedModule}`,\n addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).\n }\n \n // If it's web components\n if (blockLoaderData.relation.ElementsModule?.length > 0) {\n res['elementName'] = blockLoaderData.relation.ElementName\n } else { // For load the component from the module.\n res['componentName'] = blockLoaderData.relation.ComponentName; \n }\n\n return res;\n }\n\n async getBlockRemoteLoaderOptions(options: IPepRemoteLoaderParamsOptions): Promise<PepRemoteLoaderOptions> {\n options.blockType = options.blockType ?? 'AddonBlock';\n options.name = options.name ?? '';\n options.slugName = options.slugName ?? '';\n options.addonUUID = options.addonUUID ?? '';\n\n return new Promise((resolve, reject) => {\n if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {\n const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);\n this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data: IBlockLoaderData) => {\n const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);\n const type = ngVersionNumber >= 14 ? 'module' : 'script';\n\n resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));\n }).catch(err => {\n const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`\n reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);\n });\n } else {\n if (options.blockType === 'SettingsBlock') {\n reject(`slugName is not supplied`);\n }\n else {\n reject(`name is not supplied`);\n }\n }\n });\n }\n}\n","import { Component, Input, OnChanges, ViewChild, ViewContainerRef, Injector, EventEmitter, Output, ComponentRef, SimpleChanges, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private pepAddonService: PepAddonService\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n try {\n const t0 = performance.now();\n \n this.viewContainer?.clear();\n \n if (this.options.exposedModule?.length > 0) { // Load module\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const module = await loadRemoteModule(this.options).then(m => m);\n const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./','')], this.injector);\n this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });\n\n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n } \n // Check if this is in use??? (comment out in Angular 14 version)\n // else { // Load Component\n // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });\n // }\n\n this.load.emit();\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n } catch(error) {\n console.error(error);\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { BehaviorSubject, Observable, debounceTime } from 'rxjs';\n\ninterface BlockRemoteLoaderOptionsData { \n name?: string, \n slugName?: string, \n blockType?: string, \n addonUUID?: string, \n blockRemoteEntry?: string \n}\n\n@Component({\n selector: 'pep-remote-loader-element',\n template: `\n <!--<div #vc style=\"height: inherit;\"></div>-->\n `,\n styles: [`\n :host { width:100%; height: inherit }\n :host::ng-deep > * {\n height: inherit;\n }\n `],\n})\nexport class PepRemoteLoaderElementComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() options: PepRemoteLoaderOptions;\n @Input() props: { [prop: string]: unknown };\n @Input() events: { [event: string]: (event: Event) => void };\n\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n element: HTMLElement = null;\n\n private _elementName = '';\n\n // // This is for debounce.\n // private _getBlockRemoteLoaderOptionsSubject = new BehaviorSubject<BlockRemoteLoaderOptionsData>(null);\n // get getBlockRemoteLoaderOptionsDebouncedSubject$(): Observable<BlockRemoteLoaderOptionsData> {\n // return this._getBlockRemoteLoaderOptionsSubject.asObservable().pipe(debounceTime(250));\n // }\n \n constructor(\n private renderer: Renderer2,\n private el:ElementRef,\n private pepAddonService: PepAddonService,\n private remoteLoaderService: PepRemoteLoaderService,\n @Optional() private route: ActivatedRoute\n ) { \n\n }\n\n private populateProps() {\n for (const prop in this.props) {\n this.element[prop] = this.props[prop];\n }\n }\n\n private setupEvents() {\n for (const event in this.events) {\n this.element.addEventListener(event, this.events[event]);\n }\n }\n\n private async loadOptionsFromRoute() {\n const params = this.route?.snapshot.params;\n const data = this.route?.snapshot.data;\n const blockType = data?.blockType || 'SettingsBlock';\n\n const slugName = params?.slugName || data?.slugName;\n const blockName = params?.blockName || data?.blockName;\n \n if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {\n const addonUUID = params?.addonUUID || data?.addonUUID || '';\n const blockRemoteEntry = data?.blockRemoteEntry || '';\n\n this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({\n name: blockName,\n slugName,\n blockType,\n addonUUID,\n blockRemoteEntry\n });\n\n const fileName = `${this.options['remoteName']}.js`;\n\n if (window.location.search.indexOf('dev=true') > 0) {\n this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;\n }\n\n // Set the data into the props cause this component is loading from the route.\n this.props = data;\n }\n }\n\n ngOnChanges(): void {\n if (!this.element) return;\n\n this.populateProps();\n }\n\n ngOnDestroy() {\n // \n }\n\n async ngAfterContentInit() {\n try {\n if (!this.element) {\n const t0 = performance.now();\n\n // If the options is not supplied then we need to get it from the route.\n if (!this.options) {\n await this.loadOptionsFromRoute();\n }\n\n if (!this.options) {\n throw new Error('No options supplied to the component.');\n } else {\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n \n if (lastSlashIndex > 0) {\n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n \n const a = await loadRemoteModule(this.options);\n \n this._elementName = this.options.elementName;\n this.element = this.renderer.createElement(this._elementName);\n this.populateProps();\n this.setupEvents();\n \n this.renderer.appendChild(this.el.nativeElement, this.element);\n \n const t1 = performance.now();\n console.log('remote module wc load performance: ' + (t1-t0)/1000);\n \n // // Fix internal routing bug.\n // this.pepAddonService.connectInternalRouter(this._elementName);\n\n this.load.emit();\n }\n }\n }\n catch(error) {\n console.error(error);\n }\n }\n}","import { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\nimport { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { IPepRemoteLoaderParamsOptions, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() addonId = '';\n @Input() remoteEntry = '';\n @Input() slugName = '';\n\n private _blockType = 'AddonBlock';\n @Input() \n set blockType(value: string) {\n this._blockType = value;\n }\n get blockType(): string {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n protected inDialog = false;\n protected remotePathOptions: PepRemoteLoaderOptions = null;\n protected loadElement = false;\n\n protected onHostEventsCallback: (event: CustomEvent) => void;\n\n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n this.onHostEventsCallback = (event: CustomEvent) => {\n this.onHostEvents(event.detail);\n }\n }\n \n ngOnInit() {\n const options: IPepRemoteLoaderParamsOptions = {\n name: this.name,\n slugName: this.slugName,\n blockType: this.blockType,\n addonUUID: this.addonId,\n blockRemoteEntry: this.remoteEntry\n };\n\n this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options: PepRemoteLoaderOptions) => {\n this.loadElement = options.elementName?.length > 0;\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.name = options.name;\n addonBlockInstance.slugName = options.slugName;\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.addonId = options.addonUUID;\n addonBlockInstance.remoteEntry = options.blockRemoteEntry;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\nimport { PepRemoteLoaderElementComponent } from './remote-loader-element.component';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n ModuleFederationToolsModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n PepRemoteLoaderElementComponent\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader-element.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepRemoteLoaderService","i1.PepRemoteLoaderService","i3","i4.PepRemoteLoaderComponent","i5.PepRemoteLoaderElementComponent","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pepperi-addons/ngx-lib",
3
- "version": "0.4.2-beta.222",
3
+ "version": "0.4.2-beta.223",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">= 14.0.2",
6
6
  "@angular/cdk": ">= 14.0.2",