/**
* @version 2.1.9
* @license MIT
*/
!function(t,e){"use strict";t.module("smart-table",[]).run(["$templateCache",function(t){t.put("template/smart-table/pagination.html",'')}]),t.module("smart-table").constant("stConfig",{pagination:{template:"template/smart-table/pagination.html",itemsByPage:10,displayedPages:5},search:{delay:400,inputEvent:"input"},select:{mode:"single",selectedClass:"st-selected"},sort:{ascentClass:"st-sort-ascent",descentClass:"st-sort-descent",descendingFirst:!1,skipNatural:!1,delay:300},pipe:{delay:100}}),t.module("smart-table").controller("stTableController",["$scope","$parse","$filter","$attrs",function(e,a,n,s){function i(t){return t?[].concat(t):[]}function r(){h=i(c(e)),!0===v&&P.pipe()}function l(t,e){if(-1!=e.indexOf(".")){var n=e.split("."),s=n.pop(),i=n.join("."),r=a(i)(t);delete r[s],0==Object.keys(r).length&&l(t,i)}else delete t[e]}var c,o,u,p=s.stTable,g=a(p),d=g.assign,f=n("orderBy"),m=n("filter"),h=i(g(e)),b={sort:{},search:{},pagination:{start:0,totalItemCount:0}},v=!0,P=this;s.stSafeSrc&&(c=a(s.stSafeSrc),e.$watch(function(){var t=c(e);return t&&t.length?t[0]:void 0},function(t,e){t!==e&&r()}),e.$watch(function(){var t=c(e);return t?t.length:0},function(t,e){t!==h.length&&r()}),e.$watch(function(){return c(e)},function(t,e){t!==e&&(b.pagination.start=0,r())})),this.sortBy=function(e,a){return b.sort.predicate=e,b.sort.reverse=!0===a,t.isFunction(e)?b.sort.functionName=e.name:delete b.sort.functionName,b.pagination.start=0,this.pipe()},this.search=function(e,n,s){var i=b.search.predicateObject||{},r=n||"$";return e=t.isString(e)?e.trim():e,a(r).assign(i,e),e||l(i,r),b.search.predicateObject=i,b.pagination.start=0,this.pipe()},this.pipe=function(){var t,a=b.pagination;o=b.search.predicateObject?m(h,b.search.predicateObject):h,b.sort.predicate&&(o=f(o,b.sort.predicate,b.sort.reverse)),a.totalItemCount=o.length,void 0!==a.number&&(a.numberOfPages=o.length>0?Math.ceil(o.length/a.number):1,a.start=a.start>=o.length?(a.numberOfPages-1)*a.number:a.start,t=o.slice(a.start,a.start+parseInt(a.number))),d(e,t||o)},this.select=function(t,a){var n=i(g(e)),s=n.indexOf(t);-1!==s&&("single"===a?(t.isSelected=!0!==t.isSelected,u&&(u.isSelected=!1),u=!0===t.isSelected?t:void 0):n[s].isSelected=!n[s].isSelected)},this.slice=function(t,e){return b.pagination.start=t,b.pagination.number=e,this.pipe()},this.tableState=function(){return b},this.getFilteredCollection=function(){return o||h},this.setFilterFunction=function(t){m=n(t)},this.setSortFunction=function(t){f=n(t)},this.preventPipeOnWatch=function(){v=!1}}]).directive("stTable",function(){return{restrict:"A",controller:"stTableController",link:function(t,e,a,n){a.stSetFilter&&n.setFilterFunction(a.stSetFilter),a.stSetSort&&n.setSortFunction(a.stSetSort)}}}),t.module("smart-table").directive("stSearch",["stConfig","$timeout","$parse",function(t,e,a){return{require:"^stTable",link:function(n,s,i,r){var l=r,c=null,o=i.stDelay||t.search.delay,u=i.stInputEvent||t.search.inputEvent;i.$observe("stSearch",function(t,e){var a=s[0].value;t!==e&&a&&(r.tableState().search={},l.search(a,t))}),n.$watch(function(){return r.tableState().search},function(t,e){var n=i.stSearch||"$";t.predicateObject&&a(n)(t.predicateObject)!==s[0].value&&(s[0].value=a(n)(t.predicateObject)||"")},!0),s.bind(u,function(t){t=t.originalEvent||t,null!==c&&e.cancel(c),c=e(function(){l.search(t.target.value,i.stSearch||""),c=null},o)})}}}]),t.module("smart-table").directive("stSelectRow",["stConfig",function(t){return{restrict:"A",require:"^stTable",scope:{row:"=stSelectRow"},link:function(e,a,n,s){var i=n.stSelectMode||t.select.mode;a.bind("click",function(){e.$apply(function(){s.select(e.row,i)})}),e.$watch("row.isSelected",function(e){!0===e?a.addClass(t.select.selectedClass):a.removeClass(t.select.selectedClass)})}}}]),t.module("smart-table").directive("stSort",["stConfig","$parse","$timeout",function(e,a,n){return{restrict:"A",require:"^stTable",link:function(s,i,r,l){function c(){b?g=0===g?2:g-1:g++;var e;u=t.isFunction(p(s))||t.isArray(p(s))?p(s):r.stSort,g%3==0&&!0!=!!h?(g=0,l.tableState().sort={},l.tableState().pagination.start=0,e=l.pipe.bind(l)):e=l.sortBy.bind(l,u,g%2==0),null!==v&&n.cancel(v),P<0?e():v=n(function(){e()},P)}var o,u=r.stSort,p=a(u),g=0,d=r.stClassAscent||e.sort.ascentClass,f=r.stClassDescent||e.sort.descentClass,m=[d,f],h=void 0!==r.stSkipNatural?r.stSkipNatural:e.sort.skipNatural,b=void 0!==r.stDescendingFirst?r.stDescendingFirst:e.sort.descendingFirst,v=null,P=r.stDelay||e.sort.delay;r.stSortDefault&&(o=void 0!==s.$eval(r.stSortDefault)?s.$eval(r.stSortDefault):r.stSortDefault),i.bind("click",function(){u&&s.$apply(c)}),o&&(g="reverse"===o?1:0,c()),s.$watch(function(){return l.tableState().sort},function(t){t.predicate!==u?(g=0,i.removeClass(d).removeClass(f)):(g=!0===t.reverse?2:1,i.removeClass(m[g%2]).addClass(m[g-1]))},!0)}}}]),t.module("smart-table").directive("stPagination",["stConfig",function(t){return{restrict:"EA",require:"^stTable",scope:{stItemsByPage:"=?",stDisplayedPages:"=?",stPageChange:"&"},templateUrl:function(e,a){return a.stTemplate?a.stTemplate:t.pagination.template},link:function(e,a,n,s){function i(){var t,a,n=s.tableState().pagination,i=1,r=e.currentPage;for(e.totalItemCount=n.totalItemCount,e.currentPage=Math.floor(n.start/n.number)+1,(t=(i=Math.max(i,e.currentPage-Math.abs(Math.floor(e.stDisplayedPages/2))))+e.stDisplayedPages)>n.numberOfPages&&(t=n.numberOfPages+1,i=Math.max(1,t-e.stDisplayedPages)),e.pages=[],e.numPages=n.numberOfPages,a=i;a0&&t<=e.numPages&&s.slice((t-1)*e.stItemsByPage,e.stItemsByPage)},s.tableState().pagination.number||s.slice(0,e.stItemsByPage)}}}]),t.module("smart-table").directive("stPipe",["stConfig","$timeout",function(e,a){return{require:"stTable",scope:{stPipe:"="},link:{pre:function(n,s,i,r){var l=null;t.isFunction(n.stPipe)&&(r.preventPipeOnWatch(),r.pipe=function(){return null!==l&&a.cancel(l),l=a(function(){n.stPipe(r.tableState(),r)},e.pipe.delay)})},post:function(t,e,a,n){n.pipe()}}}}])}(angular);
//# sourceMappingURL=smart-table.min.js.map