@indice/ng-components
Version:
Indice common components for Angular v12
106 lines • 14.3 kB
JavaScript
import { SidePaneOverlayType, SidePaneSize } from './../../types';
import { Component, Input, Inject, EventEmitter, Output } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
import * as i2 from "@angular/common";
export class SidePaneComponent {
constructor(router, document) {
this.router = router;
this.document = document;
// tslint:disable-next-line:no-input-rename
this.showPane = false;
this.sizeContainerStyle = 'side-pane-box-size';
this.overlayStyle = 'side-pane-overlay';
this.onComplete = new EventEmitter();
this.onOpen = new EventEmitter();
this.onClose = new EventEmitter();
}
ngOnChanges(changes) {
if (changes && changes.size) {
console.log('ngOnChanges ', changes);
this.initPane();
}
}
ngOnDestroy() {
}
ngOnInit() {
}
onSidePaneActivated(component) {
this.initPane(this.router.getCurrentNavigation()?.extras?.state);
this.show();
}
initPane(state) {
//priority to property for size
console.log('initPane', 'size:', this.size, 'state size', state?.paneSize);
this.sizeContainerStyle = this.sizeToClass(this.size ?? state?.paneSize);
console.log('calculated sizeContainerStyle', this.sizeContainerStyle);
this.overlayStyle = this.overlayToClass(state?.paneOverlay);
}
overlayToClass(overlay) {
if (!overlay)
return 'side-pane-overlay';
if (overlay === SidePaneOverlayType.None) {
return 'side-pane-overlay-opacity-0';
}
else if (overlay === SidePaneOverlayType.Dark) {
return 'side-pane-overlay-opacity-50';
}
return 'side-pane-overlay';
}
sizeToClass(size) {
if (!size)
return 'side-pane-box-size';
let sizeStyleSuffix = '-25';
if (size === SidePaneSize.Small25) {
sizeStyleSuffix = '-25';
}
else if (size === SidePaneSize.Medium50) {
sizeStyleSuffix = '-50';
}
else if (size === SidePaneSize.Large75) {
sizeStyleSuffix = '-75';
}
else if (size === SidePaneSize.Fullscreen) {
sizeStyleSuffix = '-100';
}
return `side-pane-box-size${sizeStyleSuffix}`;
}
onSidePaneDeactivated($event) {
this.hide();
}
show() {
this.document.body.classList.add('modal-active');
this.showPane = true;
this.onOpen.emit(true);
}
hide() {
this.showPane = false;
this.document.body.classList.remove('modal-active');
this.onClose.emit(false);
// prepei na allaxei auto!
this.onComplete.emit(true);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: SidePaneComponent, deps: [{ token: i1.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: SidePaneComponent, selector: "lib-side-pane", inputs: { showPane: ["visible", "showPane"], size: ["pane-size", "size"] }, outputs: { onComplete: "onComplete", onOpen: "onOpen", onClose: "onClose" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: SidePaneComponent, decorators: [{
type: Component,
args: [{ selector: 'lib-side-pane', template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
}], ctorParameters: () => [{ type: i1.Router }, { type: undefined, decorators: [{
type: Inject,
args: [DOCUMENT]
}] }], propDecorators: { showPane: [{
type: Input,
args: ['visible']
}], size: [{
type: Input,
args: ['pane-size']
}], onComplete: [{
type: Output
}], onOpen: [{
type: Output
}], onClose: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFvQixNQUFjLEVBQTRCLFFBQWE7UUFBdkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUE0QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBVjNFLDJDQUEyQztRQUVqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLHVCQUFrQixHQUFHLG9CQUFvQixDQUFDO1FBQzFDLGlCQUFZLEdBQUcsbUJBQW1CLENBQUM7UUFFaEMsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hFLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaUIsQ0FBQztJQUVqRixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBRyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFDLE9BQU8sQ0FB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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixDQUFDOzhHQWpGVSxpQkFBaUIsd0NBV2dCLFFBQVE7a0dBWHpDLGlCQUFpQixtT0NUOUIscWNBVUE7OzJGRERhLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDRSxlQUFlOzswQkFjWSxNQUFNOzJCQUFDLFFBQVE7eUNBUjFDLFFBQVE7c0JBRGpCLEtBQUs7dUJBQUMsU0FBUztnQkFJSSxJQUFJO3NCQUF2QixLQUFLO3VCQUFDLFdBQVc7Z0JBQ1IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZGVQYW5lT3ZlcmxheVR5cGUsIFNpZGVQYW5lU2l6ZSB9IGZyb20gJy4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZGUtcGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtcGFuZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGVQYW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgndmlzaWJsZScpXHJcbiAgcHJvdGVjdGVkIHNob3dQYW5lID0gZmFsc2U7XHJcbiAgcHVibGljIHNpemVDb250YWluZXJTdHlsZSA9ICdzaWRlLXBhbmUtYm94LXNpemUnO1xyXG4gIHB1YmxpYyBvdmVybGF5U3R5bGUgPSAnc2lkZS1wYW5lLW92ZXJsYXknO1xyXG4gIEBJbnB1dCgncGFuZS1zaXplJykgc2l6ZTogU2lkZVBhbmVTaXplIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9uT3BlbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksKSB7IH1cclxuICBcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzICYmIGNoYW5nZXMuc2l6ZSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnbmdPbkNoYW5nZXMgJyxjaGFuZ2VzKTtcclxuICAgICAgdGhpcy5pbml0UGFuZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkICB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaWRlUGFuZUFjdGl2YXRlZChjb21wb25lbnQ6IGFueSk6IHZvaWQgIHtcclxuICAgIHRoaXMuaW5pdFBhbmUodGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKT8uZXh0cmFzPy5zdGF0ZSk7XHJcbiAgICB0aGlzLnNob3coKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFBhbmUoc3RhdGU/OiBhbnkpIHtcclxuICAgIC8vcHJpb3JpdHkgdG8gcHJvcGVydHkgZm9yIHNpemVcclxuICAgIGNvbnNvbGUubG9nKCdpbml0UGFuZScsICdzaXplOicsIHRoaXMuc2l6ZSwgJ3N0YXRlIHNpemUnLCBzdGF0ZT8ucGFuZVNpemUpO1xyXG4gICAgdGhpcy5zaXplQ29udGFpbmVyU3R5bGUgPSB0aGlzLnNpemVUb0NsYXNzKHRoaXMuc2l6ZSA/PyBzdGF0ZT8ucGFuZVNpemUpO1xyXG4gICAgY29uc29sZS5sb2coJ2NhbGN1bGF0ZWQgc2l6ZUNvbnRhaW5lclN0eWxlJywgdGhpcy5zaXplQ29udGFpbmVyU3R5bGUpO1xyXG4gICAgdGhpcy5vdmVybGF5U3R5bGUgPSB0aGlzLm92ZXJsYXlUb0NsYXNzKHN0YXRlPy5wYW5lT3ZlcmxheSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG92ZXJsYXlUb0NsYXNzKG92ZXJsYXk/OiBTaWRlUGFuZU92ZXJsYXlUeXBlKTogc3RyaW5nIHtcclxuICAgIGlmKCFvdmVybGF5KSByZXR1cm4gJ3NpZGUtcGFuZS1vdmVybGF5JztcclxuICAgIGlmIChvdmVybGF5ID09PSBTaWRlUGFuZU92ZXJsYXlUeXBlLk5vbmUpICB7XHJcbiAgICAgIHJldHVybiAnc2lkZS1wYW5lLW92ZXJsYXktb3BhY2l0eS0wJztcclxuICAgIH0gZWxzZSBpZiAob3ZlcmxheSA9PT0gU2lkZVBhbmVPdmVybGF5VHlwZS5EYXJrKSB7XHJcbiAgICAgIHJldHVybiAnc2lkZS1wYW5lLW92ZXJsYXktb3BhY2l0eS01MCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJ3NpZGUtcGFuZS1vdmVybGF5JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2l6ZVRvQ2xhc3Moc2l6ZT86IFNpZGVQYW5lU2l6ZSk6IHN0cmluZyB7XHJcbiAgICBpZighc2l6ZSkgcmV0dXJuICdzaWRlLXBhbmUtYm94LXNpemUnO1xyXG4gICAgbGV0IHNpemVTdHlsZVN1ZmZpeDogc3RyaW5nID0gJy0yNSc7XHJcbiAgICBpZiAoc2l6ZSA9PT0gU2lkZVBhbmVTaXplLlNtYWxsMjUpIHtcclxuICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy0yNSc7XHJcbiAgICB9IGVsc2UgaWYgKHNpemUgPT09IFNpZGVQYW5lU2l6ZS5NZWRpdW01MCkge1xyXG4gICAgICBzaXplU3R5bGVTdWZmaXggPSAnLTUwJztcclxuICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gU2lkZVBhbmVTaXplLkxhcmdlNzUpIHtcclxuICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy03NSc7XHJcbiAgICB9ZWxzZSBpZiAoc2l6ZSA9PT0gU2lkZVBhbmVTaXplLkZ1bGxzY3JlZW4pIHtcclxuICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy0xMDAnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGBzaWRlLXBhbmUtYm94LXNpemUke3NpemVTdHlsZVN1ZmZpeH1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVEZWFjdGl2YXRlZCgkZXZlbnQ6IGFueSk6IHZvaWQgIHsgIFxyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1hY3RpdmUnKTtcclxuICAgIHRoaXMuc2hvd1BhbmUgPSB0cnVlO1xyXG4gICAgdGhpcy5vbk9wZW4uZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93UGFuZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLWFjdGl2ZScpO1xyXG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoZmFsc2UpO1xyXG4gICAgLy8gcHJlcGVpIG5hIGFsbGF4ZWkgYXV0byFcclxuICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRydWUpO1xyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzaG93UGFuZVwiIGNsYXNzPVwic2lkZS1wYW5lLW91dGVyLWNvbnRhaW5lclwiIGFyaWEtbGFiZWxsZWRieT1cInNsaWRlLW92ZXJcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cclxuICA8ZGl2IFtjbGFzc109XCJzaG93UGFuZSA/IG92ZXJsYXlTdHlsZSA6ICdoaWRkZW4nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XHJcbiAgPGRpdiBbY2xhc3NdPVwic2hvd1BhbmUgPyAnc2lkZS1wYW5lLWNvbnRhaW5lcicgOiAnaGlkZGVuJ1wiPlxyXG4gICAgPGRpdiBbY2xhc3NdPVwic2l6ZUNvbnRhaW5lclN0eWxlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=