diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f912472..3540534c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ + +# 1.0.0-beta.6 (2015-10-03) + + +## Bug Fixes + +- **ngTableController:** should not show filter row when all filterable columns are hidden + ([9ba4f473](https://github.com/esvit/ng-table/commit/9ba4f473676a94605f6e14755c7d453fa4705bce)) +- **pager:** removed margin around buttons + ([7e6919ea](https://github.com/esvit/ng-table/commit/7e6919ea6b88bfee39ea14bd975b2a21b416e286)) + + +## Features + +- **NgTableParams:** support grouping on nested properties + ([2ec9d189](https://github.com/esvit/ng-table/commit/2ec9d18937693b8df42588aa84fa5cb74fb5037b)) +- **ngTableColumn:** allow $column fields to be model bound as getter/setter's + ([e705fd9a](https://github.com/esvit/ng-table/commit/e705fd9a930504054e00a6ed2040c9e203b97bca)) + + # 1.0.0-beta.5 (2015-09-18) diff --git a/bower.json b/bower.json index 7e56d506..3ebd9fb3 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "1.0.0-beta.5", + "version": "1.0.0-beta.6", "main": [ "./dist/ng-table.min.js", "./dist/ng-table.min.css" diff --git a/dist/ng-table.css b/dist/ng-table.css index c6bc04a7..6edaa9b9 100644 --- a/dist/ng-table.css +++ b/dist/ng-table.css @@ -96,9 +96,6 @@ .ng-table .ng-table-group-toggle { margin-right: 5px; } -.ng-table + .pagination { - margin-top: 0; -} @media only screen and (max-width: 800px) { .ng-table-responsive { border-bottom: 1px solid #999999; @@ -147,6 +144,9 @@ display: block; } } +.ng-table-pagination { + margin-top: 0; +} .ng-table-group-selector:before, .ng-table-group-selector:after, .filter:before, diff --git a/dist/ng-table.js b/dist/ng-table.js index 06462ce2..10b042eb 100644 --- a/dist/ng-table.js +++ b/dist/ng-table.js @@ -426,31 +426,11 @@ */ angular.module('ngTable').factory('ngTableColumn', [function () { - function createDefaults(){ - return { - 'class': createGetterSetter(''), - filter: createGetterSetter(false), - groupable: createGetterSetter(false), - filterData: angular.noop, - headerTemplateURL: createGetterSetter(false), - headerTitle: createGetterSetter(''), - sortable: createGetterSetter(false), - show: createGetterSetter(true), - title: createGetterSetter(''), - titleAlt: createGetterSetter('') - }; - } + return { + buildColumn: buildColumn + }; - function createGetterSetter(initialValue){ - var value = initialValue; - var getter = function (/*$scope, locals*/){ - return value; - }; - getter.assign = function($scope, newValue){ - value = newValue; - }; - return getter; - } + ////////////// /** * @ngdoc method @@ -477,26 +457,34 @@ // - note that the original column object is being "proxied"; this is important // as it ensure that any changes to the original object will be returned by the "getter" (function(prop1){ - var getterFn = function () { - return column[prop1]; + var getterSetter = function getterSetter(/*[value] || [$scope, locals]*/) { + if (arguments.length === 1 && !isScopeLike(arguments[0])) { + getterSetter.assign(null, arguments[0]); + } else { + return column[prop1]; + } }; - getterFn.assign = function($scope, value){ + getterSetter.assign = function($scope, value){ column[prop1] = value; }; - extendedCol[prop1] = getterFn; + extendedCol[prop1] = getterSetter; })(prop); } (function(prop1){ // satisfy the arguments expected by the function returned by parsedAttribute in the ngTable directive var getterFn = extendedCol[prop1]; extendedCol[prop1] = function () { - var scope = arguments[0] || defaultScope; - var context = Object.create(scope); - angular.extend(context, { - $column: extendedCol, - $columns: columns - }); - return getterFn.call(column, context); + if (arguments.length === 1 && !isScopeLike(arguments[0])){ + getterFn.assign(null, arguments[0]); + } else { + var scope = arguments[0] || defaultScope; + var context = Object.create(scope); + angular.extend(context, { + $column: extendedCol, + $columns: columns + }); + return getterFn.call(column, context); + } }; if (getterFn.assign){ extendedCol[prop1].assign = getterFn.assign; @@ -506,9 +494,39 @@ return extendedCol; } - return { - buildColumn: buildColumn - }; + function createDefaults(){ + return { + 'class': createGetterSetter(''), + filter: createGetterSetter(false), + groupable: createGetterSetter(false), + filterData: angular.noop, + headerTemplateURL: createGetterSetter(false), + headerTitle: createGetterSetter(''), + sortable: createGetterSetter(false), + show: createGetterSetter(true), + title: createGetterSetter(''), + titleAlt: createGetterSetter('') + }; + } + + function createGetterSetter(initialValue){ + var value = initialValue; + var getterSetter = function getterSetter(/*[value] || [$scope, locals]*/){ + if (arguments.length === 1 && !isScopeLike(arguments[0])) { + getterSetter.assign(null, arguments[0]); + } else { + return value; + } + }; + getterSetter.assign = function($scope, newValue){ + value = newValue; + }; + return getterSetter; + } + + function isScopeLike(object){ + return object != null && angular.isFunction(object.$new); + } }]); })(); @@ -1205,7 +1223,7 @@ var groupField = Object.keys(group)[0]; sortDirection = group[groupField]; groupFn = function(item){ - return item[groupField]; + return getPath(item, groupField); }; } @@ -1243,6 +1261,26 @@ settings.dataOptions = originalDataOptions; }); } + + function getPath (obj, ks) { + // origianl source https://github.com/documentcloud/underscore-contrib + + if (typeof ks == "string") ks = ks.split("."); + + // If we have reached an undefined property + // then stop executing and return undefined + if (obj === undefined) return void 0; + + // If the path array has no more elements, we've reached + // the intended property and return its value + if (ks.length === 0) return obj; + + // If we still have elements in the path array and the current + // value is null, stop executing and return undefined + if (obj === null) return void 0; + + return getPath(obj[ks[0]], ks.slice(1)); + } } var params = { @@ -1492,7 +1530,7 @@ $scope.show_filter = value; }); } else { - $scope.$watch(hasFilterColumn, function(value){ + $scope.$watch(hasVisibleFilterColumn, function(value){ $scope.show_filter = value; }) } @@ -1530,11 +1568,11 @@ }); } - function hasFilterColumn(){ + function hasVisibleFilterColumn(){ if (!$scope.$columns) return false; return some($scope.$columns, function($column){ - return $column.filter($scope); + return $column.show($scope) && $column.filter($scope); }); } @@ -1687,11 +1725,11 @@ show: el.attr("ng-if") ? parsedAttribute('ng-if') : undefined }); - if (groupRow){ + if (groupRow || el.attr("ng-if")){ // change ng-if to bind to our column definition which we know will be writable - // because this will potentially increase the $watch count, only do so when we definitely - // need to change visibility of the columns. - // currently only ngTableGroupRow directive needs this + // because this will potentially increase the $watch count, only do so if we already have an + // ng-if or when we definitely need to change visibility of the columns. + // currently only ngTableGroupRow directive needs to change visibility setAttrValue('ng-if', '$columns[' + (columns.length - 1) + '].show(this)'); } }); diff --git a/dist/ng-table.less b/dist/ng-table.less index 822f92ac..11839eec 100644 --- a/dist/ng-table.less +++ b/dist/ng-table.less @@ -103,9 +103,6 @@ .ng-table-group-toggle { margin-right: 5px; } - & + .pagination { - margin-top: 0; - } } @media only screen and (max-width: 800px) { @@ -160,10 +157,13 @@ } .ng-table-pager {} - .ng-table-pagination {} .ng-table-counts {} } +.ng-table-pagination { + margin-top: 0; +} + .ng-table-group-selector:before, .ng-table-group-selector:after, .filter:before, diff --git a/dist/ng-table.min.css b/dist/ng-table.min.css index 45f0e6e8..de52020c 100644 --- a/dist/ng-table.min.css +++ b/dist/ng-table.min.css @@ -1,3 +1,3 @@ -/*! ngTable v1.0.0-beta.5 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v1.0.0-beta.6 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ -.ng-table th{text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ng-table th.sortable{cursor:pointer}.ng-table th.sortable .sort-indicator{padding-right:18px;position:relative}.ng-table th.sortable .sort-indicator:after,.ng-table th.sortable .sort-indicator:before{content:"";border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:visible;right:5px;top:50%;position:absolute;opacity:.3;margin-top:-4px}.ng-table th.sortable .sort-indicator:before{margin-top:2px;border-bottom:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000}.ng-table th.sortable .sort-indicator:hover:after,.ng-table th.sortable .sort-indicator:hover:before{opacity:1;visibility:visible}.ng-table th.sortable.sort-desc,.ng-table th.sortable.sort-asc{background-color:rgba(141,192,219,.25);text-shadow:0 1px 1px rgba(255,255,255,.75)}.ng-table th.sortable.sort-desc .sort-indicator:after,.ng-table th.sortable.sort-asc .sort-indicator:after{margin-top:-2px}.ng-table th.sortable.sort-desc .sort-indicator:before,.ng-table th.sortable.sort-asc .sort-indicator:before{visibility:hidden}.ng-table th.sortable.sort-asc .sort-indicator:after,.ng-table th.sortable.sort-asc .sort-indicator:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:.6;-moz-opacity:.6;opacity:.6}.ng-table th.sortable.sort-desc .sort-indicator:after{border-bottom:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:.6;-moz-opacity:.6;opacity:.6}.ng-table th.filter .input-filter{margin:0;display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-table .ng-table-group-header th{text-align:left}.ng-table .ng-table-group-selector{display:block}.ng-table .ng-table-group-close,.ng-table .ng-table-group-toggle{float:right}.ng-table .ng-table-group-toggle{margin-right:5px}.ng-table+.pagination{margin-top:0}@media only screen and (max-width:800px){.ng-table-responsive{border-bottom:1px solid #999}.ng-table-responsive tr{border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}.ng-table-responsive td:before{position:absolute;padding:8px;left:0;top:0;width:50%;white-space:nowrap;text-align:left;font-weight:700}.ng-table-responsive thead tr th{text-align:left}.ng-table-responsive thead tr.ng-table-filters th{padding:0}.ng-table-responsive thead tr.ng-table-filters th form>div{padding:8px}.ng-table-responsive td{border:0;border-bottom:1px solid #eee;position:relative;padding-left:50%;white-space:normal;text-align:left}.ng-table-responsive td:before{content:attr(data-title-text)}.ng-table-responsive,.ng-table-responsive thead,.ng-table-responsive tbody,.ng-table-responsive th,.ng-table-responsive td,.ng-table-responsive tr{display:block}}.ng-table-group-selector:before,.ng-table-group-selector:after,.filter:before,.filter:after{display:table;content:" "}.ng-table-group-selector:after,.filter:after{clear:both}.filter>.filter-cell{float:left;box-sizing:border-box}.filter-horizontal>.filter-cell{padding:0 2px}.filter-horizontal>.filter-cell:first-child{padding-left:0}.filter-horizontal>.filter-cell:last-child,.filter-horizontal>.filter-cell.last{padding-right:0}.s12{width:100%}.s11{width:91.66666666666666%}.s10{width:83.33333333333334%}.s9{width:75%}.s8{width:66.66666666666666%}.s7{width:58.333333333333336%}.s6{width:50%}.s5{width:41.66666666666667%}.s4{width:33.33333333333333%}.s3{width:25%}.s2{width:16.666666666666664%}.s1{width:8.333333333333332%}@media all and (max-width:468px){.s12,.s11,.s10,.s9,.s8,.s7,.s6,.s5,.s4,.s3,.s2,.s1{width:100%}.filter>.filter-cell{padding:0}} \ No newline at end of file +.ng-table th{text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ng-table th.sortable{cursor:pointer}.ng-table th.sortable .sort-indicator{padding-right:18px;position:relative}.ng-table th.sortable .sort-indicator:after,.ng-table th.sortable .sort-indicator:before{content:"";border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:visible;right:5px;top:50%;position:absolute;opacity:.3;margin-top:-4px}.ng-table th.sortable .sort-indicator:before{margin-top:2px;border-bottom:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000}.ng-table th.sortable .sort-indicator:hover:after,.ng-table th.sortable .sort-indicator:hover:before{opacity:1;visibility:visible}.ng-table th.sortable.sort-desc,.ng-table th.sortable.sort-asc{background-color:rgba(141,192,219,.25);text-shadow:0 1px 1px rgba(255,255,255,.75)}.ng-table th.sortable.sort-desc .sort-indicator:after,.ng-table th.sortable.sort-asc .sort-indicator:after{margin-top:-2px}.ng-table th.sortable.sort-desc .sort-indicator:before,.ng-table th.sortable.sort-asc .sort-indicator:before{visibility:hidden}.ng-table th.sortable.sort-asc .sort-indicator:after,.ng-table th.sortable.sort-asc .sort-indicator:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:.6;-moz-opacity:.6;opacity:.6}.ng-table th.sortable.sort-desc .sort-indicator:after{border-bottom:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:.6;-moz-opacity:.6;opacity:.6}.ng-table th.filter .input-filter{margin:0;display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-table .ng-table-group-header th{text-align:left}.ng-table .ng-table-group-selector{display:block}.ng-table .ng-table-group-close,.ng-table .ng-table-group-toggle{float:right}.ng-table .ng-table-group-toggle{margin-right:5px}@media only screen and (max-width:800px){.ng-table-responsive{border-bottom:1px solid #999}.ng-table-responsive tr{border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}.ng-table-responsive td:before{position:absolute;padding:8px;left:0;top:0;width:50%;white-space:nowrap;text-align:left;font-weight:700}.ng-table-responsive thead tr th{text-align:left}.ng-table-responsive thead tr.ng-table-filters th{padding:0}.ng-table-responsive thead tr.ng-table-filters th form>div{padding:8px}.ng-table-responsive td{border:0;border-bottom:1px solid #eee;position:relative;padding-left:50%;white-space:normal;text-align:left}.ng-table-responsive td:before{content:attr(data-title-text)}.ng-table-responsive,.ng-table-responsive thead,.ng-table-responsive tbody,.ng-table-responsive th,.ng-table-responsive td,.ng-table-responsive tr{display:block}}.ng-table-pagination{margin-top:0}.ng-table-group-selector:before,.ng-table-group-selector:after,.filter:before,.filter:after{display:table;content:" "}.ng-table-group-selector:after,.filter:after{clear:both}.filter>.filter-cell{float:left;box-sizing:border-box}.filter-horizontal>.filter-cell{padding:0 2px}.filter-horizontal>.filter-cell:first-child{padding-left:0}.filter-horizontal>.filter-cell:last-child,.filter-horizontal>.filter-cell.last{padding-right:0}.s12{width:100%}.s11{width:91.66666666666666%}.s10{width:83.33333333333334%}.s9{width:75%}.s8{width:66.66666666666666%}.s7{width:58.333333333333336%}.s6{width:50%}.s5{width:41.66666666666667%}.s4{width:33.33333333333333%}.s3{width:25%}.s2{width:16.666666666666664%}.s1{width:8.333333333333332%}@media all and (max-width:468px){.s12,.s11,.s10,.s9,.s8,.s7,.s6,.s5,.s4,.s3,.s2,.s1{width:100%}.filter>.filter-cell{padding:0}} \ No newline at end of file diff --git a/dist/ng-table.min.js b/dist/ng-table.min.js index adb4a2d5..7f690156 100644 --- a/dist/ng-table.min.js +++ b/dist/ng-table.min.js @@ -1,4 +1,4 @@ -/*! ngTable v1.0.0-beta.5 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v1.0.0-beta.6 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ -!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";return function(){a.module("ngTable",[])}(),function(){a.module("ngTable").value("ngTableDefaults",{params:{},settings:{}})}(),function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(b,c){return a.isObject(b)&&(b=b.id),-1!==b.indexOf("/")?b:e.getUrlForAlias(b,c)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function b(b){function d(d){var e=d.settings().filterOptions;return a.isFunction(e.filterFn)?e.filterFn:b(e.filterFilterName||c.filterFilterName)}function e(){return b(c.sortingFilterName)}function f(a,b){if(!b.hasFilter())return a;var c=b.filter(!0),e=Object.keys(c),f=e.reduce(function(a,b){return a=j(a,c[b],b)},{}),g=d(b);return g.call(b,a,f,b.settings().filterOptions.filterComparator)}function g(a,b){var c=a.slice((b.page()-1)*b.count(),b.page()*b.count());return b.total(a.length),c}function h(a,b){var c=b.orderBy(),d=e(b);return c.length?d(a,c):a}function i(b,c){if(null==b)return[];var d=a.extend({},k,c.settings().dataOptions),e=d.applyFilter?f(b,c):b,i=d.applySort?h(e,c):e;return d.applyPaging?g(i,c):i}function j(a,b,c){var d=c.split("."),e=a,f=d[d.length-1],g=e,h=d.slice(0,d.length-1);return h.forEach(function(a){g.hasOwnProperty(a)||(g[a]={}),g=g[a]}),g[f]=b,e}var k={applyFilter:!0,applySort:!0,applyPaging:!0};return i.applyPaging=g,i.getFilterFn=d,i.getOrderByFn=e,i}var c=this;c.$get=b,c.filterFilterName="filter",c.sortingFilterName="orderBy",b.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),function(){a.module("ngTable").factory("ngTableColumn",[function(){function b(){return{"class":c(""),filter:c(!1),groupable:c(!1),filterData:a.noop,headerTemplateURL:c(!1),headerTitle:c(""),sortable:c(!1),show:c(!0),title:c(""),titleAlt:c("")}}function c(a){var b=a,c=function(){return b};return c.assign=function(a,c){b=c},c}function d(c,d,e){var f=Object.create(c),g=b();for(var h in g)void 0===f[h]&&(f[h]=g[h]),a.isFunction(f[h])||!function(a){var b=function(){return c[a]};b.assign=function(b,d){c[a]=d},f[a]=b}(h),function(b){var g=f[b];f[b]=function(){var b=arguments[0]||d,h=Object.create(b);return a.extend(h,{$column:f,$columns:e}),g.call(c,h)},g.assign&&(f[b].assign=g.assign)}(h);return f}return{buildColumn:d}}])}(),function(){a.module("ngTable").factory("NgTableParams",["$q","$log","$filter","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g,h){var i=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},j=function(d,j){function k(b){var c=D.groupOptions&&D.groupOptions.defaultSort;if(a.isFunction(b))return null==b.sortDirection&&(b.sortDirection=c),b;if(a.isString(b)){var d={};return d[b]=c,d}if(a.isObject(b)){for(var e in b)null==b[e]&&(b[e]=c);return b}return b}function l(a){var b=[];for(var c in a)b.push(("asc"===a[c]?"+":"-")+c);return b}function m(){var b={params:C};return a.isFunction(C.group)&&(b.groupSortDirection=C.group.sortDirection),b}function n(){var b=C.filter&&C.filter.$,c=t&&t.params.filter&&t.params.filter.$;return!a.equals(b,c)}function o(){D.filterOptions.filterDelay===z.filterDelay&&D.total<=D.filterOptions.filterDelayThreshold&&D.getData===B.getData&&(D.filterOptions.filterDelay=0)}function p(){var a=D.getDataFnAdaptor(D.getData);return b.when(a.call(D,v))}function q(){var a=D.getGroupsFnAdaptor(D.getGroups);return b.when(a.call(D,v))}function r(a){var c=D.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,v)},function(a){return e(a,v)})},a())}function s(){function c(a){return g(a.settings().dataset,a)}function d(c){var d,e=c.group(),f=void 0;if(a.isFunction(e))d=e,f=e.sortDirection;else{var h=Object.keys(e)[0];f=e[h],d=function(a){return a[h]}}var i=c.settings(),j=i.dataOptions;i.dataOptions={applyPaging:!1};var k=i.getDataFnAdaptor(i.getData),m=b.when(k.call(i,c));return m.then(function(b){var e={};a.forEach(b,function(a){var b=d(a);e[b]=e[b]||{data:[],$hideRows:!i.groupOptions.isExpanded,value:b},e[b].data.push(a)});var h=[];for(var j in e)h.push(e[j]);if(f){var k=g.getOrderByFn(),m=l({value:f});h=k(h,m)}return g.applyPaging(h,c)})["finally"](function(){i.dataOptions=j})}return{getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getData:c,getGroups:d}}"boolean"==typeof d&&(this.isNullInstance=!0);var t,u,v=this,w=!1,x=[],y=function(){D.debugMode&&c.debug&&c.debug.apply(c,arguments)},z={filterComparator:void 0,filterDelay:500,filterDelayThreshold:1e4,filterFilterName:void 0,filterFn:void 0,filterLayout:"stack"},A={defaultSort:"asc",isExpanded:!0},B=s();this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",h=0,j=f.length;j>h;h++){var l=f[h];if(""!==l){var m=e;e={},e[g=l]=i(m)?parseFloat(m):m}}"sorting"===g&&(C[g]={}),C[g]=a.extend(C[g]||{},e[g])}else C[d]="group"===d?k(b[d]):i(b[d])?parseFloat(b[d]):b[d]}return y("ngTable: set parameters",C),this}return C},this.settings=function(b){if(a.isDefined(b)){b.filterOptions&&(b.filterOptions=a.extend({},D.filterOptions,b.filterOptions)),b.groupOptions&&(b.groupOptions=a.extend({},D.groupOptions,b.groupOptions)),a.isArray(b.dataset)&&(b.total=b.dataset.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=f),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=f);var c=D.dataset;D=a.extend(D,b),a.isArray(b.dataset)&&o();var d=b.hasOwnProperty("dataset")&&b.dataset!=c;if(d){w&&this.page(1),w=!1;var e=function(){h.publishDatasetChanged(v,b.dataset,c)};x?x.push(e):e()}return y("ngTable: set settings",D),this}return D},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):C.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):D.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):C.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(C.filter),d={},e=0;ed?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((D.paginationMaxBlocks-D.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!w||!a.equals(m(),t)||n()},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasGroup=function(b,c){return null==b?a.isFunction(C.group)||Object.keys(C.group).length>0:a.isFunction(b)?null==c?C.group===b:C.group===b&&b.sortDirection===c:null==c?-1!==Object.keys(C.group).indexOf(b):C.group[b]===c},this.hasFilterChanges=function(){var b=t&&t.params.filter;return!a.equals(C.filter,b)||n()},this.url=function(b){function c(a,c){b?e.push(c+"="+encodeURIComponent(a)):e[c]=encodeURIComponent(a)}function d(b,c){return"group"===c?!0:a.isDefined(b)&&""!==b}b=b||!1;var e=b?[]:{};for(var f in C)if(C.hasOwnProperty(f)){var g=C[f],h=encodeURIComponent(f);if("object"==typeof g){for(var i in g)if(d(g[i],f)){var j=h+"["+encodeURIComponent(i)+"]";c(g[i],j)}}else!a.isFunction(g)&&d(g,f)&&c(g,h)}return e},this.reload=function(){var c=this,d=null;D.$loading=!0,t=a.copy(m()),w=!0,d=r(c.hasGroup()?q:p),y("ngTable: reload data");var e=c.data;return d.then(function(a){return D.$loading=!1,u=null,c.data=a,h.publishAfterReloadData(c,a,e),c.reloadPages(),D.$scope&&D.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return u=t,t=null,w=!1,b.reject(a)})},this.hasErrorState=function(){return!(!u||!a.equals(u,m()))},this.reloadPages=function(){var b;return function(){var c=b,d=v.generatePagesArray(v.page(),v.total(),v.count());a.equals(c,d)||(b=d,h.publishPagesChanged(this,d,c))}}();var C={page:1,count:10,filter:{},sorting:{},group:{}};a.extend(C,e.params);var D={$scope:null,$loading:!1,dataset:null,total:0,defaultSort:"desc",filterOptions:a.copy(z),groupOptions:a.copy(A),counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span"};return this.settings(B),this.settings(e.settings),this.settings(j),this.parameters(d,!0),h.publishAfterCreated(this),a.forEach(x,function(a){a()}),x=null,this};return j}]),a.module("ngTable").factory("ngTableParams",["NgTableParams",function(a){return a}])}(),function(){a.module("ngTable").controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a&&!b.params.hasErrorState()){b.params.settings().$scope=b;var c=b.params,d=c.settings().filterOptions;if(c.hasFilterChanges()){var e=function(){c.page(1),c.reload()};d.filterDelay?r(e,d.filterDelay):e()}else c.reload()}}function l(){g.showFilter?b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}):b.$watch(o,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})}function m(){if(b.$groupRow={},g.showGroup){var a=e(g.showGroup);b.$parent.$watch(a,function(a){b.$groupRow.show=a}),a.assign&&b.$watch("$groupRow.show",function(c){a.assign(b.$parent,c)})}else b.$watch("params.hasGroup()",function(a){b.$groupRow.show=a})}function n(){return(b.$columns||[]).filter(function(a){return a.show(b)})}function o(){return b.$columns?p(b.$columns,function(a){return a.filter(b)}):!1}function p(a,b){for(var c=!1,d=0;d-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),l(),m()},q()}])}(),function(){a.module("ngTable").directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d,e,f=[],g=0,h=[];return a.forEach(b.find("tr"),function(b){h.push(a.element(b))}),d=h.filter(function(a){return!a.hasClass("ng-table-group")})[0],e=h.filter(function(a){return a.hasClass("ng-table-group")})[0],d?(a.forEach(d.find("td"),function(b){var d=a.element(b);if(!d.attr("ignore-cell")||"true"!==d.attr("ignore-cell")){var h=function(a){return d.attr("x-data-"+a)||d.attr("data-"+a)||d.attr(a)},i=function(a,b){d.attr("x-data-"+a)?d.attr("x-data-"+a,b):d.attr("data"+a)?d.attr("data"+a,b):d.attr(a,b)},j=function(a){var b=h(a);if(!b)return void 0;var d,e=function(a){return void 0!==d?d:c(b)(a)};return e.assign=function(a,e){var f=c(b);f.assign?f.assign(a.$parent,e):d=e},e},k=h("title-alt")||h("title");k&&d.attr("data-title-text","{{"+k+"}}"),f.push({id:g++,title:j("title"),titleAlt:j("title-alt"),headerTitle:j("header-title"),sortable:j("sortable"),"class":j("header-class"),filter:j("filter"),groupable:j("groupable"),headerTemplateURL:j("header"),filterData:j("filter-data"),show:d.attr("ng-if")?j("ng-if"):void 0}),e&&i("ng-if","$columns["+(f.length-1)+"].show(this)")}}),function(a,b,c,d){a.$columns=f=d.buildColumns(f),d.setupBindingsToInternalScope(c.ngTable),d.loadFilterData(f),d.compileDirectiveTemplates()}):void 0}}}])}(),function(){a.module("ngTable").directive("ngTableDynamic",[function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(b.find("tr"),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}])}(),function(){function b(a){function b(b,c,d){var e=a(d.ngTableColumnsBinding).assign;e&&b.$watch("$columns",function(a){var c=(a||[]).slice(0);e(b,c)})}var c={restrict:"A",require:"ngTable",link:b};return c}a.module("ngTable").directive("ngTableColumnsBinding",b),b.$inject=["$parse"]}(),function(){a.module("ngTable").directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}])}(),function(){function b(b,c){b.config=c,b.getFilterCellCss=function(a,b){if("horizontal"!==b)return"s12";var c=Object.keys(a).length,d=parseInt(12/c,10);return"s"+d},b.getFilterPlaceholderValue=function(b){return a.isObject(b)?b.placeholder:""}}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(b){function c(){b.getGroupables=g,b.getGroupTitle=f,b.getVisibleColumns=h,b.groupBy=i,b.isSelectedGroup=j,b.toggleDetail=l,b.$watch("params.group()",k,!0)}function d(){var a;a=b.params.hasGroup(b.$selGroup,"asc")?"desc":b.params.hasGroup(b.$selGroup,"desc")?"":"asc",b.params.group(b.$selGroup,a)}function e(a){return b.$columns.filter(function(c){return c.groupable(b)===a})[0]}function f(c){return a.isFunction(c)?c.title:c.title(b)}function g(){var a=b.$columns.filter(function(a){return a.groupable(b)});return m.concat(a)}function h(){return b.$columns.filter(function(a){return a.show(b)})}function i(a){j(a)?d():b.params.group(a.groupable?a.groupable(b):a)}function j(a){return a.groupable?a.groupable(b)===b.$selGroup:a===b.$selGroup}function k(c){var d=e(b.$selGroup);if(d&&d.show.assign&&d.show.assign(b,!0),a.isFunction(c))m=[c],b.$selGroup=c,b.$selGroupTitle=c.title;else{var f=Object.keys(c||{})[0],g=e(f);g&&(b.$selGroupTitle=g.title(b),b.$selGroup=f,g.show.assign&&g.show.assign(b,!1))}}function l(){return b.params.settings().groupOptions.isExpanded=!b.params.settings().groupOptions.isExpanded,b.params.reload()}var m=[];c()}a.module("ngTable").controller("ngTableGroupRowController",b),b.$inject=["$scope"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/groupRow.html",scope:!0,controller:"ngTableGroupRowController",controllerAs:"dctrl"};return a}a.module("ngTable").directive("ngTableGroupRow",b),b.$inject=[]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"A",controller:c};return a}function c(b,c,d,e){function f(){j=c(d.ngTableSelectFilterDs)(b),b.$watch(function(){return j.data},g)}function g(){i(j).then(function(a){a&&!h(a)&&a.unshift({id:"",title:""}),a=a||[],b.$selectData=a})}function h(a){for(var b,c=0;c
'),a.put("ng-table/filters/number.html",' '),a.put("ng-table/filters/select-multiple.html",' '),a.put("ng-table/filters/select.html",' '),a.put("ng-table/filters/text.html",' '),a.put("ng-table/groupRow.html",' {{$selGroupTitle}} '),a.put("ng-table/header.html"," "),a.put("ng-table/pager.html",' '),a.put("ng-table/sorterRow.html",'
')}]),a.module("ngTable")}); +!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";return function(){a.module("ngTable",[])}(),function(){a.module("ngTable").value("ngTableDefaults",{params:{},settings:{}})}(),function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(b,c){return a.isObject(b)&&(b=b.id),-1!==b.indexOf("/")?b:e.getUrlForAlias(b,c)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function b(b){function d(d){var e=d.settings().filterOptions;return a.isFunction(e.filterFn)?e.filterFn:b(e.filterFilterName||c.filterFilterName)}function e(){return b(c.sortingFilterName)}function f(a,b){if(!b.hasFilter())return a;var c=b.filter(!0),e=Object.keys(c),f=e.reduce(function(a,b){return a=j(a,c[b],b)},{}),g=d(b);return g.call(b,a,f,b.settings().filterOptions.filterComparator)}function g(a,b){var c=a.slice((b.page()-1)*b.count(),b.page()*b.count());return b.total(a.length),c}function h(a,b){var c=b.orderBy(),d=e(b);return c.length?d(a,c):a}function i(b,c){if(null==b)return[];var d=a.extend({},k,c.settings().dataOptions),e=d.applyFilter?f(b,c):b,i=d.applySort?h(e,c):e;return d.applyPaging?g(i,c):i}function j(a,b,c){var d=c.split("."),e=a,f=d[d.length-1],g=e,h=d.slice(0,d.length-1);return h.forEach(function(a){g.hasOwnProperty(a)||(g[a]={}),g=g[a]}),g[f]=b,e}var k={applyFilter:!0,applySort:!0,applyPaging:!0};return i.applyPaging=g,i.getFilterFn=d,i.getOrderByFn=e,i}var c=this;c.$get=b,c.filterFilterName="filter",c.sortingFilterName="orderBy",b.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),function(){a.module("ngTable").factory("ngTableColumn",[function(){function b(b,d,f){var g=Object.create(b),h=c();for(var i in h)void 0===g[i]&&(g[i]=h[i]),a.isFunction(g[i])||!function(a){var c=function d(){return 1!==arguments.length||e(arguments[0])?b[a]:void d.assign(null,arguments[0])};c.assign=function(c,d){b[a]=d},g[a]=c}(i),function(c){var h=g[c];g[c]=function(){if(1!==arguments.length||e(arguments[0])){var c=arguments[0]||d,i=Object.create(c);return a.extend(i,{$column:g,$columns:f}),h.call(b,i)}h.assign(null,arguments[0])},h.assign&&(g[c].assign=h.assign)}(i);return g}function c(){return{"class":d(""),filter:d(!1),groupable:d(!1),filterData:a.noop,headerTemplateURL:d(!1),headerTitle:d(""),sortable:d(!1),show:d(!0),title:d(""),titleAlt:d("")}}function d(a){var b=a,c=function d(){return 1!==arguments.length||e(arguments[0])?b:void d.assign(null,arguments[0])};return c.assign=function(a,c){b=c},c}function e(b){return null!=b&&a.isFunction(b.$new)}return{buildColumn:b}}])}(),function(){a.module("ngTable").factory("NgTableParams",["$q","$log","$filter","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g,h){var i=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},j=function(d,j){function k(b){var c=D.groupOptions&&D.groupOptions.defaultSort;if(a.isFunction(b))return null==b.sortDirection&&(b.sortDirection=c),b;if(a.isString(b)){var d={};return d[b]=c,d}if(a.isObject(b)){for(var e in b)null==b[e]&&(b[e]=c);return b}return b}function l(a){var b=[];for(var c in a)b.push(("asc"===a[c]?"+":"-")+c);return b}function m(){var b={params:C};return a.isFunction(C.group)&&(b.groupSortDirection=C.group.sortDirection),b}function n(){var b=C.filter&&C.filter.$,c=t&&t.params.filter&&t.params.filter.$;return!a.equals(b,c)}function o(){D.filterOptions.filterDelay===z.filterDelay&&D.total<=D.filterOptions.filterDelayThreshold&&D.getData===B.getData&&(D.filterOptions.filterDelay=0)}function p(){var a=D.getDataFnAdaptor(D.getData);return b.when(a.call(D,v))}function q(){var a=D.getGroupsFnAdaptor(D.getGroups);return b.when(a.call(D,v))}function r(a){var c=D.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,v)},function(a){return e(a,v)})},a())}function s(){function c(a){return g(a.settings().dataset,a)}function d(c){var d,f=c.group(),h=void 0;if(a.isFunction(f))d=f,h=f.sortDirection;else{var i=Object.keys(f)[0];h=f[i],d=function(a){return e(a,i)}}var j=c.settings(),k=j.dataOptions;j.dataOptions={applyPaging:!1};var m=j.getDataFnAdaptor(j.getData),n=b.when(m.call(j,c));return n.then(function(b){var e={};a.forEach(b,function(a){var b=d(a);e[b]=e[b]||{data:[],$hideRows:!j.groupOptions.isExpanded,value:b},e[b].data.push(a)});var f=[];for(var i in e)f.push(e[i]);if(h){var k=g.getOrderByFn(),m=l({value:h});f=k(f,m)}return g.applyPaging(f,c)})["finally"](function(){j.dataOptions=k})}function e(a,b){return"string"==typeof b&&(b=b.split(".")),void 0===a?void 0:0===b.length?a:null===a?void 0:e(a[b[0]],b.slice(1))}return{getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getData:c,getGroups:d}}"boolean"==typeof d&&(this.isNullInstance=!0);var t,u,v=this,w=!1,x=[],y=function(){D.debugMode&&c.debug&&c.debug.apply(c,arguments)},z={filterComparator:void 0,filterDelay:500,filterDelayThreshold:1e4,filterFilterName:void 0,filterFn:void 0,filterLayout:"stack"},A={defaultSort:"asc",isExpanded:!0},B=s();this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",h=0,j=f.length;j>h;h++){var l=f[h];if(""!==l){var m=e;e={},e[g=l]=i(m)?parseFloat(m):m}}"sorting"===g&&(C[g]={}),C[g]=a.extend(C[g]||{},e[g])}else C[d]="group"===d?k(b[d]):i(b[d])?parseFloat(b[d]):b[d]}return y("ngTable: set parameters",C),this}return C},this.settings=function(b){if(a.isDefined(b)){b.filterOptions&&(b.filterOptions=a.extend({},D.filterOptions,b.filterOptions)),b.groupOptions&&(b.groupOptions=a.extend({},D.groupOptions,b.groupOptions)),a.isArray(b.dataset)&&(b.total=b.dataset.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=f),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=f);var c=D.dataset;D=a.extend(D,b),a.isArray(b.dataset)&&o();var d=b.hasOwnProperty("dataset")&&b.dataset!=c;if(d){w&&this.page(1),w=!1;var e=function(){h.publishDatasetChanged(v,b.dataset,c)};x?x.push(e):e()}return y("ngTable: set settings",D),this}return D},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):C.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):D.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):C.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(C.filter),d={},e=0;ed?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((D.paginationMaxBlocks-D.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!w||!a.equals(m(),t)||n()},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasGroup=function(b,c){return null==b?a.isFunction(C.group)||Object.keys(C.group).length>0:a.isFunction(b)?null==c?C.group===b:C.group===b&&b.sortDirection===c:null==c?-1!==Object.keys(C.group).indexOf(b):C.group[b]===c},this.hasFilterChanges=function(){var b=t&&t.params.filter;return!a.equals(C.filter,b)||n()},this.url=function(b){function c(a,c){b?e.push(c+"="+encodeURIComponent(a)):e[c]=encodeURIComponent(a)}function d(b,c){return"group"===c?!0:a.isDefined(b)&&""!==b}b=b||!1;var e=b?[]:{};for(var f in C)if(C.hasOwnProperty(f)){var g=C[f],h=encodeURIComponent(f);if("object"==typeof g){for(var i in g)if(d(g[i],f)){var j=h+"["+encodeURIComponent(i)+"]";c(g[i],j)}}else!a.isFunction(g)&&d(g,f)&&c(g,h)}return e},this.reload=function(){var c=this,d=null;D.$loading=!0,t=a.copy(m()),w=!0,d=r(c.hasGroup()?q:p),y("ngTable: reload data");var e=c.data;return d.then(function(a){return D.$loading=!1,u=null,c.data=a,h.publishAfterReloadData(c,a,e),c.reloadPages(),D.$scope&&D.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return u=t,t=null,w=!1,b.reject(a)})},this.hasErrorState=function(){return!(!u||!a.equals(u,m()))},this.reloadPages=function(){var b;return function(){var c=b,d=v.generatePagesArray(v.page(),v.total(),v.count());a.equals(c,d)||(b=d,h.publishPagesChanged(this,d,c))}}();var C={page:1,count:10,filter:{},sorting:{},group:{}};a.extend(C,e.params);var D={$scope:null,$loading:!1,dataset:null,total:0,defaultSort:"desc",filterOptions:a.copy(z),groupOptions:a.copy(A),counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span"};return this.settings(B),this.settings(e.settings),this.settings(j),this.parameters(d,!0),h.publishAfterCreated(this),a.forEach(x,function(a){a()}),x=null,this};return j}]),a.module("ngTable").factory("ngTableParams",["NgTableParams",function(a){return a}])}(),function(){a.module("ngTable").controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a&&!b.params.hasErrorState()){b.params.settings().$scope=b;var c=b.params,d=c.settings().filterOptions;if(c.hasFilterChanges()){var e=function(){c.page(1),c.reload()};d.filterDelay?r(e,d.filterDelay):e()}else c.reload()}}function l(){g.showFilter?b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}):b.$watch(o,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})}function m(){if(b.$groupRow={},g.showGroup){var a=e(g.showGroup);b.$parent.$watch(a,function(a){b.$groupRow.show=a}),a.assign&&b.$watch("$groupRow.show",function(c){a.assign(b.$parent,c)})}else b.$watch("params.hasGroup()",function(a){b.$groupRow.show=a})}function n(){return(b.$columns||[]).filter(function(a){return a.show(b)})}function o(){return b.$columns?p(b.$columns,function(a){return a.show(b)&&a.filter(b)}):!1}function p(a,b){for(var c=!1,d=0;d-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),l(),m()},q()}])}(),function(){a.module("ngTable").directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d,e,f=[],g=0,h=[];return a.forEach(b.find("tr"),function(b){h.push(a.element(b))}),d=h.filter(function(a){return!a.hasClass("ng-table-group")})[0],e=h.filter(function(a){return a.hasClass("ng-table-group")})[0],d?(a.forEach(d.find("td"),function(b){var d=a.element(b);if(!d.attr("ignore-cell")||"true"!==d.attr("ignore-cell")){var h=function(a){return d.attr("x-data-"+a)||d.attr("data-"+a)||d.attr(a)},i=function(a,b){d.attr("x-data-"+a)?d.attr("x-data-"+a,b):d.attr("data"+a)?d.attr("data"+a,b):d.attr(a,b)},j=function(a){var b=h(a);if(!b)return void 0;var d,e=function(a){return void 0!==d?d:c(b)(a)};return e.assign=function(a,e){var f=c(b);f.assign?f.assign(a.$parent,e):d=e},e},k=h("title-alt")||h("title");k&&d.attr("data-title-text","{{"+k+"}}"),f.push({id:g++,title:j("title"),titleAlt:j("title-alt"),headerTitle:j("header-title"),sortable:j("sortable"),"class":j("header-class"),filter:j("filter"),groupable:j("groupable"),headerTemplateURL:j("header"),filterData:j("filter-data"),show:d.attr("ng-if")?j("ng-if"):void 0}),(e||d.attr("ng-if"))&&i("ng-if","$columns["+(f.length-1)+"].show(this)")}}),function(a,b,c,d){a.$columns=f=d.buildColumns(f),d.setupBindingsToInternalScope(c.ngTable),d.loadFilterData(f),d.compileDirectiveTemplates()}):void 0}}}])}(),function(){a.module("ngTable").directive("ngTableDynamic",[function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(b.find("tr"),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}])}(),function(){function b(a){function b(b,c,d){var e=a(d.ngTableColumnsBinding).assign;e&&b.$watch("$columns",function(a){var c=(a||[]).slice(0);e(b,c)})}var c={restrict:"A",require:"ngTable",link:b};return c}a.module("ngTable").directive("ngTableColumnsBinding",b),b.$inject=["$parse"]}(),function(){a.module("ngTable").directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}])}(),function(){function b(b,c){b.config=c,b.getFilterCellCss=function(a,b){if("horizontal"!==b)return"s12";var c=Object.keys(a).length,d=parseInt(12/c,10);return"s"+d},b.getFilterPlaceholderValue=function(b){return a.isObject(b)?b.placeholder:""}}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(b){function c(){b.getGroupables=g,b.getGroupTitle=f,b.getVisibleColumns=h,b.groupBy=i,b.isSelectedGroup=j,b.toggleDetail=l,b.$watch("params.group()",k,!0)}function d(){var a;a=b.params.hasGroup(b.$selGroup,"asc")?"desc":b.params.hasGroup(b.$selGroup,"desc")?"":"asc",b.params.group(b.$selGroup,a)}function e(a){return b.$columns.filter(function(c){return c.groupable(b)===a})[0]}function f(c){return a.isFunction(c)?c.title:c.title(b)}function g(){var a=b.$columns.filter(function(a){return a.groupable(b)});return m.concat(a)}function h(){return b.$columns.filter(function(a){return a.show(b)})}function i(a){j(a)?d():b.params.group(a.groupable?a.groupable(b):a)}function j(a){return a.groupable?a.groupable(b)===b.$selGroup:a===b.$selGroup}function k(c){var d=e(b.$selGroup);if(d&&d.show.assign&&d.show.assign(b,!0),a.isFunction(c))m=[c],b.$selGroup=c,b.$selGroupTitle=c.title;else{var f=Object.keys(c||{})[0],g=e(f);g&&(b.$selGroupTitle=g.title(b),b.$selGroup=f,g.show.assign&&g.show.assign(b,!1))}}function l(){return b.params.settings().groupOptions.isExpanded=!b.params.settings().groupOptions.isExpanded,b.params.reload()}var m=[];c()}a.module("ngTable").controller("ngTableGroupRowController",b),b.$inject=["$scope"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/groupRow.html",scope:!0,controller:"ngTableGroupRowController",controllerAs:"dctrl"};return a}a.module("ngTable").directive("ngTableGroupRow",b),b.$inject=[]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"A",controller:c};return a}function c(b,c,d,e){function f(){j=c(d.ngTableSelectFilterDs)(b),b.$watch(function(){return j.data},g)}function g(){i(j).then(function(a){a&&!h(a)&&a.unshift({id:"",title:""}),a=a||[],b.$selectData=a})}function h(a){for(var b,c=0;c
'),a.put("ng-table/filters/number.html",' '),a.put("ng-table/filters/select-multiple.html",' '),a.put("ng-table/filters/select.html",' '),a.put("ng-table/filters/text.html",' '),a.put("ng-table/groupRow.html",' {{$selGroupTitle}} '),a.put("ng-table/header.html"," "),a.put("ng-table/pager.html",' '),a.put("ng-table/sorterRow.html",'
')}]),a.module("ngTable")}); //# sourceMappingURL=ng-table.min.js.map \ No newline at end of file diff --git a/dist/ng-table.min.js.map b/dist/ng-table.min.js.map index 71ce29dd..c2b34900 100644 --- a/dist/ng-table.min.js.map +++ b/dist/ng-table.min.js.map @@ -1 +1 @@ -{"version":3,"file":"ng-table.min.js","sources":["ng-table.js"],"names":["angular","factory","define","amd","window","module","value","params","settings","ngTableEventsChannel","$rootScope","addChangeEvent","eventName","target","fnName","charAt","toUpperCase","substring","event","createEventSubscriptionFn","createPublishEventFn","extend","handler","eventSelector","identity","scope","arguments","length","isFunction","$new","isObject","requiredPublisher","publisher","$on","isNullInstance","eventArgs","rest","fnArgs","concat","apply","this","Array","prototype","slice","call","$broadcast","array","n","events","$inject","ngTableFilterConfigProvider","init","resetConfigs","config","defaultConfig","setConfig","customConfig","mergeConfig","aliasUrls","ngTableFilterConfig","getTemplateUrl","filterValue","filterKey","id","indexOf","service","getUrlForAlias","aliasName","defaultBaseUrl","defaultExt","publicConfig","Object","defineProperty","get","copy","enumerable","$get","provider","ngTableDefaultGetDataProvider","ngTableDefaultGetData","$filter","getFilterFn","filterOptions","filterFn","filterFilterName","getOrderByFn","sortingFilterName","applyFilter","data","hasFilter","filter","filterKeys","keys","parsedFilter","reduce","result","key","setPath","filterComparator","applyPaging","pagedData","page","count","total","applySort","orderBy","orderByFn","getData","options","defaultDataOptions","dataOptions","fData","orderedData","obj","path","split","ret","lastKey","parentPathKeys","forEach","hasOwnProperty","ngTableGetDataBcShim","$q","createWrapper","getDataFn","$defer","defer","pData","promise","createDefaults","class","createGetterSetter","groupable","filterData","noop","headerTemplateURL","headerTitle","sortable","show","title","titleAlt","initialValue","getter","assign","$scope","newValue","buildColumn","column","defaultScope","columns","extendedCol","create","defaults","prop","undefined","prop1","getterFn","context","$column","$columns","$log","ngTableDefaults","isNumber","isNaN","parseFloat","isFinite","NgTableParams","baseParameters","baseSettings","parseGroup","group","defaultSort","groupOptions","sortDirection","isString","grp","convertSortToOrderBy","sorting","push","createComparableParams","groupSortDirection","hasGlobalSearchFieldChanges","currentVal","$","previousVal","prevParamsMemento","equals","optimizeFilterDelay","filterDelay","defaultFilterOptions","filterDelayThreshold","defaultFettingsFns","runGetData","getDataFnAdaptor","when","self","runGetGroups","getGroupsFn","getGroupsFnAdaptor","getGroups","runInterceptorPipeline","fetchFn","interceptors","interceptor","thenFn","response","bind","rejectFn","responseError","reject","then","reason","getDefaultSettingFns","dataset","groupFn","groupField","item","originalDataOptions","adaptedFn","gotData","groups","groupName","$hideRows","isExpanded","i","errParamsMemento","isCommittedDataset","initialEvents","log","debugMode","debug","filterLayout","defaultGroupOptions","parameters","newParameters","parseParamsFromUrl","isDefined","reverse","len","name","v","newSettings","isArray","originalDataset","hasDatasetChanged","fireEvent","publishDatasetChanged","significantFilter","groupArray","sortArray","isSortBy","field","direction","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","paginationMaxBlocks","paginationMinBlocks","min","isDataReloadRequired","hasGroup","hasFilterChanges","previousFilter","url","asString","collectValue","pairs","encodeURIComponent","isSignificantValue","subkey","pname","reload","$loading","oldData","publishAfterReloadData","reloadPages","$emit","hasErrorState","currentPages","oldPages","newPages","publishPagesChanged","counts","sortingIndicator","publishAfterCreated","controller","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","onDataReloadStatusChange","newStatus","currentParams","delayFilter","setupFilterRowBindingsToInternalScope","showFilter","$parent","$watch","show_filter","hasFilterColumn","disableFilter","$filterRow","disabled","setupGroupRowBindingsToInternalScope","$groupRow","showGroup","showGroupGetter","getVisibleColumns","c","some","predicate","found","commonInit","bindDataToScope","newDatapage","$groups","visibleColumnCount","$data","bindPagesToScope","isMyPublisher","onAfterReloadData","onPagesChanged","timer","callback","ms","cancel","newParams","oldParams","compileDirectiveTemplates","hasClass","templates","header","templateHeader","pagination","templatePagination","addClass","headerTemplate","theadFound","children","e","tagName","element","document","createElement","attr","prepend","paginationTemplate","ng-table-pagination","template-url","after","loadFilterData","buildColumns","col","parseNgTableDynamicExpr","parts","tableParams","Error","setupBindingsToInternalScope","tableParamsExpr","tableParamsGetter","isUndefined","paramsModel","directive","restrict","priority","compile","dataRow","groupRow","rows","find","tr","el","getAttrValue","setAttrValue","parsedAttribute","expr","localValue","parsedExpr","titleExpr","attrs","ngTable","tElement","row","showExpr","ngTableDynamic","$watchCollection","newCols","ngTableColumnsBinding","linkFn","setter","newColumns","shallowClone","require","link","templateUrl","replace","pubParams","template","ng-include","append","ngTableFilterRowController","getFilterCellCss","layout","size","width","parseInt","getFilterPlaceholderValue","placeholder","ngTableFilterRow","ngTableGroupRowController","getGroupables","getGroupTitle","groupBy","isSelectedGroup","toggleDetail","setGroup","changeSortDirection","newDirection","$selGroup","findGroupColumn","groupKey","groupableCols","groupFns","existingGroupCol","$selGroupTitle","groupedColumn","ngTableGroupRow","controllerAs","ngTableSorterRowController","sortBy","parsedSortable","inverseSort","sortingParams","ctrlKey","metaKey","ngTableSorterRow","ngTableSelectFilterDs","ngTableSelectFilterDsController","bindDataSource","getSelectListData","hasEmptyOption","unshift","$selectData","isMatch","run","$templateCache","put"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ng-table.min.js","sources":["ng-table.js"],"names":["angular","factory","define","amd","window","module","value","params","settings","ngTableEventsChannel","$rootScope","addChangeEvent","eventName","target","fnName","charAt","toUpperCase","substring","event","createEventSubscriptionFn","createPublishEventFn","extend","handler","eventSelector","identity","scope","arguments","length","isFunction","$new","isObject","requiredPublisher","publisher","$on","isNullInstance","eventArgs","rest","fnArgs","concat","apply","this","Array","prototype","slice","call","$broadcast","array","n","events","$inject","ngTableFilterConfigProvider","init","resetConfigs","config","defaultConfig","setConfig","customConfig","mergeConfig","aliasUrls","ngTableFilterConfig","getTemplateUrl","filterValue","filterKey","id","indexOf","service","getUrlForAlias","aliasName","defaultBaseUrl","defaultExt","publicConfig","Object","defineProperty","get","copy","enumerable","$get","provider","ngTableDefaultGetDataProvider","ngTableDefaultGetData","$filter","getFilterFn","filterOptions","filterFn","filterFilterName","getOrderByFn","sortingFilterName","applyFilter","data","hasFilter","filter","filterKeys","keys","parsedFilter","reduce","result","key","setPath","filterComparator","applyPaging","pagedData","page","count","total","applySort","orderBy","orderByFn","getData","options","defaultDataOptions","dataOptions","fData","orderedData","obj","path","split","ret","lastKey","parentPathKeys","forEach","hasOwnProperty","ngTableGetDataBcShim","$q","createWrapper","getDataFn","$defer","defer","pData","promise","buildColumn","column","defaultScope","columns","extendedCol","create","defaults","createDefaults","prop","undefined","prop1","getterSetter","isScopeLike","assign","$scope","getterFn","context","$column","$columns","class","createGetterSetter","groupable","filterData","noop","headerTemplateURL","headerTitle","sortable","show","title","titleAlt","initialValue","newValue","object","$log","ngTableDefaults","isNumber","isNaN","parseFloat","isFinite","NgTableParams","baseParameters","baseSettings","parseGroup","group","defaultSort","groupOptions","sortDirection","isString","grp","convertSortToOrderBy","sorting","push","createComparableParams","groupSortDirection","hasGlobalSearchFieldChanges","currentVal","$","previousVal","prevParamsMemento","equals","optimizeFilterDelay","filterDelay","defaultFilterOptions","filterDelayThreshold","defaultFettingsFns","runGetData","getDataFnAdaptor","when","self","runGetGroups","getGroupsFn","getGroupsFnAdaptor","getGroups","runInterceptorPipeline","fetchFn","interceptors","interceptor","thenFn","response","bind","rejectFn","responseError","reject","then","reason","getDefaultSettingFns","dataset","groupFn","groupField","item","getPath","originalDataOptions","adaptedFn","gotData","groups","groupName","$hideRows","isExpanded","i","ks","errParamsMemento","isCommittedDataset","initialEvents","log","debugMode","debug","filterLayout","defaultGroupOptions","parameters","newParameters","parseParamsFromUrl","isDefined","reverse","len","name","v","newSettings","isArray","originalDataset","hasDatasetChanged","fireEvent","publishDatasetChanged","significantFilter","groupArray","sortArray","isSortBy","field","direction","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","paginationMaxBlocks","paginationMinBlocks","min","isDataReloadRequired","hasGroup","hasFilterChanges","previousFilter","url","asString","collectValue","pairs","encodeURIComponent","isSignificantValue","subkey","pname","reload","$loading","oldData","publishAfterReloadData","reloadPages","$emit","hasErrorState","currentPages","oldPages","newPages","publishPagesChanged","counts","sortingIndicator","publishAfterCreated","controller","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","onDataReloadStatusChange","newStatus","currentParams","delayFilter","setupFilterRowBindingsToInternalScope","showFilter","$parent","$watch","show_filter","hasVisibleFilterColumn","disableFilter","$filterRow","disabled","setupGroupRowBindingsToInternalScope","$groupRow","showGroup","showGroupGetter","getVisibleColumns","c","some","predicate","found","commonInit","bindDataToScope","newDatapage","$groups","visibleColumnCount","$data","bindPagesToScope","isMyPublisher","onAfterReloadData","onPagesChanged","timer","callback","ms","cancel","newParams","oldParams","compileDirectiveTemplates","hasClass","templates","header","templateHeader","pagination","templatePagination","addClass","headerTemplate","theadFound","children","e","tagName","element","document","createElement","attr","prepend","paginationTemplate","ng-table-pagination","template-url","after","loadFilterData","buildColumns","col","parseNgTableDynamicExpr","parts","tableParams","Error","setupBindingsToInternalScope","tableParamsExpr","tableParamsGetter","isUndefined","paramsModel","directive","restrict","priority","compile","dataRow","groupRow","rows","find","tr","el","getAttrValue","setAttrValue","parsedAttribute","expr","localValue","getter","parsedExpr","titleExpr","attrs","ngTable","tElement","row","showExpr","ngTableDynamic","$watchCollection","newCols","ngTableColumnsBinding","linkFn","setter","newColumns","shallowClone","require","link","templateUrl","replace","pubParams","template","ng-include","append","ngTableFilterRowController","getFilterCellCss","layout","size","width","parseInt","getFilterPlaceholderValue","placeholder","ngTableFilterRow","ngTableGroupRowController","getGroupables","getGroupTitle","groupBy","isSelectedGroup","toggleDetail","setGroup","changeSortDirection","newDirection","$selGroup","findGroupColumn","groupKey","groupableCols","groupFns","existingGroupCol","$selGroupTitle","groupedColumn","ngTableGroupRow","controllerAs","ngTableSorterRowController","sortBy","parsedSortable","inverseSort","sortingParams","ctrlKey","metaKey","ngTableSorterRow","ngTableSelectFilterDs","ngTableSelectFilterDsController","bindDataSource","getSelectListData","hasEmptyOption","unshift","$selectData","isMatch","run","$templateCache","put"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 5899352e..1f6a95e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "1.0.0-beta.5", + "version": "1.0.0-beta.6", "author": "Vitalii Savchuk ", "license": "BSD", "repository": {