1 import { Component, Input, Pipe, PipeTransform } from '@angular/core';
2 import { ConfigService, IProject, ProjectType } from "../services/config.service";
5 selector: 'project-card',
8 <div class="col-xs-12">
9 <div class="text-right" role="group">
10 <button class="btn btn-link" (click)="delete(project)"><span class="fa fa-trash fa-size-x2"></span></button>
15 <table class="table table-striped">
18 <th><span class="fa fa-fw fa-id-badge"></span> <span>Project ID</span></th>
19 <td>{{ project.id }}</td>
22 <th><span class="fa fa-fw fa-exchange"></span> <span>Sharing type</span></th>
23 <td>{{ project.type | readableType }}</td>
26 <th><span class="fa fa-fw fa-folder-open-o"></span> <span>Local path</span></th>
27 <td>{{ project.pathClient }}</td>
29 <tr *ngIf="project.pathServer != ''">
30 <th><span class="fa fa-fw fa-folder-open-o"></span> <span>Server path</span></th>
31 <td>{{ project.pathServer }}</td>
35 <th><span class="fa fa-fw fa-status"></span> <span>Status</span></th>
36 <td>{{ project.remotePrjDef.status }}</td>
42 styleUrls: ['./app/config/config.component.css']
45 export class ProjectCardComponent {
47 @Input() project: IProject;
49 constructor(private configSvr: ConfigService) {
53 delete(prj: IProject) {
54 this.configSvr.deleteProject(prj);
59 // Remove APPS. prefix if translate has failed
64 export class ProjectReadableTypePipe implements PipeTransform {
65 transform(type: ProjectType): string {
67 case ProjectType.NATIVE_PATHMAP: return "Native (path mapping)";
68 case ProjectType.SYNCTHING: return "Cloud (Syncthing)";
69 default: return String(type);