@hxui/angular
Version:
* * *
198 lines • 11.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/**
* @record
* @template T
*/
export function ComponentType() { }
/**
* A `ComponentPortal` is a portal that instantiates some Component upon attachment.
* @template T
*/
var /**
* A `ComponentPortal` is a portal that instantiates some Component upon attachment.
* @template T
*/
ComponentPortal = /** @class */ (function () {
function ComponentPortal(component, injector) {
this.component = component;
this.injector = injector;
}
/** Attach this portal to a host. */
/**
* Attach this portal to a host.
* @param {?} host
* @param {?} newestOnTop
* @return {?}
*/
ComponentPortal.prototype.attach = /**
* Attach this portal to a host.
* @param {?} host
* @param {?} newestOnTop
* @return {?}
*/
function (host, newestOnTop) {
this._attachedHost = host;
return host.attach(this, newestOnTop);
};
/** Detach this portal from its host */
/**
* Detach this portal from its host
* @return {?}
*/
ComponentPortal.prototype.detach = /**
* Detach this portal from its host
* @return {?}
*/
function () {
/** @type {?} */
var host = this._attachedHost;
if (host) {
this._attachedHost = undefined;
return host.detach();
}
};
Object.defineProperty(ComponentPortal.prototype, "isAttached", {
/** Whether this portal is attached to a host. */
get: /**
* Whether this portal is attached to a host.
* @return {?}
*/
function () {
return this._attachedHost != null;
},
enumerable: true,
configurable: true
});
/**
* Sets the PortalHost reference without performing `attach()`. This is used directly by
* the PortalHost when it is performing an `attach()` or `detach()`.
*/
/**
* Sets the PortalHost reference without performing `attach()`. This is used directly by
* the PortalHost when it is performing an `attach()` or `detach()`.
* @param {?=} host
* @return {?}
*/
ComponentPortal.prototype.setAttachedHost = /**
* Sets the PortalHost reference without performing `attach()`. This is used directly by
* the PortalHost when it is performing an `attach()` or `detach()`.
* @param {?=} host
* @return {?}
*/
function (host) {
this._attachedHost = host;
};
return ComponentPortal;
}());
/**
* A `ComponentPortal` is a portal that instantiates some Component upon attachment.
* @template T
*/
export { ComponentPortal };
if (false) {
/** @type {?} */
ComponentPortal.prototype._attachedHost;
/**
* The type of the component that will be instantiated for attachment.
* @type {?}
*/
ComponentPortal.prototype.component;
/**
* [Optional] Where the attached component should live in Angular's *logical* component tree.
* This is different from where the component *renders*, which is determined by the PortalHost.
* The origin necessary when the host is outside of the Angular application context.
* @type {?}
*/
ComponentPortal.prototype.viewContainerRef;
/**
* Injector used for the instantiation of the component.
* @type {?}
*/
ComponentPortal.prototype.injector;
}
/**
* Partial implementation of PortalHost that only deals with attaching a
* ComponentPortal
* @abstract
*/
var /**
* Partial implementation of PortalHost that only deals with attaching a
* ComponentPortal
* @abstract
*/
BasePortalHost = /** @class */ (function () {
function BasePortalHost() {
}
/**
* @param {?} portal
* @param {?} newestOnTop
* @return {?}
*/
BasePortalHost.prototype.attach = /**
* @param {?} portal
* @param {?} newestOnTop
* @return {?}
*/
function (portal, newestOnTop) {
this._attachedPortal = portal;
return this.attachComponentPortal(portal, newestOnTop);
};
/**
* @return {?}
*/
BasePortalHost.prototype.detach = /**
* @return {?}
*/
function () {
if (this._attachedPortal) {
this._attachedPortal.setAttachedHost();
}
this._attachedPortal = undefined;
if (this._disposeFn) {
this._disposeFn();
this._disposeFn = undefined;
}
};
/**
* @param {?} fn
* @return {?}
*/
BasePortalHost.prototype.setDisposeFn = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this._disposeFn = fn;
};
return BasePortalHost;
}());
/**
* Partial implementation of PortalHost that only deals with attaching a
* ComponentPortal
* @abstract
*/
export { BasePortalHost };
if (false) {
/**
* The portal currently attached to the host.
* @type {?}
*/
BasePortalHost.prototype._attachedPortal;
/**
* A function that will permanently dispose this host.
* @type {?}
*/
BasePortalHost.prototype._disposeFn;
/**
* @abstract
* @template T
* @param {?} portal
* @param {?} newestOnTop
* @return {?}
*/
BasePortalHost.prototype.attachComponentPortal = function (portal, newestOnTop) { };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi90b2FzdHIvcG9ydGFsL3BvcnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQU1BLG1DQUVDOzs7OztBQU1EOzs7OztJQWVFLHlCQUFZLFNBQTJCLEVBQUUsUUFBa0I7UUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELG9DQUFvQzs7Ozs7OztJQUNwQyxnQ0FBTTs7Ozs7O0lBQU4sVUFBTyxJQUFvQixFQUFFLFdBQW9CO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVDQUF1Qzs7Ozs7SUFDdkMsZ0NBQU07Ozs7SUFBTjs7WUFDUSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWE7UUFDL0IsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFHRCxzQkFBSSx1Q0FBVTtRQURkLGlEQUFpRDs7Ozs7UUFDakQ7WUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ3BDLENBQUM7OztPQUFBO0lBRUQ7OztPQUdHOzs7Ozs7O0lBQ0gseUNBQWU7Ozs7OztJQUFmLFVBQWdCLElBQXFCO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUEvQ0QsSUErQ0M7Ozs7Ozs7O0lBOUNDLHdDQUF1Qzs7Ozs7SUFFdkMsb0NBQTRCOzs7Ozs7O0lBTzVCLDJDQUFtQzs7Ozs7SUFHbkMsbUNBQW1COzs7Ozs7O0FBd0NyQjs7Ozs7O0lBQUE7SUE2QkEsQ0FBQzs7Ozs7O0lBdEJDLCtCQUFNOzs7OztJQUFOLFVBQU8sTUFBNEIsRUFBRSxXQUFvQjtRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7OztJQUlELCtCQUFNOzs7SUFBTjtRQUNFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7Ozs7O0lBRUQscUNBQVk7Ozs7SUFBWixVQUFhLEVBQWM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQTdCRCxJQTZCQzs7Ozs7Ozs7Ozs7O0lBM0JDLHlDQUErQzs7Ozs7SUFHL0Msb0NBQWdDOzs7Ozs7OztJQU9oQyxvRkFBcUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudFJlZixcclxuICBJbmplY3RvcixcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFR5cGU8VD4ge1xyXG4gIG5ldyAoLi4uYXJnczogYW55W10pOiBUO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgYENvbXBvbmVudFBvcnRhbGAgaXMgYSBwb3J0YWwgdGhhdCBpbnN0YW50aWF0ZXMgc29tZSBDb21wb25lbnQgdXBvbiBhdHRhY2htZW50LlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudFBvcnRhbDxUPiB7XHJcbiAgcHJpdmF0ZSBfYXR0YWNoZWRIb3N0PzogQmFzZVBvcnRhbEhvc3Q7XHJcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBjb21wb25lbnQgdGhhdCB3aWxsIGJlIGluc3RhbnRpYXRlZCBmb3IgYXR0YWNobWVudC4gKi9cclxuICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFtPcHRpb25hbF0gV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlxyXG4gICAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gd2hlcmUgdGhlIGNvbXBvbmVudCAqcmVuZGVycyosIHdoaWNoIGlzIGRldGVybWluZWQgYnkgdGhlIFBvcnRhbEhvc3QuXHJcbiAgICogVGhlIG9yaWdpbiBuZWNlc3Nhcnkgd2hlbiB0aGUgaG9zdCBpcyBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIGFwcGxpY2F0aW9uIGNvbnRleHQuXHJcbiAgICovXHJcbiAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgLyoqIEluamVjdG9yIHVzZWQgZm9yIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBjb21wb25lbnQuICovXHJcbiAgaW5qZWN0b3I6IEluamVjdG9yO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmluamVjdG9yID0gaW5qZWN0b3I7XHJcbiAgfVxyXG5cclxuICAvKiogQXR0YWNoIHRoaXMgcG9ydGFsIHRvIGEgaG9zdC4gKi9cclxuICBhdHRhY2goaG9zdDogQmFzZVBvcnRhbEhvc3QsIG5ld2VzdE9uVG9wOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9hdHRhY2hlZEhvc3QgPSBob3N0O1xyXG4gICAgcmV0dXJuIGhvc3QuYXR0YWNoKHRoaXMsIG5ld2VzdE9uVG9wKTtcclxuICB9XHJcblxyXG4gIC8qKiBEZXRhY2ggdGhpcyBwb3J0YWwgZnJvbSBpdHMgaG9zdCAqL1xyXG4gIGRldGFjaCgpIHtcclxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLl9hdHRhY2hlZEhvc3Q7XHJcbiAgICBpZiAoaG9zdCkge1xyXG4gICAgICB0aGlzLl9hdHRhY2hlZEhvc3QgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybiBob3N0LmRldGFjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhpcyBwb3J0YWwgaXMgYXR0YWNoZWQgdG8gYSBob3N0LiAqL1xyXG4gIGdldCBpc0F0dGFjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F0dGFjaGVkSG9zdCAhPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgUG9ydGFsSG9zdCByZWZlcmVuY2Ugd2l0aG91dCBwZXJmb3JtaW5nIGBhdHRhY2goKWAuIFRoaXMgaXMgdXNlZCBkaXJlY3RseSBieVxyXG4gICAqIHRoZSBQb3J0YWxIb3N0IHdoZW4gaXQgaXMgcGVyZm9ybWluZyBhbiBgYXR0YWNoKClgIG9yIGBkZXRhY2goKWAuXHJcbiAgICovXHJcbiAgc2V0QXR0YWNoZWRIb3N0KGhvc3Q/OiBCYXNlUG9ydGFsSG9zdCkge1xyXG4gICAgdGhpcy5fYXR0YWNoZWRIb3N0ID0gaG9zdDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIFBvcnRhbEhvc3QgdGhhdCBvbmx5IGRlYWxzIHdpdGggYXR0YWNoaW5nIGFcclxuICogQ29tcG9uZW50UG9ydGFsXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVBvcnRhbEhvc3Qge1xyXG4gIC8qKiBUaGUgcG9ydGFsIGN1cnJlbnRseSBhdHRhY2hlZCB0byB0aGUgaG9zdC4gKi9cclxuICBwcml2YXRlIF9hdHRhY2hlZFBvcnRhbD86IENvbXBvbmVudFBvcnRhbDxhbnk+O1xyXG5cclxuICAvKiogQSBmdW5jdGlvbiB0aGF0IHdpbGwgcGVybWFuZW50bHkgZGlzcG9zZSB0aGlzIGhvc3QuICovXHJcbiAgcHJpdmF0ZSBfZGlzcG9zZUZuPzogKCkgPT4gdm9pZDtcclxuXHJcbiAgYXR0YWNoKHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT4sIG5ld2VzdE9uVG9wOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9hdHRhY2hlZFBvcnRhbCA9IHBvcnRhbDtcclxuICAgIHJldHVybiB0aGlzLmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwsIG5ld2VzdE9uVG9wKTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPiwgbmV3ZXN0T25Ub3A6IGJvb2xlYW4pOiBDb21wb25lbnRSZWY8VD47XHJcblxyXG4gIGRldGFjaCgpIHtcclxuICAgIGlmICh0aGlzLl9hdHRhY2hlZFBvcnRhbCkge1xyXG4gICAgICB0aGlzLl9hdHRhY2hlZFBvcnRhbC5zZXRBdHRhY2hlZEhvc3QoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hdHRhY2hlZFBvcnRhbCA9IHVuZGVmaW5lZDtcclxuICAgIGlmICh0aGlzLl9kaXNwb3NlRm4pIHtcclxuICAgICAgdGhpcy5fZGlzcG9zZUZuKCk7XHJcbiAgICAgIHRoaXMuX2Rpc3Bvc2VGbiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpc3Bvc2VGbihmbjogKCkgPT4gdm9pZCkge1xyXG4gICAgdGhpcy5fZGlzcG9zZUZuID0gZm47XHJcbiAgfVxyXG59XHJcbiJdfQ==