Search ext: Reorganize into searchAdmin and searchActions modules
[civicrm-core.git] / ext / search / ang / searchActions / saveSmartGroup.directive.js
1 (function(angular, $, _) {
2 "use strict";
3
4 angular.module('searchActions').directive('saveSmartGroup', function() {
5 return {
6 bindToController: {
7 load: '<',
8 entity: '<',
9 params: '<'
10 },
11 controller: function ($scope, $element, dialogService) {
12 var ts = $scope.ts = CRM.ts(),
13 ctrl = this;
14
15 $scope.saveGroup = function () {
16 var model = {
17 title: '',
18 description: '',
19 visibility: 'User and User Admin Only',
20 group_type: [],
21 id: ctrl.load ? ctrl.load.id : null,
22 api_entity: ctrl.entity,
23 api_params: _.cloneDeep(angular.extend({}, ctrl.params, {version: 4}))
24 };
25 delete model.api_params.orderBy;
26 if (ctrl.load && ctrl.load.api_params && ctrl.load.api_params.select && ctrl.load.api_params.select[0]) {
27 model.api_params.select.unshift(ctrl.load.api_params.select[0]);
28 }
29 var options = CRM.utils.adjustDialogDefaults({
30 autoOpen: false,
31 title: ts('Save smart group')
32 });
33 dialogService.open('saveSearchDialog', '~/searchActions/saveSmartGroup.html', model, options)
34 .then(function () {
35 if (ctrl.load) {
36 ctrl.load.saved = true;
37 }
38 });
39 };
40 }
41 };
42 });
43
44 })(angular, CRM.$, CRM._);