annotate src/app/actions/action-tray.component.ts @ 423:4387175f594b

Basic action tray for feature analysis. WIP, bit buggy wrt scrolling and not dismissed automatically when extractor selected.
author Lucas Thompson <dev@lucas.im>
date Tue, 06 Jun 2017 18:11:30 +0100
parents
children 78c32c94d201
rev   line source
dev@423 1 /**
dev@423 2 * Created by lucast on 06/06/2017.
dev@423 3 */
dev@423 4 import {Component, Input} from '@angular/core';
dev@423 5 import {
dev@423 6 animate, keyframes, state, style, transition,
dev@423 7 trigger
dev@423 8 } from '@angular/animations';
dev@423 9
dev@423 10 @Component({
dev@423 11 selector: 'ugly-action-tray',
dev@423 12 template: `<div
dev@423 13 class="tray"
dev@423 14 [@visibility]="visibility"
dev@423 15 ><ng-content></ng-content></div>`,
dev@423 16 styles: [
dev@423 17 `.tray {
dev@423 18 background: white;
dev@423 19 height: 100%;
dev@423 20 width: 100%;
dev@423 21 position: absolute;
dev@423 22 z-index: 100;
dev@423 23 overflow-y: hidden;
dev@423 24 }`
dev@423 25 ],
dev@423 26 animations: [
dev@423 27 trigger('visibility', [
dev@423 28 state('show', style({
dev@423 29 height: '100%',
dev@423 30 'overflow-y': 'scroll'
dev@423 31 })),
dev@423 32 state('hide', style({
dev@423 33 height: 0,
dev@423 34 'overflow-y': 'hidden',
dev@423 35 })),
dev@423 36 transition('hide => show', [
dev@423 37 animate(300, keyframes([
dev@423 38 style({height: 0, offset: 0}),
dev@423 39 style({height: '100%', offset: 1.0}),
dev@423 40 ]))
dev@423 41 ]),
dev@423 42 transition('show => hide', [
dev@423 43 animate(300, keyframes([
dev@423 44 style({height: '100%', offset: 0.0}),
dev@423 45 style({height: 0, offset: 1.0}),
dev@423 46 ]))
dev@423 47 ]),
dev@423 48 ])
dev@423 49 ]
dev@423 50 })
dev@423 51 export class ActionTrayComponent {
dev@423 52 @Input() visibility: 'show' | 'hide' = 'hide';
dev@423 53
dev@423 54 toggle() {
dev@423 55 this.visibility = this.visibility === 'show' ? 'hide' : 'show';
dev@423 56 }
dev@423 57 }