materialize-angular
Version:
Material UI Angular library
167 lines • 13.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: app/completed-components/drawer/drawer.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, Renderer2, ViewChild } from '@angular/core';
import { DRAWER_POSITIONS, DRAWER_TYPES } from './drawer.model';
import { config } from '../../config';
var DrawerComponent = /** @class */ (function () {
function DrawerComponent(renderer) {
this.renderer = renderer;
this.className = DrawerComponent.defaultProps.className;
this.closeOnBackdrop = DrawerComponent.defaultProps.closeOnBackdrop;
this.hasBackdrop = DrawerComponent.defaultProps.hasBackdrop;
this.isOpen = DrawerComponent.defaultProps.isOpen;
this.position = DrawerComponent.defaultProps.position;
this.transitionDuration = DrawerComponent.defaultProps.transitionDuration;
this.type = DrawerComponent.defaultProps.type;
this.prefix = config.components.prefix;
this.close = this.close.bind(this);
this.closeByBackdrop = this.closeByBackdrop.bind(this);
this.open = this.open.bind(this);
this.onOpenEmitter = new EventEmitter();
this.onCloseEmitter = new EventEmitter();
}
/**
* @return {?}
*/
DrawerComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout((/**
* @return {?}
*/
function () {
_this.renderer.setStyle(_this.drawerRef.nativeElement, 'transitionDuration', _this.transitionDuration + "ms");
if (_this.closeOnBackdrop) {
_this.backdropRef.nativeElement.addEventListener('click', _this.closeByBackdrop);
}
}), 0);
};
/**
* @return {?}
*/
DrawerComponent.prototype.open = /**
* @return {?}
*/
function () {
var _this = this;
if (this.type !== DRAWER_TYPES.STATIC) {
this.renderer.setStyle(this.backdropRef.nativeElement, 'display', 'block');
setTimeout((/**
* @return {?}
*/
function () {
_this.isOpen = true;
}), 0);
}
};
/**
* @param {?} event
* @return {?}
*/
DrawerComponent.prototype.closeByBackdrop = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event.target === this.backdropRef.nativeElement) {
this.close();
}
};
/**
* @return {?}
*/
DrawerComponent.prototype.close = /**
* @return {?}
*/
function () {
var _this = this;
this.isOpen = false;
setTimeout((/**
* @return {?}
*/
function () {
_this.renderer.setStyle(_this.backdropRef.nativeElement, 'display', 'none');
_this.onCloseEmitter.emit();
}), this.transitionDuration);
};
DrawerComponent.defaultProps = {
className: '',
closeOnBackdrop: true,
hasBackdrop: true,
isOpen: false,
position: DRAWER_POSITIONS.LEFT,
transitionDuration: 250,
type: DRAWER_TYPES.OVER
};
DrawerComponent.decorators = [
{ type: Component, args: [{
selector: config.components.prefix + "-drawer }",
template: "<div #drawer\n [ngClass]=\"[prefix + '-drawer', className, type, position]\"\n [class.open]=\"isOpen\"\n [class.backdrop]=\"hasBackdrop\"\n>\n <div [ngClass]=\"prefix + '-drawer-backdrop'\" #backdrop></div>\n\n <div [ngClass]=\"prefix + '-drawer-content'\">\n <ng-content select=\"materialize-drawer-content\"></ng-content>\n </div>\n\n <div [ngClass]=\"prefix + '-drawer-container'\">\n <ng-content select=\"materialize-drawer-container\"></ng-content>\n </div>\n</div>\n"
}] }
];
/** @nocollapse */
DrawerComponent.ctorParameters = function () { return [
{ type: Renderer2 }
]; };
DrawerComponent.propDecorators = {
backdropRef: [{ type: ViewChild, args: ['backdrop', { static: true },] }],
drawerRef: [{ type: ViewChild, args: ['drawer', { static: true },] }],
onOpenEmitter: [{ type: Output, args: ['onOpen',] }],
onCloseEmitter: [{ type: Output, args: ['onClose',] }],
className: [{ type: Input }],
closeOnBackdrop: [{ type: Input }],
hasBackdrop: [{ type: Input }],
isOpen: [{ type: Input }],
position: [{ type: Input }],
transitionDuration: [{ type: Input }],
type: [{ type: Input }]
};
return DrawerComponent;
}());
export { DrawerComponent };
if (false) {
/** @type {?} */
DrawerComponent.defaultProps;
/** @type {?} */
DrawerComponent.prototype.backdropRef;
/** @type {?} */
DrawerComponent.prototype.drawerRef;
/** @type {?} */
DrawerComponent.prototype.onOpenEmitter;
/** @type {?} */
DrawerComponent.prototype.onCloseEmitter;
/** @type {?} */
DrawerComponent.prototype.className;
/** @type {?} */
DrawerComponent.prototype.closeOnBackdrop;
/** @type {?} */
DrawerComponent.prototype.hasBackdrop;
/** @type {?} */
DrawerComponent.prototype.isOpen;
/** @type {?} */
DrawerComponent.prototype.position;
/** @type {?} */
DrawerComponent.prototype.transitionDuration;
/** @type {?} */
DrawerComponent.prototype.type;
/** @type {?} */
DrawerComponent.prototype.prefix;
/**
* @type {?}
* @private
*/
DrawerComponent.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21hdGVyaWFsaXplLWFuZ3VsYXIvIiwic291cmNlcyI6WyJhcHAvY29tcGxldGVkLWNvbXBvbmVudHMvZHJhd2VyL2RyYXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QztJQStCRSx5QkFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVY5QixjQUFTLEdBQVcsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDM0Qsb0JBQWUsR0FBWSxlQUFlLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUN4RSxnQkFBVyxHQUFZLGVBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQ2hFLFdBQU0sR0FBWSxlQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxhQUFRLEdBQXFCLGVBQWUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ25FLHVCQUFrQixHQUFXLGVBQWUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUM7UUFDN0UsU0FBSSxHQUFpQixlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUV6RCxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFHdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxH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QVFFOztJQUVGLHNDQUFpRTs7SUFDakUsb0NBQTZEOztJQUU3RCx3Q0FBb0Q7O0lBQ3BELHlDQUFzRDs7SUFFdEQsb0NBQW9FOztJQUNwRSwwQ0FBaUY7O0lBQ2pGLHNDQUF5RTs7SUFDekUsaUNBQStEOztJQUMvRCxtQ0FBNEU7O0lBQzVFLDZDQUFzRjs7SUFDdEYsK0JBQWdFOztJQUVoRSxpQ0FBeUM7Ozs7O0lBRTdCLG1DQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBXb3JreWxhYi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vd29ya3lsYWIvbWF0ZXJpYWxpemUtYW5ndWxhci9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERSQVdFUl9QT1NJVElPTlMsIERSQVdFUl9UWVBFUywgRHJhd2VyTW9kZWwgfSBmcm9tICcuL2RyYXdlci5tb2RlbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IGAkeyBjb25maWcuY29tcG9uZW50cy5wcmVmaXggfS1kcmF3ZXIgfWAsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdFByb3BzOiBEcmF3ZXJNb2RlbCA9IHtcbiAgICBjbGFzc05hbWU6ICcnLFxuICAgIGNsb3NlT25CYWNrZHJvcDogdHJ1ZSxcbiAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIHBvc2l0aW9uOiBEUkFXRVJfUE9TSVRJT05TLkxFRlQsXG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAyNTAsXG4gICAgdHlwZTogRFJBV0VSX1RZUEVTLk9WRVJcbiAgfTtcblxuICBAVmlld0NoaWxkKCdiYWNrZHJvcCcsIHsgc3RhdGljOiB0cnVlIH0pIGJhY2tkcm9wUmVmOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcmF3ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcmF3ZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQE91dHB1dCgnb25PcGVuJykgb25PcGVuRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuICBAT3V0cHV0KCdvbkNsb3NlJykgb25DbG9zZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyA9IERyYXdlckNvbXBvbmVudC5kZWZhdWx0UHJvcHMuY2xhc3NOYW1lO1xuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3A6IGJvb2xlYW4gPSBEcmF3ZXJDb21wb25lbnQuZGVmYXVsdFByb3BzLmNsb3NlT25CYWNrZHJvcDtcbiAgQElucHV0KCkgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBEcmF3ZXJDb21wb25lbnQuZGVmYXVsdFByb3BzLmhhc0JhY2tkcm9wO1xuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW4gPSBEcmF3ZXJDb21wb25lbnQuZGVmYXVsdFByb3BzLmlzT3BlbjtcbiAgQElucHV0KCkgcG9zaXRpb246IERSQVdFUl9QT1NJVElPTlMgPSBEcmF3ZXJDb21wb25lbnQuZGVmYXVsdFByb3BzLnBvc2l0aW9uO1xuICBASW5wdXQoKSB0cmFuc2l0aW9uRHVyYXRpb246IG51bWJlciA9IERyYXdlckNvbXBvbmVudC5kZWZhdWx0UHJvcHMudHJhbnNpdGlvbkR1cmF0aW9uO1xuICBASW5wdXQoKSB0eXBlOiBEUkFXRVJfVFlQRVMgPSBEcmF3ZXJDb21wb25lbnQuZGVmYXVsdFByb3BzLnR5cGU7XG5cbiAgcHVibGljIHByZWZpeCA9IGNvbmZpZy5jb21wb25lbnRzLnByZWZpeDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2xvc2VCeUJhY2tkcm9wID0gdGhpcy5jbG9zZUJ5QmFja2Ryb3AuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKTtcblxuICAgIHRoaXMub25PcGVuRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICB0aGlzLm9uQ2xvc2VFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYXdlclJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbkR1cmF0aW9uJywgYCR7IHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uIH1tc2ApO1xuXG4gICAgICBpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3ApIHtcbiAgICAgICAgdGhpcy5iYWNrZHJvcFJlZi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbG9zZUJ5QmFja2Ryb3ApO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICBpZiAodGhpcy50eXBlICE9PSBEUkFXRVJfVFlQRVMuU1RBVElDKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlQnlCYWNrZHJvcChldmVudDogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSB0aGlzLmJhY2tkcm9wUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuXG4gICAgICB0aGlzLm9uQ2xvc2VFbWl0dGVyLmVtaXQoKTtcbiAgICB9LCB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==