0.0.6 | Built motion from commit ffa9431.
[motion.git] / public / assets / plugins / angular-elastic-builder / 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               , item = scope.item;
33
34             scope.getGroupClassName = function() {
35               var level = depth;
36               if (item.type === 'group') level++;
37
38               return groupClassHelper(level);
39             };
40           });
41         }
42       };
43     }
44
45   ]);
46
47 })(window.angular);