Built motion from commit aab208717af8d15f4fa224cdb6a202877019af9b. Version 3.0.0...
[motion-next.git] / public / src / js / modules / main / apps / analytics / views / metrics / metrics.html / metrics.html
1 <div id="metrics" class="page-layout simple left-sidenav inner-sidenav motion-list">
2   <!-- HEADER -->
3   <div class="header md-accent-bg" layout="row" layout-align="space-between center">
4     <!-- APP TITLE -->
5     <div layout="row" layout-align="start center">
6       <div class="logo" layout="row" layout-align="start center">
7         <span class="logo-icon">
8           <md-icon md-font-icon="icon-chart-line" class="s24"></md-icon>
9         </span>
10         <span class="logo-text" translate="ANALYTICS.METRICS">Metrics</span>
11       </div>
12     </div>
13     <!-- / APP TITLE -->
14
15     <div layout="row">
16       <!-- SEARCH -->
17       <div class="search-input-wrapper" layout="row" layout-align="start center">
18         <label for="search">
19           <md-icon md-font-icon="icon-magnify"></md-icon>
20         </label>
21         <md-input-container md-no-float class="m-0">
22           <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
23             ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
24         </md-input-container>
25       </div>
26       <!-- / SEARCH -->
27     </div>
28   </div>
29   <!-- / HEADER -->
30
31   <!-- SELECTED BAR -->
32   <div ng-show="vm.selectedMetrics.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
33     layout-align="start center">
34     <div class="close-button-wrapper" ng-click="vm.selectedMetrics =[]">
35       <md-button layout="row" layout-align="start center">
36         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
37         <span translate="APP.BACK">Back</span>
38       </md-button>
39     </div>
40
41     <div flex layout="row" layout-align="space-between center">
42       <div>
43         <span class="selected-metrics-count">
44           <span>{{vm.selectedMetrics.length}}</span>
45           <span translate="APP.SELECTED">selected</span>
46         </span>
47
48         <md-menu class="select-menu" ng-if="!vm.currentThread">
49           <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
50             translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE">
51             <md-icon md-font-icon="icon-menu-down"></md-icon>
52           </md-button>
53           <md-menu-content width="3">
54             <md-menu-item>
55               <md-button ng-click="vm.selectAllMetrics()" translate="APP.SELECT_ALL">
56                 Select all
57               </md-button>
58             </md-menu-item>
59             <md-menu-item>
60               <md-button ng-click="vm.deselectMetrics()" translate="APP.SELECT_NONE">
61                 Select none
62               </md-button>
63             </md-menu-item>
64           </md-menu-content>
65         </md-menu>
66       </div>
67
68       <div class="multi-select-actions">
69         <button class="md-icon-button" ng-csv="vm.exportSelectedMetrics" csv-label="true" filename="metrics.csv">
70           <md-icon md-font-icon="icon-file-excel"></md-icon>
71         </button>
72         <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
73           ng-click="vm.deleteSelectedMetrics($event)" aria-label="delete selected" translate
74           translate-attr-label="APP.DELETE_SELECTED">
75           <md-icon md-font-icon="icon-delete"></md-icon>
76         </md-button>
77       </div>
78     </div>
79   </div>
80   <!-- / SELECTED BAR -->
81
82   <!-- CONTENT -->
83   <div class="content" md-background-bg layout="row" layout-align="start start">
84     <!-- MAIN -->
85     <div class="main scrollable" ms-scroll>
86       <!-- METRIC TABLE -->
87       <md-card>
88         <md-table-container>
89           <table md-table md-row-select multiple ng-model="vm.selectedMetrics" md-progress="vm.promise">
90             <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getMetrics">
91               <tr md-row>
92                 <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
93                 <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
94                 <th md-column md-order-by="name">
95                   {{ 'APP.NAME' | translate }}
96                 </th>
97                 <th md-column md-order-by="table">
98                   {{ 'ANALYTICS.TABLE' | translate }}
99                 </th>
100                 <th md-column md-order-by="description">
101                   {{ 'APP.DESCRIPTION' | translate }}
102                 </th>
103                 <th md-column width="10px"></th>
104               </tr>
105             </thead>
106             <tbody md-body>
107               <tr md-row ng-hide="vm.metrics.rows.length">
108                 <td md-cell colspan="5">
109                   <div layout="row" layout-align="center center">
110                     <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
111                   </div>
112                 </td>
113               </tr>
114               <tr md-row md-select="metric" md-select-id="id" ng-repeat="metric in vm.metrics.rows">
115                 <td md-cell ng-if="metric.userpic">
116                   <img class="avatar" alt="{{metric.name}}" ng-src="api/users/{{metric.id}}/avatar" />
117                 </td>
118                 <td md-cell ng-if="!metric.userpic && (vm.table == 'users' || vm.table == 'agents')">
119                   <img class="avatar" alt="{{metric.name}}" ng-src="assets/images/avatars/profile.png" />
120                 </td>
121                 <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="id">
122                   {{metric.id}}
123                 </td>
124                 <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="name">
125                   {{metric.name}}
126                 </td>
127                 <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="table">
128                   {{ vm.arraytable[metric.table].option }}
129                 </td>
130                 <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="description">
131                   {{metric.description}}
132                 </td>
133
134                 <td md-cell class="actions" ng-if="!vm.crudPermissions.readOnly">
135                   <md-menu>
136                     <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
137                       ng-click="$mdMenu.open($event)">
138                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
139                     </md-button>
140
141                     <md-menu-content width="3">
142                       <!-- SUBACTIONS -->
143
144                       <!-- ACTIONS -->
145
146                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
147                         <md-button ng-click="vm.editdialog(metric, $event    )" translate="ANALYTICS.EDIT_METRIC">
148                           Edit Metric
149                         </md-button>
150                       </md-menu-item>
151
152                       <!-- SUBACTIONS -->
153
154                       <!-- ACTIONS -->
155
156                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
157                         <md-button ng-click="vm.deleteconfirm(metric, $event    )" translate="ANALYTICS.DELETE_METRIC">
158                           Delete Metric
159                         </md-button>
160                       </md-menu-item>
161                     </md-menu-content>
162                   </md-menu>
163                 </td>
164               </tr>
165             </tbody>
166           </table>
167         </md-table-container>
168
169         <md-table-pagination
170           md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
171           md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
172           md-total="{{vm.metrics.count}}" md-on-paginate="vm.getMetrics" md-page-select></md-table-pagination>
173       </md-card>
174       <!-- / METRIC TABLE -->
175       <!-- NO RESULTS -->
176
177       <!-- / NO RESULTS -->
178     </div>
179     <!-- / MAIN -->
180   </div>
181   <!-- / CONTENT -->
182
183   <!-- ADD METRIC BUTTON -->
184   <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-metric-button"
185     ng-click="vm.createOrEditMetric($event)" aria-label="add metric" translate
186     translate-attr-aria-label="ANALYTICS.ADD_METRIC">
187     <md-icon md-font-icon="icon-plus"></md-icon>
188   </md-button>
189   <!-- / ADD METRIC BUTTON -->
190 </div>