UNPKG

@fivethree/core

Version:
235 lines 16.6 kB
/** * @fileoverview added by tsickle * Generated from: lib/router-item/router-item.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { FivIcon } from './../icon/icon.component'; import { FivExpandable } from './../expandable/expandable.component'; import { Component, Input, HostBinding, HostListener, Optional, Host, ViewChild } from '@angular/core'; import { Router, NavigationEnd } from '@angular/router'; import { filter } from 'rxjs/operators'; var FivRouterItem = /** @class */ (function () { function FivRouterItem(router, host) { this.router = router; this.host = host; this.active = false; this.detailIcon = 'chevron-forward'; this.disabled = false; this.matchChildUrl = false; this.navigate = true; /** * The position of the active state. * Default value is: `"left"` */ this.position = 'left'; /** * The shape of the active state. * Possible values are: `"line"`, `"dot"` and `"rounded"`. * Default value is: `"line"` */ this.shape = 'line'; } /** * @return {?} */ FivRouterItem.prototype.onclick = /** * @return {?} */ function () { if (this.navigate && this.pageUrl) { this.router.navigateByUrl(this.pageUrl); } }; Object.defineProperty(FivRouterItem.prototype, "classes", { get: /** * @return {?} */ function () { return this.position + " " + this.shape; }, enumerable: true, configurable: true }); Object.defineProperty(FivRouterItem.prototype, "activeClass", { get: /** * @return {?} */ function () { return this.matchActiveUrl() || this.active; }, enumerable: true, configurable: true }); Object.defineProperty(FivRouterItem.prototype, "disabledClass", { get: /** * @return {?} */ function () { return this.disabled; }, enumerable: true, configurable: true }); /** * @return {?} */ FivRouterItem.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @return {?} */ FivRouterItem.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; this.router.events .pipe(filter((/** * @param {?} event * @return {?} */ function (event) { return event instanceof NavigationEnd; })), filter((/** * @param {?} event * @return {?} */ function (event) { return event.url === _this.pageUrl; }))) .subscribe((/** * @return {?} */ function () { return _this.openExpandableHost(); })); }; /** * @return {?} */ FivRouterItem.prototype.openExpandableHost = /** * @return {?} */ function () { /** @type {?} */ var isActive = this.matchActiveUrl() || this.active; if (isActive) { if (this.host && !this.host.isOpen) { this.host.open(); } } }; /** * @return {?} */ FivRouterItem.prototype.getClasses = /** * @return {?} */ function () { return [this.position, this.shape]; }; /** * @return {?} */ FivRouterItem.prototype.matchActiveUrl = /** * @return {?} */ function () { return this.matchChildUrl ? this.isChildUrl() : this.isCurrentUrl(); }; /** * @return {?} */ FivRouterItem.prototype.isCurrentUrl = /** * @return {?} */ function () { return this.router.url === this.pageUrl; }; /** * @return {?} */ FivRouterItem.prototype.isChildUrl = /** * @return {?} */ function () { return this.router.url.startsWith(this.pageUrl); }; FivRouterItem.decorators = [ { type: Component, args: [{ selector: 'fiv-router-item', template: "<ion-menu-toggle auto-hide=\"false\">\n <ion-item class=\"ion-activatable\" [color]=\"color\" [detail]=\"detail\" [detailIcon]=\"detailIcon\" [disabled]=\"disabled\"\n [lines]=\"lines\">\n <fiv-icon #fivIcon *ngIf=\"icon\" [name]=\"icon\"></fiv-icon>\n <ion-label>{{text}}</ion-label>\n <ion-ripple-effect type=\"bounded\"></ion-ripple-effect>\n </ion-item>\n</ion-menu-toggle>\n<span [ngClass]=\"getClasses()\" class=\"indicator\"></span>", styles: [":host{display:block;position:relative;width:100%}:host(.active){--color-active:var(--ion-color-primary)}:host(.active) ion-item{--color:var(--color-active);--background:var(--fiv-background, var(--ion-color-light))}:host(.line){--width-line:4px;--background-line:var(--ion-color-primary)}:host(.active) .line{display:block;background:var(--background-line)}:host.active.left .line{width:var(--width-line);height:100%;top:0}:host.active.right .line{width:var(--width-line);height:100%;top:0}.indicator{position:absolute}:host.active .dot{display:block}:host.active.dot.left{padding-left:24px}.dot{width:var(--fiv-dot-width,8px);height:var(--fiv-dot-heigt,8px);background-color:var(--fiv-dot-color,var(--ion-color-primary));top:50%;border-radius:100%;transform:translateY(-50%);right:8px;display:none}.dot.left{left:8px;right:unset}.dot.right{right:8px}:host(.rounded.left){--border-radius-rounded-left:0 50px 50px 0}:host(.rounded.left) ion-item{--border-radius:var(--border-radius-rounded-left);--background:var(--fiv-background)}:host(.rounded.right){--border-radius-rounded-right:50px 0 0 50px}:host(.rounded.right) ion-item{--border-radius:var(--border-radius-rounded-right);--background:var(--fiv-background)}:host(.active.rounded){--background-rounded:var(--ion-color-primary-rgb);--opacity-rounded:0.25}:host(.active.rounded) ion-item{--background:rgba(var(--background-rounded), var(--opacity-rounded))}@media (any-hover:hover){:host(:hover){cursor:pointer}:host(:hover) ion-label{--color:var(--ion-color-primary)}:host(.dot:hover) ion-item,:host(.line:hover) ion-item,:host(.rounded:hover) ion-item{--background:var(--fiv-background-hover, var(--ion-color-light))}}.left{left:0}.right{right:0}ion-item{--border-style:none}fiv-icon{--fiv-padding-end:8px}:host(.router-item-disabled){pointer-events:none}"] }] } ]; /** @nocollapse */ FivRouterItem.ctorParameters = function () { return [ { type: Router }, { type: FivExpandable, decorators: [{ type: Optional }, { type: Host }] } ]; }; FivRouterItem.propDecorators = { fivIcon: [{ type: ViewChild, args: ['fivIcon', { static: false },] }], active: [{ type: Input }], color: [{ type: Input }], detail: [{ type: Input }], detailIcon: [{ type: Input }], disabled: [{ type: Input }], icon: [{ type: Input }], lines: [{ type: Input }], matchChildUrl: [{ type: Input }], navigate: [{ type: Input }], pageUrl: [{ type: Input }], position: [{ type: Input }], shape: [{ type: Input }], text: [{ type: Input }], onclick: [{ type: HostListener, args: ['click',] }], classes: [{ type: HostBinding, args: ['class',] }], activeClass: [{ type: HostBinding, args: ['class.active',] }], disabledClass: [{ type: HostBinding, args: ['class.router-item-disabled',] }] }; return FivRouterItem; }()); export { FivRouterItem }; if (false) { /** @type {?} */ FivRouterItem.prototype.fivIcon; /** @type {?} */ FivRouterItem.prototype.active; /** @type {?} */ FivRouterItem.prototype.color; /** @type {?} */ FivRouterItem.prototype.detail; /** @type {?} */ FivRouterItem.prototype.detailIcon; /** @type {?} */ FivRouterItem.prototype.disabled; /** @type {?} */ FivRouterItem.prototype.icon; /** @type {?} */ FivRouterItem.prototype.lines; /** @type {?} */ FivRouterItem.prototype.matchChildUrl; /** @type {?} */ FivRouterItem.prototype.navigate; /** @type {?} */ FivRouterItem.prototype.pageUrl; /** * The position of the active state. * Default value is: `"left"` * @type {?} */ FivRouterItem.prototype.position; /** * The shape of the active state. * Possible values are: `"line"`, `"dot"` and `"rounded"`. * Default value is: `"line"` * @type {?} */ FivRouterItem.prototype.shape; /** @type {?} */ FivRouterItem.prototype.text; /** @type {?} */ FivRouterItem.prototype.router; /** * @type {?} * @private */ FivRouterItem.prototype.host; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3JvdXRlci1pdGVtL3JvdXRlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWixRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QztJQTZERSx1QkFDUyxNQUFjLEVBQ08sSUFBbUI7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNPLFNBQUksR0FBSixJQUFJLENBQWU7UUF2RHhDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFNZixlQUFVLEdBQUcsaUJBQWlCLENBQUM7UUFFL0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1qQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixhQUFRLEdBQUcsSUFBSSxDQUFDOzs7OztRQVFoQixhQUFRLEdBQXFCLE1BQU0sQ0FBQzs7Ozs7O1FBT3BDLFVBQUssR0FBK0IsTUFBTSxDQUFDO0lBeUJqRCxDQUFDOzs7O0lBckJtQiwrQkFBTzs7O0lBQTlCO1FBQ0UsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELHNC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NkJBQXVCOztJQUV2Qiw4QkFBMkM7O0lBRTNDLHNDQUErQjs7SUFFL0IsaUNBQXlCOztJQUV6QixnQ0FBeUI7Ozs7OztJQU16QixpQ0FBNkM7Ozs7Ozs7SUFPN0MsOEJBQW9EOztJQUVwRCw2QkFBc0I7O0lBcUJwQiwrQkFBcUI7Ozs7O0lBQ3JCLDZCQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpdkljb24gfSBmcm9tICcuLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRml2RXhwYW5kYWJsZSB9IGZyb20gJy4vLi4vZXhwYW5kYWJsZS9leHBhbmRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIE9wdGlvbmFsLFxuICBIb3N0LFxuICBWaWV3Q2hpbGQsXG4gIEFmdGVyVmlld0luaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zpdi1yb3V0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3V0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JvdXRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRml2Um91dGVySXRlbSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2Zpdkljb24nLCB7IHN0YXRpYzogZmFsc2UgfSkgZml2SWNvbjogRml2SWNvbjtcblxuICBASW5wdXQoKSBhY3RpdmUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb2xvcj86IENvbG9yO1xuXG4gIEBJbnB1dCgpIGRldGFpbD86IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZGV0YWlsSWNvbiA9ICdjaGV2cm9uLWZvcndhcmQnO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcblxuICBASW5wdXQoKSBsaW5lcz86ICdmdWxsJyB8ICdpbnNldCcgfCAnbm9uZSc7XG5cbiAgQElucHV0KCkgbWF0Y2hDaGlsZFVybCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG5hdmlnYXRlID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwYWdlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgYWN0aXZlIHN0YXRlLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzOiBgXCJsZWZ0XCJgXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAvKipcbiAgICogVGhlIHNoYXBlIG9mIHRoZSBhY3RpdmUgc3RhdGUuXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmU6IGBcImxpbmVcImAsIGBcImRvdFwiYCBhbmQgYFwicm91bmRlZFwiYC5cbiAgICogRGVmYXVsdCB2YWx1ZSBpczogYFwibGluZVwiYFxuICAgKi9cbiAgQElucHV0KCkgc2hhcGU6ICdsaW5lJyB8ICdkb3QnIHwgJ3JvdW5kZWQnID0gJ2xpbmUnO1xuXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uY2xpY2soKSB7XG4gICAgaWYgKHRoaXMubmF2aWdhdGUgJiYgdGhpcy5wYWdlVXJsKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucGFnZVVybCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucG9zaXRpb259ICR7dGhpcy5zaGFwZX1gO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKSBnZXQgYWN0aXZlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2hBY3RpdmVVcmwoKSB8fCB0aGlzLmFjdGl2ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm91dGVyLWl0ZW0tZGlzYWJsZWQnKSBnZXQgZGlzYWJsZWRDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgaG9zdDogRml2RXhwYW5kYWJsZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgZmlsdGVyKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4gZXZlbnQudXJsID09PSB0aGlzLnBhZ2VVcmwpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub3BlbkV4cGFuZGFibGVIb3N0KCkpO1xuICB9XG5cbiAgb3BlbkV4cGFuZGFibGVIb3N0KCkge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5tYXRjaEFjdGl2ZVVybCgpIHx8IHRoaXMuYWN0aXZlO1xuICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgaWYgKHRoaXMuaG9zdCAmJiAhdGhpcy5ob3N0LmlzT3Blbikge1xuICAgICAgICB0aGlzLmhvc3Qub3BlbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbdGhpcy5wb3NpdGlvbiwgdGhpcy5zaGFwZV07XG4gIH1cblxuICBtYXRjaEFjdGl2ZVVybCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXRjaENoaWxkVXJsID8gdGhpcy5pc0NoaWxkVXJsKCkgOiB0aGlzLmlzQ3VycmVudFVybCgpO1xuICB9XG5cbiAgaXNDdXJyZW50VXJsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwgPT09IHRoaXMucGFnZVVybDtcbiAgfVxuXG4gIGlzQ2hpbGRVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKHRoaXMucGFnZVVybCk7XG4gIH1cbn1cbiJdfQ==