CSS over JS
PrimeNG 1 was using js to add hover effects and focus events, this was causing an unnecessary change detection in the context of Angular so we’ve reimplemented this to use CSS pseudo instead. Result is better performance, especially significant on pages with a lot of widgets.
DataTable is the most complex component and to deal with complexity it has been revamped to have separate internal components like headers, body, scrollable views. This allows us to implement the new Frozen Columns easily. Another important add-on is the customizable editable cells. Highlight anticipated column resize support for scrollable tables is also now available.
Various components such as Dropdown, Calendar have received performance improvements, results are significant and performance has been improved drastically.
Thanks to the included defect fixes, quality is being improved with each release.
New Features and Enhancements
- Custom Editor for DataTable cell
- Frozen Columns for DataTable
- Column resize and reorder support for Scrollable DataTable
- style and styleClass for Growl
- panelStyle and panelStyleClass attributes to dropdown
- Add tabindex input for all control components
- Lazy Loading for Accordion and TabView
- Dismissable mask option for dialog
- Custom header and footer support for Calendar
- StepHour and StepMinute for calendar
- Focus dropdown filter on open
- Add sortField to column
- Keyboard and ScreenReader support for TreeTable
- Allow FileUpload toolbar customization similar to that of the Toolbar component
- Dialogs to have option to hide header
- Readonly support for Dropdown
- Seconds support for Calendar
- Disabled for Tooltip
- Cosmetics for SplitButton
- Use buttons for Spinner instead of anchors
- Improve Growl CSS
- Improve dropdown performance
- Use native animations for dropdown
- Update full calendar to 3.1
- Replace viewRender with onViewRender in schedule
- Calendar performance issues
- Editor Toolbar Accessibility
- Dropdown should open using the space key
- Enhance Dropdown event binding for performance
- Datepicker showOnFocus method
- Expose `DomHandler` in library API
- Replace Header and Footer with p-header and p-footer
- Refactor TabView navigator part
- Use font icons in rating
- Calendar control validity state
- Contextmenu submenu appears out of view area
- Replace JS based hover and focus with pseudo classes
- BlockUI target element style attribute
- Calendar button issue with ui-fluid
- DataTable resize helper positioning issue
- Autocomplete readonly
- onFocus for Calendar
- Single FileUpload still behaves as multiple
- Memory leak in calendar
- p-header is not a know element for panel and editor
- p-InputMask does not update its ‘filled’ property when use within a FormGroup
- Button with Icon: the label is not updated when used with a pipe
- Fix updateModel in case of timeOnly
- p-multiselect label is not updated when ngModel changes
- fixed p-inputmask on android
- Button label updates icon instead of label
- p-dataTable does not render when multiSortMeta is set
- Templating fails when using any *ng directives
- DataTable still propagating endless onLazyLoad events
The two premium templates are not yet compatible with 2.0, we’re currently working on this and they will get a new release early next week. Just like Ultima, Omega will be based on CLI. Both will replace some of the core jquery bits they use with native angular. Then we’ll start porting Poseidon, Atlantis, Verona and the upcoming Barcelona templates from PrimeFaces.
PrimeNG is free to use under MIT license and distributed at npm.
- header and footer components are replaced with p-header and p-footer
- Components having templates such as DataGrid, DataList, PickList, Listbox now require pTemplate=”item” directive to be defined on the template element.
There will be more RCs and on 6th of february 2.0 Final will be released. After 2.0, we’ll continue adding improvements like new features, accessibility, rtl and new components including Spreadsheet.
Always bet on Prime!