materialize-angular
Version:
Material UI Angular library
135 lines • 11.7 kB
JavaScript
/**
* @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==