primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [ • 5.17 kB
JavaScript
import { Input, ContentChildren, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { PrimeTemplate, SharedModule } from 'primeng/api';
import { RouterModule } from '@angular/router';
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
let TabMenu = class TabMenu {
ngAfterContentInit() {
this.templates.forEach((item) => {
switch (item.getType()) {
case 'item':
this.itemTemplate = item.template;
break;
default:
this.itemTemplate = item.template;
break;
}
});
}
itemClick(event, item) {
if (item.disabled) {
event.preventDefault();
return;
}
if (item.command) {
item.command({
originalEvent: event,
item: item
});
}
this.activeItem = item;
}
};
__decorate([
Input()
], TabMenu.prototype, "model", void 0);
__decorate([
Input()
], TabMenu.prototype, "activeItem", void 0);
__decorate([
Input()
], TabMenu.prototype, "popup", void 0);
__decorate([
Input()
], TabMenu.prototype, "style", void 0);
__decorate([
Input()
], TabMenu.prototype, "styleClass", void 0);
__decorate([
ContentChildren(PrimeTemplate)
], TabMenu.prototype, "templates", void 0);
TabMenu = __decorate([
Component({
selector: 'p-tabMenu',
template: `
<div [ngClass]="'ui-tabmenu ui-widget ui-widget-content ui-corner-all'" [ngStyle]="style" [class]="styleClass">
<ul class="ui-tabmenu-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" role="tablist">
<li *ngFor="let item of model; let i = index" role="tab" [attr.aria-selected]="activeItem==item" [attr.aria-expanded]="activeItem==item"
[ngClass]="{'ui-tabmenuitem ui-state-default ui-corner-top':true,'ui-state-disabled':item.disabled,
'ui-tabmenuitem-hasicon':item.icon,'ui-state-active':activeItem==item,'ui-helper-hidden': item.visible === false}"
[routerLinkActive]="'ui-menuitem-link-active'" [routerLinkActiveOptions]="item.routerLinkActiveOptions||{exact:false}">
<a *ngIf="!item.routerLink" [attr.href]="item.url" class="ui-menuitem-link ui-corner-all" role="presentation" (click)="itemClick($event,item)" [attr.tabindex]="item.tabindex ? item.tabindex : '0'"
[attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id">
<ng-container *ngIf="!itemTemplate">
<span class="ui-menuitem-icon " [ngClass]="item.icon" *ngIf="item.icon"></span>
<span class="ui-menuitem-text">{{item.label}}</span>
</ng-container>
<ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>
</a>
<a *ngIf="item.routerLink" [routerLink]="item.routerLink" [queryParams]="item.queryParams" role="presentation" class="ui-menuitem-link ui-corner-all" (click)="itemClick($event,item)" [attr.tabindex]="item.tabindex ? item.tabindex : '0'"
[attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id"
[fragment]="item.fragment" [queryParamsHandling]="item.queryParamsHandling" [preserveFragment]="item.preserveFragment" [skipLocationChange]="item.skipLocationChange" [replaceUrl]="item.replaceUrl" [state]="item.state">
<ng-container *ngIf="!itemTemplate">
<span class="ui-menuitem-icon " [ngClass]="item.icon" *ngIf="item.icon"></span>
<span class="ui-menuitem-text">{{item.label}}</span>
</ng-container>
<ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>
</a>
</li>
</ul>
</div>
`,
changeDetection: ChangeDetectionStrategy.Default
})
], TabMenu);
let TabMenuModule = class TabMenuModule {
};
TabMenuModule = __decorate([
NgModule({
imports: [CommonModule, RouterModule, SharedModule],
exports: [TabMenu, RouterModule, SharedModule],
declarations: [TabMenu]
})
], TabMenuModule);
/**
* Generated bundle index. Do not edit.
*/
export { TabMenu, TabMenuModule };
//# sourceMappingURL=primeng-tabmenu.js.map