com.phloxui
Version:
PhloxUI Ng2+ Framework
1,017 lines (1,016 loc) • 82.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';
import { AbstractHasData } from './AbstractHasData';
import { ComponentPopoverModel } from './model/models';
import { NeedFocusService } from '../service/NeedFocusService.service';
import { Option } from '../decorator/Option.decorator';
import { EventUtils } from '../share/utils/EventUtils';
import { SHOW_EVENT, BEFORE_SHOW_EVENT, HIDE_EVENT, BEFORE_HIDE_EVENT } from '../share/CustomEventType';
var /** @type {?} */ HIDE_ON_CLICK_DELAY = 100;
var /** @type {?} */ TYPE_NAME = "phx-component-popover";
var /** @type {?} */ LEFT = 'left';
var /** @type {?} */ RIGHT = 'right';
var /** @type {?} */ TOP = 'top';
var /** @type {?} */ BOTTOM = 'bottom';
var ComponentPopover = /** @class */ (function (_super) {
tslib_1.__extends(ComponentPopover, _super);
function ComponentPopover(elementRef, needFocusService) {
var _this = _super.call(this, elementRef) || this;
_this.ARROW_GAP = 5;
_this.MIN_HEIGHT = 40;
_this.needFocusService = needFocusService;
_this._show = false;
_this.defaultArrowTop = 10;
_this.showEvent = new EventEmitter();
_this.beforeShowEvent = new EventEmitter();
_this.hideEvent = new EventEmitter();
_this.beforeHideEvent = new EventEmitter();
_this._compClicked = false;
// when wrapper finished render
// when wrapper finished render
_this._componentHandler = function (result) {
var /** @type {?} */ comInstance = null;
if (result !== null && typeof result !== 'undefined') {
comInstance = result.instance;
}
if (_this.data !== null && typeof _this.data !== 'undefined' && comInstance !== null) {
if (typeof comInstance.setData === 'function') {
comInstance.setData(_this.data);
}
}
if (typeof comInstance.getBeforeClickEvent === 'function' && typeof comInstance.getClickEvent === 'function') {
// If the component has before/after click implemented, use them.
comInstance.getBeforeClickEvent().subscribe(function () {
_this._compClicked = true;
});
comInstance.getClickEvent().subscribe(function () {
if (_this.hideOnClick && _this.needFocusService) {
_this.hide();
}
});
}
else if (comInstance.elementRef && comInstance.elementRef.nativeElement) {
// Else, use jquery event.
var /** @type {?} */ comp = $(comInstance.elementRef.nativeElement);
comp.mousedown(function () {
_this._compClicked = true;
});
}
if (_this.componentHandler !== null && _this.componentHandler !== undefined) {
_this.componentHandler.call(_this, result);
}
_this.compoWrapInstance = comInstance;
};
if (window.history && window.history.pushState) {
$(window).on('popstate', function (event) {
_this.hide();
});
}
return _this;
}
/**
* @return {?}
*/
ComponentPopover.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
if (this.position === null || typeof this.position === 'undefined') {
this.position = LEFT;
}
if (this.autoFocus === null || typeof this.autoFocus === 'undefined') {
this.autoFocus = true;
}
if (this.hideOnClick === null || typeof this.hideOnClick === 'undefined') {
this.hideOnClick = false;
}
// this.render();
this.showPopover(this._show);
};
/**
* @param {?} changes
* @return {?}
*/
ComponentPopover.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes['position'] !== null && typeof changes['position'] !== 'undefined') {
var /** @type {?} */ oldVal = changes['position'].previousValue;
var /** @type {?} */ newVal = changes['position'].currentValue;
if (oldVal !== newVal) {
this.render();
}
}
};
/**
* @return {?}
*/
ComponentPopover.prototype.render = /**
* @return {?}
*/
function () {
// force show to save width and height before detach
$(this.elementRef.nativeElement).children().first().addClass('show');
this._popoverWidth = 0;
this._popoverHeight = 0;
var /** @type {?} */ popoverElement = $(this.elementRef.nativeElement);
if (popoverElement !== undefined) {
this._popoverWidth = popoverElement.children().first().outerWidth();
this._popoverHeight = popoverElement.children().first().outerHeight();
}
// remove dom and save them in RAM
this.nativeElement = $(this.elementRef.nativeElement).detach();
};
/**
* @param {?} isShow
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
ComponentPopover.prototype.showPopover = /**
* @param {?} isShow
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
function (isShow, $event, fireEvent) {
var _this = this;
if (fireEvent === null || fireEvent === undefined) {
fireEvent = true;
}
if (isShow) {
EventUtils.handleBrowserEvent(this, 'beforeShowEvent', $event, fireEvent, function ($event) {
// doEvent
// doEvent
_this._show = isShow;
$(_this.nativeElement).children().first().addClass('show');
// append dom
$("body").append(_this.nativeElement);
if (_this.needFocusService !== null) {
if (_this.autoFocus) {
_this.needFocusService.setFocusingComponent(_this);
}
}
}, function ($event) {
// emitBeforeEvent
// emitBeforeEvent
_this.emitBeforeShowEvent($event);
}, function ($event) {
// emitAfterEvent
// emitAfterEvent
_this.emitShowEvent($event);
}, function ($event) {
// doPrevented
});
}
else {
EventUtils.handleBrowserEvent(this, 'beforeHideEvent', $event, fireEvent, function ($event) {
// doEvent
// doEvent
_this._show = isShow;
$(_this.nativeElement).children().first().removeClass('show');
if (_this.needFocusService !== null) {
if (_this.autoFocus && _this.needFocusService.getFocusingComponent() === _this) {
_this.needFocusService.resetFocusingComponent();
}
}
}, function ($event) {
// emitBeforeEvent
// emitBeforeEvent
_this.emitBeforeHideEvent($event);
}, function ($event) {
// emitAfterEvent
// emitAfterEvent
_this.emitHideEvent($event);
}, function ($event) {
// doPrevented
});
}
};
/**
* @param {?=} $event
* @return {?}
*/
ComponentPopover.prototype.emitBeforeShowEvent = /**
* @param {?=} $event
* @return {?}
*/
function ($event) {
var /** @type {?} */ eventData = null;
// emit event
var /** @type {?} */ data = eventData;
var /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_SHOW_EVENT, this, data, $event);
if (this.beforeShowEvent !== null && this.beforeShowEvent !== undefined) {
this.beforeShowEvent.emit(ev);
}
};
/**
* @param {?=} $event
* @return {?}
*/
ComponentPopover.prototype.emitShowEvent = /**
* @param {?=} $event
* @return {?}
*/
function ($event) {
var /** @type {?} */ eventData = null;
// emit event
var /** @type {?} */ data = eventData;
var /** @type {?} */ ev = EventUtils.newCustomEvent(SHOW_EVENT, this, data, $event);
if (this.showEvent !== null && this.showEvent !== undefined) {
this.showEvent.emit(ev);
}
};
/**
* @param {?=} $event
* @return {?}
*/
ComponentPopover.prototype.emitBeforeHideEvent = /**
* @param {?=} $event
* @return {?}
*/
function ($event) {
var /** @type {?} */ eventData = null;
// emit event
var /** @type {?} */ data = eventData;
var /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_HIDE_EVENT, this, data, $event);
if (this.beforeHideEvent !== null && this.beforeHideEvent !== undefined) {
this.beforeHideEvent.emit(ev);
}
};
/**
* @param {?=} $event
* @return {?}
*/
ComponentPopover.prototype.emitHideEvent = /**
* @param {?=} $event
* @return {?}
*/
function ($event) {
var /** @type {?} */ eventData = null;
// emit event
var /** @type {?} */ data = eventData;
var /** @type {?} */ ev = EventUtils.newCustomEvent(HIDE_EVENT, this, data, $event);
if (this.hideEvent !== null && this.hideEvent !== undefined) {
this.hideEvent.emit(ev);
}
};
/**
* @param {?} $event
* @return {?}
*/
ComponentPopover.prototype._doFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
// do something when focus
};
/**
* @param {?} $event
* @return {?}
*/
ComponentPopover.prototype._doLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
var _this = this;
if (this.compoWrapInstance !== null && this.compoWrapInstance !== undefined) {
// If the component has click event, we've to wait for click event to be completely performed before hide.
if (typeof this.compoWrapInstance.getBeforeClickEvent === 'function' && typeof this.compoWrapInstance.getClickEvent === 'function') {
// The component has click event implemented. We'll use before/after click events.
setTimeout(function () {
if (!_this._compClicked) {
// Auto hide this popup if it wasn't blurred from component clicked.
// Auto hide this popup if it wasn't blurred from component clicked.
_this.hide();
}
else {
$(_this.nativeElement).find(".fake").focus();
_this._compClicked = false;
}
}, HIDE_ON_CLICK_DELAY);
}
else {
// If not, use jquery event.
setTimeout(function () {
if (!_this._compClicked) {
// Auto hide this popup if it wasn't blurred from component clicked.
// Auto hide this popup if it wasn't blurred from component clicked.
_this.hide();
}
else {
if (_this.hideOnClick) {
_this.hide();
}
else {
$(_this.nativeElement).find(".fake").focus();
}
_this._compClicked = false;
}
}, HIDE_ON_CLICK_DELAY);
}
}
else {
// Else, hide it immediately.
this.hide();
}
};
/**
* @param {?} event
* @return {?}
*/
ComponentPopover.prototype.onFocus = /**
* @param {?} event
* @return {?}
*/
function (event) {
$(this.nativeElement).find(".fake").focus();
};
/**
* @param {?} event
* @return {?}
*/
ComponentPopover.prototype.onLostFocus = /**
* @param {?} event
* @return {?}
*/
function (event) {
$(this.nativeElement).find(".fake").blur();
};
/**
* @return {?}
*/
ComponentPopover.prototype.isModelEmpty = /**
* @return {?}
*/
function () {
if (this.model === null || typeof this.model === 'undefined') {
return true;
}
return false;
};
/**
* @param {?} top
* @return {?}
*/
ComponentPopover.prototype.setArrowTop = /**
* @param {?} top
* @return {?}
*/
function (top) {
if (top === null || typeof top === 'undefined') {
return;
}
var /** @type {?} */ contWrapElement = $(this.nativeElement).find('.container-wrapper');
if (typeof contWrapElement !== 'undefined') {
if (typeof $(contWrapElement).find('.container-after') !== 'undefined') {
$(contWrapElement).find('.container-after').css("top", top);
}
if (typeof $(contWrapElement).find('.container-before') !== 'undefined') {
$(contWrapElement).find('.container-before').css("top", top - 1);
}
}
};
/**
* @param {?} left
* @return {?}
*/
ComponentPopover.prototype.setArrowLeft = /**
* @param {?} left
* @return {?}
*/
function (left) {
if (left === null || typeof left === 'undefined') {
return;
}
var /** @type {?} */ contWrapElement = $(this.nativeElement).find('.container-wrapper');
if (typeof contWrapElement !== 'undefined') {
if (typeof $(contWrapElement).find('.container-after') !== 'undefined') {
$(contWrapElement).find('.container-after').css("left", left);
}
if (typeof $(contWrapElement).find('.container-before') !== 'undefined') {
$(contWrapElement).find('.container-before').css("left", left - 1);
}
}
};
/**
* @return {?}
*/
ComponentPopover.prototype.getPosition = /**
* @return {?}
*/
function () {
if (this.position !== null && typeof this.position !== 'undefined') {
if (LEFT === this.position) {
return LEFT;
}
else if (RIGHT === this.position) {
return RIGHT;
}
else if (BOTTOM === this.position) {
return BOTTOM;
}
else if (TOP === this.position) {
return TOP;
}
}
// default is left
return LEFT;
};
/**
* @param {?} positionX
* @param {?} positionY
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
ComponentPopover.prototype.showAt = /**
* @param {?} positionX
* @param {?} positionY
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
function (positionX, positionY, $event, fireEvent) {
if (positionX == null && positionY == null) {
return;
}
if (positionX == null) {
positionX = 0;
}
if (positionY == null) {
positionY = 0;
}
$(this.nativeElement).children().first().css('top', positionX);
$(this.nativeElement).children().first().css('left', positionY);
this.showPopover(true, $event, fireEvent);
// let data: any = null;
// let ev = EventUtils.newCustomEvent(POPOVER_SHOW_EVENT, this, data, null);
//
// this.showEvent.emit(ev);
};
/**
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
ComponentPopover.prototype.show = /**
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
function ($event, fireEvent) {
var /** @type {?} */ byPassModel = false;
if (this.anchor !== null && typeof this.anchor !== 'undefined') {
var /** @type {?} */ anchorElement = $(this.anchor);
if (anchorElement !== null && typeof anchorElement !== 'undefined') {
var /** @type {?} */ top_1 = 0;
var /** @type {?} */ left = 0;
var /** @type {?} */ height = 0;
var /** @type {?} */ width = 0;
if (typeof anchorElement.offset() !== 'undefined') {
top_1 = anchorElement.offset().top;
left = anchorElement.offset().left;
height = anchorElement.outerHeight();
width = anchorElement.outerWidth();
}
var /** @type {?} */ halfHeight = height / 2;
var /** @type {?} */ finalTop = top_1;
var /** @type {?} */ finalLeft = left;
if (this.position === LEFT) {
// arrow right popover left
finalLeft = left - this._popoverWidth - this.ARROW_GAP - 10;
finalTop = top_1 - halfHeight;
}
else if (this.position === RIGHT) {
// arrow left popover right
finalLeft = left + width + this.ARROW_GAP + 10;
finalTop = top_1 - halfHeight;
}
else if (this.position === TOP) {
// arrow bottom popover top
finalLeft = finalLeft + 15;
finalTop = top_1 - this._popoverHeight - this.ARROW_GAP - 9;
}
else if (this.position === BOTTOM) {
// arrow top popover bottom
finalLeft = finalLeft + 15;
finalTop = top_1 + height + this.ARROW_GAP + 9.5;
}
$(this.nativeElement).children().first().css('top', finalTop);
$(this.nativeElement).children().first().css('left', finalLeft);
byPassModel = true;
}
}
if (this.model !== null && typeof this.model !== 'undefined' && !byPassModel) {
if (this.model.top != null) {
$(this.nativeElement).children().first().css('top', this.model.top);
}
if (this.model.left != null) {
$(this.nativeElement).children().first().css('left', this.model.left);
}
}
this.showPopover(true, $event, fireEvent);
};
/**
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
ComponentPopover.prototype.hide = /**
* @param {?=} $event
* @param {?=} fireEvent
* @return {?}
*/
function ($event, fireEvent) {
this.showPopover(false, $event, fireEvent);
};
/**
* @return {?}
*/
ComponentPopover.prototype.getData = /**
* @return {?}
*/
function () {
return this.data;
};
/**
* @param {?} data
* @return {?}
*/
ComponentPopover.prototype.setData = /**
* @param {?} data
* @return {?}
*/
function (data) {
this.data = data;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getModel = /**
* @return {?}
*/
function () {
return this.model;
};
/**
* @param {?} model
* @return {?}
*/
ComponentPopover.prototype.setModel = /**
* @param {?} model
* @return {?}
*/
function (model) {
this.model = model;
};
/**
* @return {?}
*/
ComponentPopover.prototype.isShow = /**
* @return {?}
*/
function () {
return this._show;
};
/**
* @return {?}
*/
ComponentPopover.prototype.isSelfDataDirty = /**
* @return {?}
*/
function () {
return false;
};
/**
* @param {?} data
* @return {?}
*/
ComponentPopover.prototype.selfSaveData = /**
* @param {?} data
* @return {?}
*/
function (data) {
};
/**
* @return {?}
*/
ComponentPopover.prototype.selfResetData = /**
* @return {?}
*/
function () {
};
/**
* @return {?}
*/
ComponentPopover.prototype.getShowEvent = /**
* @return {?}
*/
function () {
return this.showEvent;
};
/**
* @param {?} event
* @return {?}
*/
ComponentPopover.prototype.setShowEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.showEvent = event;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getHideEvent = /**
* @return {?}
*/
function () {
return this.hideEvent;
};
/**
* @param {?} event
* @return {?}
*/
ComponentPopover.prototype.setHideEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.hideEvent = event;
};
/**
* @param {?} autoFocus
* @return {?}
*/
ComponentPopover.prototype.setAutoFocus = /**
* @param {?} autoFocus
* @return {?}
*/
function (autoFocus) {
this.autoFocus = autoFocus;
};
/**
* @return {?}
*/
ComponentPopover.prototype.isAutoFocus = /**
* @return {?}
*/
function () {
return this.autoFocus;
};
/**
* @param {?} hideOnClick
* @return {?}
*/
ComponentPopover.prototype.setHideOnClick = /**
* @param {?} hideOnClick
* @return {?}
*/
function (hideOnClick) {
this.hideOnClick = hideOnClick;
};
/**
* @return {?}
*/
ComponentPopover.prototype.isHideOnClick = /**
* @return {?}
*/
function () {
return this.hideOnClick;
};
/**
* @param {?} componentHandler
* @return {?}
*/
ComponentPopover.prototype.setComponentHandler = /**
* @param {?} componentHandler
* @return {?}
*/
function (componentHandler) {
this.componentHandler = componentHandler;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getComponentHandler = /**
* @return {?}
*/
function () {
return this.componentHandler;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getI18NKey = /**
* @return {?}
*/
function () {
return "componentPopover";
};
/**
* @return {?}
*/
ComponentPopover.prototype.doPreload = /**
* @return {?}
*/
function () { return new Promise(function (resolve, reject) { resolve(null); }); };
/**
* @return {?}
*/
ComponentPopover.prototype.doLoaded = /**
* @return {?}
*/
function () {
};
/**
* @return {?}
*/
ComponentPopover.prototype.getPopoverWidth = /**
* @return {?}
*/
function () {
return this.model.popoverWidth;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getPopoverHeight = /**
* @return {?}
*/
function () {
return this.model.popoverHeight ? this.model.popoverHeight : this.MIN_HEIGHT + 'pt';
};
/**
* @return {?}
*/
ComponentPopover.prototype.isShowArrow = /**
* @return {?}
*/
function () {
return this.model.showArrow;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getComponentInstance = /**
* @return {?}
*/
function () {
return this.compoWrapInstance;
};
/**
* @return {?}
*/
ComponentPopover.prototype.getStyleClasses = /**
* @return {?}
*/
function () {
if (this.model !== null && this.model !== undefined) {
if (this.model.styleClasses !== null && this.model.styleClasses !== undefined) {
return this.model.styleClasses;
}
}
return [];
};
ComponentPopover.TYPE_NAME = TYPE_NAME;
ComponentPopover.LEFT = LEFT;
ComponentPopover.RIGHT = RIGHT;
ComponentPopover.TOP = TOP;
ComponentPopover.BOTTOM = BOTTOM;
ComponentPopover.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"phx-component-popover\" [ngClass]=\"getStyleClasses()\" [style.width]=\"getPopoverWidth()\" [style.height]=\"getPopoverHeight()\" [class.show]=\"isShow()\" [class.left]=\"getPosition() === 'left'\" [class.right]=\"getPosition() === 'right'\"\n\t[class.top]=\"getPosition() === 'top'\" [class.bottom]=\"getPosition() === 'bottom'\">\n\t<div class=\"container-wrapper\" [style.width]=\"getPopoverWidth()\" [style.height]=\"getPopoverHeight()\">\n\t\t<div class=\"container\">\n\t\t\t<phx-component-wrapper *ngIf=\"!isModelEmpty()\" [type]=\"getModel().type\" [data]=\"getData()\" [handler]=\"_componentHandler\" [dataParent]=\"this\" [model]=\"getModel().model\"></phx-component-wrapper>\n\t\t</div>\n\t\t<div *ngIf=\"isShowArrow()\" class=\"container-before\"></div>\n\t\t<div *ngIf=\"isShowArrow()\" class=\"container-after\"></div>\n\t</div>\n\t<button type=\"button\" class=\"fake\" (focusin)=\"_doFocus($event)\" (blur)=\"_doLostFocus($event)\"></button>\n</div>\n"
},] },
];
/** @nocollapse */
ComponentPopover.ctorParameters = function () { return [
{ type: ElementRef, },
{ type: NeedFocusService, },
]; };
ComponentPopover.propDecorators = {
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
"styleClasses": [{ type: Input },],
"model": [{ type: Input },],
"position": [{ type: Input },],
"anchor": [{ type: Input },],
"autoFocus": [{ type: Input },],
"hideOnClick": [{ type: Input },],
"componentHandler": [{ type: Input },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"beforeShowEvent": [{ type: Output, args: ['phxBeforeShow',] },],
"showEvent": [{ type: Output, args: ['phxShow',] },],
"beforeHideEvent": [{ type: Output, args: ['phxBeforeHide',] },],
"hideEvent": [{ type: Output, args: ['phxHide',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], ComponentPopover.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], ComponentPopover.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], ComponentPopover.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], ComponentPopover.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ComponentPopover.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Array)
], ComponentPopover.prototype, "styleClasses", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", ComponentPopoverModel)
], ComponentPopover.prototype, "model", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ComponentPopover.prototype, "position", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ComponentPopover.prototype, "anchor", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "autoFocus", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ComponentPopover.prototype, "hideOnClick", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], ComponentPopover.prototype, "componentHandler", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], ComponentPopover.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('beforeShow'),
tslib_1.__metadata("design:type", EventEmitter)
], ComponentPopover.prototype, "beforeShowEvent", void 0);
tslib_1.__decorate([
Option('show'),
tslib_1.__metadata("design:type", EventEmitter)
], ComponentPopover.prototype, "showEvent", void 0);
tslib_1.__decorate([
Option('beforeHide'),
tslib_1.__metadata("design:type", EventEmitter)
], ComponentPopover.prototype, "beforeHideEvent", void 0);
tslib_1.__decorate([
Option('hide'),
tslib_1.__metadata("design:type", EventEmitter)
], ComponentPopover.prototype, "hideEvent", void 0);
return ComponentPopover;
}(AbstractHasData));
export { ComponentPopover };
function ComponentPopover_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ComponentPopover.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ComponentPopover.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ComponentPopover.propDecorators;
/** @type {?} */
ComponentPopover.TYPE_NAME;
/** @type {?} */
ComponentPopover.LEFT;
/** @type {?} */
ComponentPopover.RIGHT;
/** @type {?} */
ComponentPopover.TOP;
/** @type {?} */
ComponentPopover.BOTTOM;
/** @type {?} */
ComponentPopover.prototype.dataParent;
/** @type {?} */
ComponentPopover.prototype.ignoreParentData;
/** @type {?} */
ComponentPopover.prototype.data;
/** @type {?} */
ComponentPopover.prototype.ignoreParentDisabled;
/** @type {?} */
ComponentPopover.prototype.delegateHistory;
/** @type {?} */
ComponentPopover.prototype.onDisabled;
/** @type {?} */
ComponentPopover.prototype.onEnabled;
/** @type {?} */
ComponentPopover.prototype.loadingEnabled;
/** @type {?} */
ComponentPopover.prototype.i18nKey;
/** @type {?} */
ComponentPopover.prototype.bypass;
/** @type {?} */
ComponentPopover.prototype.options;
/** @type {?} */
ComponentPopover.prototype.disabled;
/** @type {?} */
ComponentPopover.prototype.styleClasses;
/** @type {?} */
ComponentPopover.prototype.model;
/** @type {?} */
ComponentPopover.prototype.position;
/** @type {?} */
ComponentPopover.prototype.anchor;
/** @type {?} */
ComponentPopover.prototype.autoFocus;
/** @type {?} */
ComponentPopover.prototype.hideOnClick;
/** @type {?} */
ComponentPopover.prototype.componentHandler;
/** @type {?} */
ComponentPopover.prototype.ARROW_GAP;
/** @type {?} */
ComponentPopover.prototype.MIN_HEIGHT;
/** @type {?} */
ComponentPopover.prototype.loadEvent;
/** @type {?} */
ComponentPopover.prototype.beforeShowEvent;
/** @type {?} */
ComponentPopover.prototype.showEvent;
/** @type {?} */
ComponentPopover.prototype.beforeHideEvent;
/** @type {?} */
ComponentPopover.prototype.hideEvent;
/** @type {?} */
ComponentPopover.prototype._show;
/** @type {?} */
ComponentPopover.prototype.defaultArrowTop;
/** @type {?} */
ComponentPopover.prototype.compoWrapInstance;
/** @type {?} */
ComponentPopover.prototype.needFocusService;
/** @type {?} */
ComponentPopover.prototype.nativeElement;
/** @type {?} */
ComponentPopover.prototype._popoverWidth;
/** @type {?} */
ComponentPopover.prototype._popoverHeight;
/** @type {?} */
ComponentPopover.prototype._compClicked;
/** @type {?} */
ComponentPopover.prototype._componentHandler;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50UG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvQ29tcG9uZW50UG9wb3Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFzQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl4RyxxQkFBTSxtQkFBbUIsR0FBVyxHQUFHLENBQUM7QUFDeEMscUJBQU0sU0FBUyxHQUFXLHVCQUF1QixDQUFDO0FBRWxELHFCQUFNLElBQUksR0FBVyxNQUFNLENBQUM7QUFDNUIscUJBQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQztBQUM5QixxQkFBTSxHQUFHLEdBQVcsS0FBSyxDQUFDO0FBQzFCLHFCQUFNLE1BQU0sR0FBVyxRQUFRLENBQUM7O0lBb0JNLDRDQUFlO0lBd0duRCwwQkFBWSxVQUFzQixFQUFFLGdCQUFrQztRQUF0RSxZQUNFLGtCQUFNLFVBQVUsQ0FBQyxTQXVEbEI7MEJBeEYyQixDQUFDOzJCQUNBLEVBQUU7UUFpQzdCLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxLQUFJLENB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