3 class="page-layout simple left-sidenav inner-sidenav motion-list"
7 class="header md-accent-bg"
9 layout-align="space-between center"
12 <div layout="row" layout-align="start center">
13 <div class="logo" layout="row" layout-align="start center">
14 <span class="logo-icon">
15 <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
17 <span class="logo-text" translate="APP.TRUNKS">Trunks</span>
25 class="search-input-wrapper"
27 layout-align="start center"
30 <md-icon md-font-icon="icon-magnify"></md-icon>
32 <md-input-container md-no-float class="m-0">
35 placeholder="Search for anyone"
37 ng-model="vm.query.filter"
38 ng-model-options="{ debounce: 1000 }"
40 translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
51 ng-show="vm.selectedTrunks.length > 0"
52 class="selected-bar header animate-slide-down md-accent-bg"
54 layout-align="start center"
56 <div class="close-button-wrapper" ng-click="vm.selectedTrunks =[]">
57 <md-button layout="row" layout-align="start center">
58 <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
59 <span translate="APP.BACK">Back</span>
63 <div flex layout="row" layout-align="space-between center">
65 <span class="selected-trunks-count">
66 <span>{{vm.selectedTrunks.length}}</span>
67 <span translate="APP.SELECTED">selected</span>
70 <md-menu class="select-menu" ng-if="!vm.currentThread">
72 class="md-icon-button"
73 ng-click="$mdMenu.open($event)"
74 aria-label="multi select toggle"
76 translate-attr-aria-label="TOOLS.MULTI_SELECT_TOGGLE"
78 <md-icon md-font-icon="icon-menu-down"></md-icon>
80 <md-menu-content width="3">
83 ng-click="vm.selectAllTrunks()"
84 translate="APP.SELECT_ALL"
91 ng-click="vm.deselectTrunks()"
92 translate="APP.SELECT_NONE"
101 <div class="multi-select-actions">
103 class="md-icon-button"
104 ng-csv="vm.exportSelectedTrunks"
106 filename="trunks.csv"
108 <md-icon md-font-icon="icon-file-excel"></md-icon>
111 class="md-icon-button"
112 ng-if="vm.crudPermissions.canDelete"
113 ng-click="vm.deleteSelectedTrunks($event)"
114 aria-label="delete selected"
116 translate-attr-label="APP.DELETE_SELECTED"
118 <md-icon md-font-icon="icon-delete"></md-icon>
123 <!-- / SELECTED BAR -->
126 <div class="content" md-background-bg layout="row" layout-align="start start">
128 <div class="main scrollable" ms-scroll>
136 ng-model="vm.selectedTrunks"
137 md-progress="vm.promise"
141 md-order="vm.query.sort"
142 md-on-reorder="vm.getTrunks"
147 ng-if="vm.table == 'users' || vm.table == 'agents'"
150 <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
151 <th md-column md-order-by="name">
152 {{ 'APP.NAME' | translate }}
154 <th md-column md-order-by="active">
155 {{ 'APP.ACTIVE' | translate }}
157 <th md-column md-order-by="host">
158 {{ 'APP.HOST' | translate }}
160 <th md-column md-order-by="registry">
161 {{ 'APP.REGISTRY' | translate }}
163 <th md-column md-order-by="description">
164 {{ 'APP.DESCRIPTION' | translate }}
166 <th md-column width="10px"></th>
170 <tr md-row ng-hide="vm.trunks.rows.length">
171 <td md-cell colspan="7">
172 <div layout="row" layout-align="center center">
173 <span translate="APP.NO_AVAILABLE_INFO"
174 >No Available Info</span
183 ng-repeat="trunk in vm.trunks.rows"
185 <td md-cell ng-if="trunk.userpic">
189 ng-src="api/users/{{trunk.id}}/avatar"
194 ng-if="!trunk.userpic && (vm.table == 'users' || vm.table == 'agents')"
199 ng-src="assets/images/avatars/profile.png"
203 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
210 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
217 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
222 md-colors="{color: {{trunk.active ? '\'green\'' : '\'grey\''}}}"
223 md-font-icon="{{trunk.active ? 'icon-check' : 'icon-close'}}"
227 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
234 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
241 ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(trunk, ev) : vm.createOrEditTrunk($event, trunk)"
245 {{trunk.description}}
248 <td md-cell class="actions">
251 class="md-icon-button"
254 translate-attr-aria-label="APP.MORE"
255 ng-click="$mdMenu.open($event)"
257 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
260 <md-menu-content width="3">
265 <md-menu-item ng-if="vm.crudPermissions.canEdit">
267 ng-click="vm.editstate(trunk, $event )"
268 translate="APP.EDIT_TRUNK"
278 <md-menu-item ng-if="vm.crudPermissions.canEdit">
280 ng-click="vm.clonedialog(trunk, $event )"
281 translate="TOOLS.CLONE_TRUNK"
293 ng-click="vm.gotorealtimegoto(trunk, $event )"
294 translate="TOOLS.GOTOREALTIME_TRUNK"
304 <md-menu-item ng-if="vm.crudPermissions.canDelete">
306 ng-click="vm.deleteconfirm(trunk, $event )"
307 translate="TOOLS.DELETE_TRUNK"
318 </md-table-container>
321 md-label="{page: '{{'TOOLS.PAGE' | translate}}:', rowsPerPage: '{{'TOOLS.ROWSPERPAGE' | translate}}:', of: '{{'TOOLS.OF' | translate}}'}"
322 md-limit="vm.query.limit"
323 md-limit-options="[10, 15, 20, 50, 100, 250]"
324 md-page="vm.query.page"
325 md-total="{{vm.trunks.count}}"
326 md-on-paginate="vm.getTrunks"
328 ></md-table-pagination>
330 <!-- / TRUNK TABLE -->
333 <!-- / NO RESULTS -->
339 <!-- ADD TRUNK BUTTON -->
341 ng-if="vm.crudPermissions.canEdit"
342 class="md-fab md-accent add-item-button"
343 id="add-trunk-button"
344 ng-click="vm.createOrEditTrunk($event)"
345 aria-label="add trunk"
347 translate-attr-aria-label="TOOLS.ADD_TRUNK"
349 <md-icon md-font-icon="icon-plus"></md-icon>
351 <!-- / ADD TRUNK BUTTON -->