Merge pull request #19017 from eileenmcnaughton/remove_recur
[civicrm-core.git] / ang / api4Explorer / Clause.html
CommitLineData
9b057f1e
CW
1<legend>
2 {{ $ctrl.label || ts('%1 group', {1: $ctrl.conjunctions[$ctrl.op]}) }}
3 <span class="crm-marker" ng-if=":: $ctrl.isRequired"> *</span>
4</legend>
5<div class="btn-group btn-group-xs" ng-if=":: $ctrl.hasParent">
6 <button class="btn btn-danger-outline" ng-click="$ctrl.deleteGroup()" title="{{:: ts('Remove group') }}">
13a3d214 7 <i class="crm-i fa-trash" aria-hidden="true"></i>
19b53e5b
C
8 </button>
9</div>
9b057f1e
CW
10<div class="api4-clause-group-sortable" ng-model="$ctrl.clauses" ui-sortable="$ctrl.sortOptions">
11 <div class="api4-input form-inline clearfix" ng-repeat="(index, clause) in $ctrl.clauses" ng-class="{hiddenElement: index &lt; ($ctrl.skip || 0)}">
12 <div ng-if="index &gt;= ($ctrl.skip || 0)">
af6f5ac8
CW
13 <div class="api4-clause-badge" title="{{:: ts('Drag to reposition') }}">
14 <span class="badge badge-info">
9b057f1e
CW
15 <span ng-if="index === ($ctrl.skip || 0) && !$ctrl.hasParent">{{ $ctrl.label }}</span>
16 <span ng-if="index &gt; ($ctrl.skip || 0) || $ctrl.hasParent">{{ $ctrl.conjunctions[$ctrl.op] }}</span>
af6f5ac8
CW
17 <i class="crm-i fa-arrows" aria-hidden="true"></i>
18 </span>
19 </div>
20 <div ng-if="!$ctrl.conjunctions[clause[0]]" class="api4-input-group">
475029f6
CW
21 <input class="collapsible-optgroups form-control" ng-model="clause[0]" crm-ui-select="{data: $ctrl.fields, allowClear: true, placeholder: 'Field'}" ng-change="$ctrl.changeClauseField(clause, index)" />
22 <select class="form-control api4-operator" ng-model="clause[1]" ng-options="o for o in $ctrl.operators" ng-change="$ctrl.changeClauseOperator(clause)" ></select>
9b057f1e 23 <input class="form-control" ng-model="clause[2]" api4-exp-value="{field: clause[0], op: clause[1], format: $ctrl.format}" />
af6f5ac8 24 </div>
9b057f1e
CW
25 <fieldset class="clearfix" ng-if="$ctrl.conjunctions[clause[0]]">
26 <crm-api4-clause clauses="clause[1]" format="{{ $ctrl.format }}" op="{{ clause[0] }}" fields="$ctrl.fields" delete-group="$ctrl.deleteRow(index)" ></crm-api4-clause>
af6f5ac8 27 </fieldset>
19b53e5b 28 </div>
19b53e5b
C
29 </div>
30</div>
31<div class="api4-input form-inline">
32 <div class="api4-clause-badge">
9b057f1e 33 <div class="btn-group btn-group-xs" title="{{ $ctrl.hasParent ? ts('Add a subgroup of clauses') : ts('Add a group of clauses') }}">
19b53e5b 34 <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
9b057f1e 35 {{ $ctrl.conjunctions[$ctrl.op] }} <span class="caret"></span>
19b53e5b
C
36 </button>
37 <ul class="dropdown-menu api4-add-where-group-menu">
9b057f1e 38 <li ng-repeat="(con, label) in $ctrl.conjunctions" ng-show="$ctrl.op !== con">
af6f5ac8 39 <a href ng-click="$ctrl.addGroup(con)">{{ label }}</a>
19b53e5b
C
40 </li>
41 </ul>
42 </div>
43 </div>
9b057f1e 44 <input class="collapsible-optgroups form-control" ng-model="$ctrl.newClause" ng-change="$ctrl.addClause()" title="Add a single clause" crm-ui-select="{data: $ctrl.fields, placeholder: 'Add clause'}" />
6ba6f2bd 45</div>