Releases: esvit/ng-table
v0.8.1
Bug Fixes
- ngTableController:
Features
- ngTableController:
- NgTableParams:
- ngTableDefaultGetData: new service for applying NgTableParam filters (etc) to a data array
(bdf5d9ee) - ngTableEventsChannel: publish strongly typed events using explicit service
(1f3e7e4c) - ngTableFilterConfig: setConfig now merges with previous config values
(155ef620)
v0.8.0
Bug Fixes
- ngTableController: don't trigger reload whilst a reload is already in-flight
(97d09ca4)
Features
- ngTableFilterConfig: allow template urls for filters to be customized
(032f6ff6)
Breaking Changes
- header.html: due to 47460d67,
The sortBy function previously declared by ngTableController
has been moved to the new controller - ngTableSorterRowController
.
- ngTableController: due to 97d09ca4,
Calls to NgTableParams.filter
, NgTableParams.sorting
(etc) made in the then
method of
the promise returned by NgTableParams.reload
will NOT trigger a subsequent call to NgTableParams.reload
;
the call to NgTableParams.reload
must now be explicitly be made.
Previously:
tableParams.reload().then(function(){
if (!tableParams.total() && _.size(tableParams.filter()) > 0) {
tableParams.filter({});
}
});
Now:
tableParams.reload().then(function(){
if (!tableParams.total() && _.size(tableParams.filter()) > 0) {
tableParams.filter({});
return tableParams.reload();
}
});
v0.7.1
v0.7.0
v0.6.0
Breaking Changes
- header.html: due to 6bb2aba8,
anyone who relied on a specific 'position' field to order table columns will now
need to change the order items's in the column array
Previously:
cols[1].position = 2;
cols[2].position = 1;
Now:
var swappedCol = cols[2];
cols[2] = cols[1];
cols[1] = swappedCol;
v0.5.5
0.5.5 (2015-07-09)
Bug Fixes
- example: updated code due to documentation total should be a number
(ce15e94a)
Features
v0.5.4
v0.5.1
0.5.0
Bug Fixes
- ngTableController:
Features
- filters:
- header:
- ngTable:
- ngTableDynamic: new directive that accepts dynamic array of columns
(03854d33)
Breaking Changes
-
column: due to 7e8448dc,
-
Binding expressions used for generating
thead>th
attributes that reference the current column will need modifyingPreviously:
<td title="getTitle(column)">
Now:
<td title="getTitle($column)">
- directive: due to 3113e340,
- Fields previously stored directly on a column object are now only available via the prototype chain
This will affect you only if you are enumerating / specifically checking for "own properties" of the column object.
- filters:
- due to c2f83b98,
Custom header.html templates will need to pass the current scope as a parameter to column.filter.
Previously:
<!-- snip -->
<div ng-repeat="(name, filter) in column.filter">
<!-- snip -->
... now becomes:
<!-- snip -->
<div ng-repeat="(name, filter) in column.filter(this)">
<!-- snip -->
- filters:
- due to 53ec5f93,
- $$name field on filter definitions is not supported.
Previously:
<td filter="{'username': 'text', $$name: 'username'}"</td>
... now becomes:
<td filter="{'username': 'text'}"</td>
- column.filterName has been dropped as this is no longer applicable. Custom filter templates will need to change.
Previously:
<input type="text" name="{{column.filterName}}"
... now becomes:
<input type="text" name="{{name}}"
- Multiple filters defined by the same filter definition will now render each input with a seperate name.
- filters:
- due to 7955f12b,
- column.filterTemplateURL has been dropped as this is no longer applicable. Custom header.html
templates will need to change.
Previously:
<tr class="ng-table-filters" ng-init="tableParams">
<th ng-repeat="column in columns" ng-show="column.visible" class="filter">
<div ng-repeat="(name, filter) in column.filter">
<div ng-if="column.filterTemplateURL" ng-show="column.filterTemplateURL">
<div ng-include="column.filterTemplateURL"></div>
</div>
<div ng-if="!column.filterTemplateURL" ng-show="!column.filterTemplateURL">
<div ng-include="'ng-table/filters/' + filter + '.html'"></div>
</div>
</div>
</th>
</tr>
... now becomes:
<tr class="ng-table-filters" ng-init="tableParams">
<th ng-repeat="column in columns" ng-show="column.visible" class="filter">
<div ng-repeat="(name, filter) in column.filter">
<div ng-if="filter.indexOf('/') !== -1" ng-include="filter"></div>
<div ng-if="filter.indexOf('/') === -1" ng-include="'ng-table/filters/' + filter + '.html'"></div>
</div>
</th>
</tr>
- Specifying the url to a filter template has changed.
Previously:
<td filter="{ 'name': 'text', templateURL: 'path/to/textFilter.html'}"</td>
... now becomes:
<td filter="{ 'name': 'path/to/textFilter.html'}"</td>
- Multiple filters defined by the same filter definition will now specify their own url.
Previously:
<td filter="{
'fname': 'text',
'lname': 'text',
templateURL: 'path/to/textFilter.html'}"</td>
... now becomes:
<td filter="{
'fname': 'path/to/textFilter.html',
'lname': 'path/to/textFilter.html'}"</td>
- header:
- due to 699b2a58,
parse method on the ngTable scope has been removed as it's no longer required
- header:
- due to 60de2066,
Previously, a css class was added to TH elements thusly:
<tr ng-repeat="row in $data">
<td header-class="myHeaderClass"></td>
</tr>
Now:
<tr ng-repeat="row in $data">
<td header-class="'myHeaderClass'"></td>
</tr>
ngTable v0.4.3
- getData and reload now return promises;
- #327
- 'filter-data' now accept function/array/object variables
- global default params