123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { Component, Input } from '@angular/core';
- import { trigger, state, transition, style, animate } from '@angular/animations';
- import { AppMainComponent } from './app.main.component';
- import { AppComponent } from './app.component';
-
- @Component({
- selector: 'app-inline-menu',
- templateUrl: './app.inlinemenu.component.html',
- animations: [
- trigger('menu', [
- state('hiddenAnimated', style({
- height: '0px',
- paddingBottom: '0px',
- overflow: 'hidden'
- })),
- state('visibleAnimated', style({
- height: '*',
- overflow: 'visible'
- })),
- state('visible', style({
- opacity: 1,
- 'z-index': 100
- })),
- state('hidden', style({
- opacity: 0,
- 'z-index': '*'
- })),
- transition('visibleAnimated => hiddenAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),
- transition('hiddenAnimated => visibleAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),
- transition('visible => hidden', animate('.1s linear')),
- transition('hidden => visible', [style({transform: 'scaleY(0.8)'}), animate('.12s cubic-bezier(0, 0, 0.2, 1)')])
- ])
- ]
- })
- export class AppInlineMenuComponent {
-
- @Input() key = 'inline-menu';
-
- @Input() style: any;
-
- @Input() styleClass: string;
-
- active: boolean;
-
- constructor(public appMain: AppMainComponent, public app: AppComponent) { }
-
- onClick(event) {
- this.appMain.onInlineMenuClick(event, this.key);
- event.preventDefault();
- }
-
- get isTooltipDisabled() {
- return !(this.appMain.isSlim() && !this.appMain.isMobile());
- }
-
- get tabIndex() {
- return !this.appMain.inlineMenuActive ? '-1' : null;
- }
-
- isHorizontalActive() {
- return this.appMain.isHorizontal() && !this.appMain.isMobile();
- }
- }
|