0.0.6 | Built motion from commit ffa9431.
[motion.git] / public / assets / plugins / angular-elastic-builder-back / src / directives / Chooser.js
1 /**
2  * angular-elastic-builder
3  *
4  * /src/directives/Chooser.js
5  *
6  * This file is to help recursively, to decide whether to show a group or rule
7  */
8
9 (function(angular) {
10   'use strict';
11
12   var app = angular.module('angular-elastic-builder');
13
14   app.directive('elasticBuilderChooser', [
15     'RecursionHelper',
16     'groupClassHelper',
17
18     function elasticBuilderChooser(RH, groupClassHelper) {
19
20       return {
21         scope: {
22           elasticFields: '=',
23           item: '=elasticBuilderChooser',
24           onRemove: '&',
25         },
26
27         templateUrl: 'angular-elastic-builder/ChooserDirective.html',
28
29         compile: function(element) {
30           return RH.compile(element, function(scope, el, attrs) {
31             var depth = scope.depth = (+attrs.depth);
32             var item = scope.item;
33
34             scope.getGroupClassName = function() {
35               var level = depth;
36               if (item.type === 'group') {
37                 level++;
38               }
39
40               return groupClassHelper(level);
41             };
42           });
43         }
44       };
45     }
46
47   ]);
48
49 })(window.angular);