diff --git a/CHANGELOG.md b/CHANGELOG.md index 85d204de..50913a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ + +# 0.8.2 (2015-08-06) + + +## Bug Fixes + +- **NgTableParams:** datasetChanged event fires too early + ([9706a60b](https://github.com/esvit/ng-table/commit/9706a60bc77f787afb04f01e9769c896fc63c063)) +- **select-filter:** select lists should not display an empty and '-' option + ([1ee441be](https://github.com/esvit/ng-table/commit/1ee441bebf3e1f8fac260a38b8b82122714191d2)) + + +## Features + +- **NgTableParams:** generatePagesArray can be called without arguments + ([25fc82bd](https://github.com/esvit/ng-table/commit/25fc82bd051b07ee9b49f105e453e7a64b462bfc)) + + # 0.8.1 (2015-08-02) diff --git a/bower.json b/bower.json index 9197d3a7..65886ecf 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "0.8.1", + "version": "0.8.2", "main": [ "./dist/ng-table.min.js", "./dist/ng-table.min.css" diff --git a/dist/ng-table.js b/dist/ng-table.js index a2b8f2a0..825aeef1 100644 --- a/dist/ng-table.js +++ b/dist/ng-table.js @@ -441,14 +441,6 @@ app.factory('NgTableParams', ['$q', '$log', 'ngTableDefaults', 'ngTableGetDataBc //auto-set the total from passed in data newSettings.total = newSettings.data.length; } - // note: using != as want null and undefined to be treated the same - if (newSettings.hasOwnProperty('data') && (newSettings.data != settings.data)) { - if (isCommittedDataset){ - this.page(1); // reset page as a new dataset has been supplied - } - isCommittedDataset = false; - ngTableEventsChannel.publishDatasetChanged(this, newSettings.data, settings.data); - } // todo: remove the backwards compatibility shim and the following two if blocks if (newSettings.getData && newSettings.getData.length > 1){ @@ -460,7 +452,18 @@ app.factory('NgTableParams', ['$q', '$log', 'ngTableDefaults', 'ngTableGetDataBc newSettings.getGroupsFnAdaptor = ngTableGetDataBcShim; } + var originalDataset = settings.data; settings = angular.extend(settings, newSettings); + + // note: using != as want null and undefined to be treated the same + var hasDatasetChanged = newSettings.hasOwnProperty('data') && (newSettings.data != originalDataset); + if (hasDatasetChanged) { + if (isCommittedDataset){ + this.page(1); // reset page as a new dataset has been supplied + } + isCommittedDataset = false; + ngTableEventsChannel.publishDatasetChanged(this, newSettings.data, originalDataset); + } log('ngTable: set settings', settings); return this; } @@ -619,6 +622,8 @@ app.factory('NgTableParams', ['$q', '$log', 'ngTableDefaults', 'ngTableGetDataBc * @name NgTableParams#generatePagesArray * @description Generate array of pages * + * When no arguments supplied, the current parameter state of this `NgTableParams` instance will be used + * * @param {boolean} currentPage which page must be active * @param {boolean} totalItems Total quantity of items * @param {boolean} pageSize Quantity of items on page @@ -626,6 +631,12 @@ app.factory('NgTableParams', ['$q', '$log', 'ngTableDefaults', 'ngTableGetDataBc * @returns {Array} Array of pages */ this.generatePagesArray = function(currentPage, totalItems, pageSize, maxBlocks) { + if (!arguments.length){ + currentPage = this.page(); + totalItems = this.total(); + pageSize = this.count(); + } + var maxPage, maxPivotPages, minPage, numPages, pages; maxBlocks = maxBlocks && maxBlocks < 6 ? 6 : maxBlocks; @@ -1075,7 +1086,7 @@ function($scope, NgTableParams, $timeout, $parse, $compile, $attrs, $element, ng data = []; } else if (angular.isArray(data)) { data.unshift({ - title: '-', + title: '', id: '' }); } @@ -1442,8 +1453,8 @@ app.directive('ngTableDynamic', ['$parse', function ($parse){ * @module ngTable * @restrict A */ -app.directive('ngTablePagination', ['$compile', - function($compile) { +app.directive('ngTablePagination', ['$compile', 'ngTableEventsChannel', + function($compile, ngTableEventsChannel) { 'use strict'; return { @@ -1453,22 +1464,19 @@ app.directive('ngTablePagination', ['$compile', 'templateUrl': '=' }, replace: false, - link: function(scope, element, attrs) { + link: function(scope, element/*, attrs*/) { - var settings = scope.params.settings(); - settings.$scope.$on('ngTableAfterReloadData', function() { - var page = scope.params.page(), - total = scope.params.total(), - count = scope.params.count(), - maxBlocks = settings.paginationMaxBlocks; - scope.pages = scope.params.generatePagesArray(page, total, count, maxBlocks); - }, true); + ngTableEventsChannel.onAfterReloadData(function(pubParams) { + scope.pages = pubParams.generatePagesArray(); + }, scope, function(pubParams){ + return pubParams === scope.params; + }); scope.$watch('templateUrl', function(templateUrl) { if (angular.isUndefined(templateUrl)) { return; } - var template = angular.element(document.createElement('div')) + var template = angular.element(document.createElement('div')); template.attr({ 'ng-include': 'templateUrl' }); @@ -1483,7 +1491,7 @@ app.directive('ngTablePagination', ['$compile', angular.module('ngTable').run(['$templateCache', function ($templateCache) { $templateCache.put('ng-table/filterRow.html', '
'); $templateCache.put('ng-table/filters/select-multiple.html', ' '); - $templateCache.put('ng-table/filters/select.html', ' '); + $templateCache.put('ng-table/filters/select.html', ' '); $templateCache.put('ng-table/filters/text.html', ''); $templateCache.put('ng-table/header.html', ' '); $templateCache.put('ng-table/pager.html', '
'); diff --git a/dist/ng-table.min.css b/dist/ng-table.min.css index 4018e97d..ebecc988 100644 --- a/dist/ng-table.min.css +++ b/dist/ng-table.min.css @@ -1,3 +1,3 @@ -/*! ngTable v0.8.1 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v0.8.2 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+.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}} \ No newline at end of file diff --git a/dist/ng-table.min.js b/dist/ng-table.min.js index f45b4068..4f2867e2 100644 --- a/dist/ng-table.min.js +++ b/dist/ng-table.min.js @@ -1,4 +1,4 @@ -/*! ngTable v0.8.1 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v0.8.2 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";var b=a.module("ngTable",[]);return 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(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}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 a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter()):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$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"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){return a.then(function(a){return b.when(c.response(a,o))})},a)}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};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="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){return a.isDefined(b)?(a.isArray(b.data)&&(b.total=b.data.length),b.hasOwnProperty("data")&&b.data!=s.data&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,s.data)),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e),s=a.extend(s,b),q("ngTable: set settings",s),this):s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){return a.isDefined(b)?this.parameters({filter:b,page:1}):r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return a.isDefined(r.sorting[b])&&a.equals(r.sorting[b],c)},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){var e,f,g,h,i;if(d=d&&6>d?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((s.paginationMaxBlocks-s.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!p||!a.equals(r,n)},this.hasFilter=function(){for(var a=this.filter(),b=Object.keys(a),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),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(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(){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(){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=[]}(),b.directive("ngTablePagination",["$compile",function(b){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(c,d){var e=c.params.settings();e.$scope.$on("ngTableAfterReloadData",function(){var a=c.params.page(),b=c.params.total(),d=c.params.count(),f=e.paginationMaxBlocks;c.pages=c.params.generatePagesArray(a,b,d,f)},!0),c.$watch("templateUrl",function(e){if(!a.isUndefined(e)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),d.append(f),b(f)(c)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.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/header.html"," "),a.put("ng-table/pager.html",'
'),a.put("ng-table/sorterRow.html",'
')}]),b}); +!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";var b=a.module("ngTable",[]);return 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(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}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 a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter()):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$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"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){return a.then(function(a){return b.when(c.response(a,o))})},a)}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};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="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){if(a.isDefined(b)){a.isArray(b.data)&&(b.total=b.data.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e);var c=s.data;s=a.extend(s,b);var d=b.hasOwnProperty("data")&&b.data!=c;return d&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,c)),q("ngTable: set settings",s),this}return s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){return a.isDefined(b)?this.parameters({filter:b,page:1}):r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return a.isDefined(r.sorting[b])&&a.equals(r.sorting[b],c)},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){arguments.length||(a=this.page(),b=this.total(),c=this.count());var e,f,g,h,i;if(d=d&&6>d?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((s.paginationMaxBlocks-s.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!p||!a.equals(r,n)},this.hasFilter=function(){for(var a=this.filter(),b=Object.keys(a),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),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(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(){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(){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=[]}(),b.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)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.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/header.html"," "),a.put("ng-table/pager.html",' '),a.put("ng-table/sorterRow.html",'
')}]),b}); //# 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 956372f9..a53d0a5e 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","app","module","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","params","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","indexOf","service","getUrlForAlias","aliasName","defaultBaseUrl","defaultExt","publicConfig","Object","defineProperty","get","copy","enumerable","$get","provider","ngTableDefaultGetDataProvider","ngTableDefaultGetData","$filter","getData","data","fData","hasFilter","filterFilterName","filter","orderBy","orderedData","sortingFilterName","pagedData","page","count","total","ngTableGetDataBcShim","$q","createWrapper","getDataFn","$defer","defer","pData","promise","value","settings","$log","ngTableDefaults","isNumber","isNaN","parseFloat","isFinite","NgTableParams","baseParameters","baseSettings","runGetData","getDataFnAdaptor","when","self","runGetGroups","getGroupsFn","getGroupsFnAdaptor","getGroups","groupBy","runInterceptorPipeline","dataFetched","interceptors","reduce","result","interceptor","then","response","committedParams","isCommittedDataset","log","debugMode","debug","parameters","newParameters","parseParamsFromUrl","isDefined","key","keys","split","reverse","lastKey","i","len","name","v","newSettings","isArray","hasOwnProperty","publishDatasetChanged","sorting","sortArray","isSortBy","field","direction","equals","column","push","groups","forEach","item","groupName","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","paginationMaxBlocks","paginationMinBlocks","min","isDataReloadRequired","currentFilter","hasFilterChanges","url","asString","pairs","encodeURIComponent","subkey","isUndefined","pname","reload","$loading","oldData","publishAfterReloadData","reloadPages","$scope","$emit","reason","reject","currentPages","oldPages","newPages","publishPagesChanged","group","defaultSort","filterDelay","counts","sortingIndicator","publishAfterCreated","ngTableFilterRowController","controller","ngTableSorterRowController","sortBy","$column","parsedSortable","sortable","inverseSort","sortingParams","ctrlKey","metaKey","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","onDataReloadStatusChange","newStatus","currentParams","applyFilter","delayFilter","commonInit","bindDataToScope","newDatapage","$groups","$data","bindPagesToScope","isMyPublisher","onAfterReloadData","onPagesChanged","$filterRow","timer","callback","ms","cancel","$watch","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","$columns","def","filterData","unshift","title","id","buildColumns","columns","map","col","buildColumn","parseNgTableDynamicExpr","parts","tableParams","Error","setupBindingsToInternalScope","tableParamsExpr","tableParamsGetter","paramsModel","showFilter","$parent","show_filter","disableFilter","disabled","defaultScope","extendedCol","create","prop","defaults","undefined","prop1","getterFn","class","noop","headerTemplateURL","headerTitle","show","titleAlt","directive","restrict","priority","compile","row","find","tr","el","getAttrValue","parsedAttribute","expr","locals","titleExpr","attrs","ngTable","tElement","showExpr","ngTableDynamic","$watchCollection","newCols","ngTableFilterRow","replace","templateUrl","ngTableSorterRow","link","template","ng-include","append","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","app","module","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","params","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","indexOf","service","getUrlForAlias","aliasName","defaultBaseUrl","defaultExt","publicConfig","Object","defineProperty","get","copy","enumerable","$get","provider","ngTableDefaultGetDataProvider","ngTableDefaultGetData","$filter","getData","data","fData","hasFilter","filterFilterName","filter","orderBy","orderedData","sortingFilterName","pagedData","page","count","total","ngTableGetDataBcShim","$q","createWrapper","getDataFn","$defer","defer","pData","promise","value","settings","$log","ngTableDefaults","isNumber","isNaN","parseFloat","isFinite","NgTableParams","baseParameters","baseSettings","runGetData","getDataFnAdaptor","when","self","runGetGroups","getGroupsFn","getGroupsFnAdaptor","getGroups","groupBy","runInterceptorPipeline","dataFetched","interceptors","reduce","result","interceptor","then","response","committedParams","isCommittedDataset","log","debugMode","debug","parameters","newParameters","parseParamsFromUrl","isDefined","key","keys","split","reverse","lastKey","i","len","name","v","newSettings","isArray","originalDataset","hasDatasetChanged","hasOwnProperty","publishDatasetChanged","sorting","sortArray","isSortBy","field","direction","equals","column","push","groups","forEach","item","groupName","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","paginationMaxBlocks","paginationMinBlocks","min","isDataReloadRequired","currentFilter","hasFilterChanges","url","asString","pairs","encodeURIComponent","subkey","isUndefined","pname","reload","$loading","oldData","publishAfterReloadData","reloadPages","$scope","$emit","reason","reject","currentPages","oldPages","newPages","publishPagesChanged","group","defaultSort","filterDelay","counts","sortingIndicator","publishAfterCreated","ngTableFilterRowController","controller","ngTableSorterRowController","sortBy","$column","parsedSortable","sortable","inverseSort","sortingParams","ctrlKey","metaKey","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","onDataReloadStatusChange","newStatus","currentParams","applyFilter","delayFilter","commonInit","bindDataToScope","newDatapage","$groups","$data","bindPagesToScope","isMyPublisher","onAfterReloadData","onPagesChanged","$filterRow","timer","callback","ms","cancel","$watch","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","$columns","def","filterData","unshift","title","id","buildColumns","columns","map","col","buildColumn","parseNgTableDynamicExpr","parts","tableParams","Error","setupBindingsToInternalScope","tableParamsExpr","tableParamsGetter","paramsModel","showFilter","$parent","show_filter","disableFilter","disabled","defaultScope","extendedCol","create","prop","defaults","undefined","prop1","getterFn","class","noop","headerTemplateURL","headerTitle","show","titleAlt","directive","restrict","priority","compile","row","find","tr","el","getAttrValue","parsedAttribute","expr","locals","titleExpr","attrs","ngTable","tElement","showExpr","ngTableDynamic","$watchCollection","newCols","ngTableFilterRow","replace","templateUrl","ngTableSorterRow","link","pubParams","template","ng-include","append","run","$templateCache","put"],"mappings":"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"} \ No newline at end of file diff --git a/examples/demo6.html b/examples/demo6.html index 028c8420..cb078381 100644 --- a/examples/demo6.html +++ b/examples/demo6.html @@ -73,7 +73,7 @@

AJAX Data Loading

return !isNaN(parseFloat(n)) && isFinite(n); } var app = angular.module('main', ['ngTable', 'ngResource', 'ngMockE2E']). - run(function ($httpBackend, $filter, $log, NgTableParams) { + run(function ($httpBackend, $filter, $log, NgTableParams, ngTableDefaultGetData) { // emulation of api server $httpBackend.whenGET(/data.*/).respond(function (method, url, data, headers) { var query = url.split('?')[1], @@ -123,15 +123,11 @@

AJAX Data Loading

{name: "Enos", age: 76}]; var params = new NgTableParams(requestParams); - data = params.filter() ? $filter('filter')(data, params.filter()) : data; - data = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data; - - var total = data.length; - data = data.slice((params.page() - 1) * params.count(), params.page() * params.count()); + var results = ngTableDefaultGetData(data, params); return [200, { - result: data, - total: total + results: results, + inlineCount: params.total() }]; }); $httpBackend.whenGET(/.*/).passThrough(); @@ -163,15 +159,11 @@

AJAX Data Loading

counts: [5, 10, 15], paginationMaxBlocks: 9, total: 0, // length of data - getData: function ($defer, params) { + getData: function (params) { // ajax request to api - Api.get(params.url(), function (data) { - $timeout(function () { - // update table params - params.total(data.total); - // set new data - $defer.resolve(data.result); - }, 500); + return Api.get(params.url()).$promise.then(function (data) { + params.total(data.inlineCount); + return data.results; }); } }); diff --git a/package.json b/package.json index 087d08b1..dc89749b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "0.8.1", + "version": "0.8.2", "author": "Vitalii Savchuk ", "license": "BSD", "repository": {