UNPKG

36.8 kBJavaScriptView Raw
1!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("angular")):"function"==typeof define&&define.amd?define(["angular"],e):"object"==typeof exports?exports["ng-table"]=e(require("angular")):t["ng-table"]=e(t.angular)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return t[r].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=51)}([function(e,n){e.exports=t},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}var a=n(0),i=n(3),s=n(37),o=n(7),l=n(10),u=n(9),c=n(8),p=a.module("ngTable-core",[]).provider("ngTableDefaultGetData",i.NgTableDefaultGetDataProvider).factory("ngTableDefaultGetGroups",s.ngTableDefaultGetGroups).value("ngTableDefaults",o.ngTableDefaults).service("ngTableEventsChannel",c.NgTableEventsChannel).service("ngTableSettings",l.NgTableSettings).run(u.NgTableParams.init);e.ngTableCoreModule=p,p.value("NgTableParams",u.NgTableParams);var g=n(7);e.IDefaults=g.IDefaults,r(n(8));var f=n(10);e.ISettings=f.ISettings,r(n(9)),r(n(3)),r(n(36)),r(n(39)),r(n(40)),r(n(41))},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}var a=n(0),i=n(13),s=n(14),o=n(15),l=n(16);e.NgTableController=l.NgTableController;var u=n(17),c=n(18);e.NgTableFilterConfigProvider=c.NgTableFilterConfigProvider,e.NgTableFilterConfig=c.NgTableFilterConfig;var p=n(19),g=n(20),f=n(21),h=n(22),m=n(23),d=n(24),b=n(25),v=n(26);n(43),n(45),n(44),n(46),n(49),n(48);var $=a.module("ngTable-browser",[]).directive("ngTable",i.ngTable).service("ngTableColumn",s.NgTableColumn).directive("ngTableColumnsBinding",o.ngTableColumnsBinding).controller("ngTableController",l.NgTableController).directive("ngTableDynamic",u.ngTableDynamic).provider("ngTableFilterConfig",c.NgTableFilterConfigProvider).directive("ngTableFilterRow",p.ngTableFilterRow).controller("ngTableFilterRowController",g.NgTableFilterRowController).directive("ngTableGroupRow",f.ngTableGroupRow).controller("ngTableGroupRowController",h.NgTableGroupRowController).directive("ngTablePagination",m.ngTablePagination).directive("ngTableSelectFilterDs",d.ngTableSelectFilterDs).directive("ngTableSorterRow",b.ngTableSorterRow).controller("ngTableSorterRowController",v.NgTableSorterRowController);e.ngTableBrowserModule=$,r(n(27))},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}r(n(28)),r(n(29)),r(n(30)),r(n(31)),r(n(32))},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict";e.ngTableDefaults={params:{},settings:{}}},function(t,e,n){"use strict";var r=n(0),a=function(){function t(t){this.$rootScope=t;var e=this;e=this.addTableParamsEvent("afterCreated",e),e=this.addTableParamsEvent("afterReloadData",e),e=this.addTableParamsEvent("datasetChanged",e),e=this.addTableParamsEvent("pagesChanged",e),e=this.addTableParamsEvent("afterDataFiltered",e),e=this.addTableParamsEvent("afterDataSorted",e)}return t.prototype.addTableParamsEvent=function(t,e){var n=t.charAt(0).toUpperCase()+t.substring(1),a=(i={},i["on"+n]=this.createEventSubscriptionFn(t),i["publish"+n]=this.createPublishEventFn(t),i);return r.extend(e,a);var i},t.prototype.createPublishEventFn=function(t){var e=this;return function(){for(var n=[],r=0;r<arguments.length;r++)n[r-0]=arguments[r];(a=e.$rootScope).$broadcast.apply(a,["ngTable:"+t].concat(n));var a}},t.prototype.createEventSubscriptionFn=function(t){function e(t){return t?n(t)?t:function(e){return e===t}:function(t){return!0}}function n(t){return"function"==typeof t}function r(t){return t&&"function"==typeof t.$new}var a=this;return function(n,i,s){var o,l=a.$rootScope;return r(i)?(l=i,o=e(s)):o=e(i),l.$on("ngTable:"+t,function(t,e){for(var r=[],a=2;a<arguments.length;a++)r[a-2]=arguments[a];if(!e.isNullInstance){var i=[e].concat(r);o.apply(this,i)&&n.apply(this,i)}})}},t.$inject=["$rootScope"],t}();e.NgTableEventsChannel=a},function(t,e,n){"use strict";function r(t){return!isNaN(parseFloat(t))&&isFinite(t)}var a=n(0),i=n(11),s=function(){function t(e,n){var r=this;this.data=[],this.defaultSettings=t.ngTableSettings.createDefaults(),this.isCommittedDataset=!1,this.initialEvents=[],this._params={page:1,count:10,filter:{},sorting:{},group:{}},this._settings=this.defaultSettings,"boolean"==typeof e&&(this.isNullInstance=!0),this.reloadPages=function(){var e;return function(){var n=e,i=r.generatePagesArray(r.page(),r.total(),r.count());a.equals(n,i)||(e=i,t.ngTableEventsChannel.publishPagesChanged(r,i,n))}}(),a.extend(this._params,t.ngTableDefaults.params),this.settings(n),this.parameters(e,!0),t.ngTableEventsChannel.publishAfterCreated(this),a.forEach(this.initialEvents,function(t){t()}),this.initialEvents=null}return t.prototype.count=function(t){return void 0!==t?this.parameters({count:t,page:1}):this._params.count},t.prototype.filter=function(t){if(null!=t&&"object"==typeof t)return this.parameters({filter:t,page:1});if(t===!0){for(var e=Object.keys(this._params.filter),n={},r=0;r<e.length;r++){var a=this._params.filter[e[r]];null!=a&&""!==a&&(n[e[r]]=a)}return n}return this._params.filter},t.prototype.generatePagesArray=function(t,e,n,r){arguments.length||(t=this.page(),e=this.total(),n=this.count());var a,i,s,o;r=r&&r<6?6:r;var l=[];if(o=Math.ceil(e/n),o>1){l.push({type:"prev",number:Math.max(1,t-1),active:t>1}),l.push({type:"first",number:1,active:t>1,current:1===t}),i=Math.round((this._settings.paginationMaxBlocks-this._settings.paginationMinBlocks)/2),s=Math.max(2,t-i),a=Math.min(o-1,t+2*i-(t-s)),s=Math.max(2,s-(2*i-(a-s)));for(var u=s;u<=a;)u===s&&2!==u||u===a&&u!==o-1?l.push({type:"more",active:!1}):l.push({type:"page",number:u,active:t!==u,current:t===u}),u++;l.push({type:"last",number:o,active:t!==o,current:t===o}),l.push({type:"next",number:Math.min(o,t+1),active:t<o})}return l},t.prototype.group=function(t,e){if(void 0===t)return this._params.group;var n={page:1};return i.isGroupingFun(t)&&void 0!==e?(t.sortDirection=e,n.group=t):"string"==typeof t&&void 0!==e?n.group=(r={},r[t]=e,r):n.group=t,this.parameters(n),this;var r},t.prototype.hasErrorState=function(){return!(!this.errParamsMemento||!a.equals(this.errParamsMemento,this.createComparableParams()))},t.prototype.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},t.prototype.hasFilterChanges=function(){var t=this.prevParamsMemento&&this.prevParamsMemento.params.filter;return!a.equals(this._params.filter,t)||this.hasGlobalSearchFieldChanges()},t.prototype.hasGroup=function(t,e){return null==t?i.isGroupingFun(this._params.group)||Object.keys(this._params.group).length>0:i.isGroupingFun(t)?null==e?this._params.group===t:this._params.group===t&&t.sortDirection===e:null==e?Object.keys(this._params.group).indexOf(t)!==-1:this._params.group[t]===e},t.prototype.isDataReloadRequired=function(){return!this.isCommittedDataset||!a.equals(this.createComparableParams(),this.prevParamsMemento)||this.hasGlobalSearchFieldChanges()},t.prototype.isSortBy=function(t,e){return void 0!==e?void 0!==this._params.sorting[t]&&this._params.sorting[t]==e:void 0!==this._params.sorting[t]},t.prototype.orderBy=function(){return i.convertSortToOrderBy(this._params.sorting)},t.prototype.page=function(t){return void 0!==t?this.parameters({page:t}):this._params.page},t.prototype.parameters=function(t,e){if(e=e||!1,void 0!==typeof t){for(var n in t){var i=t[n];if(e&&n.indexOf("[")>=0){for(var s=n.split(/\[(.*)\]/).reverse(),o="",l=0,u=s.length;l<u;l++){var c=s[l];if(""!==c){var p=i;i={},i[o=c]=r(p)?parseFloat(p):p}}"sorting"===o&&(this._params[o]={}),this._params[o]=a.extend(this._params[o]||{},i[o])}else"group"===n?this._params[n]=this.parseGroup(t[n]):this._params[n]=r(t[n])?parseFloat(t[n]):t[n]}return this.log("ngTable: set parameters",this._params),this}return this._params},t.prototype.reload=function(){var e=this,n=null;if(this._settings.$loading=!0,this.prevParamsMemento=a.copy(this.createComparableParams()),this.isCommittedDataset=!0,this.hasGroup())n=this.runInterceptorPipeline(t.$q.when(this._settings.getGroups(this)));else{var r=this._settings.getData;n=this.runInterceptorPipeline(t.$q.when(r(this)))}this.log("ngTable: reload data");var i=this.data;return n.then(function(n){return e._settings.$loading=!1,e.errParamsMemento=null,e.data=n,t.ngTableEventsChannel.publishAfterReloadData(e,n,i),e.reloadPages(),n}).catch(function(n){return e.errParamsMemento=e.prevParamsMemento,t.$q.reject(n)})},t.prototype.settings=function(e){var n=this;if(a.isDefined(e)){var r=t.ngTableSettings.merge(this._settings,e),i=this._settings.dataset;this._settings=r;var s=e.hasOwnProperty("dataset")&&e.dataset!=i;if(s){this.isCommittedDataset&&this.page(1),this.isCommittedDataset=!1;var o=function(){t.ngTableEventsChannel.publishDatasetChanged(n,e.dataset,i)};this.initialEvents?this.initialEvents.push(o):o()}return this.log("ngTable: set settings",this._settings),this}return this._settings},t.prototype.sorting=function(t,e){return"string"==typeof t?(this.parameters({sorting:(n={},n[t]=e,n)}),this):void 0!==t?this.parameters({sorting:t}):this._params.sorting;var n},t.prototype.total=function(t){return void 0!==t?this.settings({total:t}):this._settings.total},t.prototype.url=function(t){function e(t,e){n(i)?i.push(e+"="+encodeURIComponent(t)):i[e]=encodeURIComponent(t)}function n(e){return t}function r(t,e){return"group"===e||void 0!==typeof t&&""!==t}t=t||!1;var i=t?[]:{};for(var s in this._params)if(this._params.hasOwnProperty(s)){var o=this._params[s],l=encodeURIComponent(s);if("object"==typeof o){for(var u in o)if(r(o[u],s)){var c=l+"["+encodeURIComponent(u)+"]";e(o[u],c)}}else!a.isFunction(o)&&r(o,s)&&e(o,l)}return i},t.prototype.createComparableParams=function(){var t=this._params.group;return{params:this._params,groupSortDirection:i.isGroupingFun(t)?t.sortDirection:void 0}},t.prototype.hasGlobalSearchFieldChanges=function(){var t=this._params.filter&&this._params.filter.$,e=this.prevParamsMemento&&this.prevParamsMemento.params.filter&&this.prevParamsMemento.params.filter.$;return!a.equals(t,e)},t.prototype.log=function(){for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];this._settings.debugMode&&t.$log.debug&&(r=t.$log).debug.apply(r,e);var r},t.prototype.parseGroup=function(t){var e=this._settings.groupOptions&&this._settings.groupOptions.defaultSort;if(t){if(i.isGroupingFun(t))return null==t.sortDirection&&(t.sortDirection=e),t;if("object"==typeof t){for(var n in t)null==t[n]&&(t[n]=e);return t}return r={},r[t]=e,r}return t;var r},t.prototype.runInterceptorPipeline=function(e){var n=this,r=this._settings.interceptors||[];return r.reduce(function(e,r){var a=r.response&&r.response.bind(r)||t.$q.when,i=r.responseError&&r.responseError.bind(r)||t.$q.reject;return e.then(function(t){return a(t,n)},function(t){return i(t,n)})},e)},t.init=function(e,n,r,a,i){t.$q=e,t.$log=n,t.ngTableDefaults=r,t.ngTableEventsChannel=a,t.ngTableSettings=i},t}();e.NgTableParams=s,s.init.$inject=["$q","$log","ngTableDefaults","ngTableEventsChannel","ngTableSettings"]},function(t,e,n){"use strict";var r=n(0),a=function(){function t(t,e,n){var r=this;this.ngTableDefaults=t,this.ngTableDefaultGetData=e,this.ngTableDefaultGetGroups=n,this.defaults={$loading:!1,dataset:null,total:0,defaultSort:"desc",counts:[10,25,50,100],filterOptions:{filterComparator:void 0,filterDelay:500,filterDelayThreshold:1e4,filterFilterName:void 0,filterFn:void 0,filterLayout:"stack"},getData:function(t){return r.ngTableDefaultGetData(t.settings().dataset,t)},getGroups:this.ngTableDefaultGetGroups,groupOptions:{defaultSort:"asc",isExpanded:!0},interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span"}}return t.prototype.createDefaults=function(){return this.merge(this.defaults,this.ngTableDefaults.settings)},t.prototype.merge=function(t,e){e=r.extend({},e),e.filterOptions&&(e.filterOptions=r.extend({},t.filterOptions||{},e.filterOptions)),e.groupOptions&&(e.groupOptions=r.extend({},t.groupOptions||{},e.groupOptions)),r.isArray(e.dataset)&&(e.total=e.dataset.length);var n=r.extend({},t,e);return r.isArray(e.dataset)&&this.optimizeFilterDelay(n),r.extend({},t,e)},t.prototype.optimizeFilterDelay=function(t){t.filterOptions.filterDelay===this.defaults.filterOptions.filterDelay&&t.total<=t.filterOptions.filterDelayThreshold&&t.getData===this.defaults.getData&&(t.filterOptions.filterDelay=0)},t.$inject=["ngTableDefaults","ngTableDefaultGetData","ngTableDefaultGetGroups"],t}();e.NgTableSettings=a},function(t,e){"use strict";function n(t){var e=[];for(var n in t)e.push(("asc"===t[n]?"+":"-")+n);return e}function r(t){return"function"==typeof t}e.convertSortToOrderBy=n,e.isGroupingFun=r},,function(t,e,n){"use strict";function r(t,e){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(t){var n,r,i=[],s=0,o=[];if(a.forEach(t.find("tr"),function(t){o.push(a.element(t))}),n=o.filter(function(t){return!t.hasClass("ng-table-group")})[0],r=o.filter(function(t){return t.hasClass("ng-table-group")})[0],n)return a.forEach(n.find("td"),function(t){var n=a.element(t);if(!n.attr("ignore-cell")||"true"!==n.attr("ignore-cell")){var o=function(t){return n.attr("x-data-"+t)||n.attr("data-"+t)||n.attr(t)},l=function(t,e){n.attr("x-data-"+t)?n.attr("x-data-"+t,e):n.attr("data"+t)?n.attr("data"+t,e):n.attr(t,e)},u=function(t){var n=o(t);if(n){var r,a=function(t){return void 0!==r?r:e(n)(t)};return a.assign=function(t,a){var i=e(n);i.assign?i.assign(t.$parent,a):r=a},a}},c=o("title-alt")||o("title");c&&n.attr("data-title-text","{{"+c+"}}"),i.push({id:s++,title:u("title"),titleAlt:u("title-alt"),headerTitle:u("header-title"),sortable:u("sortable"),class:u("header-class"),filter:u("filter"),groupable:u("groupable"),headerTemplateURL:u("header"),filterData:u("filter-data"),show:n.attr("ng-if")?u("ng-if"):void 0}),(r||n.attr("ng-if"))&&l("ng-if","$columns["+(i.length-1)+"].show(this)")}}),function(t,e,n,r){t.$columns=i=r.buildColumns(i),r.setupBindingsToInternalScope(n.ngTable),r.loadFilterData(i),r.compileDirectiveTemplates()}}}}var a=n(0);r.$inject=["$q","$parse"],e.ngTable=r},function(t,e,n){"use strict";function r(t){return null!=t&&a.isFunction(t.$new)}var a=n(0),i=function(){function t(){}return t.prototype.buildColumn=function(t,e,n){var i=Object.create(t),s=this.createDefaults(),o=function(o){if(void 0===i[o]&&(i[o]=s[o]),!a.isFunction(i[o])){var l=function e(){return 1!==arguments.length||r(arguments[0])?t[o]:void e.assign(null,arguments[0])};l.assign=function(e,n){t[o]=n},i[o]=l}var u=i[o];if(i[o]=function(){if(1!==arguments.length||r(arguments[0])){var s=arguments[0]||e,o=Object.create(s);return a.extend(o,{$column:i,$columns:n}),u.call(t,o)}u.assign(e,arguments[0])},u.assign)i[o].assign=u.assign;else{var c,p=i[o],l=function t(){return 1!==arguments.length||r(arguments[0])?void 0!=c?c:p.apply(i,arguments):void t.assign(null,arguments[0])};l.assign=function(t,e){c=e},i[o]=l}};for(var l in s)o(l);return i},t.prototype.createDefaults=function(){return{class:this.createGetterSetter(""),filter:this.createGetterSetter(!1),groupable:this.createGetterSetter(!1),filterData:a.noop,headerTemplateURL:this.createGetterSetter(!1),headerTitle:this.createGetterSetter(""),sortable:this.createGetterSetter(!1),show:this.createGetterSetter(!0),title:this.createGetterSetter(""),titleAlt:this.createGetterSetter("")}},t.prototype.createGetterSetter=function(t){var e=t,n=function t(){return 1!==arguments.length||r(arguments[0])?e:void t.assign(null,arguments[0])};return n.assign=function(t,n){e=n},n},t.$inject=[],t}();e.NgTableColumn=i},function(t,e){"use strict";function n(t){function e(e,n,r){var a=t(r.ngTableColumnsBinding).assign;a&&e.$watch("$columns",function(t){var n=(t||[]).slice(0);a(e,n)})}var n={restrict:"A",link:e};return n}n.$inject=["$parse"],e.ngTableColumnsBinding=n},function(t,e,n){"use strict";var r=n(0),a=n(1),i=function(){function t(t,e,n,r,i,s,o,l,u){this.$scope=t,this.$parse=n,this.$compile=r,this.$attrs=i,this.$element=s,this.$document=o,this.ngTableColumn=l,this.ngTableEventsChannel=u;t.$filterRow={disabled:!1},t.$loading=!1,t.hasOwnProperty("params")||(t.params=new a.NgTableParams(!0)),this.delayFilter=function(){var t;return function(n,r){e.cancel(t),t=e(n,r)}}(),this.$scope.$watch("params",function(t,e){t!==e&&t&&t.reload()},!1),this.subscribeToTableEvents()}return Object.defineProperty(t.prototype,"hasVisibleFilterColumn",{get:function(){var t=this;return!!this.$scope.$columns&&this.some(this.$scope.$columns,function(e){return e.show(t.$scope)&&!!e.filter(t.$scope)})},enumerable:!0,configurable:!0}),t.prototype.onDataReloadStatusChange=function(t){if(t&&!this.$scope.params.hasErrorState()){var e=this.$scope.params,n=e.settings().filterOptions;if(e.hasFilterChanges()){var r=function(){e.page(1),e.reload()};n.filterDelay?this.delayFilter(r,n.filterDelay):r()}else e.reload()}},t.prototype.compileDirectiveTemplates=function(){if(!this.$element.hasClass("ng-table")){this.$scope.templates={header:this.$attrs.templateHeader?this.$attrs.templateHeader:"ng-table/header.html",pagination:this.$attrs.templatePagination?this.$attrs.templatePagination:"ng-table/pager.html"},this.$element.addClass("ng-table");var t=null,e=!1;r.forEach(this.$element.children(),function(t){"THEAD"===t.tagName&&(e=!0)}),e||(t=r.element('<thead ng-include="templates.header"></thead>',this.$document),this.$element.prepend(t));var n=r.element('<div ng-table-pagination="params" template-url="templates.pagination"></div>',this.$document);this.$element.after(n),t&&this.$compile(t)(this.$scope),this.$compile(n)(this.$scope)}},t.prototype.loadFilterData=function(t){function e(t){return t&&"object"==typeof t&&"function"==typeof t.then}var n=this;r.forEach(t,function(t){var a=t.filterData(n.$scope);return a?e(a)?(delete t.filterData,a.then(function(e){r.isArray(e)||r.isFunction(e)||r.isObject(e)||(e=[]),t.data=e})):t.data=a:void delete t.filterData})},t.prototype.buildColumns=function(t){var e=this,n=[];return(t||[]).forEach(function(t){n.push(e.ngTableColumn.buildColumn(t,e.$scope,n))}),n},t.prototype.parseNgTableDynamicExpr=function(t){if(!t||t.indexOf(" with ")>-1){var e=t.split(/\s+with\s+/);return{tableParams:e[0],columns:e[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},t.prototype.setupBindingsToInternalScope=function(t){var e=this;this.$scope.$watch(t,function(t){void 0!==t&&(e.$scope.params=t)},!1),this.setupFilterRowBindingsToInternalScope(),this.setupGroupRowBindingsToInternalScope()},t.prototype.setupFilterRowBindingsToInternalScope=function(){var t=this;this.$attrs.showFilter?this.$scope.$parent.$watch(this.$attrs.showFilter,function(e){t.$scope.show_filter=e}):this.$scope.$watch(function(){return t.hasVisibleFilterColumn},function(e){t.$scope.show_filter=e}),this.$attrs.disableFilter&&this.$scope.$parent.$watch(this.$attrs.disableFilter,function(e){t.$scope.$filterRow.disabled=e})},t.prototype.setupGroupRowBindingsToInternalScope=function(){var t=this;if(this.$scope.$groupRow={show:!1},this.$attrs.showGroup){var e=this.$parse(this.$attrs.showGroup);this.$scope.$parent.$watch(e,function(e){t.$scope.$groupRow.show=e}),e.assign&&this.$scope.$watch("$groupRow.show",function(n){e.assign(t.$scope.$parent,n)})}else this.$scope.$watch("params.hasGroup()",function(e){t.$scope.$groupRow.show=e})},t.prototype.getVisibleColumns=function(){var t=this;return(this.$scope.$columns||[]).filter(function(e){return e.show(t.$scope)})},t.prototype.subscribeToTableEvents=function(){var t=this;this.$scope.$watch("params.isDataReloadRequired()",function(e){t.onDataReloadStatusChange(e)}),this.ngTableEventsChannel.onAfterReloadData(function(e,n){var r=t.getVisibleColumns();e.hasGroup()?(t.$scope.$groups=n||[],t.$scope.$groups.visibleColumnCount=r.length):(t.$scope.$data=n||[],t.$scope.$data.visibleColumnCount=r.length)},this.$scope,function(e){return t.$scope.params===e}),this.ngTableEventsChannel.onPagesChanged(function(e,n){t.$scope.pages=n},this.$scope,function(e){return t.$scope.params===e})},t.prototype.some=function(t,e){for(var n=!1,r=0;r<t.length;r++){var a=t[r];if(e(a)){n=!0;break}}return n},t.$inject=["$scope","$timeout","$parse","$compile","$attrs","$element","$document","ngTableColumn","ngTableEventsChannel"],t}();e.NgTableController=i},function(t,e,n){"use strict";function r(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(t){var e;if(a.forEach(t.find("tr"),function(t){t=a.element(t),t.hasClass("ng-table-group")||e||(e=t)}),e)return a.forEach(e.find("td"),function(t){var e=a.element(t),n=function(t){return e.attr("x-data-"+t)||e.attr("data-"+t)||e.attr(t)},r=n("title");r||e.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var i=e.attr("ng-if");i||e.attr("ng-if","$columns[$index].show(this)")}),function(t,e,n,r){var a=r.parseNgTableDynamicExpr(n.ngTableDynamic);r.setupBindingsToInternalScope(a.tableParams),r.compileDirectiveTemplates(),t.$watchCollection(a.columns,function(e){t.$columns=r.buildColumns(e),r.loadFilterData(t.$columns)})}}}}var a=n(0);r.$inject=[],e.ngTableDynamic=r},function(t,e,n){"use strict";var r=n(0),a=function(){function t(t){var e=this;this.defaultConfig={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}},this.$get=function(){return t.instantiate(i,{config:r.copy(e.config)})},this.$get.$inject=[],this.resetConfigs()}return t.prototype.resetConfigs=function(){this.config=this.defaultConfig},t.prototype.setConfig=function(t){var e=r.extend({},this.config,t);e.aliasUrls=r.extend({},this.config.aliasUrls,t.aliasUrls),this.config=e},t.$inject=["$injector"],t}();e.NgTableFilterConfigProvider=a;var i=function(){function t(t){this.config=t}return t.prototype.getUrlForAlias=function(t,e){return this.config.aliasUrls[t]||this.config.defaultBaseUrl+t+this.config.defaultExt},t.prototype.getTemplateUrl=function(t,e){var n;return n="string"!=typeof t?t.id:t,n.indexOf("/")!==-1?n:this.getUrlForAlias(n,e)},t.$inject=["config"],t}();e.NgTableFilterConfig=i},function(t,e,n){"use strict";function r(){var t={restrict:"E",replace:!0,templateUrl:a,scope:!0,controller:"ngTableFilterRowController",controllerAs:"$ctrl"};return t}var a=n(42);r.$inject=[],e.ngTableFilterRow=r},function(t,e){"use strict";var n=function(){function t(t,e){this.config=e,t.getFilterPlaceholderValue=this.getFilterPlaceholderValue.bind(this)}return t.prototype.getFilterCellCss=function(t,e){if("horizontal"!==e)return"s12";var n=Object.keys(t).length,r=parseInt((12/n).toString(),10);return"s"+r},t.prototype.getFilterPlaceholderValue=function(t,e){return"string"==typeof t?"":t.placeholder},t.$inject=["$scope","ngTableFilterConfig"],t}();e.NgTableFilterRowController=n},function(t,e,n){"use strict";function r(){var t={restrict:"E",replace:!0,templateUrl:a,scope:!0,controller:"ngTableGroupRowController",controllerAs:"$ctrl"};return t}var a=n(47);r.$inject=[],e.ngTableGroupRow=r},function(t,e){"use strict";var n=function(){function t(t){var e=this;this.$scope=t,this.groupFns=[],t.$watch("params.group()",function(t){e.setGroup(t)},!0)}return t.prototype.getGroupables=function(){var t=this,e=this.$scope.$columns.filter(function(e){return!!e.groupable(t.$scope)});return this.groupFns.concat(e)},t.prototype.getGroupTitle=function(t){return this.isGroupingFunc(t)?t.title:t.title(this.$scope)},t.prototype.getVisibleColumns=function(){var t=this;return this.$scope.$columns.filter(function(e){return e.show(t.$scope)})},t.prototype.groupBy=function(t){this.isSelectedGroup(t)?this.changeSortDirection():this.isGroupingFunc(t)?this.$scope.params.group(t):this.$scope.params.group(t.groupable(this.$scope))},t.prototype.isSelectedGroup=function(t){return this.isGroupingFunc(t)?t===this.$scope.$selGroup:t.groupable(this.$scope)===this.$scope.$selGroup},t.prototype.toggleDetail=function(){return this.$scope.params.settings().groupOptions.isExpanded=!this.$scope.params.settings().groupOptions.isExpanded,this.$scope.params.reload()},t.prototype.changeSortDirection=function(){var t;t=this.$scope.params.hasGroup(this.$scope.$selGroup,"asc")?"desc":this.$scope.params.hasGroup(this.$scope.$selGroup,"desc")?"":"asc",this.$scope.params.group(this.$scope.$selGroup,t)},t.prototype.findGroupColumn=function(t){var e=this;return this.$scope.$columns.filter(function(n){return n.groupable(e.$scope)===t})[0]},t.prototype.isGroupingFunc=function(t){return"function"==typeof t},t.prototype.setGroup=function(t){var e=this.findGroupColumn(this.$scope.$selGroup);if(e&&e.show.assign&&e.show.assign(this.$scope,!0),this.isGroupingFunc(t))this.groupFns=[t],this.$scope.$selGroup=t,this.$scope.$selGroupTitle=t.title;else{var n=Object.keys(t||{})[0],r=this.findGroupColumn(n);r&&(this.$scope.$selGroupTitle=r.title(this.$scope),this.$scope.$selGroup=n,r.show.assign&&r.show.assign(this.$scope,!1))}},t.$inject=["$scope"],t}();e.NgTableGroupRowController=n},function(t,e,n){"use strict";function r(t,e,n){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(r,i){n.onAfterReloadData(function(t){r.pages=t.generatePagesArray()},r,function(t){return t===r.params}),r.$watch("templateUrl",function(n){if(void 0!==n){var s=a.element('<div ng-include="templateUrl"></div>',e);i.append(s),t(s)(r)}})}}}var a=n(0);r.$inject=["$compile","$document","ngTableEventsChannel"],e.ngTablePagination=r},function(t,e){"use strict";function n(){var t={restrict:"A",controller:r};return t}n.$inject=[],e.ngTableSelectFilterDs=n;var r=function(){function t(t,e,n,r){var a=this;this.$scope=t,this.$attrs=n,this.$q=r,this.$column=e(n.ngTableSelectFilterDs)(t),t.$watch(function(){return a.$column&&a.$column.data},function(){a.bindDataSource()})}return t.prototype.bindDataSource=function(){var t=this;this.getSelectListData(this.$column).then(function(e){e&&!t.hasEmptyOption(e)&&e.unshift({id:"",title:""}),e=e||[],t.$scope.$selectData=e})},t.prototype.hasEmptyOption=function(t){for(var e,n=0;n<t.length;n++){var r=t[n];if(r&&""===r.id){e=!0;break}}return e},t.prototype.getSelectListData=function(t){var e=t.data;return e instanceof Array?this.$q.when(e):this.$q.when(e&&e())},t.$inject=["$scope","$parse","$attrs","$q"],t}();e.NgTableSelectFilterDsController=r},function(t,e,n){"use strict";function r(){var t={restrict:"E",replace:!0,templateUrl:a,scope:!0,controller:"ngTableSorterRowController",controllerAs:"$ctrl"};return t}var a=n(50);r.$inject=[],e.ngTableSorterRow=r},function(t,e){"use strict";var n=function(){function t(t){this.$scope=t}return t.prototype.sortBy=function(t,e){var n=t.sortable&&t.sortable();if(n&&"string"==typeof n){var r=this.$scope.params.settings().defaultSort,a="asc"===r?"desc":"asc",i=this.$scope.params.sorting()&&this.$scope.params.sorting()[n]&&this.$scope.params.sorting()[n]===r,s=e.ctrlKey||e.metaKey?this.$scope.params.sorting():{};s[n]=i?a:r,this.$scope.params.parameters({sorting:s})}},t.$inject=["$scope"],t}();e.NgTableSorterRowController=n},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e,n){"use strict";var r=n(0),a=function(){function t(){function t(t,n){function a(n){var a=n.settings().filterOptions;return r.isFunction(a.filterFn)?a.filterFn:t(a.filterFilterName||e.filterFilterName)}function i(n){return t(e.sortingFilterName)}function s(t,e){if(!e.hasFilter())return t;var n=e.filter(!0),r=Object.keys(n),i=r.reduce(function(t,e){return t=c(t,n[e],e)},{}),s=a(e);return s.call(e,t,i,e.settings().filterOptions.filterComparator)}function o(t,e){var n=t.slice((e.page()-1)*e.count(),e.page()*e.count());return e.total(t.length),n}function l(t,e){var n=e.orderBy(),r=i(e);return n.length?r(t,n):t}function u(t,e){if(null==t)return[];var a=r.extend({},p,e.settings().dataOptions),i=a.applyFilter?s(t,e):t;n.publishAfterDataFiltered(e,i);var u=a.applySort?l(i,e):i;return n.publishAfterDataSorted(e,u),a.applyPaging?o(u,e):u}function c(t,e,n){var r=n.split("."),a=t,i=r[r.length-1],s=a,o=r.slice(0,r.length-1);return o.forEach(function(t){s.hasOwnProperty(t)||(s[t]={}),s=s[t]}),s[i]=e,a}var p={applyFilter:!0,applySort:!0,applyPaging:!0};return u.applyPaging=o,u.getFilterFn=a,u.getOrderByFn=i,u}this.filterFilterName="filter",this.sortingFilterName="orderBy";var e=this;this.$get=t,t.$inject=["$filter","ngTableEventsChannel"]}return t}();e.NgTableDefaultGetDataProvider=a},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}r(n(33)),r(n(34)),r(n(35))},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}r(n(4)),r(n(6)),r(n(5)),r(n(38))},function(t,e,n){"use strict";function r(t,e){function n(n){var r,o=n.group(),l=void 0;if(s.isGroupingFun(o))r=o,l=o.sortDirection;else{var u=Object.keys(o)[0];l=o[u],r=function(t){return a(t,u)}}var c=n.settings(),p=c.dataOptions;c.dataOptions={applyPaging:!1};var g=c.getData,f=t.when(g(n));return f.then(function(t){var a={};i.forEach(t,function(t){var e=r(t);a[e]=a[e]||{data:[],$hideRows:!c.groupOptions.isExpanded,value:e},a[e].data.push(t)});var o=[];for(var u in a)o.push(a[u]);if(l){var p=e.getOrderByFn(),g=s.convertSortToOrderBy({value:l});o=p(o,g)}return e.applyPaging(o,n)}).finally(function(){c.dataOptions=p})}return n}function a(t,e){var n;if(n="string"==typeof e?e.split("."):e,void 0!==t){if(0===n.length)return t;if(null!==t)return a(t[n[0]],n.slice(1))}}var i=n(0),s=n(11);r.$inject=["$q","ngTableDefaultGetData"],e.ngTableDefaultGetGroups=r},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}r(n(4)),r(n(6)),r(n(5))},function(t,e){"use strict"},function(t,e){"use strict"},function(t,e,n){var r="ng-table/filterRow.html",a='<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=$ctrl.config.getTemplateUrl(filter) class=filter-cell ng-class="[$ctrl.getFilterCellCss($column.filter(this), params.settings().filterOptions.filterLayout), $last ? \'last\' : \'\']"> </div> </th> </tr> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/filters/number.html",a='<input type=number name={{name}} ng-disabled=$filterRow.disabled ng-model=params.filter()[name] class="input-filter form-control" placeholder="{{getFilterPlaceholderValue(filter, name)}}"/> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/filters/select-multiple.html",a='<select ng-options="data.id as data.title for data in $column.data" ng-disabled=$filterRow.disabled multiple=multiple ng-multiple=true ng-model=params.filter()[name] class="filter filter-select-multiple form-control" name={{name}}> </select> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/filters/select.html",a='<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> ',i=n(0);i.module("ng").run(["$templateCache",function(t){
2t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/filters/text.html",a='<input type=text name={{name}} ng-disabled=$filterRow.disabled ng-model=params.filter()[name] class="input-filter form-control" placeholder="{{getFilterPlaceholderValue(filter, name)}}"/> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/groupRow.html",a='<tr ng-if=params.hasGroup() ng-show=$groupRow.show class=ng-table-group-header> <th colspan={{$ctrl.getVisibleColumns().length}} class=sortable ng-class="{\n \'sort-asc\': params.hasGroup($selGroup, \'asc\'),\n \'sort-desc\':params.hasGroup($selGroup, \'desc\')\n }"> <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="$ctrl.toggleDetail(); $event.preventDefault(); $event.stopPropagation();"> <span class=glyphicon ng-class="{\n \'glyphicon-resize-small\': params.settings().groupOptions.isExpanded,\n \'glyphicon-resize-full\': !params.settings().groupOptions.isExpanded\n }"></span> </button> </a> <div class=list-group ng-if=isSelectorOpen> <a href="" class=list-group-item ng-repeat="group in $ctrl.getGroupables()" ng-click=$ctrl.groupBy(group)> <strong>{{ $ctrl.getGroupTitle(group)}}</strong> <strong ng-class="$ctrl.isSelectedGroup(group) && \'sort-indicator\'"></strong> </a> </div> </th> </tr> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/header.html",a="<ng-table-group-row></ng-table-group-row> <ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> ",i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/pager.html",a='<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 class=page-item ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch=page.type> <a class=page-link ng-switch-when=prev ng-click=params.page(page.number) href="">&laquo;</a> <a class=page-link ng-switch-when=first ng-click=params.page(page.number) href=""><span ng-bind=page.number></span></a> <a class=page-link ng-switch-when=page ng-click=params.page(page.number) href=""><span ng-bind=page.number></span></a> <a class=page-link ng-switch-when=more ng-click=params.page(page.number) href="">&#8230;</a> <a class=page-link ng-switch-when=last ng-click=params.page(page.number) href=""><span ng-bind=page.number></span></a> <a class=page-link ng-switch-when=next ng-click=params.page(page.number) href="">&raquo;</a> </li> </ul> </div> ',i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){var r="ng-table/sorterRow.html",a="<tr class=ng-table-sort-header> <th title={{$column.headerTitle(this)}} ng-repeat=\"$column in $columns\" ng-class=\"{\n 'sortable': $column.sortable(this),\n 'sort-asc': params.sorting()[$column.sortable(this)]=='asc',\n 'sort-desc': params.sorting()[$column.sortable(this)]=='desc'\n }\" ng-click=\"$ctrl.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> ",i=n(0);i.module("ng").run(["$templateCache",function(t){t.put(r,a)}]),t.exports=r},function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}var a=n(0),i=n(1),s=n(2),o=a.module("ngTable",[i.ngTableCoreModule.name,s.ngTableBrowserModule.name]);e.ngTableModule=o,r(n(1)),r(n(2))}])});
3//# sourceMappingURL=ng-table.min.js.map
\No newline at end of file