--- /dev/null
+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();
+ }
+ }
+ };
+ }]);