UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

85 lines 7.58 kB
/** * @fileoverview added by tsickle * Generated from: iframe-event-propagate.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Input } from '@angular/core'; var IframeEventPropagateDirective = /** @class */ (function () { function IframeEventPropagateDirective(el) { var _this = this; this.event = 'click'; this.AddIframeContentDocumentClickListener = (/** * @return {?} */ function () { /** @type {?} */ var iframe = _this.element.querySelector('iframe'); if (iframe !== null) { if (iframe.contentDocument !== null) { iframe.contentDocument.addEventListener(_this.event, _this.dispatchClickEvent); } else { /** @type {?} */ var loadHandler_1 = (/** * @return {?} */ function () { iframe.contentDocument.addEventListener(_this.event, _this.dispatchClickEvent); iframe.removeEventListener('load', loadHandler_1); }); iframe.addEventListener('load', loadHandler_1); } _this.element.removeEventListener('DOMSubtreeModified', _this.AddIframeContentDocumentClickListener); } }); this.dispatchClickEvent = (/** * @param {?} $event * @return {?} */ function ($event) { /** @type {?} */ var event = document.createEvent('MouseEvents'); event.initEvent(_this.event, true, true); event['originEvent'] = $event; _this.element.dispatchEvent(event); }); this.element = el.nativeElement; } /** * @return {?} */ IframeEventPropagateDirective.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.element.addEventListener('DOMSubtreeModified', this.AddIframeContentDocumentClickListener); if (this.element.querySelector('iframe') !== null) { this.AddIframeContentDocumentClickListener(); } }; IframeEventPropagateDirective.decorators = [ { type: Directive, args: [{ selector: '[dIframeEventPropagate]' },] } ]; /** @nocollapse */ IframeEventPropagateDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; IframeEventPropagateDirective.propDecorators = { event: [{ type: Input }] }; return IframeEventPropagateDirective; }()); export { IframeEventPropagateDirective }; if (false) { /** @type {?} */ IframeEventPropagateDirective.prototype.event; /** @type {?} */ IframeEventPropagateDirective.prototype.element; /** @type {?} */ IframeEventPropagateDirective.prototype.AddIframeContentDocumentClickListener; /** @type {?} */ IframeEventPropagateDirective.prototype.dispatchClickEvent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLWV2ZW50LXByb3BhZ2F0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9jb21tb24vIiwic291cmNlcyI6WyJpZnJhbWUtZXZlbnQtcHJvcGFnYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUU7SUFNRSx1Q0FBWSxFQUFjO1FBQTFCLGlCQUVDO1FBSlEsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQVl6QiwwQ0FBcUM7OztRQUFHOztnQkFDOUIsTUFBTSxHQUFHLEtBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztZQUVuRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUc7Z0JBQ3BCLElBQUksTUFBTSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7b0JBQ25DLE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztpQkFDOUU7cUJBQU07O3dCQUNDLGFBQVc7OztvQkFBSTt3QkFDakIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFJLENBQUMsS0FBSyxFQUFFLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3dCQUM3RSxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGFBQVcsQ0FBQyxDQUFDO29CQUNwRCxDQUFDLENBQUE7b0JBQ0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxhQUFXLENBQUMsQ0FBQztpQkFDOUM7Z0JBRUQsS0FBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxLQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQzthQUNwRztRQUNMLENBQUMsRUFBQTtRQUVELHVCQUFrQjs7OztRQUFHLFVBQUMsTUFBTTs7Z0JBQ3BCLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUNqRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDOUIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFBO1FBaENDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQsdURBQWU7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRztZQUNoRCxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztTQUNoRDtJQUNILENBQUM7O2dCQWZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO2lCQUNwQzs7OztnQkFIbUIsVUFBVTs7O3dCQUszQixLQUFLOztJQW9DUixvQ0FBQztDQUFBLEFBeENELElBd0NDO1NBckNZLDZCQUE2Qjs7O0lBQ3hDLDhDQUF5Qjs7SUFDekIsZ0RBQTJCOztJQVczQiw4RUFnQkM7O0lBRUQsMkRBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RJZnJhbWVFdmVudFByb3BhZ2F0ZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZnJhbWVFdmVudFByb3BhZ2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGV2ZW50ID0gJ2NsaWNrJztcclxuICBlbGVtZW50OiBIVE1MU2VsZWN0RWxlbWVudDtcclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5lbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdET01TdWJ0cmVlTW9kaWZpZWQnLCB0aGlzLkFkZElmcmFtZUNvbnRlbnREb2N1bWVudENsaWNrTGlzdGVuZXIpO1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKSAhPT0gbnVsbCApIHtcclxuICAgICAgICB0aGlzLkFkZElmcmFtZUNvbnRlbnREb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICB9XHJcbiAgQWRkSWZyYW1lQ29udGVudERvY3VtZW50Q2xpY2tMaXN0ZW5lciA9ICgpID0+IHtcclxuICAgICAgY29uc3QgaWZyYW1lID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpO1xyXG5cclxuICAgICAgaWYgKGlmcmFtZSAhPT0gbnVsbCApIHtcclxuICAgICAgICBpZiAoaWZyYW1lLmNvbnRlbnREb2N1bWVudCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMuZXZlbnQsIHRoaXMuZGlzcGF0Y2hDbGlja0V2ZW50KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbG9hZEhhbmRsZXIgPSAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50LCB0aGlzLmRpc3BhdGNoQ2xpY2tFdmVudCk7XHJcbiAgICAgICAgICAgICAgaWZyYW1lLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkSGFuZGxlcik7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NU3VidHJlZU1vZGlmaWVkJywgdGhpcy5BZGRJZnJhbWVDb250ZW50RG9jdW1lbnRDbGlja0xpc3RlbmVyKTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hDbGlja0V2ZW50ID0gKCRldmVudCkgPT4ge1xyXG4gICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnTW91c2VFdmVudHMnKTtcclxuICAgIGV2ZW50LmluaXRFdmVudCh0aGlzLmV2ZW50LCB0cnVlLCB0cnVlKTtcclxuICAgIGV2ZW50WydvcmlnaW5FdmVudCddID0gJGV2ZW50O1xyXG4gICAgdGhpcy5lbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=