File

src/app/components/tabletop/tile/tile.component.ts

Metadata

changeDetection ChangeDetectionStrategy.Default
selector roleame-webapp-tabletop-tile
styleUrls tile.component.scss
templateUrl tile.component.html

Inputs

_token

Type: Token

position

Type: number

token

Outputs

tileSelect $event type: EventEmitter<{ position: number; token: Token; }>

Constructor

constructor()

Methods

tileSelected
tileSelected()
Returns: void
calculateBounds
calculateBounds()
Returns: void

Properties

nearBottom
nearBottom: boolean
Default value: false
nearLeft
nearLeft: boolean
Default value: true
nearRight
nearRight: boolean
Default value: false
nearTop
nearTop: boolean
Default value: true
routeAnimationsElements
routeAnimationsElements: string
Default value: ROUTE_ANIMATIONS_ELEMENTS
tileElement
tileElement: any
token
token: Token
import { Token } from './../../../types/token';
import { Component, OnInit, ChangeDetectionStrategy, Input, Output, EventEmitter, ViewChild, ElementRef, ViewChildren, ChangeDetectorRef } from '@angular/core';

import { ROUTE_ANIMATIONS_ELEMENTS, routeAnimations } from '../../../core/core.module';

@Component({
  selector: 'roleame-webapp-tabletop-tile',
  templateUrl: './tile.component.html',
  styleUrls: ['./tile.component.scss'],
  animations: [routeAnimations],
  changeDetection: ChangeDetectionStrategy.Default
})
export class TileComponent implements OnInit {

  routeAnimationsElements = ROUTE_ANIMATIONS_ELEMENTS;

  @ViewChild('tile', {static: false}) tileElement: ElementRef;

  @Input()
  _token: Token

  @Input()
  position: number

  @Output()
  tileSelect: EventEmitter<{position: number , token: Token}> = new EventEmitter<{position: number , token: Token}>()

  nearTop: boolean = true
  nearLeft: boolean = true
  nearBottom: boolean = false
  nearRight: boolean = false

  @Input()
  set token(token: Token){
    this._token = token
  }

  get token(){
    return this._token;
  }

  constructor(){
    
  }
  
  ngOnInit() {
    // setInterval(() => {
    //   this.calculateBounds()
    // }, 5000 )
  }

  ngAfterViewInit(){
  }
  
  tileSelected() {
    this.tileSelect.emit( {position: this.position, token: this.token} )
  }

  calculateBounds() {
    // var domRect = this.tileElement.nativeElement.getBoundingClientRect();
    // var spaceBelow = window.innerHeight - domRect.bottom;
    // this.nearTop = spaceBelow > 150
    // this.nearBottom = !this.nearTop;
    // console.log(this.nearTop)
  }

}

results matching ""

    No results matching ""