fundamental-ngx
Version:
SAP Fiori Fundamentals, implemented in Angular
89 lines • 5.82 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostBinding, HostListener } from '@angular/core';
import { ModalRef } from './modal-ref';
import { AbstractFdNgxClass } from '../../utils/abstract-fd-ngx-class';
import { modalFadeNgIf } from './modal-animations';
export class ModalBackdrop extends AbstractFdNgxClass {
/**
* @param {?} elRef
* @param {?} modalRef
*/
constructor(elRef, modalRef) {
super(elRef);
this.elRef = elRef;
this.modalRef = modalRef;
this.backdropClass = '';
this.backdropClickCloseable = true;
this.overlayMain = true;
this.overlayModal = true;
}
/**
* @return {?}
*/
ngOnInit() {
this._setProperties();
}
/**
* @return {?}
*/
_setProperties() {
if (this.backdropClass) {
this._addClassToElement(this.backdropClass);
}
}
/**
* @return {?}
*/
closeModal() {
if (this.backdropClickCloseable) {
this.modalRef.dismiss('backdrop');
}
}
}
ModalBackdrop.decorators = [
{ type: Component, args: [{
selector: 'fd-modal-overlay',
template: ``,
host: {
'tabindex': '-1',
'[@modal-fade]': ''
},
animations: [
modalFadeNgIf
]
}] }
];
/** @nocollapse */
ModalBackdrop.ctorParameters = () => [
{ type: ElementRef },
{ type: ModalRef }
];
ModalBackdrop.propDecorators = {
overlayMain: [{ type: HostBinding, args: ['class.fd-overlay',] }],
overlayModal: [{ type: HostBinding, args: ['class.fd-overlay--modal',] }],
closeModal: [{ type: HostListener, args: ['click',] }]
};
if (false) {
/** @type {?} */
ModalBackdrop.prototype.backdropClass;
/** @type {?} */
ModalBackdrop.prototype.backdropClickCloseable;
/** @type {?} */
ModalBackdrop.prototype.overlayMain;
/** @type {?} */
ModalBackdrop.prototype.overlayModal;
/**
* @type {?}
* @private
*/
ModalBackdrop.prototype.elRef;
/**
* @type {?}
* @private
*/
ModalBackdrop.prototype.modalRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFja2Ryb3AuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdW5kYW1lbnRhbC1uZ3gvIiwic291cmNlcyI6WyJsaWIvbW9kYWwvbW9kYWwtdXRpbHMvbW9kYWwtYmFja2Ryb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBYW5ELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCOzs7OztJQVFqRCxZQUFvQixLQUFpQixFQUNqQixRQUFrQjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFGRyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQdEMsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBRU4sZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDWixpQkFBWSxHQUFHLElBQUksQ0FBQztJQUs1RCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQzs7OztJQUdELFVBQVU7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNyQztJQUNMLENBQUM7OztZQXZDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsRUFBRTtpQkFDdEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNSLGFBQWE7aUJBQ2hCO2FBQ0o7Ozs7WUFmbUIsVUFBVTtZQUNyQixRQUFROzs7MEJBb0JaLFdBQVcsU0FBQyxrQkFBa0I7MkJBQzlCLFdBQVcsU0FBQyx5QkFBeUI7eUJBaUJyQyxZQUFZLFNBQUMsT0FBTzs7OztJQXJCckIsc0NBQTJCOztJQUMzQiwrQ0FBdUM7O0lBRXZDLG9DQUFvRDs7SUFDcEQscUNBQTREOzs7OztJQUVoRCw4QkFBeUI7Ozs7O0lBQ3pCLGlDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxSZWYgfSBmcm9tICcuL21vZGFsLXJlZic7XG5pbXBvcnQgeyBBYnN0cmFjdEZkTmd4Q2xhc3MgfSBmcm9tICcuLi8uLi91dGlscy9hYnN0cmFjdC1mZC1uZ3gtY2xhc3MnO1xuaW1wb3J0IHsgbW9kYWxGYWRlTmdJZiB9IGZyb20gJy4vbW9kYWwtYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbW9kYWwtb3ZlcmxheScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3RhYmluZGV4JzogJy0xJyxcbiAgICAgICAgJ1tAbW9kYWwtZmFkZV0nOiAnJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICBtb2RhbEZhZGVOZ0lmXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEJhY2tkcm9wIGV4dGVuZHMgQWJzdHJhY3RGZE5neENsYXNzIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGJhY2tkcm9wQ2xhc3M6IHN0cmluZyA9ICcnO1xuICAgIGJhY2tkcm9wQ2xpY2tDbG9zZWFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1vdmVybGF5Jykgb3ZlcmxheU1haW4gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtb3ZlcmxheS0tbW9kYWwnKSBvdmVybGF5TW9kYWwgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIG1vZGFsUmVmOiBNb2RhbFJlZikge1xuICAgICAgICBzdXBlcihlbFJlZik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBfc2V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BDbGFzcykge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQodGhpcy5iYWNrZHJvcENsYXNzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcENsaWNrQ2xvc2VhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmRpc21pc3MoJ2JhY2tkcm9wJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=