diff --git a/bower.json b/bower.json index e6c0293c..b5785e27 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "0.4.3", + "version": "0.5.0", "main": [ "./dist/ng-table.min.js", "./dist/ng-table.min.css" diff --git a/dist/ng-table.js b/dist/ng-table.js index ab531bc6..73d79bea 100644 --- a/dist/ng-table.js +++ b/dist/ng-table.js @@ -67,14 +67,15 @@ app.value('ngTableDefaults', { /** * @ngdoc service - * @name ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams * @description Parameters manager for ngTable */ -app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log, ngTableDefaults) { + +app.factory('NgTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log, ngTableDefaults) { var isNumber = function(n) { return !isNaN(parseFloat(n)) && isFinite(n); }; - var ngTableParams = function(baseParameters, baseSettings) { + var NgTableParams = function(baseParameters, baseSettings) { var self = this, log = function() { if (settings.debugMode && $log.debug) { @@ -86,8 +87,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#parameters - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#parameters + * @methodOf ngTable.factory:NgTableParams * @description Set new parameters or get current parameters * * @param {string} newParameters New parameters @@ -126,8 +127,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#settings - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#settings + * @methodOf ngTable.factory:NgTableParams * @description Set new settings for table * * @param {string} newSettings New settings or undefined @@ -148,8 +149,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#page - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#page + * @methodOf ngTable.factory:NgTableParams * @description If parameter page not set return current page else set current page * * @param {string} page Page number @@ -163,8 +164,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#total - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#total + * @methodOf ngTable.factory:NgTableParams * @description If parameter total not set return current quantity else set quantity * * @param {string} total Total quantity of items @@ -178,8 +179,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#count - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#count + * @methodOf ngTable.factory:NgTableParams * @description If parameter count not set return current count per page else set count per page * * @param {string} count Count per number @@ -195,8 +196,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#filter - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#filter + * @methodOf ngTable.factory:NgTableParams * @description If parameter page not set return current filter else set current filter * * @param {string} filter New filter @@ -211,8 +212,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#sorting - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#sorting + * @methodOf ngTable.factory:NgTableParams * @description If 'sorting' parameter is not set, return current sorting. Otherwise set current sorting. * * @param {string} sorting New sorting @@ -234,8 +235,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#isSortBy - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#isSortBy + * @methodOf ngTable.factory:NgTableParams * @description Checks sort field * * @param {string} field Field name @@ -248,8 +249,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#orderBy - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#orderBy + * @methodOf ngTable.factory:NgTableParams * @description Return object of sorting parameters for angular filter * * @returns {Array} Array like: [ '-name', '+age' ] @@ -264,8 +265,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#getData - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#getData + * @methodOf ngTable.factory:NgTableParams * @description Called when updated some of parameters for get new data * * @param {Object} $defer promise object @@ -282,8 +283,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#getGroups - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#getGroups + * @methodOf ngTable.factory:NgTableParams * @description Return groups for table grouping */ this.getGroups = function($defer, column) { @@ -312,8 +313,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#generatePagesArray - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#generatePagesArray + * @methodOf ngTable.factory:NgTableParams * @description Generate array of pages * * @param {boolean} currentPage which page must be active @@ -376,8 +377,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#url - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#url + * @methodOf ngTable.factory:NgTableParams * @description Return groups for table grouping * * @param {boolean} asString flag indicates return array of string or object @@ -415,8 +416,8 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log /** * @ngdoc method - * @name ngTable.factory:ngTableParams#reload - * @methodOf ngTable.factory:ngTableParams + * @name ngTable.factory:NgTableParams#reload + * @methodOf ngTable.factory:NgTableParams * @description Reload table data */ this.reload = function() { @@ -489,7 +490,16 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log this.parameters(baseParameters, true); return this; }; - return ngTableParams; + return NgTableParams; +}]); + +/** + * @ngdoc service + * @name ngTable.factory:ngTableParams + * @description Backwards compatible shim for lowercase 'n' in NgTableParams + */ +app.factory('ngTableParams', ['NgTableParams', function(NgTableParams) { + return NgTableParams; }]); /** * ngTable: Table + Angular JS @@ -506,12 +516,18 @@ app.factory('ngTableParams', ['$q', '$log', 'ngTableDefaults', function($q, $log * @description * Each {@link ngTable.directive:ngTable ngTable} directive creates an instance of `ngTableController` */ -var ngTableController = ['$scope', 'ngTableParams', '$timeout', function($scope, ngTableParams, $timeout) { +app.controller('ngTableController', ['$scope', 'NgTableParams', '$timeout', '$parse', '$compile', '$attrs', '$element', + 'ngTableColumn', +function($scope, NgTableParams, $timeout, $parse, $compile, $attrs, $element, ngTableColumn) { var isFirstTimeLoad = true; + $scope.$filterRow = {}; $scope.$loading = false; + // until such times as the directive uses an isolated scope, we need to ensure that the check for + // the params field only consults the "own properties" of the $scope. This is to avoid seeing the params + // field on a $scope higher up in the prototype chain if (!$scope.hasOwnProperty("params")) { - $scope.params = new ngTableParams(); + $scope.params = new NgTableParams(); $scope.params.isNullInstance = true; } $scope.params.settings().$scope = $scope; @@ -552,8 +568,101 @@ var ngTableController = ['$scope', 'ngTableParams', '$timeout', function($scope, }, true); - $scope.sortBy = function(column, event) { - var parsedSortable = $scope.parse(column.sortable); + this.compileDirectiveTemplates = function () { + if (!$element.hasClass('ng-table')) { + $scope.templates = { + header: ($attrs.templateHeader ? $attrs.templateHeader : 'ng-table/header.html'), + pagination: ($attrs.templatePagination ? $attrs.templatePagination : 'ng-table/pager.html') + }; + $element.addClass('ng-table'); + var headerTemplate = null; + if ($element.find('> thead').length === 0) { + headerTemplate = angular.element(document.createElement('thead')).attr('ng-include', 'templates.header'); + $element.prepend(headerTemplate); + } + var paginationTemplate = angular.element(document.createElement('div')).attr({ + 'ng-table-pagination': 'params', + 'template-url': 'templates.pagination' + }); + $element.after(paginationTemplate); + if (headerTemplate) { + $compile(headerTemplate)($scope); + } + $compile(paginationTemplate)($scope); + } + }; + + this.loadFilterData = function ($columns) { + angular.forEach($columns, function ($column) { + var def; + def = $column.filterData($scope, { + $column: $column + }); + if (!def) { + delete $column.filterData; + return; + } + + // if we're working with a deferred object, let's wait for the promise + if ((angular.isObject(def) && angular.isObject(def.promise))) { + delete $column.filterData; + return def.promise.then(function(data) { + // our deferred can eventually return arrays, functions and objects + if (!angular.isArray(data) && !angular.isFunction(data) && !angular.isObject(data)) { + // if none of the above was found - we just want an empty array + data = []; + } else if (angular.isArray(data)) { + data.unshift({ + title: '-', + id: '' + }); + } + $column.data = data; + }); + } + // otherwise, we just return what the user gave us. It could be a function, array, object, whatever + else { + return $column.data = def; + } + }); + }; + + this.buildColumns = function (columns) { + return columns.map(function(col){ + return ngTableColumn.buildColumn(col, $scope) + }) + }; + + this.setupBindingsToInternalScope = function(tableParamsExpr){ + + // note: this we're setting up watches to simulate angular's isolated scope bindings + + // note: is REALLY important to watch for a change to the ngTableParams *reference* rather than + // $watch for value equivalence. This is because ngTableParams references the current page of data as + // a field and it's important not to watch this + var tableParamsGetter = $parse(tableParamsExpr); + $scope.$watch(tableParamsGetter, (function (params) { + if (angular.isUndefined(params)) { + return; + } + $scope.paramsModel = tableParamsGetter; + $scope.params = params; + }), false); + + if ($attrs.showFilter) { + $scope.$parent.$watch($attrs.showFilter, function(value) { + $scope.show_filter = value; + }); + } + if ($attrs.disableFilter) { + $scope.$parent.$watch($attrs.disableFilter, function(value) { + $scope.$filterRow.disabled = value; + }); + } + }; + + $scope.sortBy = function($column, event) { + var parsedSortable = $column.sortable && $column.sortable(); if (!parsedSortable) { return; } @@ -566,7 +675,77 @@ var ngTableController = ['$scope', 'ngTableParams', '$timeout', function($scope, sorting: sortingParams }); }; -}]; +}]); + + +/** + * @ngdoc service + * @name ngTable.factory:ngTableColumn + * + * @description + * Service to construct a $column definition used by {@link ngTable.directive:ngTable ngTable} directive + */ +app.factory('ngTableColumn', [function () { + + var defaults = { + 'class': function(){ return ''; }, + filter: function(){ return false; }, + filterData: angular.noop, + headerTemplateURL: function(){ return false; }, + headerTitle: function(){ return ' '; }, + sortable: function(){ return false; }, + show: function(){ return true; }, + title: function(){ return ' '; }, + titleAlt: function(){ return ''; } + }; + + /** + * @ngdoc method + * @name ngTable.factory:ngTableColumn#buildColumn + * @methodOf ngTable.factory:ngTableColumn + * @description Creates a $column for use within a header template + * + * @param {Object} column an existing $column or simple column data object + * @param {Scope} defaultScope the $scope to supply to the $column getter methods when not supplied by caller + * @returns {Object} a $column object + */ + function buildColumn(column, defaultScope){ + // note: we're not modifying the original column object. This helps to avoid unintended side affects + var extendedCol = Object.create(column); + for (var prop in defaults) { + if (extendedCol[prop] === undefined) { + extendedCol[prop] = defaults[prop]; + } + if(!angular.isFunction(extendedCol[prop])){ + // wrap raw field values with "getter" functions + // - this is to ensure consistency with how ngTable.compile builds columns + // - 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){ + extendedCol[prop1] = function(){ + return column[prop1]; + }; + })(prop); + } + (function(prop1){ + // satisfy the arguments expected by the function returned by parsedAttribute in the ngTable directive + var getterFn = extendedCol[prop1]; + extendedCol[prop1] = function(){ + if (arguments.length === 0){ + return getterFn.call(column, defaultScope); + } else { + return getterFn.apply(column, arguments); + } + }; + })(prop); + } + return extendedCol; + } + + return { + buildColumn: buildColumn + }; +}]); /** * ngTable: Table + Angular JS * @@ -583,23 +762,20 @@ var ngTableController = ['$scope', 'ngTableParams', '$timeout', function($scope, * @description * Directive that instantiates {@link ngTable.directive:ngTable.ngTableController ngTableController}. */ -app.directive('ngTable', ['$compile', '$q', '$parse', - function($compile, $q, $parse) { +app.directive('ngTable', ['$q', '$parse', + function($q, $parse) { 'use strict'; return { restrict: 'A', priority: 1001, scope: true, - controller: ngTableController, + controller: 'ngTableController', compile: function(element) { var columns = [], i = 0, row = null; - // custom header - var thead = element.find('> thead'); - // IE 8 fix :not(.ng-table-group) selector angular.forEach(angular.element(element.find('tr')), function(tr) { tr = angular.element(tr); @@ -615,127 +791,127 @@ app.directive('ngTable', ['$compile', '$q', '$parse', if (el.attr('ignore-cell') && 'true' === el.attr('ignore-cell')) { return; } - var parsedAttribute = function(attr, defaultValue) { - return function(scope) { - return $parse(el.attr('x-data-' + attr) || el.attr('data-' + attr) || el.attr(attr))(scope, { + + var getAttrValue = function(attr){ + return el.attr('x-data-' + attr) || el.attr('data-' + attr) || el.attr(attr); + }; + + var parsedAttribute = function(attr) { + var expr = getAttrValue(attr); + if (!expr){ + return undefined; + } + return function(scope, locals) { + return $parse(expr)(scope, angular.extend(locals || {}, { $columns: columns - }) || defaultValue; + })); }; }; - var parsedTitle = parsedAttribute('title', ' '), - headerTemplateURL = parsedAttribute('header', false), - filter = parsedAttribute('filter', false)(), - filterTemplateURL = false, - filterName = false; - - if (filter && filter.$$name) { - filterName = filter.$$name; - delete filter.$$name; + var titleExpr = getAttrValue('title-alt') || getAttrValue('title'); + if (titleExpr){ + el.attr('data-title-text', '{{' + titleExpr + '}}'); // this used in responsive table } - if (filter && filter.templateURL) { - filterTemplateURL = filter.templateURL; - delete filter.templateURL; - } - - el.attr('data-title-text', parsedTitle()); // this used in responsive table + // NOTE TO MAINTAINERS: if you add extra fields to a $column be sure to extend ngTableColumn with + // a corresponding "safe" default columns.push({ id: i++, - title: parsedTitle, - sortable: parsedAttribute('sortable', false), - 'class': el.attr('x-data-header-class') || el.attr('data-header-class') || el.attr('header-class'), - filter: filter, - filterTemplateURL: filterTemplateURL, - filterName: filterName, - headerTemplateURL: headerTemplateURL, - filterData: (el.attr("filter-data") ? el.attr("filter-data") : null), - show: (el.attr("ng-show") ? function(scope) { + title: parsedAttribute('title'), + titleAlt: parsedAttribute('title-alt'), + headerTitle: parsedAttribute('header-title'), + sortable: parsedAttribute('sortable'), + 'class': parsedAttribute('header-class'), + filter: parsedAttribute('filter'), + headerTemplateURL: parsedAttribute('header'), + filterData: parsedAttribute('filter-data'), + show: (el.attr("ng-show") ? function (scope) { return $parse(el.attr("ng-show"))(scope); - } : function() { - return true; - }) + } : undefined) }); }); - return function(scope, element, attrs) { - scope.$loading = false; - scope.$columns = columns; - scope.$filterRow = {}; - - scope.$watch(attrs.ngTable, (function(params) { - if (angular.isUndefined(params)) { - return; - } - scope.paramsModel = $parse(attrs.ngTable); - scope.params = params; - }), true); - scope.parse = function(text) { - return angular.isDefined(text) ? text(scope) : ''; - }; - if (attrs.showFilter) { - scope.$parent.$watch(attrs.showFilter, function(value) { - scope.show_filter = value; - }); - } - if (attrs.disableFilter) { - scope.$parent.$watch(attrs.disableFilter, function(value) { - scope.$filterRow.disabled = value; - }); - } - angular.forEach(columns, function(column) { - var def; - if (!column.filterData) { - return; - } - def = $parse(column.filterData)(scope, { - $column: column - }); - // if we're working with a deferred object, let's wait for the promise - if ((angular.isObject(def) && angular.isObject(def.promise))) { - delete column.filterData; - return def.promise.then(function(data) { - // our deferred can eventually return arrays, functions and objects - if (!angular.isArray(data) && !angular.isFunction(data) && !angular.isObject(data)) { - // if none of the above was found - we just want an empty array - data = []; - } else if (angular.isArray(data)) { - data.unshift({ - title: '-', - id: '' - }); - } - column.data = data; - }); - } - // otherwise, we just return what the user gave us. It could be a function, array, object, whatever - else { - return column.data = def; - } - }); - if (!element.hasClass('ng-table')) { - scope.templates = { - header: (attrs.templateHeader ? attrs.templateHeader : 'ng-table/header.html'), - pagination: (attrs.templatePagination ? attrs.templatePagination : 'ng-table/pager.html') - }; - var headerTemplate = thead.length > 0 ? thead : angular.element(document.createElement('thead')).attr('ng-include', 'templates.header'); - var paginationTemplate = angular.element(document.createElement('div')).attr({ - 'ng-table-pagination': 'params', - 'template-url': 'templates.pagination' - }); + return function(scope, element, attrs, controller) { + scope.$columns = columns = controller.buildColumns(columns); - element.find('> thead').remove(); - - element.addClass('ng-table') - .prepend(headerTemplate) - .after(paginationTemplate); - - $compile(headerTemplate)(scope); - $compile(paginationTemplate)(scope); - } + controller.setupBindingsToInternalScope(attrs.ngTable); + controller.loadFilterData(columns); + controller.compileDirectiveTemplates(); }; } } } ]); + +/** + * @ngdoc directive + * @name ngTable.directive:ngTableDynamic + * @restrict A + * + * @description + * A dynamic version of the {@link ngTable.directive:ngTable ngTable} directive that accepts a dynamic list of columns + * definitions to render + */ +app.directive('ngTableDynamic', ['$parse', function ($parse){ + + function parseDirectiveExpression(attr) { + if (!attr || attr.indexOf(" with ") > -1) { + var parts = attr.split(/\s+with\s+/); + return { + tableParams: parts[0], + columns: parts[1] + }; + } else { + throw new Error('Parse error (expected example: ng-table-dynamic=\'tableParams with cols\')'); + } + } + + return { + restrict: 'A', + priority: 1001, + scope: true, + controller: 'ngTableController', + compile: function(tElement) { + var row; + + // IE 8 fix :not(.ng-table-group) selector + angular.forEach(angular.element(tElement.find('tr')), function(tr) { + tr = angular.element(tr); + if (!tr.hasClass('ng-table-group') && !row) { + row = tr; + } + }); + if (!row) { + return; + } + + angular.forEach(row.find('td'), function(item) { + var el = angular.element(item); + var getAttrValue = function(attr){ + return el.attr('x-data-' + attr) || el.attr('data-' + attr) || el.attr(attr); + }; + + // this used in responsive table + var titleExpr = getAttrValue('title'); + if (!titleExpr){ + el.attr('data-title-text', '{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}'); + } + var showExpr = el.attr('ng-show'); + if (!showExpr){ + el.attr('ng-show', '$columns[$index].show(this)'); + } + }); + + return function(scope, element, attrs, controller) { + var expr = parseDirectiveExpression(attrs.ngTableDynamic); + var columns = $parse(expr.columns)(scope) || []; + scope.$columns = controller.buildColumns(columns); + + controller.setupBindingsToInternalScope(expr.tableParams); + controller.loadFilterData(scope.$columns); + controller.compileDirectiveTemplates(); + }; + } + }; +}]); /** * ngTable: Table + Angular JS * @@ -782,10 +958,10 @@ app.directive('ngTablePagination', ['$compile', } ]); angular.module('ngTable').run(['$templateCache', function ($templateCache) { - $templateCache.put('ng-table/filters/select-multiple.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/filters/select-multiple.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', '
'); }]); return app; diff --git a/dist/ng-table.min.css b/dist/ng-table.min.css index 54914558..d393de82 100644 --- a/dist/ng-table.min.css +++ b/dist/ng-table.min.css @@ -1,3 +1,3 @@ -/*! ngTable v0.4.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v0.5.0 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 div{padding-right:18px;position:relative}.ng-table th.sortable div:after,.ng-table th.sortable div:before{content:"";border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:visible;right:8px;top:50%;position:absolute;opacity:.3;margin-top:-4px}.ng-table th.sortable div: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 div:hover:after,.ng-table th.sortable div: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 div:after,.ng-table th.sortable.sort-asc div:after{margin-top:-2px}.ng-table th.sortable.sort-desc div:before,.ng-table th.sortable.sort-asc div:before{visibility:hidden}.ng-table th.sortable.sort-asc div:after,.ng-table th.sortable.sort-asc div:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:.6;-moz-opacity:.6;opacity:.6}.ng-table th.sortable.sort-desc div: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 1f0a572c..b4cc4146 100644 --- a/dist/ng-table.min.js +++ b/dist/ng-table.min.js @@ -1,4 +1,4 @@ -/*! ngTable v0.4.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ +/*! ngTable v0.5.0 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)}(angular||null,function(a){"use strict";var b=a.module("ngTable",[]);b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("ngTableParams",["$q","$log","ngTableDefaults",function(b,c,d){var e=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},f=function(f,g){var h=this,i=function(){k.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 f=b[d];if(c&&d.indexOf("[")>=0){for(var g=d.split(/\[(.*)\]/).reverse(),h="",k=0,l=g.length;l>k;k++){var m=g[k];if(""!==m){var n=f;f={},f[h=m]=e(n)?parseFloat(n):n}}"sorting"===h&&(j[h]={}),j[h]=a.extend(j[h]||{},f[h])}else j[d]=e(b[d])?parseFloat(b[d]):b[d]}return i("ngTable: set parameters",j),this}return j},this.settings=function(b){return a.isDefined(b)?(a.isArray(b.data)&&(b.total=b.data.length),k=a.extend(k,b),i("ngTable: set settings",k),this):k},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):j.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):k.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):j.count},this.filter=function(b){return a.isDefined(b)?this.parameters({filter:b,page:1}):j.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}):j.sorting},this.isSortBy=function(b,c){return a.isDefined(j.sorting[b])&&a.equals(j.sorting[b],c)},this.orderBy=function(){var a=[];for(var b in j.sorting)a.push(("asc"===j.sorting[b]?"+":"-")+b);return a},this.getData=function(b,c){return b.resolve(a.isArray(this.data)&&a.isObject(c)?this.data.slice((c.page()-1)*c.count(),c.page()*c.count()):[]),b.promise},this.getGroups=function(c,d){var e=b.defer();return e.promise.then(function(b){var e={};a.forEach(b,function(b){var c=a.isFunction(d)?d(b):b[d];e[c]=e[c]||{data:[]},e[c].value=c,e[c].data.push(b)});var f=[];for(var g in e)f.push(e[g]);i("ngTable: refresh groups",f),c.resolve(f)}),this.getData(e,h)},this.generatePagesArray=function(a,b,c){var d,e,f,g,h,i;if(d=11,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-5)/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.url=function(b){b=b||!1;var c=b?[]:{};for(var d in j)if(j.hasOwnProperty(d)){var e=j[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var a=b.defer(),c=this,d=null;if(k.$scope)return k.$loading=!0,d=k.groupBy?k.getGroups(a,k.groupBy,this):k.getData(a,this),i("ngTable: reload data"),d||(d=a.promise),d.then(function(a){return k.$loading=!1,i("ngTable: current scope",k.$scope),k.groupBy?(c.data=a,k.$scope&&(k.$scope.$groups=a)):(c.data=a,k.$scope&&(k.$scope.$data=a)),k.$scope&&(k.$scope.pages=c.generatePagesArray(c.page(),c.total(),c.count())),k.$scope.$emit("ngTableAfterReloadData"),a})},this.reloadPages=function(){var a=this;k.$scope.pages=a.generatePagesArray(a.page(),a.total(),a.count())};var j=this.$params={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(j,d.params);var k={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],getGroups:this.getGroups,getData:this.getData};return a.extend(k,d.settings),this.settings(g),this.parameters(f,!0),this};return f}]);var c=["$scope","ngTableParams","$timeout",function(b,c,d){function e(){b.params.$params.page=1}var f=!0;b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c,b.params.isNullInstance=!0),b.params.settings().$scope=b;var g=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params.$params",function(c,d){if(c!==d){if(b.params.settings().$scope=b,a.equals(c.filter,d.filter))b.params.reload();else{var h=f?a.noop:e;g(function(){h(),b.params.reload()},b.params.settings().filterDelay)}b.params.isNullInstance||(f=!1)}},!0),b.sortBy=function(a,c){var d=b.parse(a.sortable);if(d){var e=b.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=b.params.sorting()&&b.params.sorting()[d]&&b.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?b.params.sorting():{};h[d]=g?f:e,b.params.parameters({sorting:h})}}}];return b.directive("ngTable",["$compile","$q","$parse",function(b,d,e){return{restrict:"A",priority:1001,scope:!0,controller:c,compile:function(c){var d=[],f=0,g=null,h=c.find("thead");return a.forEach(a.element(c.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||g||(g=b)}),g?(a.forEach(g.find("td"),function(b){var c=a.element(b);if(!c.attr("ignore-cell")||"true"!==c.attr("ignore-cell")){var g=function(a,b){return function(f){return e(c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a))(f,{$columns:d})||b}},h=g("title"," "),i=g("header",!1),j=g("filter",!1)(),k=!1,l=!1;j&&j.$$name&&(l=j.$$name,delete j.$$name),j&&j.templateURL&&(k=j.templateURL,delete j.templateURL),c.attr("data-title-text",h()),d.push({id:f++,title:h,sortable:g("sortable",!1),"class":c.attr("x-data-header-class")||c.attr("data-header-class")||c.attr("header-class"),filter:j,filterTemplateURL:k,filterName:l,headerTemplateURL:i,filterData:c.attr("filter-data")?c.attr("filter-data"):null,show:c.attr("ng-show")?function(a){return e(c.attr("ng-show"))(a)}:function(){return!0}})}}),function(c,f,g){if(c.$loading=!1,c.$columns=d,c.$filterRow={},c.$watch(g.ngTable,function(b){a.isUndefined(b)||(c.paramsModel=e(g.ngTable),c.params=b)},!0),c.parse=function(b){return a.isDefined(b)?b(c):""},g.showFilter&&c.$parent.$watch(g.showFilter,function(a){c.show_filter=a}),g.disableFilter&&c.$parent.$watch(g.disableFilter,function(a){c.$filterRow.disabled=a}),a.forEach(d,function(b){var d;if(b.filterData)return d=e(b.filterData)(c,{$column:b}),a.isObject(d)&&a.isObject(d.promise)?(delete b.filterData,d.promise.then(function(c){a.isArray(c)||a.isFunction(c)||a.isObject(c)?a.isArray(c)&&c.unshift({title:"-",id:""}):c=[],b.data=c})):b.data=d}),!f.hasClass("ng-table")){c.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"};var i=h.length>0?h:a.element(document.createElement("thead")).attr("ng-include","templates.header"),j=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});f.find("thead").remove(),f.addClass("ng-table").prepend(i).after(j),b(i)(c),b(j)(c)}}):void 0}}}]),b.directive("ngTablePagination",["$compile",function(b){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(c,d){c.params.settings().$scope.$on("ngTableAfterReloadData",function(){c.pages=c.params.generatePagesArray(c.params.page(),c.params.total(),c.params.count())},!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/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",'
')}]),b}); +!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(angular||null,function(a){"use strict";var b=a.module("ngTable",[]);return b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults",function(b,c,d){var e=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},f=function(f,g){var h=this,i=function(){k.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 f=b[d];if(c&&d.indexOf("[")>=0){for(var g=d.split(/\[(.*)\]/).reverse(),h="",k=0,l=g.length;l>k;k++){var m=g[k];if(""!==m){var n=f;f={},f[h=m]=e(n)?parseFloat(n):n}}"sorting"===h&&(j[h]={}),j[h]=a.extend(j[h]||{},f[h])}else j[d]=e(b[d])?parseFloat(b[d]):b[d]}return i("ngTable: set parameters",j),this}return j},this.settings=function(b){return a.isDefined(b)?(a.isArray(b.data)&&(b.total=b.data.length),k=a.extend(k,b),i("ngTable: set settings",k),this):k},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):j.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):k.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):j.count},this.filter=function(b){return a.isDefined(b)?this.parameters({filter:b,page:1}):j.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}):j.sorting},this.isSortBy=function(b,c){return a.isDefined(j.sorting[b])&&a.equals(j.sorting[b],c)},this.orderBy=function(){var a=[];for(var b in j.sorting)a.push(("asc"===j.sorting[b]?"+":"-")+b);return a},this.getData=function(b,c){return b.resolve(a.isArray(this.data)&&a.isObject(c)?this.data.slice((c.page()-1)*c.count(),c.page()*c.count()):[]),b.promise},this.getGroups=function(c,d){var e=b.defer();return e.promise.then(function(b){var e={};a.forEach(b,function(b){var c=a.isFunction(d)?d(b):b[d];e[c]=e[c]||{data:[]},e[c].value=c,e[c].data.push(b)});var f=[];for(var g in e)f.push(e[g]);i("ngTable: refresh groups",f),c.resolve(f)}),this.getData(e,h)},this.generatePagesArray=function(a,b,c){var d,e,f,g,h,i;if(d=11,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-5)/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.url=function(b){b=b||!1;var c=b?[]:{};for(var d in j)if(j.hasOwnProperty(d)){var e=j[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var a=b.defer(),c=this,d=null;if(k.$scope)return k.$loading=!0,d=k.groupBy?k.getGroups(a,k.groupBy,this):k.getData(a,this),i("ngTable: reload data"),d||(d=a.promise),d.then(function(a){return k.$loading=!1,i("ngTable: current scope",k.$scope),k.groupBy?(c.data=a,k.$scope&&(k.$scope.$groups=a)):(c.data=a,k.$scope&&(k.$scope.$data=a)),k.$scope&&(k.$scope.pages=c.generatePagesArray(c.page(),c.total(),c.count())),k.$scope.$emit("ngTableAfterReloadData"),a})},this.reloadPages=function(){var a=this;k.$scope.pages=a.generatePagesArray(a.page(),a.total(),a.count())};var j=this.$params={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(j,d.params);var k={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],getGroups:this.getGroups,getData:this.getData};return a.extend(k,d.settings),this.settings(g),this.parameters(f,!0),this};return f}]),b.factory("ngTableParams",["NgTableParams",function(a){return a}]),b.controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn",function(b,c,d,e,f,g,h,i){function j(){b.params.$params.page=1}var k=!0;b.$filterRow={},b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c,b.params.isNullInstance=!0),b.params.settings().$scope=b;var l=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params.$params",function(c,d){if(c!==d){if(b.params.settings().$scope=b,a.equals(c.filter,d.filter))b.params.reload();else{var e=k?a.noop:j;l(function(){e(),b.params.reload()},b.params.settings().filterDelay)}b.params.isNullInstance||(k=!1)}},!0),this.compileDirectiveTemplates=function(){if(!h.hasClass("ng-table")){b.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"},h.addClass("ng-table");var c=null;0===h.find("> thead").length&&(c=a.element(document.createElement("thead")).attr("ng-include","templates.header"),h.prepend(c));var d=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});h.after(d),c&&f(c)(b),f(d)(b)}},this.loadFilterData=function(c){a.forEach(c,function(c){var d;return d=c.filterData(b,{$column:c}),d?a.isObject(d)&&a.isObject(d.promise)?(delete c.filterData,d.promise.then(function(b){a.isArray(b)||a.isFunction(b)||a.isObject(b)?a.isArray(b)&&b.unshift({title:"-",id:""}):b=[],c.data=b})):c.data=d:void delete c.filterData})},this.buildColumns=function(a){return a.map(function(a){return i.buildColumn(a,b)})},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})},b.sortBy=function(a,c){var d=a.sortable&&a.sortable();if(d){var e=b.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=b.params.sorting()&&b.params.sorting()[d]&&b.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?b.params.sorting():{};h[d]=g?f:e,b.params.parameters({sorting:h})}}}]),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-show")?function(a){return c(f.attr("ng-show"))(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(b){function c(a){if(!a||a.indexOf(" with ")>-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')")}return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(d){var e;return a.forEach(a.element(d.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||e||(e=b)}),e?(a.forEach(e.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-show");f||c.attr("ng-show","$columns[$index].show(this)")}),function(a,d,e,f){var g=c(e.ngTableDynamic),h=b(g.columns)(a)||[];a.$columns=f.buildColumns(h),f.setupBindingsToInternalScope(g.tableParams),f.loadFilterData(a.$columns),f.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTablePagination",["$compile",function(b){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(c,d){c.params.settings().$scope.$on("ngTableAfterReloadData",function(){c.pages=c.params.generatePagesArray(c.params.page(),c.params.total(),c.params.count())},!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/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",'
')}]),b}); //# sourceMappingURL=./dist/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 5e8cf383..7cbc50c3 100644 --- a/dist/ng-table.min.js.map +++ b/dist/ng-table.min.js.map @@ -1 +1 @@ -{"version":3,"file":"./dist/ng-table.min.js","sources":["./dist/ng-table.js"],"names":["angular","factory","define","amd","app","module","value","params","settings","$q","$log","ngTableDefaults","isNumber","n","isNaN","parseFloat","isFinite","ngTableParams","baseParameters","baseSettings","self","this","log","debugMode","debug","apply","arguments","data","parameters","newParameters","parseParamsFromUrl","isDefined","key","indexOf","keys","split","reverse","lastKey","i","len","length","name","v","extend","newSettings","isArray","total","page","count","filter","sorting","sortArray","isSortBy","field","direction","equals","orderBy","column","push","getData","$defer","resolve","isObject","slice","promise","getGroups","defer","then","groups","forEach","item","groupName","isFunction","result","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","min","url","asString","pairs","hasOwnProperty","encodeURIComponent","subkey","isUndefined","pname","reload","pData","$scope","$loading","groupBy","$groups","$data","$emit","reloadPages","$params","group","defaultSort","filterDelay","counts","ngTableController","$timeout","resetPage","isFirstTimeLoad","isNullInstance","delayFilter","timer","callback","ms","cancel","$watch","newParams","oldParams","maybeResetPage","noop","sortBy","event","parsedSortable","parse","sortable","inverseSort","sortingParams","ctrlKey","metaKey","directive","$compile","$parse","restrict","priority","scope","controller","compile","element","columns","row","thead","find","tr","hasClass","el","attr","parsedAttribute","defaultValue","$columns","parsedTitle","headerTemplateURL","filterTemplateURL","filterName","$$name","templateURL","id","title","class","filterData","show","attrs","$filterRow","ngTable","paramsModel","text","showFilter","$parent","show_filter","disableFilter","disabled","def","$column","unshift","templates","header","templateHeader","pagination","templatePagination","headerTemplate","document","createElement","paginationTemplate","ng-table-pagination","template-url","remove","addClass","prepend","after","templateUrl","replace","link","$on","template","ng-include","append","run","$templateCache","put"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"./dist/ng-table.min.js","sources":["./dist/ng-table.js"],"names":["angular","factory","define","amd","app","module","value","params","settings","$q","$log","ngTableDefaults","isNumber","n","isNaN","parseFloat","isFinite","NgTableParams","baseParameters","baseSettings","self","this","log","debugMode","debug","apply","arguments","data","parameters","newParameters","parseParamsFromUrl","isDefined","key","indexOf","keys","split","reverse","lastKey","i","len","length","name","v","extend","newSettings","isArray","total","page","count","filter","sorting","sortArray","isSortBy","field","direction","equals","orderBy","column","push","getData","$defer","resolve","isObject","slice","promise","getGroups","defer","then","groups","forEach","item","groupName","isFunction","result","generatePagesArray","currentPage","totalItems","pageSize","maxBlocks","maxPage","maxPivotPages","minPage","numPages","pages","Math","ceil","type","number","max","active","current","round","min","url","asString","pairs","hasOwnProperty","encodeURIComponent","subkey","isUndefined","pname","reload","pData","$scope","$loading","groupBy","$groups","$data","$emit","reloadPages","$params","group","defaultSort","filterDelay","counts","controller","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","resetPage","isFirstTimeLoad","$filterRow","isNullInstance","delayFilter","timer","callback","ms","cancel","$watch","newParams","oldParams","maybeResetPage","noop","compileDirectiveTemplates","hasClass","templates","header","templateHeader","pagination","templatePagination","addClass","headerTemplate","find","element","document","createElement","attr","prepend","paginationTemplate","ng-table-pagination","template-url","after","loadFilterData","$columns","$column","def","filterData","unshift","title","id","buildColumns","columns","map","col","buildColumn","setupBindingsToInternalScope","tableParamsExpr","tableParamsGetter","paramsModel","showFilter","$parent","show_filter","disableFilter","disabled","sortBy","event","parsedSortable","sortable","inverseSort","sortingParams","ctrlKey","metaKey","defaultScope","extendedCol","Object","create","prop","defaults","undefined","prop1","getterFn","call","class","headerTemplateURL","headerTitle","show","titleAlt","directive","restrict","priority","scope","compile","row","tr","el","getAttrValue","parsedAttribute","expr","locals","titleExpr","attrs","ngTable","parseDirectiveExpression","parts","tableParams","Error","tElement","showExpr","ngTableDynamic","templateUrl","replace","link","$on","template","ng-include","append","run","$templateCache","put"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index e327dfe7..4dd4ad02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "0.4.3", + "version": "0.5.0", "author": "Vitalii Savchuk ", "license": "BSD", "repository": {