1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
ng.module('smart-table')
.directive('stPipe', ['stConfig', '$timeout', function (config, $timeout) {
return {
require: 'stTable',
scope: {
stPipe: '='
},
link: {
pre: function (scope, element, attrs, ctrl) {
var pipePromise = null;
if (ng.isFunction(scope.stPipe)) {
ctrl.preventPipeOnWatch();
ctrl.pipe = function () {
if (pipePromise !== null) {
$timeout.cancel(pipePromise)
}
pipePromise = $timeout(function () {
scope.stPipe(ctrl.tableState(), ctrl);
}, config.pipe.delay);
return pipePromise;
}
}
},
post: function (scope, element, attrs, ctrl) {
ctrl.pipe();
}
}
};
}]);
|