Built motion from commit ded33658aad58fc8de845a8299a9db59a88cc353. Version 3.0.0...
[motion-next.git] / public / src / js / modules / main / apps / motiondialer / views / realtime / queues / view.html / view.html
1 <!-- MAIN -->
2 <md-toolbar class="md-table-toolbar md-default">
3   <div class="md-toolbar-tools">
4     <span class="md-subhead" translate="MOTIONDIALER.QUEUES">Queues</span>
5     <div flex></div>
6     <ms-search-bar
7       on-search="vm.query.filter = query;"
8       on-collapse="vm.query.filter = undefined;"
9       debounce="300"
10     ></ms-search-bar>
11   </div>
12 </md-toolbar>
13
14 <!-- QUEUE TABLE -->
15 <md-table-container>
16   <table md-table multiple md-progress="vm.promise">
17     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
18       <tr md-row>
19         <th md-column md-order-by="name">
20           {{ 'MOTIONDIALER.NAME' | translate }}
21         </th>
22         <th md-column>{{ 'MOTIONDIALER.LOGGED_IN' | translate }}</th>
23         <th md-column>{{ 'MOTIONDIALER.PAUSED' | translate }}</th>
24         <th md-column>{{ 'MOTIONDIALER.READY' | translate }}</th>
25         <th md-column>{{ 'MOTIONDIALER.WAITING' | translate }}</th>
26         <th md-column>{{ 'MOTIONDIALER.TALKING' | translate }}</th>
27         <th md-column>{{ 'MOTIONDIALER.ORIGINATED' | translate }}</th>
28         <th md-column>{{ 'MOTIONDIALER.MESSAGE' | translate }}</th>
29         <th md-column>{{ 'MOTIONDIALER.METHOD' | translate }}</th>
30         <th md-column>{{ 'MOTIONDIALER.TRUNK' | translate }}</th>
31         <th md-column md-order-by="dialActive">
32           {{ 'MOTIONDIALER.ACTIVE' | translate }}
33         </th>
34         <th md-column width="10px"></th>
35       </tr>
36     </thead>
37     <tbody md-body>
38       <tr md-row ng-hide="vm.queues">
39         <td md-cell colspan="12">
40           <div layout="row" layout-align="center center">
41             <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
42               >No Available Info</span
43             >
44           </div>
45         </td>
46       </tr>
47       <tr
48         md-row
49         md-select="vm.queues[value]"
50         md-select-id="id"
51         ng-repeat="(id, value) in vm.order"
52       >
53         <td md-cell>{{vm.queues[value].name}}</td>
54         <td md-cell>
55           <span class="font-size-20 grey-fg"
56             >{{vm.queues[value].loggedInDb || 0}} ({{vm.queues[value].loggedIn
57             || 0}})</span
58           >
59         </td>
60         <td md-cell>
61           <span class="font-size-20 grey-fg"
62             >{{vm.queues[value].paused || 0}}</span
63           >
64         </td>
65         <td md-cell>
66           <span class="font-size-16 grey-fg"
67             >{{vm.queues[value].available || 0}}</span
68           >
69         </td>
70         <td md-cell>
71           <span class="font-size-20 grey-fg"
72             >{{vm.queues[value].waiting || 0}}</span
73           >
74         </td>
75         <td md-cell>
76           <span class="font-size-16 grey-fg"
77             >{{(vm.queues[value].talking || 0) + (vm.queues[value].pTalking ||
78             0)}}</span
79           >
80         </td>
81         <td md-cell>
82           <span class="font-size-16 grey-fg"
83             >{{vm.queues[value].originated || 0}}</span
84           >
85         </td>
86         <td md-cell>
87           <span class="font-size-16 grey-fg"
88             >{{vm.queues[value].message ?
89             ('MOTIONDIALER.'+vm.queues[value].message | translate) :
90             '--'}}</span
91           >
92         </td>
93         <td md-cell>
94           <span class="font-size-16 grey-fg"
95             >{{vm.queues[value].dialMethod || 0}}</span
96           >
97         </td>
98         <td md-cell>
99           <span class="font-size-16 grey-fg"
100             >{{vm.queues[value].Trunk ? vm.queues[value].Trunk.name :
101             '--'}}</span
102           >
103         </td>
104         <td md-cell>
105           <md-icon
106             md-colors="{color: {{vm.queues[value].dialActive ? '\'green\'' : '\'red\''}}}"
107             md-font-icon="{{vm.queues[value].dialActive ? 'icon-check' : 'icon-close'}}"
108           ></md-icon>
109         </td>
110         <td md-cell class="actions" ng-if="vm.crudPermissions.canEdit">
111           <md-menu>
112             <md-button
113               class="md-icon-button"
114               aria-label="More"
115               translate
116               translate-attr-aria-label="MOTIONDIALER.MORE"
117               ng-click="$mdMenu.open($event)"
118             >
119               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
120             </md-button>
121
122             <md-menu-content width="3">
123               <md-menu-item>
124                 <md-button
125                   ng-click="vm.createOrEditMotionDialerQueue($event, vm.queues[value])"
126                   translate="MOTIONDIALER.EDIT_QUEUE"
127                 >
128                   Edit Queue
129                 </md-button>
130               </md-menu-item>
131               <md-menu-item ng-if="vm.queues[value].dialMethod == 'predictive'">
132                 <md-button
133                   ng-click="vm.showPredictiveQueueCampaignInfo($event, vm.queues[value])"
134                   translate="MOTIONDIALER.SHOW_PREDICTIVE_QUEUE_CAMPAIGN_INFO"
135                 >
136                   Show Predictive Info
137                 </md-button>
138               </md-menu-item>
139               <md-menu-item>
140                 <md-button
141                   ng-click="vm.agentAdd($event, vm.queues[value])"
142                   translate="MOTIONDIALER.AGENTSADD_QUEUE"
143                 >
144                   Add Agents to queue
145                 </md-button>
146               </md-menu-item>
147             </md-menu-content>
148           </md-menu>
149         </td>
150       </tr>
151     </tbody>
152   </table>
153 </md-table-container>
154
155 <md-table-pagination
156   md-label="{page: '{{'MOTIONDIALER.PAGE' | translate}}:', rowsPerPage: '{{'MOTIONDIALER.ROWSPERPAGE' | translate}}:', of: '{{'MOTIONDIALER.OF' | translate}}'}"
157   md-limit="vm.query.limit"
158   md-limit-options="[10, 15, 20, 50, 100, 250]"
159   md-page="vm.query.page"
160   md-total="{{vm.count}}"
161   md-on-paginate="vm.getQueues"
162   md-page-select
163 ></md-table-pagination>
164 <!-- / QUEUE TABLE -->
165 <!-- / MAIN -->