- <fieldset ng-if="availableParams.orderBy" ng-mouseenter="help('orderBy', availableParams.orderBy)" ng-mouseleave="help()">
- <legend>orderBy<span class="crm-marker" ng-if="availableParams.orderBy.required"> *</span></legend>
- <div class="api4-input form-inline" ng-repeat="clause in params.orderBy">
- <input class="collapsible-optgroups form-control" ng-model="clause[0]" crm-ui-select="{data: fieldsAndJoins, allowClear: true, placeholder: 'Field'}" />
- <select class="form-control" ng-model="clause[1]">
- <option value="ASC">ASC</option>
- <option value="DESC">DESC</option>
- </select>
+ <fieldset ng-if="::availableParams.groupBy" ng-mouseenter="help('groupBy', availableParams.groupBy)" ng-mouseleave="help()">
+ <legend>groupBy<span class="crm-marker" ng-if="::availableParams.groupBy.required"> *</span></legend>
+ <div ng-model="params.groupBy" ui-sortable="{axis: 'y'}">
+ <div class="api4-input form-inline" ng-repeat="item in params.groupBy track by $index">
+ <i class="crm-i fa-arrows"></i>
+ <input class="form-control huge" type="text" ng-model="params.groupBy[$index]" />
+ <a href class="crm-hover-button" title="Clear" ng-click="clearParam('groupBy', $index)"><i class="crm-i fa-times"></i></a>
+ </div>
+ </div>
+ <div class="api4-input form-inline">
+ <input class="collapsible-optgroups form-control huge" ng-model="controls.groupBy" crm-ui-select="{data: fieldsAndJoinsAndFunctions}" placeholder="Add groupBy" />
+ </div>
+ </fieldset>
+ <fieldset ng-if="::availableParams.having" class="api4-clause-fieldset" ng-mouseenter="help('having', availableParams.having)" ng-mouseleave="help()" crm-api4-clause="{type: 'having', clauses: params.having, required: availableParams.having.required, op: 'AND', label: 'having', fields: havingOptions}">
+ </fieldset>
+ <fieldset ng-if="::availableParams.orderBy" ng-mouseenter="help('orderBy', availableParams.orderBy)" ng-mouseleave="help()">
+ <legend>orderBy<span class="crm-marker" ng-if="::availableParams.orderBy.required"> *</span></legend>
+ <div ng-model="params.orderBy" ui-sortable="{axis: 'y'}">
+ <div class="api4-input form-inline" ng-repeat="clause in params.orderBy">
+ <i class="crm-i fa-arrows"></i>
+ <input class="form-control huge" type="text" ng-model="clause[0]" />
+ <select class="form-control" ng-model="clause[1]">
+ <option value="ASC">ASC</option>
+ <option value="DESC">DESC</option>
+ </select>
+ <a href class="crm-hover-button" title="Clear" ng-click="clearParam('orderBy', $index)"><i class="crm-i fa-times"></i></a>
+ </div>