5326a6da57eb901aca034f64a0b004ea6835e94c
[motion-next.git] /
1 <!-- MAIN -->
2 <md-toolbar class="md-table-toolbar md-default">
3   <div class="md-toolbar-tools">
4     <span class="md-subhead" translate="MOTIONDIALER.QUEUE_PARAMETERS"
5       >Params</span
6     >
7     <div flex></div>
8     <ms-search-bar
9       on-search="vm.query.filter = query;"
10       on-collapse="vm.query.filter = undefined;"
11       debounce="300"
12     ></ms-search-bar>
13   </div>
14 </md-toolbar>
15
16 <!-- QUEUE TABLE -->
17 <md-table-container>
18   <table md-table multiple md-progress="vm.promise">
19     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
20       <tr md-row>
21         <th md-column>{{' MOTIONDIALER.NAME' | translate}}</th>
22         <th md-column>{{' MOTIONDIALER.TOTAL' | translate}}</th>
23         <th md-column>{{' MOTIONDIALER.TOTAL_OFFERED' | translate}}</th>
24         <th md-column>{{' MOTIONDIALER.MANAGED' | translate}}</th>
25         <th md-column>{{' MOTIONDIALER.ABANDONED' | translate}}</th>
26         <th md-column>{{' MOTIONDIALER.DROPPED' | translate}}</th>
27         <th md-column>{{' MOTIONDIALER.AVG_HOLD_TIME' | translate}}</th>
28         <th md-column>{{' MOTIONDIALER.AVG_DURATION' | translate}}</th>
29         <th md-column>{{' MOTIONDIALER.AVG_BILLABLE' | translate}}</th>
30       </tr>
31     </thead>
32     <tbody md-body>
33       <tr md-row ng-hide="vm.queues">
34         <td md-cell colspan="8">
35           <div layout="row" layout-align="center center">
36             <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
37               >No Available Info</span
38             >
39           </div>
40         </td>
41       </tr>
42       <tr md-row ng-repeat="(id, queue) in vm.queues">
43         <td md-cell>
44           <span>{{queue.name}}</span>
45         </td>
46         <td md-cell>
47           <span class="font-size-20 grey-fg"
48             >{{(queue.answered + queue.outboundNoAnswerCallsDay +
49             queue.outboundBusyCallsDay + queue.outboundCongestionCallsDay +
50             queue.outboundNoSuchCallsDay + queue.outboundUnknownCallsDay +
51             queue.outboundDropCallsDayTimeout +
52             queue.outboundDropCallsDayCallersExit +
53             queue.outboundBlacklistCallsDay +
54             queue.outboundOriginateFailureCallsDay +
55             queue.outboundAnswerAgiCallsDay + queue.outboundReCallsDay +
56             queue.outboundRejectCallsDay )|| 0}}</span
57           >
58         </td>
59         <td md-cell>
60           <span class="font-size-20 grey-fg">{{queue.total || 0}}</span>
61         </td>
62         <td md-cell>
63           <span class="font-size-16 grey-fg"
64             >{{queue.answered || 0}} ({{(queue.answered) ? (100 -
65             (((queue.outboundDropCallsDayTimeout || 0) * 100/(queue.total)) |
66             number:1 ) - (((queue.outboundDropCallsDayCallersExit || 0) *
67             100/(queue.total )) | number:1 ) ) : 0 | number:1}}%)</span
68           >
69         </td>
70         <td md-cell>
71           <span class="font-size-16 grey-fg"
72             >{{queue.outboundDropCallsDayCallersExit || 0}}
73             ({{(queue.outboundDropCallsDayCallersExit) ?
74             (queue.outboundDropCallsDayCallersExit || 0) * 100/(queue.total ) :
75             0 | number:1}}%)</span
76           >
77         </td>
78         <td md-cell>
79           <span class="font-size-16 grey-fg"
80             >{{queue.outboundDropCallsDayTimeout || 0}}
81             ({{(queue.outboundDropCallsDayTimeout) ?
82             (queue.outboundDropCallsDayTimeout || 0) * 100/(queue.total) : 0 |
83             number:1}}%)</span
84           >
85         </td>
86         <td md-cell>
87           <span class="font-size-16 grey-fg"
88             >{{queue.total ? (queue.sumHoldTime / queue.total) : 0 | number: 0 |
89             secToTime | date:'HH:mm:ss'}}</span
90           >
91         </td>
92         <td md-cell>
93           <span class="font-size-16 grey-fg"
94             >{{queue.total ? (queue.sumDuration / queue.total) : 0 | number: 0 |
95             secToTime | date:'HH:mm:ss'}}</span
96           >
97         </td>
98         <td md-cell>
99           <span class="font-size-16 grey-fg"
100             >{{queue.answered ? ((queue.sumBillable || 0) / queue.answered) : 0
101             | number: 0 | secToTime | date:'HH:mm:ss'}}</span
102           >
103         </td>
104       </tr>
105     </tbody>
106   </table>
107 </md-table-container>
108
109 <md-table-pagination
110   md-label="{page: '{{'MOTIONDIALER.PAGE' | translate}}:', rowsPerPage: '{{'MOTIONDIALER.ROWSPERPAGE' | translate}}:', of: '{{'MOTIONDIALER.OF' | translate}}'}"
111   md-limit="vm.query.limit"
112   md-limit-options="[10, 15, 20, 50, 100, 250]"
113   md-page="vm.query.page"
114   md-total="{{vm.count}}"
115   md-on-paginate="vm.getQueues"
116   md-page-select
117 ></md-table-pagination>
118 <!-- / QUEUE TABLE -->
119 <!-- / MAIN -->