blob: 6397f632f2325b3584ae7c745b12de069a0449b9 [file] [log] [blame]
Sean Condon2bd11b72018-06-15 08:00:48 +01001<div id="ov-app" filedrop on-file-drop="appDropped()">
2 <div class="tabular-header">
3 <h2>
4 {{lionFn('title_apps')}}
5 ({{ tableData.length }}
6 {{ lionFn('total') }})
7 </h2>
8 <div class="ctrl-btns">
9 <div class="refresh" (click)="toggleRefresh()">
10 <onos-icon classes="{{ autoRefresh?'active refresh':'refresh' }}"
11 iconId="refresh" iconSize="42" toolTip="{{ autoRefreshTip }}"></onos-icon>
12 </div>
13 <div class="separator"></div>
14
15 <!--<form id="inputFileForm">-->
16 <!--<input id="uploadFile"-->
17 <!--type="file" size="50" accept=".oar,.jar"-->
18 <!--file-model="appFile">-->
19 <!--</form>-->
20
21 <div class="active" trigger-form>
22 <onos-icon classes="{{ 'active upload' }}"
23 iconId="upload" iconSize="42" toolTip="{{ uploadTip }}"></onos-icon>
24 </div>
25 <div (click)="appAction('activate')">
26 <onos-icon classes="{{ ctrlBtnState.installed?'active play':'play' }}"
27 iconId="play" iconSize="42" toolTip="{{ activateTip }}"></onos-icon>
28 </div>
29 <div (click)="appAction('deactivate')">
30 <onos-icon classes="{{ ctrlBtnState.active?'active stop':'stop' }}"
31 iconId="stop" iconSize="42" toolTip="{{ deactivateTip }}"></onos-icon>
32 </div>
33 <div (click)="appAction('uninstall')">
34 <!--[ngClass]="{active: ctrlBtnState.selection}">-->
35 <!--tooltip tt-msg="uninstallTip"-->
36 <onos-icon classes="{{ ctrlBtnState.selection?'active garbage':'garbage' }}"
37 iconId="garbage" iconSize="42" toolTip="{{ uninstallTip }}"></onos-icon>
38 </div>
39 <div (click)="downloadApp()">
40 <onos-icon classes="{{ ctrlBtnState.selection?'active download':'download' }}"
41 iconId="download" iconSize="42" toolTip="{{ downloadTip }}"></onos-icon>
42 </div>
43 </div>
44
45 <!--<div class="search">-->
46 <!--<input type="text" ng-model="queryTxt" placeholder="Search"/>-->
47 <!--<select ng-model="queryBy">-->
48 <!--<option value="" disabled>Search By</option>-->
49 <!--<option value="$">All Fields</option>-->
50 <!--<option value="title">{{lionFn('title')}}</option>-->
51 <!--<option value="id">{{lionFn('app_id')}}</option>-->
52 <!--<option value="version">{{lionFn('version')}}</option>-->
53 <!--<option value="category">{{lionFn('category')}}</option>-->
54 <!--<option value="apporiginName">{{lionFn('origin')}}</option>-->
55
56 <!--</select>-->
57 <!--</div>-->
58
59
60 </div>
61
62 <div class="summary-list" onos-table-resize>
63 <table onos-flash-changes id-prop="id" width="100%">
64 <tr class="table-header">
65 <th colId="state" class="table-icon" sortable></th>
66 <th colId="icon" class="table-icon"></th>
67 <th colId="title" [ngClass]="{width: '340'}" sortable> {{lionFn('title')}} </th>
68 <th colId="id" [ngClass]="{width: '320px'}"sortable> {{lionFn('app_id')}} </th>
69 <th colId="version" [ngClass]="{width: '140px'}"sortable> {{lionFn('version')}} </th>
70 <th colId="category" [ngClass]="{width: '136px'}"sortable> {{lionFn('category')}} </th>
71 <th colId="origin" sortable> {{lionFn('origin')}} </th>
72 </tr>
73
74 <tr *ngIf="tableData.length === 0" class="no-data">
75 <td colspan="5">
76 {{annots.no_rows_msg}}
77 </td>
78 </tr>
79 <!--&lt;!&ndash;TODO: Add back in | filter:queryFilter&ndash;&gt;-->
80 <tr class="table-body" *ngFor="let app of tableData; trackBy $index"
81 (click)="selectCallback($event, app)"
82 [ngClass]="{selected: app.id === selId, 'data-change': isChanged(app.id)}">
83 <td class="table-icon">
84 <onos-icon iconId="{{app._iconid_state}}"></onos-icon>
85 </td>
86 <td class="table-icon">
87 <!--<img data-ng-src="./rs/applications/{{app.icon}}/icon"-->
88 <!--height="24px" width="24px" />-->
89 </td>
90 <td>{{ app.title }}</td>
91 <td>{{ app.id }}</td>
92 <td>{{ app.version }}</td>
93 <td>{{ app.category }}</td>
94 <td>{{ app.origin }}</td>
95 </tr>
96 </table>
97
98 </div>
99
100</div>