UNPKG

@fivethree/core

Version:
194 lines 13.4 kB
/** * @fileoverview added by tsickle * Generated from: lib/collapsable-menu/collapsable-menu.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Platform, IonMenu, IonSplitPane } from '@ionic/angular'; import { Directive, HostBinding, Input, HostListener, Host, Optional } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { map } from 'rxjs/operators'; var FivCollapsableMenu = /** @class */ (function () { function FivCollapsableMenu(sanitizer, menu, split, platform) { var _this = this; this.sanitizer = sanitizer; this.menu = menu; this.split = split; this.platform = platform; this.collapsed = false; this.hovering = false; this.splitVisible = false; this.hoverMenu = true; this.width = 64; this.minWidth = 270; this.maxWidth = this.platform.width() * 0.28; this.split.ionSplitPaneVisible .pipe(map((/** * @param {?} event * @return {?} */ function (event) { return event.detail.visible; }))) .subscribe((/** * @param {?} visible * @return {?} */ function (visible) { return (_this.splitVisible = visible); })); } Object.defineProperty(FivCollapsableMenu.prototype, "myStyle", { get: /** * @return {?} */ function () { if (this.collapsed && this.splitVisible) { return (this.sanitizer // tslint:disable-next-line:max-line-length .bypassSecurityTrustStyle("min-width: " + this.width + "px; max-width: " + this.width + "px; --border: 0; transition: all cubic-bezier(.55,0,.1,1) 200ms;")); } else { if (!this.splitVisible) { return (this.sanitizer // tslint:disable-next-line:max-line-length .bypassSecurityTrustStyle("--border: 0; transition: all cubic-bezier(.55,0,.1,1) 200ms;")); } else { return (this.sanitizer // tslint:disable-next-line:max-line-length .bypassSecurityTrustStyle("min-width: " + this.minWidth + "px; max-width: " + this.maxWidth + "px; --border: 0; transition: all cubic-bezier(.55,0,.1,1) 200ms;")); } } }, enumerable: true, configurable: true }); /** * @return {?} */ FivCollapsableMenu.prototype.hover = /** * @return {?} */ function () { if (this.collapsed && !this.hovering && this.hoverMenu) { this.open(); this.hovering = true; } }; /** * @return {?} */ FivCollapsableMenu.prototype.blur = /** * @return {?} */ function () { if (!this.hoverMenu) { return; } if (!this.collapsed && this.hovering) { this.close(); } this.hovering = false; }; Object.defineProperty(FivCollapsableMenu.prototype, "fivCollapseMenu", { set: /** * @param {?} collapse * @return {?} */ function (collapse) { this.collapsed = collapse; }, enumerable: true, configurable: true }); /** * @return {?} */ FivCollapsableMenu.prototype.toggleMenu = /** * @return {?} */ function () { if (this.hovering) { this.open(); this.hovering = false; return; } this.collapsed = !this.collapsed; }; /** * @return {?} */ FivCollapsableMenu.prototype.open = /** * @return {?} */ function () { this.collapsed = false; }; /** * @return {?} */ FivCollapsableMenu.prototype.close = /** * @return {?} */ function () { this.collapsed = true; }; FivCollapsableMenu.decorators = [ { type: Directive, args: [{ selector: '[fivCollapseMenu]', exportAs: 'menuCollapse' },] } ]; /** @nocollapse */ FivCollapsableMenu.ctorParameters = function () { return [ { type: DomSanitizer }, { type: IonMenu, decorators: [{ type: Host }] }, { type: IonSplitPane, decorators: [{ type: Host }, { type: Optional }] }, { type: Platform } ]; }; FivCollapsableMenu.propDecorators = { hoverMenu: [{ type: Input }], width: [{ type: Input }], minWidth: [{ type: Input }], maxWidth: [{ type: Input }], myStyle: [{ type: HostBinding, args: ['style',] }], hover: [{ type: HostListener, args: ['mouseenter',] }], blur: [{ type: HostListener, args: ['mouseleave',] }], fivCollapseMenu: [{ type: Input }] }; return FivCollapsableMenu; }()); export { FivCollapsableMenu }; if (false) { /** @type {?} */ FivCollapsableMenu.prototype.collapsed; /** @type {?} */ FivCollapsableMenu.prototype.hovering; /** @type {?} */ FivCollapsableMenu.prototype.splitVisible; /** @type {?} */ FivCollapsableMenu.prototype.hoverMenu; /** @type {?} */ FivCollapsableMenu.prototype.width; /** @type {?} */ FivCollapsableMenu.prototype.minWidth; /** @type {?} */ FivCollapsableMenu.prototype.maxWidth; /** * @type {?} * @private */ FivCollapsableMenu.prototype.sanitizer; /** * @type {?} * @private */ FivCollapsableMenu.prototype.menu; /** * @type {?} * @private */ FivCollapsableMenu.prototype.split; /** * @type {?} * @private */ FivCollapsableMenu.prototype.platform; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2FibGUtbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZml2ZXRocmVlL2NvcmUvIiwic291cmNlcyI6WyJsaWIvY29sbGFwc2FibGUtbWVudS9jb2xsYXBzYWJsZS1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxZQUFZLEVBQ1osSUFBSSxFQUNKLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWEsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFPLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDO0lBYUUsNEJBQ1UsU0FBdUIsRUFDZixJQUFhLEVBQ0QsS0FBbUIsRUFDdkMsUUFBa0I7UUFKNUIsaUJBU0M7UUFSUyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNELFVBQUssR0FBTCxLQUFLLENBQWM7UUFDdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVo1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDWixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBUS9DLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CO2FBQzNCLElBQUksQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsTUFB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QWtCOztJQUNsQixzQ0FBaUI7O0lBQ2pCLDBDQUFxQjs7SUFDckIsdUNBQTBCOztJQUMxQixtQ0FBb0I7O0lBQ3BCLHNDQUF3Qjs7SUFDeEIsc0NBQWlEOzs7OztJQUcvQyx1Q0FBK0I7Ozs7O0lBQy9CLGtDQUE2Qjs7Ozs7SUFDN0IsbUNBQStDOzs7OztJQUMvQyxzQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSwgSW9uTWVudSwgSW9uU3BsaXRQYW5lIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSG9zdCxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlU3R5bGUsIERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmaXZDb2xsYXBzZU1lbnVdJyxcbiAgZXhwb3J0QXM6ICdtZW51Q29sbGFwc2UnXG59KVxuZXhwb3J0IGNsYXNzIEZpdkNvbGxhcHNhYmxlTWVudSB7XG4gIGNvbGxhcHNlZCA9IGZhbHNlO1xuICBob3ZlcmluZyA9IGZhbHNlO1xuICBzcGxpdFZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KCkgaG92ZXJNZW51ID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGggPSA2NDtcbiAgQElucHV0KCkgbWluV2lkdGggPSAyNzA7XG4gIEBJbnB1dCgpIG1heFdpZHRoID0gdGhpcy5wbGF0Zm9ybS53aWR0aCgpICogMC4yODtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIEBIb3N0KCkgcHJpdmF0ZSBtZW51OiBJb25NZW51LFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzcGxpdDogSW9uU3BsaXRQYW5lLFxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtXG4gICkge1xuICAgIHRoaXMuc3BsaXQuaW9uU3BsaXRQYW5lVmlzaWJsZVxuICAgICAgLnBpcGUobWFwKGV2ZW50ID0+IGV2ZW50LmRldGFpbC52aXNpYmxlKSlcbiAgICAgIC5zdWJzY3JpYmUodmlzaWJsZSA9PiAodGhpcy5zcGxpdFZpc2libGUgPSB2aXNpYmxlKSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJylcbiAgZ2V0IG15U3R5bGUoKTogU2FmZVN0eWxlIHtcbiAgICBpZiAodGhpcy5jb2xsYXBzZWQgJiYgdGhpcy5zcGxpdFZpc2libGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2FuaXRpemVyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgICAgIC5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgICBgbWluLXdpZHRoOiAke3RoaXMud2lkdGh9cHg7IG1heC13aWR0aDogJHt0aGlzLndpZHRofXB4OyAtLWJvcmRlcjogMDsgdHJhbnNpdGlvbjogYWxsIGN1YmljLWJlemllciguNTUsMCwuMSwxKSAyMDBtcztgXG4gICAgICAgICAgKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNwbGl0VmlzaWJsZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuc2FuaXRpemVyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgICAgICAuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAgICAgICBgLS1ib3JkZXI6IDA7IHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoLjU1LDAsLjEsMSkgMjAwbXM7YFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLnNhbml0aXplclxuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgICAgICAgLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShcbiAgICAgICAgICAgICAgYG1pbi13aWR0aDogJHt0aGlzLm1pbldpZHRofXB4OyBtYXgtd2lkdGg6ICR7dGhpcy5tYXhXaWR0aH1weDsgLS1ib3JkZXI6IDA7IHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoLjU1LDAsLjEsMSkgMjAwbXM7YFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBob3ZlcigpIHtcbiAgICBpZiAodGhpcy5jb2xsYXBzZWQgJiYgIXRoaXMuaG92ZXJpbmcgJiYgdGhpcy5ob3Zlck1lbnUpIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgICAgdGhpcy5ob3ZlcmluZyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIGJsdXIoKSB7XG4gICAgaWYgKCF0aGlzLmhvdmVyTWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29sbGFwc2VkICYmIHRoaXMuaG92ZXJpbmcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5ob3ZlcmluZyA9IGZhbHNlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGZpdkNvbGxhcHNlTWVudShjb2xsYXBzZTogYm9vbGVhbikge1xuICAgIHRoaXMuY29sbGFwc2VkID0gY29sbGFwc2U7XG4gIH1cblxuICB0b2dnbGVNZW51KCkge1xuICAgIGlmICh0aGlzLmhvdmVyaW5nKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIHRoaXMuaG92ZXJpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==