UNPKG

materialize-angular

Version:
135 lines 11.7 kB
/** * @fileoverview added by tsickle * Generated from: app/completed-components/modal/modal.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Workylab. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE */ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; import { config } from '../../config'; var ModalComponent = /** @class */ (function () { function ModalComponent() { this.className = ModalComponent.defaultProps.className; this.dismissOnBackdrop = ModalComponent.defaultProps.dismissOnBackdrop; this.hasBackdrop = ModalComponent.defaultProps.hasBackdrop; this.hasCloseButton = ModalComponent.defaultProps.hasCloseButton; this.isOpen = ModalComponent.defaultProps.isOpen; this.transitionDuration = ModalComponent.defaultProps.transitionDuration; this.prefix = config.components.prefix; this.onOpenEmitter = new EventEmitter(); this.onCloseEmitter = new EventEmitter(); this.open = this.open.bind(this); this.close = this.close.bind(this); this.closeByBackdrop = this.closeByBackdrop.bind(this); } /** * @return {?} */ ModalComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { if (this.hasBackdrop && this.dismissOnBackdrop) { this.backdropRef.nativeElement.addEventListener('click', this.closeByBackdrop); } }; /** * @param {?} event * @return {?} */ ModalComponent.prototype.closeByBackdrop = /** * @param {?} event * @return {?} */ function (event) { var target = event.target; var nativeElement = this.backdropRef.nativeElement; if (target === nativeElement) { this.close(); } }; /** * @return {?} */ ModalComponent.prototype.open = /** * @return {?} */ function () { this.modalRef.nativeElement.style.transitionDuration = this.transitionDuration + "ms"; this.isOpen = true; this.onOpenEmitter.emit(); }; /** * @return {?} */ ModalComponent.prototype.close = /** * @return {?} */ function () { this.modalRef.nativeElement.style.transitionDuration = this.transitionDuration / 2 + "ms"; this.isOpen = false; this.onCloseEmitter.emit(); }; ModalComponent.defaultProps = { className: '', dismissOnBackdrop: true, hasBackdrop: true, hasCloseButton: true, isOpen: false, transitionDuration: 400 }; ModalComponent.decorators = [ { type: Component, args: [{ selector: config.components.prefix + "-modal }", template: "<div [ngClass]=\"[prefix + '-modal', className]\" [class.active]=\"isOpen\" #modal>\n <div [ngClass]=\"prefix + '-modal-backdrop'\" #backdrop *ngIf=\"hasBackdrop\"></div>\n <div [ngClass]=\"prefix + '-modal-content'\">\n <materialize-icon [className]=\"prefix + '-modal-icon-close'\" *ngIf=\"hasCloseButton\" (onClick)=\"close()\">close</materialize-icon>\n\n <ng-content></ng-content>\n </div>\n</div>\n" }] } ]; /** @nocollapse */ ModalComponent.ctorParameters = function () { return []; }; ModalComponent.propDecorators = { modalRef: [{ type: ViewChild, args: ['modal', { static: true },] }], backdropRef: [{ type: ViewChild, args: ['backdrop', { static: false },] }], onOpenEmitter: [{ type: Output, args: ['onOpen',] }], onCloseEmitter: [{ type: Output, args: ['onClose',] }], className: [{ type: Input }], dismissOnBackdrop: [{ type: Input }], hasBackdrop: [{ type: Input }], hasCloseButton: [{ type: Input }], isOpen: [{ type: Input }], transitionDuration: [{ type: Input }] }; return ModalComponent; }()); export { ModalComponent }; if (false) { /** @type {?} */ ModalComponent.defaultProps; /** @type {?} */ ModalComponent.prototype.modalRef; /** @type {?} */ ModalComponent.prototype.backdropRef; /** @type {?} */ ModalComponent.prototype.onOpenEmitter; /** @type {?} */ ModalComponent.prototype.onCloseEmitter; /** @type {?} */ ModalComponent.prototype.className; /** @type {?} */ ModalComponent.prototype.dismissOnBackdrop; /** @type {?} */ ModalComponent.prototype.hasBackdrop; /** @type {?} */ ModalComponent.prototype.hasCloseButton; /** @type {?} */ ModalComponent.prototype.isOpen; /** @type {?} */ ModalComponent.prototype.transitionDuration; /** @type {?} */ ModalComponent.prototype.prefix; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbWF0ZXJpYWxpemUtYW5ndWxhci8iLCJzb3VyY2VzIjpbImFwcC9jb21wbGV0ZWQtY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHdEM7SUE2QkU7UUFUUyxjQUFTLEdBQVcsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDMUQsc0JBQWlCLEdBQVksY0FBYyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztRQUMzRSxnQkFBVyxHQUFZLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQy9ELG1CQUFjLEdBQVksY0FBYyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFDckUsV0FBTSxHQUFZLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3JELHVCQUFrQixHQUFXLGNBQWMsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUM7UUFFOUUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7OztJQUVELHdDQUFlOzs7SUFBZjtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRjtJQUNILENBQUM7Ozs7O0lBRUQsd0NBQWU7Ozs7SUFBZixVQUFnQixLQUFZO1FBQ2xCLElBQUEscUJBQU07UUFDTixJQUFBLDhDQUFhO1FBRXJCLElBQUksTUFBTSxLQUFLLGFBQWEsRUFBRTtZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7Ozs7SUFFRCw2QkFBSTs7O0lBQUo7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQU8sSUFBSSxDQUFDLGtCQUFrQixPQUFLLENBQUM7UUFFeEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsOEJBQUs7OztJQUFMO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFPLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE9BQUssQ0FBQztRQUU1RixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUE1RGUsMkJBQVksR0FBZTtRQUN6QyxTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsV0FBVyxFQUFFLElBQUk7UUFDakIsY0FBYyxFQUFFLElBQUk7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixrQkFBa0IsRUFBRSxHQUFHO0tBQ3hCLENBQUM7O2dCQVpILFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLGFBQVc7b0JBQ2pELHlhQUFxQztpQkFDdEM7Ozs7OzJCQVdFLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzhCQUNuQyxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQ0FFdkMsTUFBTSxTQUFDLFFBQVE7aUNBQ2YsTUFBTSxTQUFDLFNBQVM7NEJBRWhCLEtBQUs7b0NBQ0wsS0FBSzs4QkFDTCxLQUFLO2lDQUNMLEtBQUs7eUJBQ0wsS0FBSztxQ0FDTCxLQUFLOztJQXlDUixxQkFBQztDQUFBLEFBbEVELElBa0VDO1NBOURZLGNBQWM7OztJQUN6Qiw0QkFPRTs7SUFFRixrQ0FBMkQ7O0lBQzNELHFDQUFrRTs7SUFFbEUsdUNBQW9EOztJQUNwRCx3Q0FBc0Q7O0lBRXRELG1DQUFtRTs7SUFDbkUsMkNBQW9GOztJQUNwRixxQ0FBd0U7O0lBQ3hFLHdDQUE4RTs7SUFDOUUsZ0NBQThEOztJQUM5RCw0Q0FBcUY7O0lBRXJGLGdDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBXb3JreWxhYi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vd29ya3lsYWIvbWF0ZXJpYWxpemUtYW5ndWxhci9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgTW9kYWxNb2RlbCB9IGZyb20gJy4vbW9kYWwubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IGAkeyBjb25maWcuY29tcG9uZW50cy5wcmVmaXggfS1tb2RhbCB9YCxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE1vZGFsTW9kZWwge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdFByb3BzOiBNb2RhbE1vZGVsID0ge1xuICAgIGNsYXNzTmFtZTogJycsXG4gICAgZGlzbWlzc09uQmFja2Ryb3A6IHRydWUsXG4gICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgaGFzQ2xvc2VCdXR0b246IHRydWUsXG4gICAgaXNPcGVuOiBmYWxzZSxcbiAgICB0cmFuc2l0aW9uRHVyYXRpb246IDQwMFxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsJywgeyBzdGF0aWM6IHRydWUgfSkgbW9kYWxSZWY6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2JhY2tkcm9wJywgeyBzdGF0aWM6IGZhbHNlIH0pIGJhY2tkcm9wUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoJ29uT3BlbicpIG9uT3BlbkVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgQE91dHB1dCgnb25DbG9zZScpIG9uQ2xvc2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgPSBNb2RhbENvbXBvbmVudC5kZWZhdWx0UHJvcHMuY2xhc3NOYW1lO1xuICBASW5wdXQoKSBkaXNtaXNzT25CYWNrZHJvcDogYm9vbGVhbiA9IE1vZGFsQ29tcG9uZW50LmRlZmF1bHRQcm9wcy5kaXNtaXNzT25CYWNrZHJvcDtcbiAgQElucHV0KCkgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBNb2RhbENvbXBvbmVudC5kZWZhdWx0UHJvcHMuaGFzQmFja2Ryb3A7XG4gIEBJbnB1dCgpIGhhc0Nsb3NlQnV0dG9uOiBib29sZWFuID0gTW9kYWxDb21wb25lbnQuZGVmYXVsdFByb3BzLmhhc0Nsb3NlQnV0dG9uO1xuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW4gPSBNb2RhbENvbXBvbmVudC5kZWZhdWx0UHJvcHMuaXNPcGVuO1xuICBASW5wdXQoKSB0cmFuc2l0aW9uRHVyYXRpb246IG51bWJlciA9IE1vZGFsQ29tcG9uZW50LmRlZmF1bHRQcm9wcy50cmFuc2l0aW9uRHVyYXRpb247XG5cbiAgcHVibGljIHByZWZpeCA9IGNvbmZpZy5jb21wb25lbnRzLnByZWZpeDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm9uT3BlbkVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5vbkNsb3NlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHRoaXMub3BlbiA9IHRoaXMub3Blbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2xvc2UgPSB0aGlzLmNsb3NlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbG9zZUJ5QmFja2Ryb3AgPSB0aGlzLmNsb3NlQnlCYWNrZHJvcC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmhhc0JhY2tkcm9wICYmIHRoaXMuZGlzbWlzc09uQmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuYmFja2Ryb3BSZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xvc2VCeUJhY2tkcm9wKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZUJ5QmFja2Ryb3AoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHsgbmF0aXZlRWxlbWVudCB9ID0gdGhpcy5iYWNrZHJvcFJlZjtcblxuICAgIGlmICh0YXJnZXQgPT09IG5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMubW9kYWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb24gPSBgJHsgdGhpcy50cmFuc2l0aW9uRHVyYXRpb24gfW1zYDtcblxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9uT3BlbkVtaXR0ZXIuZW1pdCgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5tb2RhbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9IGAkeyB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbiAvIDIgfW1zYDtcblxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vbkNsb3NlRW1pdHRlci5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==