- Event handling for inline edit #269
- Option for preventing mutation of original data input #263
- Option for sorting behavior #250
- Select/deselect all rows when lazy loading data #251
- Setting sortEnabled to
false
now properly disables sorting as expected - Prevent sort style from changing column width
- Ability to use custom row id instead of auto generated one #245
- Row property for initial order
gtInitialRowIndex
- Select/deselect all rows when lazy loading data #244
- Min width for checkbox component
This release might not include a lot of new features or fixes, but under the hood many of the dependencies have been bumped/removed and a lot things related to packing, linting and code styles have been refactored as a step towards making it easier to contribute (thanks for helping out @mklein994).
- Support for row click events from drilldown component #218
- Support for setting initial state for expanding row #217
- Preserve original order for sort, sort will now go from
ascending
todescending
and then back toenabled
instead of just switching between ascending/descending #230 - Checkboxes now uses new markup for bootstrap
- Library is now packaged using ng-packagr 3.0.0-rc.2
- Support for conditional inline edit #122
- Support for toggling inline edit and using observable for options #141
- Fixed table info when lazy loading and totals are enabled #203
- Table sort order #206
- Use ng-packagr for bundling #207
- Support for locking settings #181
- Highlight pipe for use in custom components #196
- Support for row click #177, #186
- Page change event only emitted when page has actually changed #200
- Condition check in gt render pipe for 0, null, '' and false values #178
- Events for
gt-column-order-change
andgt-column-visibility-change
(emitted by gt-column-settings component, see wiki and events for more info) (issue #173)
- Expand/collapse all rows function (issue #175)
- Visible rows are now emitted on gt-info event (issue #171)
- Add and delete method (issue #169)
- Support for setting initial state for selected rows (issue #112)
- Support for setting initial state for expanded/open rows (issue #112)
- Support for custom component in table header (issue #158)
- Checkbox row selection (issue #96)
- rxjs import reference (issue #165)
- Support for input type for inline edit use
password
,number
,email
ortrue
for type text (issue #159).
- Placement of dropdown for inline edit (issue #153).
- Support for BOM (issue #147).
- Fixed #149 for angular 5 support
- Drilldown component, see example, (issue #137).
- Support for displaying all rows, (issue #139).
- Input
GtRowComponent
has been deprecated and support will be removed in a future release, see issue #34 for more info.
- Minor improvement for row rendering
- Support for conditional row classes, see example (issue #120).
- Support for conditional column classes, see example (issue #118).
- Field setting
classNames
have been deprecated in favor forcolumnClass
and will be removed in a future release.
- Method for checking if a row is selected, see methods in wiki for more info.
- Method for removing a row, see methods in wiki for more info.
- Methods for accepting (saving) and rejecting (canceling) inline edits as well has checking if table has pending inline edits, see methods in wiki for more info.
- Complex example with custom components for adding, removing and inline editing of rows (including data validation), see example here.
- Inline edit listens to global keydown events ie. it's now possible update multiple rows with the enter key without the input needing to have focus (see issue #115).
- Improved row id generation
- If
gtRowComponent
is passed to the tablerow-expandable
class will be added to rows (see issue #119). - Support for Bootstrap 4 beta (see issue #117).
- Sorting of boolean values (see issue #106).
- Added check for undefined fields (see issue #107).
- Check sorting when settings change (see issue #108).
- Safeguard against undefined values on input properties (see issue #109).
- Support for column totals (see issue #100).
- Mouse event added to column click handler (see issue #105).
- Position of dropdown when using inline editing with arrays, tether added as a dependency (see issue #104).
- Error with column settings causing visible columns to need an extra click when toggling column visibility (see issue #101).
- Small style improvement for inline editing
- Typings reference for published npm package
- Style for vertically aligning buttons inside table cell, apply with field setting
classNames:'gt-button'
.
- Loading message displayed instead of no data (see issue #95).
redraw()
now checks sorting and updates table if sorting has changed since last redraw (see issue #98 for example).
- Support for simple inline editing (see issue #52).
- CSV escaping (see issue #89).
- Confusing paging behaviour (see issue #87).
- AOT error for
ColumnSettingsComponent
(see issue #80).
- Package has changed name from
angular-generic-table
to@angular-generic-table/core
so all imports and references have to be updated accordingly, not really a breaking change but still something you need to consider if you're currently on version 4.0.1 or below.
- Column settings component for toggling column visibility and column order, see example here.
- Support for single row selection/expand, restrict to single selection/expand by setting
gtOtpions.rowSelectionAllowMultiple
and/orgtOtpions.rowExpandAllowMultiple
tofalse
, default value is true (see issue #72). - Option for default row length, use
gtOption.numberOfRows
to override default value (see issue #77). - Support for async loading of config objects i.e. settings and fields.
- Custom classes not applied when table had no visible columns (see issue #73).
- Fix for pagination component (see issue #46).
- Fix for sorting, sorting
enable
will be applied by default if setting is omitted (see issue #71). Column header will no longer emit click event if sorting is disabled. - Fix for sort order when lazy loading data (see issue #50).
- Column order will be set to property order if undefined.
- Accept null values when using async pipe (see issue #76).
- Fix for pagination component (see issue #67, #68, #69), pagination controls will now also be disabled when table is fetching data.
- Made some changes for angular version 4.0.0 eg. changed from
template
tong-template
which means that generic table now requires angular version 4+ and therefore it's added as a peer dependency (see issue #63).
- Fix for collapsing rows from row component (see issue #65)
- Fix for AOT (see issue #64)
- Removed faulty import (see issue #60)
- Removed deprecated warning
- Support for selecting rows, enable by setting
gtOtpions.rowSelection
totrue
(issue #53, issue #59) - Support for selecting/deselecting and expanding/collapsing all rows (issue #58)
- Support for redrawing table from custom column component, useful when custom column component alters other cells in row (issue #57)
- Lazy loading now uses default template (easier to keep code changes in sync)
- Project has changed name from
angular2-generic-table
toangular-generic-table
to comply with angular guidelines isOpen
property has been removed from row object, instead access isOpen state on row usingmetaInfo[row.$$gtRowId]?.isOpen
it's now also possible to see if a row is selected usingmetaInfo[row.$$gtRowId]?.isSelected
- Enable custom column components for the async case (issue #45)
- Refresh
gtInfo
component ifgtTexts
are changed - The keys declared by
gtTexts
interface are now optional (useful when you want to change a single text key)
- Example using ngx-translate for localization
- Support for passing translations to pagination component
- Upgrade angular-cli and build with metadata version 3 (issue #43)
- Changed class name for expanded row from
expanded-row
torow-expanded
to be more consistent (issue #39) - Pagination layout (issue #42)
- Examples now use new classes and markup added in bootstrap 4 alpha 6
- Allow custom components for each column (issue #44)
- Render or value function won't be called until table has data (issue #32)
- Include *.metadata.json files in build (issue #38)
- Include sass and css in build for styling
- Support for stacked columns (responsive layout for mobiles and tablets) use
[gtOptions]="{stack:true}"
to enable feature, see issue #37 - Basic styles for sorting and stacked columns (included in npm package for sass and as a pre-compiled css)
GtLazy
andGtHighlightSearch
input/attributes have been moved intoGtOptions
ie. change from[GtLazy]="true"
and[GtHighlightSearch]="true"
to[gtOptions]="{lazyLoad:true, highlightSearch:true}"
- Ability to toggle column visibility, see issue #33
- Ability to export to CSV, see issue #3
- Clean goal doesn't run before the build goal (see issue #36)
- Removed compiled javascript files
- Ability to show text when no data is return or when filter and/or search has no matching results, see issue #24
- Pagination component, see issue #2
- Ability to pass default options to table, see docs
- Loading state for table rows waiting for data (only when lazy loading), use
tr.row-loading
to style loading rows - Table info component, see examples
- Searching table now updates total number of pages correctly
- Searching function now supports åäö and other strange characters
- Handling of null values, see issues #32 and #35
- Lazy loading will by default not cache data, override using
gt-options
and setcache
totrue
GtPagination
has been replaced withGtInfo
and properties have changed names, see docs- Highlighting of search terms when using
[gtLazy]=true
has changed, set search terms in your server response, see docs GtTexts
now uses camel case instead of dash case so in case you've changed the default texts you need to change fromno_match
tonoMatch
etc.- Event property names have changed from
page
tocurrentPage
and frompageLength
torecordLength
to match names used byGtInformation
- Source maps not generated correctly
- Highlight doesn't find all matches
- Go to first page when using global search
- Moved search (true/false) to
GtConfigSetting
i.e. to disable global search for a field useGtConfigSetting
and to defined a search function useGtConfigField
.
- Option to highlight matched search terms in table, to enable use
[gtHighlightSearch}="true"
, highlighted strings have the classgt-highlight-search
.
- Column content (i.e td content) is now wrapped within a span, click etc. is now triggered by the span and not the td element.
- Added strong typing for all interfaces (you can always use
<any>
where type is required)
- Changed
component
togtRowComponent
and added typing for expanded row i.e. you must add type to your custom row component - Changed path for type declarations import using
import {GenericTableModule} from 'angular2-generic-table';
- Support for custom table classes
- Support for global table search
- Column order when no order is defined
- Minor bug fixes
- Switched from Bootstrap 3.3.7 to Bootstrap 4.0.0-alpha5
- Changed path for lib type declarations
- Sorting of multiple columns
- Sorting null values
- Missing scss file
- Importing Common Module instead of Browser Module to support sub module linking
- Targeting es5
- Added sorting classes to table headers and settings object is now updated when sorting changes
- All pipes are now pure (for better performance)
- Documentation
- Examples