Built motion from commit f861bcb808219e66da88ba48b61bddb35224a65e. Version 3.0.0...
[motion-next.git] / public / app / main / apps / analytics / views / reports / edit / condition / group.html
1 <md-card class="padding-horizontal-15 padding-top-15">
2   <div layout="row" ng-if="vm_rc.crudPermissions.canEdit">
3     <md-input-container class="md-block" flex>
4       <label translate="APP.OPERATOR">Operator</label>
5       <md-select ng-model="group.operator" required>
6         <md-option value="AND">AND</md-option>
7         <md-option value="OR">OR</md-option>
8       </md-select>
9       <div
10         ng-messages="conditionsForm.operator.$error"
11         ng-show="conditionsForm.operator.$touched"
12         role="alert"
13       >
14         <div ng-message="required">
15           <span translate="ANALYTICS.ERRORS.OPERATOR_REQUIRED"
16             >Operator field is required</span
17           >
18         </div>
19       </div>
20     </md-input-container>
21     <md-input-container class="md-block">
22       <md-button
23         class="md-raised md-accent"
24         ng-click="vm_rc.addCondition(group.rules)"
25       >
26         <md-icon md-font-icon="icon-plus"></md-icon> {{'ANALYTICS.CONDITIONS' |
27         translate}}
28       </md-button>
29     </md-input-container>
30     <md-input-container class="md-block">
31       <md-button
32         class="md-raised md-accent"
33         ng-click="vm_rc.addGroup(group.rules)"
34       >
35         <md-icon md-font-icon="icon-plus"></md-icon> {{'ANALYTICS.GROUP' |
36         translate}}
37       </md-button>
38     </md-input-container>
39     <div flex></div>
40     <md-input-container class="md-block" ng-if="parent">
41       <md-button
42         class="md-raised md-warn"
43         ng-click="vm_rc.deleteConfirm(parent, index, $event)"
44       >
45         <md-icon md-font-icon="icon-delete"></md-icon> {{'ANALYTICS.GROUP' |
46         translate}}
47       </md-button>
48     </md-input-container>
49   </div>
50   <div layout="column" ng-repeat="rule in group.rules track by $index">
51     <div layout="row" ng-if="!rule.group">
52       <md-input-container class="md-block" flex>
53         <label translate="ANALYTICS.COLUMN">COLUMN</label>
54         <md-select
55           name="field"
56           ng-model="rule.field"
57           ng-disabled="!vm_rc.crudPermissions.canEdit"
58           required
59         >
60           <md-optgroup label="{{vm_rc.report.table}}">
61             <md-option
62               ng-repeat="column in vm_rc.columns"
63               value="{{vm_rc.report.table}}.{{column}}"
64               >{{column}}
65             </md-option>
66           </md-optgroup>
67           <md-optgroup
68             ng-if="vm_rc.report.joins"
69             ng-repeat="join in vm_rc.report.joins"
70             label="{{join.foreignTable}}"
71           >
72             <md-option
73               ng-repeat="field in join.foreignTableFields"
74               value="{{join.foreignTable}}.{{field}}"
75               >{{field}}
76             </md-option>
77           </md-optgroup>
78         </md-select>
79         <div
80           ng-messages="conditionsForm.field.$error"
81           ng-show="conditionsForm.field.$touched"
82           role="alert"
83         >
84           <div ng-message="required">
85             <span translate="ANALYTICS.ERRORS.COLUMN_REQUIRED"
86               >Column field is required</span
87             >
88           </div>
89         </div>
90       </md-input-container>
91       <md-input-container class="md-block" flex>
92         <label translate="APP.CONDITION">CONDITION</label>
93         <md-select
94           name="condition"
95           ng-model="rule.condition"
96           ng-disabled="!vm_rc.crudPermissions.canEdit"
97           required
98         >
99           <md-option
100             ng-repeat="condition in vm_rc.conditions"
101             ng-value="condition"
102             >{{condition}}</md-option
103           >
104         </md-select>
105         <div
106           ng-messages="conditionsForm.condition.$error"
107           ng-show="conditionsForm.condition.$touched"
108           role="alert"
109         >
110           <div ng-message="required">
111             <span translate="APP.ERRORS.CONDITION_REQUIRED"
112               >Condition field is required</span
113             >
114           </div>
115         </div>
116       </md-input-container>
117       <md-input-container
118         ng-if="vm_rc.isValueByCondition(rule.condition)"
119         class="md-block"
120         flex
121       >
122         <label translate="APP.VALUE">VALUE</label>
123         <input
124           type="text"
125           name="value"
126           ng-model="rule.value"
127           ng-disabled="!vm_rc.crudPermissions.canEdit"
128           required
129           md-autofocus
130         />
131         <div
132           ng-messages="conditionsForm.value.$error"
133           ng-show="conditionsForm.value.$touched"
134           role="alert"
135         >
136           <div ng-message="required">
137             <span translate="APP.ERRORS.VALUE_REQUIRED"
138               >Value field is required</span
139             >
140           </div>
141         </div>
142       </md-input-container>
143       <md-input-container
144         class="md-block"
145         ng-if="vm_rc.crudPermissions.canEdit"
146         flex
147       >
148         <md-button
149           class="md-fab md-mini md-warn"
150           aria-label="Delete row"
151           ng-click="vm_rc.deleteConfirm(group.rules, $index, $event)"
152         >
153           <md-icon md-font-icon="icon-delete"></md-icon>
154         </md-button>
155       </md-input-container>
156     </div>
157     <div
158       ng-if="rule.group"
159       ng-include="'app/main/apps/analytics/views/reports/edit/condition/group.html'"
160       ng-init="parent=group.rules;index=$index;group=rule.group"
161     ></div>
162   </div>
163 </md-card>