!function(n,t){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(n){return t(n)}):t(n)}(window.angular||null,function(n){"use strict";return function(){n.module("ngTable",[])}(),function(){n.module("ngTable").value("ngTableDefaults",{params:{},settings:{}})}(),function(){function t(t){function r(t,i){var e=t.charAt(0).toUpperCase()+t.substring(1),r={};return r["on"+e]=u(t),r["publish"+e]=f(t),n.extend(i,r)}function u(i){return function(r){var u=n.identity,f=t,o;return(2===arguments.length?n.isFunction(arguments[1].$new)?f=arguments[1]:u=arguments[1]:arguments.length>2&&(f=arguments[1],u=arguments[2]),n.isObject(u))&&(o=u,u=function(n){return n===o}),f.$on("ngTable:"+i,function(n,t){if(!t.isNullInstance){var f=e(arguments,2),i=[t].concat(f);u.apply(this,i)&&r.apply(this,i)}})}}function f(n){return function(){var i=["ngTable:"+n].concat(Array.prototype.slice.call(arguments));t.$broadcast.apply(t,i)}}function e(n,t){return Array.prototype.slice.call(n,null==t?1:t)}var i={};return i=r("afterCreated",i),i=r("afterReloadData",i),i=r("datasetChanged",i),i=r("pagesChanged",i)}n.module("ngTable").factory("ngTableEventsChannel",t);t.$inject=["$rootScope"]}(),function(){function t(){function u(){i()}function i(){t=e}function f(i){var r=n.extend({},t,i);r.aliasUrls=n.extend({},t.aliasUrls,i.aliasUrls);t=r}function r(){function u(t,i){return n.isObject(t)&&(t=t.id),-1!==t.indexOf("/")?t:r.getUrlForAlias(t,i)}function f(n){return t.aliasUrls[n]||t.defaultBaseUrl+n+t.defaultExt}var i,r={config:i,getTemplateUrl:u,getUrlForAlias:f};return Object.defineProperty(r,"config",{get:function(){return i=i||n.copy(t)},enumerable:!0}),r}var t,e={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=r;this.resetConfigs=i;this.setConfig=f;u();r.$inject=[]}n.module("ngTable").provider("ngTableFilterConfig",t);t.$inject=[]}(),function(){function t(){function i(i){function u(r){var u=r.settings().filterOptions;return n.isFunction(u.filterFn)?u.filterFn:i(u.filterFilterName||t.filterFilterName)}function f(){return i(t.sortingFilterName)}function o(n,t){if(!t.hasFilter())return n;var i=t.filter(!0),r=Object.keys(i),f=r.reduce(function(n,t){return h(n,i[t],t)},{}),e=u(t);return e.call(t,n,f,t.settings().filterOptions.filterComparator)}function e(n,t){var i=n.slice((t.page()-1)*t.count(),t.page()*t.count());return t.total(n.length),i}function s(n,t){var i=t.orderBy(),r=f(t);return i.length?r(n,i):n}function r(t,i){if(null==t)return[];var r=n.extend({},c,i.settings().dataOptions),u=r.applyFilter?o(t,i):t,f=r.applySort?s(u,i):u;return r.applyPaging?e(f,i):f}function h(n,t,i){var u=i.split("."),f=n,e=u[u.length-1],r=f,o=u.slice(0,u.length-1);return o.forEach(function(n){r.hasOwnProperty(n)||(r[n]={});r=r[n]}),r[e]=t,f}var c={applyFilter:!0,applySort:!0,applyPaging:!0};return r.applyPaging=e,r.getFilterFn=u,r.getOrderByFn=f,r}var t=this;t.$get=i;t.filterFilterName="filter";t.sortingFilterName="orderBy";i.$inject=["$filter"]}n.module("ngTable").provider("ngTableDefaultGetData",t);t.$inject=[]}(),function(){n.module("ngTable").factory("ngTableColumn",[function(){function r(t,r,f){var e=Object.create(t),s=u();for(var o in s)void 0===e[o]&&(e[o]=s[o]),n.isFunction(e[o])||!function(n){var r=function u(){return 1!==arguments.length||i(arguments[0])?t[n]:void u.assign(null,arguments[0])};r.assign=function(i,r){t[n]=r};e[n]=r}(o),function(u){var o=e[u];e[u]=function(){if(1!==arguments.length||i(arguments[0])){var s=arguments[0]||r,u=Object.create(s);return n.extend(u,{$column:e,$columns:f}),o.call(t,u)}o.assign(null,arguments[0])};o.assign&&(e[u].assign=o.assign)}(o);return e}function u(){return{"class":t(""),filter:t(!1),groupable:t(!1),filterData:n.noop,headerTemplateURL:t(!1),headerTitle:t(""),sortable:t(!1),show:t(!0),title:t(""),titleAlt:t("")}}function t(n){var t=n,r=function u(){return 1!==arguments.length||i(arguments[0])?t:void u.assign(null,arguments[0])};return r.assign=function(n,i){t=i},r}function i(t){return null!=t&&n.isFunction(t.$new)}return{buildColumn:r}}])}(),function(){n.module("ngTable").factory("NgTableParams",["$q","$log","$filter","ngTableDefaults","ngTableDefaultGetData","ngTableEventsChannel",function(t,i,r,u,f,e){var o=function(n){return!isNaN(parseFloat(n))&&isFinite(n)};return function(r,s){function tt(t){var i=c.groupOptions&&c.groupOptions.defaultSort,r,u;if(n.isFunction(t))return null==t.sortDirection&&(t.sortDirection=i),t;if(n.isString(t))return r={},r[t]=i,r;if(n.isObject(t)){for(u in t)null==t[u]&&(t[u]=i);return t}return t}function k(n){var t=[];for(var i in n)t.push(("asc"===n[i]?"+":"-")+i);return t}function w(){var t={params:h};return n.isFunction(h.group)&&(t.groupSortDirection=h.group.sortDirection),t}function d(){var t=h.filter&&h.filter.$,i=l&&l.params.filter&&l.params.filter.$;return!n.equals(t,i)}function it(){c.filterOptions.filterDelay===g.filterDelay&&c.total<=c.filterOptions.filterDelayThreshold&&c.getData===nt.getData&&(c.filterOptions.filterDelay=0)}function rt(n){var i=c.interceptors||[];return i.reduce(function(n,i){var r=i.response&&i.response.bind(i)||t.when,u=i.responseError&&i.responseError.bind(i)||t.reject;return n.then(function(n){return r(n,a)},function(n){return u(n,a)})},n)}function ut(){function r(n){return f(n.settings().dataset,n)}function u(r){var s,e=r.group(),o=void 0,h,u,c,l;return n.isFunction(e)?(s=e,o=e.sortDirection):(h=Object.keys(e)[0],o=e[h],s=function(n){return i(n,h)}),u=r.settings(),c=u.dataOptions,u.dataOptions={applyPaging:!1},l=t.when(u.getData(r)),l.then(function(t){var i={},e,h,c,l;n.forEach(t,function(n){var t=s(n);i[t]=i[t]||{data:[],$hideRows:!u.groupOptions.isExpanded,value:t};i[t].data.push(n)});e=[];for(h in i)e.push(i[h]);return o&&(c=f.getOrderByFn(),l=k({value:o}),e=c(e,l)),f.applyPaging(e,r)})["finally"](function(){u.dataOptions=c})}function i(n,t){return"string"==typeof t&&(t=t.split(".")),void 0===n?void 0:0===t.length?n:null===n?void 0:i(n[t[0]],t.slice(1))}return{getData:r,getGroups:u}}var h,c;"boolean"==typeof r&&(this.isNullInstance=!0);var l,v,a=this,y=!1,p=[],b=function(){c.debugMode&&i.debug&&i.debug.apply(i,arguments)},g={filterComparator:void 0,filterDelay:500,filterDelayThreshold:1e4,filterFilterName:void 0,filterFn:void 0,filterLayout:"stack"},nt=ut();return this.data=[],this.parameters=function(t,i){var r,f,c,e;if(i=i||!1,n.isDefined(t)){for(r in t)if(f=t[r],i&&r.indexOf("[")>=0){for(var l=r.split(/\[(.*)\]/).reverse(),u="",s=0,a=l.length;a>s;s++)c=l[s],""!==c&&(e=f,f={},f[u=c]=o(e)?parseFloat(e):e);"sorting"===u&&(h[u]={});h[u]=n.extend(h[u]||{},f[u])}else h[r]="group"===r?tt(t[r]):o(t[r])?parseFloat(t[r]):t[r];return b("ngTable: set parameters",h),this}return h},this.settings=function(t){var i,u,r;return n.isDefined(t)?(t.filterOptions&&(t.filterOptions=n.extend({},c.filterOptions,t.filterOptions)),t.groupOptions&&(t.groupOptions=n.extend({},c.groupOptions,t.groupOptions)),n.isArray(t.dataset)&&(t.total=t.dataset.length),i=c.dataset,c=n.extend(c,t),n.isArray(t.dataset)&&it(),u=t.hasOwnProperty("dataset")&&t.dataset!=i,u&&(y&&this.page(1),y=!1,r=function(){e.publishDatasetChanged(a,t.dataset,i)},p?p.push(r):r()),b("ngTable: set settings",c),this):c},this.page=function(t){return n.isDefined(t)?this.parameters({page:t}):h.page},this.total=function(t){return n.isDefined(t)?this.settings({total:t}):c.total},this.count=function(t){return n.isDefined(t)?this.parameters({count:t,page:1}):h.count},this.filter=function(t){var r;if(n.isDefined(t)&&n.isObject(t))return this.parameters({filter:t,page:1});if(t===!0){for(var u=Object.keys(h.filter),f={},i=0;i<u.length;i++)r=h.filter[u[i]],null!=r&&""!==r&&(f[u[i]]=r);return f}return h.filter},this.group=function(t,i){var r,u;return n.isDefined(t)?(r={page:1},n.isFunction(t)&&n.isDefined(i)?(t.sortDirection=i,r.group=t):n.isDefined(t)&&n.isDefined(i)?(u={},u[t]=i,r.group=u):r.group=t,this.parameters(r),this):h.group},this.sorting=function(t){if(2==arguments.length){var i={};return i[t]=arguments[1],this.parameters({sorting:i}),this}return n.isDefined(t)?this.parameters({sorting:t}):h.sorting},this.isSortBy=function(t,i){return void 0!==i?n.isDefined(h.sorting[t])&&h.sorting[t]==i:n.isDefined(h.sorting[t])},this.orderBy=function(){return k(h.sorting)},this.generatePagesArray=function(n,t,i,r){var s,h,e,f,o,u;if(arguments.length||(n=this.page(),t=this.total(),i=this.count()),r=r&&6>r?6:r,o=[],f=Math.ceil(t/i),f>1){for(o.push({type:"prev",number:Math.max(1,n-1),active:n>1}),o.push({type:"first",number:1,active:n>1,current:1===n}),h=Math.round((c.paginationMaxBlocks-c.paginationMinBlocks)/2),e=Math.max(2,n-h),s=Math.min(f-1,n+2*h-(n-e)),e=Math.max(2,e-(2*h-(s-e))),u=e;s>=u;)o.push(u===e&&2!==u||u===s&&u!==f-1?{type:"more",active:!1}:{type:"page",number:u,active:n!==u,current:n===u}),u++;o.push({type:"last",number:f,active:n!==f,current:n===f});o.push({type:"next",number:Math.min(f,n+1),active:f>n})}return o},this.isDataReloadRequired=function(){return!y||!n.equals(w(),l)||d()},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasGroup=function(t,i){return null==t?n.isFunction(h.group)||Object.keys(h.group).length>0:n.isFunction(t)?null==i?h.group===t:h.group===t&&t.sortDirection===i:null==i?-1!==Object.keys(h.group).indexOf(t):h.group[t]===i},this.hasFilterChanges=function(){var t=l&&l.params.filter;return!n.equals(h.filter,t)||d()},this.url=function(t){function o(n,i){t?u.push(i+"="+encodeURIComponent(n)):u[i]=encodeURIComponent(n)}function s(t,i){return"group"===i?!0:n.isDefined(t)&&""!==t}var u,r,i,e,f,c;t=t||!1;u=t?[]:{};for(r in h)if(h.hasOwnProperty(r))if(i=h[r],e=encodeURIComponent(r),"object"==typeof i)for(f in i)s(i[f],r)&&(c=e+"["+encodeURIComponent(f)+"]",o(i[f],c));else!n.isFunction(i)&&s(i,r)&&o(i,e);return u},this.reload=function(){var i=this,r=null,u;return c.$loading=!0,l=n.copy(w()),y=!0,r=rt(i.hasGroup()?t.when(c.getGroups(i)):t.when(c.getData(i))),b("ngTable: reload data"),u=i.data,r.then(function(n){return c.$loading=!1,v=null,i.data=n,e.publishAfterReloadData(i,n,u),i.reloadPages(),n})["catch"](function(n){return v=l,t.reject(n)})},this.hasErrorState=function(){return!(!v||!n.equals(v,w()))},this.reloadPages=function(){var t;return function(){var r=t,i=a.generatePagesArray(a.page(),a.total(),a.count());n.equals(r,i)||(t=i,e.publishPagesChanged(this,i,r))}}(),h={page:1,count:10,filter:{},sorting:{},group:{}},n.extend(h,u.params),c={$loading:!1,dataset:null,total:0,defaultSort:"desc",filterOptions:n.copy(g),groupOptions:n.copy({defaultSort:"asc",isExpanded:!0}),counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span"},this.settings(nt),this.settings(u.settings),this.settings(s),this.parameters(r,!0),e.publishAfterCreated(this),n.forEach(p,function(n){n()}),p=null,this}}])}(),function(){n.module("ngTable").controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(t,i,r,u,f,e,o,s,h){function c(n){var i,r,u;n&&!t.params.hasErrorState()&&(t.params.settings().$scope=t,i=t.params,r=i.settings().filterOptions,i.hasFilterChanges()?(u=function(){i.page(1);i.reload()},r.filterDelay?b(u,r.filterDelay):u()):i.reload())}function l(){e.showFilter?t.$parent.$watch(e.showFilter,function(n){t.show_filter=n}):t.$watch(y,function(n){t.show_filter=n});e.disableFilter&&t.$parent.$watch(e.disableFilter,function(n){t.$filterRow.disabled=n})}function a(){if(t.$groupRow={},e.showGroup){var n=u(e.showGroup);t.$parent.$watch(n,function(n){t.$groupRow.show=n});n.assign&&t.$watch("$groupRow.show",function(i){n.assign(t.$parent,i)})}else t.$watch("params.hasGroup()",function(n){t.$groupRow.show=n})}function v(){return(t.$columns||[]).filter(function(n){return n.show(t)})}function y(){return t.$columns?p(t.$columns,function(n){return n.show(t)&&n.filter(t)}):!1}function p(n,t){for(var u,r=!1,i=0;i<n.length;i++)if(u=n[i],t(u)){r=!0;break}return r}function w(){function i(n,i){var r=v();n.hasGroup()?(t.$groups=i||[],t.$groups.visibleColumnCount=r.length):(t.$data=i||[],t.$data.visibleColumnCount=r.length)}function r(n,i){t.pages=i}function n(n){return t.params===n}h.onAfterReloadData(i,t,n);h.onPagesChanged(r,t,n)}t.$filterRow={};t.$loading=!1;t.hasOwnProperty("params")||(t.params=new i(!0));t.params.settings().$scope=t;var b=function(){var n=0;return function(t,i){r.cancel(n);n=r(t,i)}}();t.$watch("params",function(n,t){n!==t&&n&&n.reload()},!1);t.$watch("params.isDataReloadRequired()",c);this.compileDirectiveTemplates=function(){var i,r,u;o.hasClass("ng-table")||(t.templates={header:e.templateHeader?e.templateHeader:"ng-table/header.html",pagination:e.templatePagination?e.templatePagination:"ng-table/pager.html"},o.addClass("ng-table"),i=null,r=!1,n.forEach(o.children(),function(n){"THEAD"===n.tagName&&(r=!0)}),r||(i=n.element(document.createElement("thead")).attr("ng-include","templates.header"),o.prepend(i)),u=n.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"}),o.after(u),i&&f(i)(t),f(u)(t))};this.loadFilterData=function(i){n.forEach(i,function(i){var r,u;return(r=i.filterData(t),!r)?void delete i.filterData:n.isObject(r)&&(n.isObject(r.promise)||n.isFunction(r.then))?(u=n.isFunction(r.then)?r:r.promise,delete i.filterData,u.then(function(t){n.isArray(t)||n.isFunction(t)||n.isObject(t)||(t=[]);i.data=t})):i.data=r})};this.buildColumns=function(n){var i=[];return(n||[]).forEach(function(n){i.push(s.buildColumn(n,t,i))}),i};this.parseNgTableDynamicExpr=function(n){if(!n||n.indexOf(" with ")>-1){var t=n.split(/\s+with\s+/);return{tableParams:t[0],columns:t[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')");};this.setupBindingsToInternalScope=function(i){var r=u(i);t.$watch(r,function(i){n.isUndefined(i)||(t.paramsModel=r,t.params=i)},!1);l();a()};w()}])}(),function(){n.module("ngTable").directive("ngTable",["$q","$parse",function(t,i){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(t){var u,e,r=[],o=0,f=[];return n.forEach(t.find("tr"),function(t){f.push(n.element(t))}),u=f.filter(function(n){return!n.hasClass("ng-table-group")})[0],e=f.filter(function(n){return n.hasClass("ng-table-group")})[0],u?(n.forEach(u.find("td"),function(t){var u=n.element(t);if(!u.attr("ignore-cell")||"true"!==u.attr("ignore-cell")){var s=function(n){return u.attr("x-data-"+n)||u.attr("data-"+n)||u.attr(n)},c=function(n,t){u.attr("x-data-"+n)?u.attr("x-data-"+n,t):u.attr("data"+n)?u.attr("data"+n,t):u.attr(n,t)},f=function(n){var t=s(n),r,u;if(t)return u=function(n){return void 0!==r?r:i(t)(n)},u.assign=function(n,u){var f=i(t);f.assign?f.assign(n.$parent,u):r=u},u},h=s("title-alt")||s("title");h&&u.attr("data-title-text","{{"+h+"}}");r.push({id:o++,title:f("title"),titleAlt:f("title-alt"),headerTitle:f("header-title"),sortable:f("sortable"),"class":f("header-class"),filter:f("filter"),groupable:f("groupable"),headerTemplateURL:f("header"),filterData:f("filter-data"),show:u.attr("ng-if")?f("ng-if"):void 0});(e||u.attr("ng-if"))&&c("ng-if","$columns["+(r.length-1)+"].show(this)")}}),function(n,t,i,u){n.$columns=r=u.buildColumns(r);u.setupBindingsToInternalScope(i.ngTable);u.loadFilterData(r);u.compileDirectiveTemplates()}):void 0}}}])}(),function(){n.module("ngTable").directive("ngTableDynamic",[function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(t){var i;return n.forEach(t.find("tr"),function(t){t=n.element(t);t.hasClass("ng-table-group")||i||(i=t)}),i?(n.forEach(i.find("td"),function(t){var i=n.element(t),u=function(n){return i.attr("x-data-"+n)||i.attr("data-"+n)||i.attr(n)},f=u("title"),r;f||i.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");r=i.attr("ng-if");r||i.attr("ng-if","$columns[$index].show(this)")}),function(n,t,i,r){var u=r.parseNgTableDynamicExpr(i.ngTableDynamic);r.setupBindingsToInternalScope(u.tableParams);r.compileDirectiveTemplates();n.$watchCollection(u.columns,function(t){n.$columns=r.buildColumns(t);r.loadFilterData(n.$columns)})}):void 0}}}])}(),function(){function t(n){function t(t,i,r){var u=n(r.ngTableColumnsBinding).assign;u&&t.$watch("$columns",function(n){var i=(n||[]).slice(0);u(t,i)})}return{restrict:"A",require:"ngTable",link:t}}n.module("ngTable").directive("ngTableColumnsBinding",t);t.$inject=["$parse"]}(),function(){n.module("ngTable").directive("ngTablePagination",["$compile","ngTableEventsChannel",function(t,i){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(r,u){i.onAfterReloadData(function(n){r.pages=n.generatePagesArray()},r,function(n){return n===r.params});r.$watch("templateUrl",function(i){if(!n.isUndefined(i)){var f=n.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"});u.append(f);t(f)(r)}})}}}])}(),function(){function t(t,i){t.config=i;t.getFilterCellCss=function(n,t){if("horizontal"!==t)return"s12";var i=Object.keys(n).length,r=parseInt(12/i,10);return"s"+r};t.getFilterPlaceholderValue=function(t){return n.isObject(t)?t.placeholder:""}}n.module("ngTable").controller("ngTableFilterRowController",t);t.$inject=["$scope","ngTableFilterConfig"]}(),function(){function t(){return{restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"}}n.module("ngTable").directive("ngTableFilterRow",t);t.$inject=[]}(),function(){function t(t){function f(){t.getGroupables=s;t.getGroupTitle=o;t.getVisibleColumns=h;t.groupBy=c;t.isSelectedGroup=r;t.toggleDetail=a;t.$watch("params.group()",l,!0)}function e(){var n;n=t.params.hasGroup(t.$selGroup,"asc")?"desc":t.params.hasGroup(t.$selGroup,"desc")?"":"asc";t.params.group(t.$selGroup,n)}function i(n){return t.$columns.filter(function(i){return i.groupable(t)===n})[0]}function o(i){return n.isFunction(i)?i.title:i.title(t)}function s(){var n=t.$columns.filter(function(n){return n.groupable(t)});return u.concat(n)}function h(){return t.$columns.filter(function(n){return n.show(t)})}function c(n){r(n)?e():t.params.group(n.groupable?n.groupable(t):n)}function r(n){return n.groupable?n.groupable(t)===t.$selGroup:n===t.$selGroup}function l(r){var e=i(t.$selGroup),o,f;(e&&e.show.assign&&e.show.assign(t,!0),n.isFunction(r))?(u=[r],t.$selGroup=r,t.$selGroupTitle=r.title):(o=Object.keys(r||{})[0],f=i(o),f&&(t.$selGroupTitle=f.title(t),t.$selGroup=o,f.show.assign&&f.show.assign(t,!1)))}function a(){return t.params.settings().groupOptions.isExpanded=!t.params.settings().groupOptions.isExpanded,t.params.reload()}var u=[];f()}n.module("ngTable").controller("ngTableGroupRowController",t);t.$inject=["$scope"]}(),function(){function t(){return{restrict:"E",replace:!0,templateUrl:"ng-table/groupRow.html",scope:!0,controller:"ngTableGroupRowController",controllerAs:"dctrl"}}n.module("ngTable").directive("ngTableGroupRow",t);t.$inject=[]}(),function(){function t(n){function t(t,i){var r=t.sortable&&t.sortable();if(r){var u=n.params.settings().defaultSort,e="asc"===u?"desc":"asc",o=n.params.sorting()&&n.params.sorting()[r]&&n.params.sorting()[r]===u,f=i.ctrlKey||i.metaKey?n.params.sorting():{};f[r]=o?e:u;n.params.parameters({sorting:f})}}n.sortBy=t}n.module("ngTable").controller("ngTableSorterRowController",t);t.$inject=["$scope"]}(),function(){function t(){return{restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"}}n.module("ngTable").directive("ngTableSorterRow",t);t.$inject=[]}(),function(){function t(){return{restrict:"A",controller:i}}function i(t,i,r,u){function e(){f=i(r.ngTableSelectFilterDs)(t);t.$watch(function(){return f.data},o)}function o(){h(f).then(function(n){n&&!s(n)&&n.unshift({id:"",title:""});n=n||[];t.$selectData=n})}function s(n){for(var r,i,t=0;t<n.length;t++)if(i=n[t],i&&""===i.id){r=!0;break}return r}function h(t){var i=n.isFunction(t.data)?t.data():t.data;return u.when(i)}var f={};e()}n.module("ngTable").directive("ngTableSelectFilterDs",t);t.$inject=[];i.$inject=["$scope","$parse","$attrs","$q"]}(),n.module("ngTable").run(["$templateCache",function(n){n.put("ng-table/filterRow.html",'<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter {{$column.class(this)}}" ng-class="params.settings().filterOptions.filterLayout===\'horizontal\' ? \'filter-horizontal\' : \'\'"> <div ng-repeat="(name, filter) in $column.filter(this)" ng-include="config.getTemplateUrl(filter)" class="filter-cell" ng-class="[getFilterCellCss($column.filter(this), params.settings().filterOptions.filterLayout), $last ? \'last\' : \'\']"> <\/div> <\/th> <\/tr> ');n.put("ng-table/filters/number.html",'<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control" placeholder="{{getFilterPlaceholderValue(filter, name)}}"/> ');n.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> <\/select> ');n.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in $selectData" ng-table-select-filter-ds="$column" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""><\/option> <\/select> ');n.put("ng-table/filters/text.html",'<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control" placeholder="{{getFilterPlaceholderValue(filter, name)}}"/> ');n.put("ng-table/groupRow.html",'<tr ng-if="params.hasGroup()" ng-show="$groupRow.show" class="ng-table-group-header"> <th colspan="{{getVisibleColumns().length}}" class="sortable" ng-class="{ \'sort-asc\': params.hasGroup($selGroup, \'asc\'), \'sort-desc\':params.hasGroup($selGroup, \'desc\') }"> <a href="" ng-click="isSelectorOpen=!isSelectorOpen" class="ng-table-group-selector"> <strong class="sort-indicator">{{$selGroupTitle}}<\/strong> <button class="btn btn-default btn-xs ng-table-group-close" ng-click="$groupRow.show=false; $event.preventDefault(); $event.stopPropagation();"> <span class="glyphicon glyphicon-remove"><\/span> <\/button> <button class="btn btn-default btn-xs ng-table-group-toggle" ng-click="toggleDetail(); $event.preventDefault(); $event.stopPropagation();"> <span class="glyphicon" ng-class="{ \'glyphicon-resize-small\': params.settings().groupOptions.isExpanded, \'glyphicon-resize-full\': !params.settings().groupOptions.isExpanded }"><\/span> <\/button> <\/a> <div class="list-group" ng-if="isSelectorOpen"> <a href="" class="list-group-item" ng-repeat="group in getGroupables()" ng-click="groupBy(group)"> <strong>{{ getGroupTitle(group)}}<\/strong> <strong ng-class="isSelectedGroup(group) && \'sort-indicator\'"><\/strong> <\/a> <\/div> <\/th> <\/tr> ');n.put("ng-table/header.html","<ng-table-group-row><\/ng-table-group-row> <ng-table-sorter-row><\/ng-table-sorter-row> <ng-table-filter-row><\/ng-table-filter-row> ");n.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"><\/span> <\/button> <\/div> <ul ng-if="pages.length" class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;<\/a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;<\/a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;<\/a> <\/li> <\/ul> <\/div> ');n.put("ng-table/sorterRow.html",'<tr class="ng-table-sort-header"> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"><\/span> <\/div> <div ng-if="template" ng-include="template"><\/div> <\/th> <\/tr> ')}]),n.module("ngTable")})