Project

General

Profile

1
import { Component, ViewChild, OnInit, ViewEncapsulation, Input } from '@angular/core';
2
import { ActivatedRoute } from "@angular/router";
3

    
4
import {RemoveContentProvidersComponent} from './remove-content-providers.component';
5
import {AddContentProvidersComponent} from './add-content-providers.component';
6

    
7
@Component({
8
    selector: 'manage-content-providers',
9
    template: `
10
      <div id="manage-content-providers">
11
        <div class="menubar uk-margin-bottom ">
12
          <a *ngIf="!toggle" (click)="updateCommunityContentProviders()" uk-toggle="target: .toggle-usage" class="uk-button uk-button-primary uk-float-right">{{toggleLinkMessage}}</a>
13
          <div class="manage-content-providers-title uk-text-large">{{pageTitle}}</div>
14
        </div>
15

    
16
        <div class="toggle-usage">
17
          <remove-content-providers (communityContentProvidersChanged)="communityContentProvidersChanged($event)"></remove-content-providers>
18
          <fab (clicked)="updateCommunityContentProviders()" uk-toggle="target: .toggle-usage"></fab>
19
        </div>
20
        <div class="toggle-usage" hidden>
21
          <add-content-providers [(communityContentProviders)]="communityContentProviders"></add-content-providers>
22
        </div>
23
      </div>
24
    `
25
})
26

    
27
export class ManageContentProvidersComponent implements OnInit {
28
  private community: string = '';
29

    
30
  @Input() communityContentProviders =[];
31
  @ViewChild (RemoveContentProvidersComponent) removeContentProvidersComponent : RemoveContentProvidersComponent ;
32
  @ViewChild (AddContentProvidersComponent) addContentProvidersComponent : AddContentProvidersComponent ;
33

    
34
  public warningMessage = "";
35
  public infoMessage = "";
36

    
37
  public toggle: boolean = true;
38
  public updateCommunityContentProvidersOnToggle: boolean = false;
39
  public pageTitle: string = "Manage content providers";
40
  public toggleLinkMessage: string = "Manage content providers";
41

    
42
  ngOnInit() {
43
    this.route.queryParams.subscribe(params => {
44
      if(params['communityId']) {
45
        this.community = params['communityId'];
46
      }
47
    });
48
  }
49

    
50
  constructor(private route: ActivatedRoute) {}
51

    
52
  public ngOnDestroy() {}
53

    
54
  public updateCommunityContentProviders() {
55
    this.toggle = !this.toggle;
56
    if(this.toggle) {
57
      this.pageTitle = "Manage content providers";
58
      //this.toggleLinkMessage = "Missing content providers?";
59

    
60
      this.removeContentProvidersComponent._getCommunityContentProviders();
61
      this.addContentProvidersComponent.undo = {};
62
    } else {
63
      this.updateCommunityContentProvidersOnToggle = false;
64
      this.pageTitle = "Search content providers";
65
      //this.toggleLinkMessage = "Manage content providers";
66
    }
67
  }
68

    
69
  public communityContentProvidersChanged($event) {
70
    this.communityContentProviders = $event.value;
71
  }
72
}
(4-4/6)