@churchillliving/se-ui-toolkit 6.54.304 → 6.54.306

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.
@@ -9,13 +9,19 @@ export class SplitterComponent {
9
9
  this.ngZone = ngZone;
10
10
  this.sanitizer = sanitizer;
11
11
  this.closePanelEmitter = new EventEmitter();
12
+ this.isComponentExist = false;
12
13
  }
13
14
  ngAfterViewInit() {
14
15
  this.ngZone.onStable
15
16
  .pipe(take(1)) // Emit only once when the zone becomes stable
16
17
  .subscribe(() => {
17
18
  this.sanitizedContent = this.sanitizer.bypassSecurityTrustHtml(this.existingCopmonent);
19
+ if (this.isComponentExist) {
20
+ console.warn('Component already exists. Please close the current component before opening a new one.');
21
+ return;
22
+ }
18
23
  var newComponent = this.viewContainerPanelRef.createComponent(this.panelComponent);
24
+ this.isComponentExist = true;
19
25
  newComponent.instance.config = {};
20
26
  if (this.configData) {
21
27
  newComponent.instance.config.data = this.configData;
@@ -24,13 +30,14 @@ export class SplitterComponent {
24
30
  }
25
31
  closePanel() {
26
32
  this.closePanelEmitter.emit(true);
33
+ this.isComponentExist = false;
27
34
  }
28
35
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SplitterComponent, deps: [{ token: i0.NgZone }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
29
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SplitterComponent, selector: "se-splitter", inputs: { panelComponent: "panelComponent", existingCopmonent: "existingCopmonent", configData: "configData" }, outputs: { closePanelEmitter: "closePanelEmitter" }, viewQueries: [{ propertyName: "viewContainerPanelRef", first: true, predicate: ["viewContainerPanelRef"], descendants: true, read: ViewContainerRef }, { propertyName: "viewContainerRef", first: true, predicate: ["viewContainerRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"], dependencies: [{ kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Splitter, selector: "p-splitter", inputs: ["styleClass", "panelStyleClass", "style", "panelStyle", "stateStorage", "stateKey", "layout", "gutterSize", "step", "minSizes", "panelSizes"], outputs: ["onResizeEnd", "onResizeStart"] }] }); }
36
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SplitterComponent, selector: "se-splitter", inputs: { panelComponent: "panelComponent", existingCopmonent: "existingCopmonent", configData: "configData" }, outputs: { closePanelEmitter: "closePanelEmitter" }, viewQueries: [{ propertyName: "viewContainerPanelRef", first: true, predicate: ["viewContainerPanelRef"], descendants: true, read: ViewContainerRef }, { propertyName: "viewContainerRef", first: true, predicate: ["viewContainerRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px;z-index:9}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"], dependencies: [{ kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Splitter, selector: "p-splitter", inputs: ["styleClass", "panelStyleClass", "style", "panelStyle", "stateStorage", "stateKey", "layout", "gutterSize", "step", "minSizes", "panelSizes"], outputs: ["onResizeEnd", "onResizeStart"] }] }); }
30
37
  }
31
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SplitterComponent, decorators: [{
32
39
  type: Component,
33
- args: [{ selector: 'se-splitter', template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"] }]
40
+ args: [{ selector: 'se-splitter', template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px;z-index:9}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"] }]
34
41
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.DomSanitizer }]; }, propDecorators: { panelComponent: [{
35
42
  type: Input
36
43
  }], existingCopmonent: [{
@@ -46,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
46
53
  type: ViewChild,
47
54
  args: ['viewContainerRef', { read: ViewContainerRef, static: false }]
48
55
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG5lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NwbGl0dGVyL3NwbGl0dGVyLmNvbXBuZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVF0QyxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQW9CLE1BQWMsRUFBVSxTQUF1QjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQU56RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBTVksQ0FBQztJQUN2RSxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4Q0FBOEM7YUFDNUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksWUFBWSxHQUFRLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQ2hFLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7WUFDRixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNyRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7aUlBNUJVLGlCQUFpQjtxSEFBakIsaUJBQWlCLG1VQUtnQixnQkFBZ0IsK0dBRXJCLGdCQUFnQiw2QkNoQnpELGd0QkFnQk07OzJGRFBPLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO3dIQUtkLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVQLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUc3RSxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2Utc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwYW5lbENvbXBvbmVudDogYW55O1xuICBASW5wdXQoKSBleGlzdGluZ0NvcG1vbmVudDogYW55O1xuICBASW5wdXQoKSBjb25maWdEYXRhOiBhbnk7XG4gIEBPdXRwdXQoKSBjbG9zZVBhbmVsRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZCgndmlld0NvbnRhaW5lclBhbmVsUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHZpZXdDb250YWluZXJQYW5lbFJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgQFZpZXdDaGlsZCgndmlld0NvbnRhaW5lclJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICBzYW5pdGl6ZWRDb250ZW50ITogU2FmZUh0bWw7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2FuaXRpemVkQ29udGVudCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuZXhpc3RpbmdDb3Btb25lbnQpO1xuICAgICAgICB2YXIgbmV3Q29tcG9uZW50OiBhbnkgPSB0aGlzLnZpZXdDb250YWluZXJQYW5lbFJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgdGhpcy5wYW5lbENvbXBvbmVudFxuICAgICAgICApO1xuICAgICAgICBuZXdDb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0ge307XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEpIHtcbiAgICAgICAgICBuZXdDb21wb25lbnQuaW5zdGFuY2UuY29uZmlnLmRhdGEgPSB0aGlzLmNvbmZpZ0RhdGE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VQYW5lbCgpIHtcbiAgICB0aGlzLmNsb3NlUGFuZWxFbWl0dGVyLmVtaXQodHJ1ZSk7XG4gIH1cbn0iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxwLXNwbGl0dGVyICBjbGFzcz1cInNwbGl0dGVyLXdyYXBwZXJcIlxuICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICc4MzBweCcsIHdpZHRoOicxMDAlJ31cIiAgXG4gICAgICAgIGxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZWRDb250ZW50XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NlSWNvblwiPiA8aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEteFwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIj48L2k+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgI3ZpZXdDb250YWluZXJQYW5lbFJlZj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXNwbGl0dGVyPlxuPC9kaXY+Il19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG5lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NwbGl0dGVyL3NwbGl0dGVyLmNvbXBuZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVF0QyxNQUFNLE9BQU8saUJBQWlCO0lBVzVCLFlBQW9CLE1BQWMsRUFBVSxTQUF1QjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVB6RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzFELHFCQUFnQixHQUFhLEtBQUssQ0FBQztJQUltQyxDQUFDO0lBQ3ZFLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhDQUE4QzthQUM1RCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdkYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztnQkFDdkcsT0FBTzthQUNSO1lBQ0QsSUFBSSxZQUFZLEdBQVEsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FDaEUsSUFBSSxDQUFDLGNBQWMsQ0FDcEIsQ0FBQztZQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDbkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDckQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBO0lBQy9CLENBQUM7aUlBbkNVLGlCQUFpQjtxSEFBakIsaUJBQWlCLG1VQUtnQixnQkFBZ0IsK0dBR3JCLGdCQUFnQiw2QkNqQnpELGd0QkFnQk07OzJGRFBPLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO3dIQUtkLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVQLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUk3RSxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2Utc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwYW5lbENvbXBvbmVudDogYW55O1xuICBASW5wdXQoKSBleGlzdGluZ0NvcG1vbmVudDogYW55O1xuICBASW5wdXQoKSBjb25maWdEYXRhOiBhbnk7XG4gIEBPdXRwdXQoKSBjbG9zZVBhbmVsRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZCgndmlld0NvbnRhaW5lclBhbmVsUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHZpZXdDb250YWluZXJQYW5lbFJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgaXNDb21wb25lbnRFeGlzdDogYm9vbGVhbiA9ICBmYWxzZTtcbiAgQFZpZXdDaGlsZCgndmlld0NvbnRhaW5lclJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICBzYW5pdGl6ZWRDb250ZW50ITogU2FmZUh0bWw7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2FuaXRpemVkQ29udGVudCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuZXhpc3RpbmdDb3Btb25lbnQpO1xuICAgICAgICBpZiAodGhpcy5pc0NvbXBvbmVudEV4aXN0KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnQgYWxyZWFkeSBleGlzdHMuIFBsZWFzZSBjbG9zZSB0aGUgY3VycmVudCBjb21wb25lbnQgYmVmb3JlIG9wZW5pbmcgYSBuZXcgb25lLicpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbmV3Q29tcG9uZW50OiBhbnkgPSB0aGlzLnZpZXdDb250YWluZXJQYW5lbFJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgdGhpcy5wYW5lbENvbXBvbmVudFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmlzQ29tcG9uZW50RXhpc3QgPSB0cnVlO1xuICAgICAgICBuZXdDb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0ge307XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEpIHtcbiAgICAgICAgICBuZXdDb21wb25lbnQuaW5zdGFuY2UuY29uZmlnLmRhdGEgPSB0aGlzLmNvbmZpZ0RhdGE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VQYW5lbCgpIHtcbiAgICB0aGlzLmNsb3NlUGFuZWxFbWl0dGVyLmVtaXQodHJ1ZSk7XG4gICAgdGhpcy5pc0NvbXBvbmVudEV4aXN0ID0gZmFsc2VcbiAgfVxufSIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgPHAtc3BsaXR0ZXIgIGNsYXNzPVwic3BsaXR0ZXItd3JhcHBlclwiXG4gICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogJzgzMHB4Jywgd2lkdGg6JzEwMCUnfVwiICBcbiAgICAgICAgbGF5b3V0PVwidmVydGljYWxcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplZENvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2VJY29uXCI+IDxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS14XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPjwvaT48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAjdmlld0NvbnRhaW5lclBhbmVsUmVmPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Atc3BsaXR0ZXI+XG48L2Rpdj4iXX0=
@@ -7125,13 +7125,19 @@ class SplitterComponent {
7125
7125
  this.ngZone = ngZone;
7126
7126
  this.sanitizer = sanitizer;
7127
7127
  this.closePanelEmitter = new EventEmitter();
7128
+ this.isComponentExist = false;
7128
7129
  }
7129
7130
  ngAfterViewInit() {
7130
7131
  this.ngZone.onStable
7131
7132
  .pipe(take(1)) // Emit only once when the zone becomes stable
7132
7133
  .subscribe(() => {
7133
7134
  this.sanitizedContent = this.sanitizer.bypassSecurityTrustHtml(this.existingCopmonent);
7135
+ if (this.isComponentExist) {
7136
+ console.warn('Component already exists. Please close the current component before opening a new one.');
7137
+ return;
7138
+ }
7134
7139
  var newComponent = this.viewContainerPanelRef.createComponent(this.panelComponent);
7140
+ this.isComponentExist = true;
7135
7141
  newComponent.instance.config = {};
7136
7142
  if (this.configData) {
7137
7143
  newComponent.instance.config.data = this.configData;
@@ -7140,13 +7146,14 @@ class SplitterComponent {
7140
7146
  }
7141
7147
  closePanel() {
7142
7148
  this.closePanelEmitter.emit(true);
7149
+ this.isComponentExist = false;
7143
7150
  }
7144
7151
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SplitterComponent, deps: [{ token: i0.NgZone }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
7145
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SplitterComponent, selector: "se-splitter", inputs: { panelComponent: "panelComponent", existingCopmonent: "existingCopmonent", configData: "configData" }, outputs: { closePanelEmitter: "closePanelEmitter" }, viewQueries: [{ propertyName: "viewContainerPanelRef", first: true, predicate: ["viewContainerPanelRef"], descendants: true, read: ViewContainerRef }, { propertyName: "viewContainerRef", first: true, predicate: ["viewContainerRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"], dependencies: [{ kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$4.Splitter, selector: "p-splitter", inputs: ["styleClass", "panelStyleClass", "style", "panelStyle", "stateStorage", "stateKey", "layout", "gutterSize", "step", "minSizes", "panelSizes"], outputs: ["onResizeEnd", "onResizeStart"] }] }); }
7152
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SplitterComponent, selector: "se-splitter", inputs: { panelComponent: "panelComponent", existingCopmonent: "existingCopmonent", configData: "configData" }, outputs: { closePanelEmitter: "closePanelEmitter" }, viewQueries: [{ propertyName: "viewContainerPanelRef", first: true, predicate: ["viewContainerPanelRef"], descendants: true, read: ViewContainerRef }, { propertyName: "viewContainerRef", first: true, predicate: ["viewContainerRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px;z-index:9}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"], dependencies: [{ kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$4.Splitter, selector: "p-splitter", inputs: ["styleClass", "panelStyleClass", "style", "panelStyle", "stateStorage", "stateKey", "layout", "gutterSize", "step", "minSizes", "panelSizes"], outputs: ["onResizeEnd", "onResizeStart"] }] }); }
7146
7153
  }
7147
7154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SplitterComponent, decorators: [{
7148
7155
  type: Component,
7149
- args: [{ selector: 'se-splitter', template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"] }]
7156
+ args: [{ selector: 'se-splitter', template: "<div class=\"card\">\n <p-splitter class=\"splitter-wrapper\"\n [style]=\"{ height: '830px', width:'100%'}\" \n layout=\"vertical\">\n <ng-template pTemplate>\n <div class=\"col flex justify-content-center\">\n <div [innerHTML]=\"sanitizedContent\"></div>\n </div>\n </ng-template>\n <ng-template pTemplate>\n <span class=\"closeIcon\"> <i class=\"fa-regular fa-x\" (click)=\"closePanel()\"></i></span>\n <div class=\"col flex justify-content-center\">\n <div #viewContainerPanelRef></div>\n </div>\n </ng-template>\n </p-splitter>\n</div>", styles: [".closeIcon{cursor:pointer;position:absolute;right:10px;top:10px;z-index:9}:host ::ng-deep .p-splitter-panel-nested{position:relative}\n"] }]
7150
7157
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.DomSanitizer }]; }, propDecorators: { panelComponent: [{
7151
7158
  type: Input
7152
7159
  }], existingCopmonent: [{