Top

PrimeNG 4.0.0-RC4 Released

PrimeNG 4.0.0-RC4 Released

Final RC of the PrimeNG 4 includes 20+ improvements, 4.0 final will be released on 1st of May.

Good Bye DoCheck

For components that deal with collections, we were using DoCheck interface and IterableDiffers to figure out if the model has changed so the components can update themselves. However DoCheck is mostly useful if you need to track what has changed, in our case this is not necessary we just need to get notified if there is a change. DoCheck can also be slow especially with large collections so we’ve switched to setter method to find out model changes.

This change introduces a new constraint because it requires to create a new collection like a new array instead of manipulating an existing array otherwise setter is not called by Angular. For example, when adding a new record to the table, a new array needs to be created such as using spead operator instead of push().

New Features and Enhancements

Defect Fixes

Download

PrimeNG is licensed under MIT license and available for download at NPM.

Share
5 Comments
  • Terje Bergesen
    27 April 2017 at 16:51

    Noticeable increase in performance – great work guys.

  • Damon Carr
    27 April 2017 at 21:31

    Updating from RC3 to RC4 I now get the following errors (I am using the Ultima premium theme), Do I need to upgrade to Angular 4.1.0?

    polyfills.bundle.js:6609 Unhandled Promise rejection: Template parse errors:
    Can’t bind to ‘immutable’ since it isn’t a known property of ‘p-dataTable’.
    1. If ‘p-dataTable’ is an Angular component and it has ‘immutable’ input, then verify that it is part of this module.
    2. If ‘p-dataTable’ is a Web Component then add ‘CUSTOM_ELEMENTS_SCHEMA’ to the ‘@NgModule.schemas’ of this component to suppress this message.
    3. To allow any property add ‘NO_ERRORS_SCHEMA’ to the ‘@NgModule.schemas’ of this component. (“taTable [value]=”displayData” selectionMode=”single” [contextMenu]=”cm” #ampsTable
    [ERROR ->][immutable]=”true”
    [paginator]=”true” [rows]=”12″ exportFilename=”ampsdata”
    “): ng:///AppModule/PimcoAmpsViewerComponent.html@33:16 ; Zone: ; Task: Promise.then ; Value: Error: Template parse errors:
    Can’t bind to ‘immutable’ since it isn’t a known property of ‘p-dataTable’.
    1. If ‘p-dataTable’ is an Angular component and it has ‘immutable’ input, then verify that it is part of this module.
    2. If ‘p-dataTable’ is a Web Component then add ‘CUSTOM_ELEMENTS_SCHEMA’ to the ‘@NgModule.schemas’ of this component to suppress this message.

  • Damon Carr
    27 April 2017 at 21:56

    Never mind – I see that immutable is no longer necessary – removing it fixed my issue.

  • Jovica Madzevic
    28 April 2017 at 09:26

    In autocomplete taking data from server side in filtersingle method and put them in suggestion list like this seams that is not working anymore.
    this.keyValues = [];
    this.autoCompleteDropDownService.all(builder.toString(), { search: query }, this.action)
    .subscribe(((response: IResponse) => {
    response.value.forEach(keyvalue => {
    this.keyValues.push(keyvalue);
    });
    }) as any);