Pre-release

@christianacca christianacca released this Dec 31, 2016

Assets 2

<a name"4.0.0">

4.0.0 (2016-12-31)

Bug Fixes

  • ngTableParams: parameters method returns incorrect object (3ca6852d)

Features

  • NgTableParams: nested paramater values never undefined (8f5461fc)
  • ngTableFilterConfig: nested options never undefined (09664284)
  • ngTableSettings: nested options never undefined (6e810ba6)

Breaking Changes

NgTableParams.parameters: any param value supplied as undefined will now be ignored

Instead of undefined you will need to supply a suitable value as described below:

  • count, page - 0
  • filter, group, sorting - an empty object to remove existing values

(8f5461f)

NgTableFilterConfigProvider.setConfig: any config value supplied as undefined will now be ignored

Instead of undefined you will need to supply a suitable value as described below:

  • aliasUrls - an empty object to reset configuration back to using filter templates supplied by the ng-table library

(0966428)

  • Split TableInputAttributes interface into base and specialized interfaces

(29659a9)

  • Drop the I prefix from interface names

(2e5bf71)

  • ISettings: replaced with Settings class and a type alias of SettingsPartial
  • Settings.interceptors, Settings.counts: arrays are cloned therefore any changes to the array will not be recognised
  • settings(newSettings): any setting value supplied as undefined will now be ignored.

Instead of a undefined you will need to supply a suitable value as described below:

  • counts - an empty array to prevent the page size buttons rendering
  • filterOptions.filterDelay - 0 to remove the debounce delay
  • filterOptions.filterDelayThreshold - null so that a dataset of any size will have a filterDelay applied
  • groupOptions.sortDirection - '' so that grouped columns are NOT sorted by default
  • groupOptions.isExpanded - false so that each grouped set of rows are collapsed by default
  • paginationMaxBlocks, paginationMinBlocks - 0

(6e810ba)

Pre-release

@christianacca christianacca released this Dec 31, 2016

Assets 2

<a name"3.1.0">

3.1.0 (2016-12-31)

IMPORTANT: This release has the wrong version number. Use v4.0.0 instead

Assets 2

<a name"3.0.1">

3.0.1 (2016-12-06)

Bug Fixes

  • ngTableFilterConfig: missing di annotation (5317463b)

@christianacca christianacca released this Dec 6, 2016

Assets 2

<a name"3.0.0">

3.0.0 (2016-12-06)

Bug Fixes

  • ngTableColumn: setting column attribute fails (e532a4f4)
  • ngTableColumnsBinding: cannot be used with ngTableDynamic directive (76c7396c)
  • ngTableEventsChannel: event callbacks defines incorrect params (b7a2aa62)

Breaking Changes

  • services and controllers now implemented using classes

This will only affect applications written in typescript

  • renamed exported angular module: ngTable -> ngTableModule

Previously:

import { ngTable } from 'ng-table';

Now:

import { ngTableModule } from 'ng-table';
  • ng-table/browser switched to using a named export for it's angular module

Previously:

import ngTableBrowserModule from 'ng-table/browser';

Now:

import { ngTableBrowserModule } from 'ng-table/browser';
  • ng-table/core switched to using a named export for it's angular module

Previously:

import ngTableCoreModule from 'ng-table/core';

Now:

import { ngTableCoreModule } from 'ng-table/core';
  • ngTableFilterRowController switched to use controllerAs

Practically this will only effect applications that:

  1. have a custom directive that uses ngTableFilterRowController as it's controller
  2. or have replaced the ngTable/filterRow.html template stored in the $templateCache

To upgrade, these applications will need to change their template to reference the controller
methods exposed on the $ctrl scope variable.

  • ngTableGroupRowController switched to use controllerAs

Practically this will only effect applications that:

  1. have a custom directive that uses ngTableGroupRowController as it's controller
  2. or have replaced the ngTable/groupRow.html template stored in the $templateCache

To upgrade, these applications will need to change their template to reference the controller
methods exposed on the $ctrl scope variable.

  • ngTableSorterRowController switched to use controllerAs

Practically this will only effect applications that:

  1. have a custom directive that uses ngTableSorterRowController as it's controller
  2. or have replaced the ngTable/sorterRow.html template stored in the $templateCache

To upgrade, these applications will need to change their template to reference the controller
methods exposed on the $ctrl scope variable.

  • changed signatures of afterDataSorted + afterDataFiltered events

Previously:

(publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: DataResult<T>[] ): any

Now:

(publisher: NgTableParams<T>, newData: DataResult<T>[] ): any

(b7a2aa62)

@christianacca christianacca released this Nov 27, 2016

Assets 2

<a name"2.2.0">

2.2.0 (2016-11-27)

Features

  • ngTableEventsChannel: Added events to provide the data after it is filtered and after it is sorted. (22ed10fe)

@christianacca christianacca released this Oct 12, 2016

Assets 2

<a name"2.1.0">

2.1.0 (2016-10-12)

Features

  • pagination: update to work with Bootstrap v4 (dab0aefb)

@christianacca christianacca released this Oct 8, 2016

Assets 2

<a name"2.0.2">

2.0.2 (2016-10-08)

Bug Fixes

  • package: minified files missing from bundle (c4bf2bda)

@christianacca christianacca released this Oct 8, 2016

Assets 2

<a name"2.0.1">

2.0.1 (2016-10-08)

Bug Fixes

  • package: @types/angular should not be a peer dependency (8da2b55f)

@christianacca christianacca released this Oct 5, 2016

Assets 2

<a name"2.0.0">

2.0.0 (2016-10-05)

Features

  • ng-table.js: support the CommonJS module format (7261ff45)

Breaking Changes

  • filter-data attribute no longer supports returning a $defer'ed

Previously you could supply to the filter-data attribute a $defer'ed object.

Now, any asynchronous result must be supplied as a promise

(380c2d2e)

  • The AMD (RequireJS) module returned by ng-table.js is now an object that references
    the angular module.

Previously, the module returned was the angular module.

Note: this will only affect apps that are using RequireJS to load ng-table.js.

Those apps that are loading ng-table.js as a script tag will be unaffected.

  • Replaced LESS with SASS

This will only affect the minority of apps that are using the ng-table.less file in the
dist folder.

Those apps that are using the ng-table.css will be unaffected.

(7261ff45)

@christianacca christianacca released this Jun 17, 2016 · 108 commits to master since this release

Assets 2

Breaking Changes

  1. ngTableAfterReloadData $scope event removed

Eventing no longer makes direct calls to $scope.$emit. Instead a strongly typed pub/sub service
(ngTableEventsChannel) is used.

To migrate

Previously:

    $scope.$on('ngTableAfterReloadData', yourHandler)

Now:

    ngTableEventsChannel.onAfterReloadData(yourHandler, $scope)
  1. $scope removed from NgTableParams

Because of 1. above, NgTableParams no longer requires a reference to $scope.

A reference to $scope was largely an internal requirement so there should be no code change
required on your part.

  1. getData signature change

The $defer paramater supplied to your getData method has been removed. Instead your
getData method should return an array or a promise that resolves to an array.

To migrate

Previously:

    var tp = new NgTableParams({}, { getData: getData });

    function getData($defer, params){
        // snip
        $defer.resolve(yourDataArray);
    }

Now:

    var tp = new NgTableParams({}, { getData: getData });

    function getData(params){
        // snip
        return yourDataArrayOrPromise;
    }
  1. ngTableParams renamed to NgTableParams

To migrate

Previously:

    var tp = new ngTableParams();

Now:

    var tp = new NgTableParams();