Built motion from commit aab208717af8d15f4fa224cdb6a202877019af9b. Version 3.0.0...
[motion-next.git] / public / app / main / apps / tools / views / triggers / edit / anyconditions / anyconditions.html
1 <div
2   ng-controller="TriggerAnyConditionsController as vm_dc"
3   ng-init="vm_dc.onInit(vm.trigger, vm.crudPermissions)"
4 >
5   <md-toolbar
6     class="md-table-toolbar md-default"
7     ng-hide="vm_dc.selectedTriggerAnyConditions.length"
8   >
9     <div class="md-toolbar-tools">
10       <span class="md-subhead" translate="TOOLS.ANYCONDITIONS"
11         >AnyConditions</span
12       >
13       <ms-search-bar
14         on-search="vm_dc.query.filter = query"
15         on-collapse="vm_dc.query.filter = undefined"
16         debounce="300"
17         direction="down"
18       ></ms-search-bar>
19       <div flex></div>
20       <md-button
21         ng-if="vm_dc.crudPermissions.canEdit"
22         class="md-icon-button"
23         ng-click="vm_dc.createOrEditTriggerAnyCondition($event)"
24         aria-label="add anyCondition"
25         translate
26         translate-attr-label="TOOLS.ADD_ANYCONDITION"
27       >
28         <md-icon md-font-icon="icon-plus"></md-icon>
29       </md-button>
30     </div>
31   </md-toolbar>
32   <md-toolbar
33     class="md-table-toolbar md-accent"
34     ng-show="vm_dc.selectedTriggerAnyConditions.length"
35   >
36     <div class="md-toolbar-tools">
37       <span class="md-subhead"
38         >{{ vm_dc.selectedTriggerAnyConditions.length }} {{
39         vm_dc.selectedTriggerAnyConditions.length > 1 ? 'items' : 'item' }}
40         selected</span
41       >
42       <div flex></div>
43       <button
44         class="md-icon-button"
45         ng-csv="vm_dc.exportSelectedTriggerAnyConditions"
46         csv-label="true"
47         filename="triggers.csv"
48       >
49         <md-icon md-font-icon="icon-file-excel"></md-icon>
50       </button>
51       <md-button
52         ng-if="vm_dc.crudPermissions.canDelete"
53         class="md-icon-button"
54         ng-click="vm_dc.deleteSelectedTriggerAnyConditions($event)"
55         aria-label="delete selected"
56         translate
57         translate-attr-label="APP.DELETE_SELECTED"
58       >
59         <md-icon md-font-icon="icon-delete"></md-icon>
60       </md-button>
61     </div>
62   </md-toolbar>
63   <md-table-container class="font-size-12">
64     <table
65       md-table
66       md-row-select
67       multiple
68       ng-model="vm_dc.selectedTriggerAnyConditions"
69       md-progress="vm_dc.promise"
70     >
71       <thead
72         md-head
73         md-order="vm_dc.query.sort"
74         md-on-reorder="vm_dc.getTriggerAnyConditions"
75       >
76         <tr md-row>
77           <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
78           <th md-column md-order-by="field">{{ 'APP.FIELD' | translate }}</th>
79           <th md-column md-order-by="operator">
80             {{ 'APP.OPERATOR' | translate }}
81           </th>
82           <th md-column md-order-by="value">{{ 'APP.VALUE' | translate }}</th>
83           <th md-column md-order-by="createdAt">
84             {{ 'APP.CREATED_AT' | translate }}
85           </th>
86           <th md-column width="10px"></th>
87         </tr>
88       </thead>
89       <tbody md-body>
90         <tr
91           md-row
92           md-select="anyCondition"
93           md-select-id="id"
94           ng-repeat="anyCondition in vm_dc.triggerAnyConditions.rows"
95         >
96           <td
97             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
98             md-cell
99           >
100             {{ anyCondition.id}}
101           </td>
102           <td
103             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
104             md-cell
105           >
106             {{ 'TOOLS.' + vm_dc.fields[anyCondition.field] | uppercase |
107             translate }}
108           </td>
109           <td
110             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
111             md-cell
112           >
113             {{ 'TOOLS.' + anyCondition.operator | uppercase | translate }}
114           </td>
115           <td
116             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
117             ng-if="!anyCondition.value"
118             md-cell
119           >
120             {{ anyCondition.value }}
121           </td>
122           <td
123             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
124             ng-if="vm.trigger.channel == 'chat' && anyCondition.field == 'account'"
125             md-cell
126           >
127             {{ (vm_dc.chatWebsites | filter : {'id':anyCondition.value})[0].name
128             }}
129           </td>
130           <td
131             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
132             ng-if="vm.trigger.channel == 'mail' && anyCondition.field == 'account'"
133             md-cell
134           >
135             {{ (vm_dc.mailAccounts | filter : {'id':anyCondition.value})[0].name
136             }}
137           </td>
138           <td
139             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
140             ng-if="vm.trigger.channel == 'sms' && anyCondition.field == 'account'"
141             md-cell
142           >
143             {{ (vm_dc.smsAccounts | filter : {'id':anyCondition.value})[0].name
144             }}
145           </td>
146           <td
147             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
148             ng-if="vm.trigger.channel == 'fax' && anyCondition.field == 'account'"
149             md-cell
150           >
151             {{ (vm_dc.faxAccounts | filter : {'id':anyCondition.value})[0].name
152             }}
153           </td>
154           <td
155             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
156             ng-if="vm.trigger.channel == 'openchannel' && anyCondition.field == 'account'"
157             md-cell
158           >
159             {{ (vm_dc.openchannelAccounts | filter :
160             {'id':anyCondition.value})[0].name }}
161           </td>
162           <td
163             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
164             ng-if="vm.trigger.channel == 'voice' && anyCondition.field == 'queue'"
165             md-cell
166           >
167             {{ (vm_dc.queues | filter : {'name':anyCondition.value})[0].name }}
168           </td>
169           <td
170             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
171             ng-if="vm.trigger.channel == 'voice' && anyCondition.field == 'routeId'"
172             md-cell
173           >
174             {{ (vm_dc.outboundRoutes | filter :
175             {'id':anyCondition.value})[0].exten }}
176           </td>
177           <td
178             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
179             ng-if="vm.trigger.channel == 'voice' && anyCondition.field == 'agent'"
180             md-cell
181           >
182             {{ (vm_dc.agents | filter : {'name':anyCondition.value})[0].fullname
183             }}
184           </td>
185           <td
186             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
187             ng-if="vm.trigger.channel == 'voice' && anyCondition.field == 'lastevent'"
188             md-cell
189           >
190             {{ vm_dc.callStatuses[anyCondition.value] }}
191           </td>
192           <td
193             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
194             ng-if="vm.trigger.channel != 'voice' && anyCondition.field == 'interaction'"
195             md-cell
196           >
197             {{ anyCondition.value | capitalize }}
198           </td>
199           <td
200             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
201             ng-if="vm.trigger.channel != 'voice' && anyCondition.field == 'message'"
202             md-cell
203           >
204             {{ vm_dc.messageStatuses[anyCondition.value] }}
205           </td>
206           <td
207             ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
208             md-cell
209           >
210             {{ anyCondition.createdAt | formatdate }}
211           </td>
212           <td md-cell class="actions" ng-if="!vm_dc.crudPermissions.readOnly">
213             <md-menu>
214               <md-button
215                 class="md-icon-button"
216                 aria-label="More"
217                 translate
218                 translate-attr-aria-label="APP.MORE"
219                 ng-click="$mdMenu.open($event)"
220               >
221                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
222               </md-button>
223               <md-menu-content width="3">
224                 <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
225                   <md-button
226                     ng-click="vm_dc.createOrEditTriggerAnyCondition($event, anyCondition)"
227                     translate="TOOLS.EDIT_ANYCONDITION"
228                   >
229                     Edit AnyCondition
230                   </md-button>
231                 </md-menu-item>
232                 <md-menu-item ng-if="vm_dc.crudPermissions.canDelete">
233                   <md-button
234                     ng-click="vm_dc.deleteConfirm(anyCondition, $event)"
235                     translate="TOOLS.DELETE_ANYCONDITION"
236                   >
237                     Delete AnyCondition
238                   </md-button>
239                 </md-menu-item>
240               </md-menu-content>
241             </md-menu>
242           </td>
243         </tr>
244         <tr md-row ng-if="!vm_dc.triggerAnyConditions.rows.length">
245           <td md-cell colspan="5">
246             <div layout="row" layout-align="center center">
247               <span
248                 class="text-boxed-light"
249                 translate="TOOLS.NO_ANYCONDITION_AVAILABLE"
250                 >No anycondition available</span
251               >
252             </div>
253           </td>
254         </tr>
255       </tbody>
256     </table>
257   </md-table-container>
258   <md-table-pagination
259     md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
260     md-limit="vm_dc.query.limit"
261     md-limit-options="[10, 15, 20, 50, 100, 250]"
262     md-page="vm_dc.query.page"
263     md-total="{{ vm_dc.triggerAnyConditions.count }}"
264     md-on-paginate="vm_dc.getTriggerAnyConditions"
265     md-page-select
266   >
267   </md-table-pagination>
268 </div>