11edf55ab036195d0711b8045f14dd000c1eaf0f
[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_CALLS"
5       >Queue Calls</span
6     >
7     <!-- <div flex></div>
8     <ms-search-bar on-search="vm.query.filter = query;" on-collapse="vm.query.filter = undefined;" debounce="300"></ms-search-bar> -->
9   </div>
10 </md-toolbar>
11
12 <!-- QUEUES TABLE -->
13 <md-table-container>
14   <table md-table>
15     <thead md-head>
16       <tr md-row>
17         <th md-column width="30px"></th>
18         <th md-column>{{ 'MOTIONDIALER.DID' | translate }}</th>
19         <th md-column>{{ 'MOTIONDIALER.QUEUE' | translate }}</th>
20         <th md-column>{{ 'MOTIONDIALER.CALLER' | translate }}</th>
21         <th md-column>{{ 'MOTIONDIALER.AGENT' | translate }}</th>
22         <th md-column>{{ 'MOTIONDIALER.DURATION' | translate }}</th>
23         <th md-column width="10px"></th>
24       </tr>
25     </thead>
26     <tbody md-body>
27       <tr md-row ng-hide="vm.getSize(vm.rpcVoiceQueuesChannels)">
28         <td md-cell colspan="6">
29           <div layout="row" layout-align="center center">
30             <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
31               >No Available Info</span
32             >
33           </div>
34         </td>
35       </tr>
36       <tr
37         md-row
38         ng-repeat="(key, channel) in vm.rpcVoiceQueuesChannels | limitObjectFromTo: vm.queryChannels.limit:(vm.queryChannels.page - 1) * vm.queryChannels.limit"
39       >
40         <td md-cell>
41           <md-icon
42             ng-if="channel.queuecallerleaveAt"
43             md-font-icon="icon-phone-in-talk green-fg"
44           ></md-icon>
45           <md-icon
46             ng-if="!channel.queuecallerleaveAt"
47             md-font-icon="icon-phone-incoming md-accent"
48           ></md-icon>
49         </td>
50         <td md-cell>{{channel.exten}}</td>
51         <td md-cell>{{channel.queue}}</td>
52         <td md-cell>{{channel.calleridnum}}</td>
53         <td md-cell>
54           <span ng-if="channel.queuecallerleaveAt">
55             {{channel.connectedlinename}}, {{channel.connectedlinenum}}
56             <span class="text-boxed">
57               <timer start-time="channel.queuecallerleaveAt" interval="1000"
58                 >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
59               >
60             </span>
61           </span>
62           <span ng-if="!channel.queuecallerleaveAt" class="text-boxed">
63             {{ 'MOTIONDIALER.WAITING_FOR_AGENT' | translate }}
64             <timer start-time="channel.queuecallerjoinAt" interval="1000"
65               >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
66             >
67           </span>
68         </td>
69         <td md-cell>
70           <span class="text-boxed">
71             <timer start-time="channel.queuecallerjoinAt" interval="1000"
72               >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
73             >
74           </span>
75         </td>
76         <td md-cell class="actions" ng-if="vm.crudPermissions.canEdit">
77           <md-menu>
78             <md-button
79               class="md-icon-button"
80               aria-label="More"
81               translate
82               translate-attr-aria-label="STAFF.MORE"
83               ng-click="$mdMenu.open($event)"
84             >
85               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
86             </md-button>
87
88             <md-menu-content width="2">
89               <md-menu-item>
90                 <md-button
91                   ng-click="vm.hangup(channel.uniqueid)"
92                   translate="MOTIONDIALER.HANGUP"
93                 >
94                   Hangup
95                 </md-button>
96               </md-menu-item>
97               <md-menu-item>
98                 <md-button
99                   ng-click="vm.redirectToNumber($event, channel.uniqueid)"
100                   translate="MOTIONDIALER.REDIRECT_TO_NUMBER"
101                 >
102                   Number
103                 </md-button>
104               </md-menu-item>
105               <md-menu-item>
106                 <md-menu>
107                   <md-button
108                     ng-click="$mdMenu.open()"
109                     translate="MOTIONDIALER.REDIRECT_TO_AGENT"
110                     >Redirect to Agent</md-button
111                   >
112                   <md-menu-content>
113                     <md-menu-item ng-repeat="agent in vm.agents.rows">
114                       <md-button
115                         ng-click="vm.redirectToAgent(channel.uniqueid, agent.name, agent.context)"
116                         >{{agent.name}}</md-button
117                       >
118                     </md-menu-item>
119                   </md-menu-content>
120                 </md-menu>
121               </md-menu-item>
122             </md-menu-content>
123           </md-menu>
124         </td>
125       </tr>
126     </tbody>
127   </table>
128 </md-table-container>
129
130 <md-table-pagination
131   md-label="{page: '{{'MOTIONDIALER.PAGE' | translate}}:', rowsPerPage: '{{'MOTIONDIALER.ROWSPERPAGE' | translate}}:', of: '{{'MOTIONDIALER.OF' | translate}}'}"
132   md-limit="vm.queryChannels.limit"
133   md-page="vm.queryChannels.page"
134   md-limit-options="[10, 15, 20, 50, 100, 250]"
135   md-total="{{vm.getSize(vm.rpcVoiceQueuesChannels)}}"
136   md-page-select
137 ></md-table-pagination>
138 <!-- / QUEUES TABLE -->
139 <!-- / MAIN -->