Project

General

Profile

1
import {Component, Input} from '@angular/core';
2

    
3
@Component({
4
  selector: 'gif-slider',
5
  template: `
6
    <div tabindex="-1" [attr.uk-slider]="'velocity: ' + velocity + 
7
                                        ';autoplay: '+ autoplay + 
8
                                        ';autoplay-interval: ' + autoplayInterval + 
9
                                        ';pause-on-hover: ' + pauseOnHover + 
10
                                        ';center: ' + center">
11
     <div class="uk-slider-container">
12
      <ul class="uk-slider-items uk-child-width-1-1">
13
        <li *ngFor="let gif of gifs">
14
          <div class="uk-flex uk-padding uk-child-width-1-2@m uk-child-width-1-1@s" uk-grid>
15
            <div>
16
              <img [attr.src]="gif.gif" class="uk-box-shadow-large uk-border-rounded" loading="lazy">
17
            </div>
18
            <div [ngClass]="(gifRight)?'uk-flex-first':''" class="uk-margin-top">
19
              <div>
20
                <div class="uk-text-bold uk-h4">{{gif.header}}</div>
21
                <div class="uk-margin-medium"> {{gif.text}}</div>
22
                <div *ngIf="link" class="uk-inline">
23
                  <a class="uk-button portal-button uk-text-uppercase" [routerLink]="route" routerLinkActive="router-link-active">{{linkTitle}}</a>
24
                </div>
25
              </div>
26
            </div>
27
          </div>
28
        </li>
29
      </ul>
30
      <ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin"></ul>
31
     </div>
32
    </div>`
33
})
34

    
35
export class GifSliderComponent {
36
  @Input() gifs: {"gif": string, "header": string, "text"}[] = [];
37
  @Input() link = false;
38
  @Input() route = null;
39
  @Input() linkTitle = null;
40
  @Input() gifRight = false;
41
  @Input() velocity = 0;
42
  @Input() autoplay = true;
43
  @Input() autoplayInterval = 4000;
44
  @Input() pauseOnHover = false;
45
  @Input() center = true;
46

    
47
}
(1-1/2)