ZingGrid Changelog
v1.7.0
(01/24/2024)Release Information
Features
- Advanced Filtering
-
ZingGrid updated the filter feature to now support different filter conditions, such as "contains", "notContains", "equal", "beginsWith", "endsWith", and many more! Enable by including the [filter] attribute to check it out.
-
The filter menu has many capabilities that are customizable. You can change the number of filter conditions to apply to the column or add your own custom condition. If you don't want to filter by conditions, you can even update it to selectbox options. Check out the different capabilities here!
-
The filter menu supports styling through CSS variables
-
The previous filter behavior is still available by setting [filter="inline"]
-
Both inline and menu filtering can connect to your REST endpoints through
<zg-param>
to support server-side filtering. Just set the[loadByPage]
and[serverFilter]
params (filter menu additionally requires the[createFilterURL]
param).
-
Bug Fixes
- Fixed bug with blank area in header and footer when vertical scroll bar is enabled
- Fixed JavaScript error on clicking in footer when vertical scroll is enabled
- Changed frozen rows to have same row height as normal body rows
- Fixed bug with interaction between record select column and virtual row scrolling
- Fixed
[filter-menu]
bug when only selectbox is displayed - Fixed issue with double span container in
<zg-button>
- Moved filter menu select list from shadow DOM to the light DOM
v1.6.3
(01/24/2024)Release Information
Bug Fixes
- Horizontal scroll on filtering with custom image renderers
v1.6.2
(12/18/2023)Release Information
Bug Fixes
- Don't open column menu if there are no columns
- Enhanced LICENSE check conditions
- Fixed error with
[custom-disabled]
when set to a custom method on a<zg-button>
- Fixed server side sort error
v1.6.1
(12/18/2023)Features
- More button features for both
<zg-button>
and button column.- Customizable borders
- Added
[force-border]
attribute to<zg-button>
. As a boolean, it forces a border on built in buttons. Set attribute todisabled
to remove border from custom buttons. - Added
[button-border]
to<zg-column>
which will be read in columns withtype="button" | "remover" | "editor" | "duplicate"
- Added
- Add a handler
- Added
[handler]
to<zg-button>
to add a handler event to a custom button
- Added
- Add a tooltip
- Added
[custom-tooltip]
to<zg-button>
to add a tooltip on custom buttons - Added
[type-button-tooltip]
attribute to<zg-column>
to set the tooltip on the button if the column type is button.
- Added
- Conditionally disable button
- Add
[custom-disabled]
to receive a function name that should return true or false - Updated
[type-button-disabled]
to receive a function name that should return true or false
- Add
- Customizable borders
- Other minor features:
- Added
[translate-newline]
attribute to<zg-column>
to allow to be set to "disable" to not convert\n
to<br>
- Added
registerFilterer()
API method to add custom filter to make custom filter available to ZingGrid when outside the window scope - Added
which will not unset page, sort, search, filter, and columns on data change. - Update data sent to
cell:copy
andcell:paste
to include the full cell data object and then string that is actually copied or pasted. ZGData now containsdata
andcopiedValue
- Added
cell:beforecopy
event. Can change the value ofZGData.copiedValue
and that will be what is added to the user's clipboard. - If
[context-menu]
attribute is set to"browser"
the default browser's contextmenu will be used. - Add parameter to API methods
updateRecord()
andupdateRow()
to disable row refresh after updating the data - Updated editor fields to use browser's autofill
- Enabled
[batch-edit]
to be added to<zing-grid>
without setting[editor]
or[editor-controls]
- Changed functionality of aggregate column head and foot cells to be the aggregate of column instead of totals on the grid when possible
- Added
Bug Fixes
- Updated CSS variables
- Fixed horizontal scroll Issues
- Updated
<zg-button>
cleanup for[handler]
attribute - Fixed vertical align issues with buttons
- Fixed loading order issues with
<zg-button>
,<zg-footer>
, and<zg-source>
- Removed error when date column does not contain date data
- Fixed conflict with row selector and
<zg-caption>
- Fixed issues with mutation observer refreshing
- Fixed
grid:pagechange
event firing time - Fixed bug with aggregate column modification
- Fixed issues with focus after closing the details dialog
- Updated
[type-select-options]
to reset on removal - Updated width on select filters
- Fixed Angular issue with
preventDefault
alerts - Reverted style to allow for cell overflow in special cases
- Fixed width of [
<zg-no-data>](https://www.zinggrid.com/docs/api/tags/zg-no-data)
to extend to match the header width - Maintain horizontal scroll position after filtering to nodata
- Fixed bug with filter on select column type
- Fixed bug with setting the data after grid init but before grid load
- Fixed bug with paging after insert
- Fixed button style conflicts with Bootstrap
- Modified theme colors in black and dark theme
- Allow custom
[head-cell]
function to be defined after the grid - Fix positioning of card data
- Hide clipboard pixel
- Prevent row creation when validation fails
- Fixed dialog alignment
- Consider width of aggregate foot and head cells when calculating column width
- Fixed horizontal scroll bar always showing when vertical gridlines are used
- Fixed bug in disabling button
- Fix RTL issues
- Fixed bug with horizontal scrolling after edit
- Fixed card mode race condition on load
- Only fire
column:filter
event when the filter value changes - Adjusted the batch edit status message CSS to display nicer
- Fixed bug with adding a new row when the data structure contains nested data
- Fixed cleanup bug
- Fixed issues with aggregate columns on other column removal
- Fixed putting
<zg-select>
in caption, header, and footer - Fixed aggregate column head and foot cell functions
- Fixed filter CSS
- Fixed event oversights
- Updated
[type-button-disabled]
to properly disable actions on click - Fixed positioning of icons when
[dir="rtl"]
- Fixed bug on disconnect between head and body scroll
- Update the local version of the record if the server returns the record object after insert or update
v1.6.0
(09/05/2023)Release Information
Features
-
- ZingGrid has batch editing as a built-in feature. Enable by including the
[batch-edit]
attribute to start editing, inserting, and removing rows as a single action.
- ZingGrid has batch editing as a built-in feature. Enable by including the
-
- The custom filter object allows customizing part of or all of the filterer.
-
Other minor features:
- Added in an
<zg-cell-overflow>
element to put in cell content that sits on top of grid
- Added in an
Bug Fixes
- Fixed issues with keyboard navigation and batch editing
- Fixed issues with non-text column types that are rendered as text
- Fixed batch editing validation
- Fixed bug with radio column type
- Fixed horizontal scroll bug
- Added CSS variables for batch edit styles
- Fixed issues with deleting previously added rows
- Fixed problems with inserts that return the full dataset
- Fixed problems with grids that subscribe to a dataset
- Fixed UX issues with frozen rows and batch editing
- Separated the batch edit message to it's own region in the
<zg-control-bar>
- Fixed issues with borders in Chrome
- Prevented horizontal scrollbar from being added with gridlines
- Allow batch editing even if editor is disabled
- Ensure edits are always taken despite follow up action (filter, sort, page, etc)
- Ensure edits are taken even if clicking 'save' before clicking out of the edit cell
- Update status tokens to include fieldsEdited and recordsEdited
- Ensure order of
setBatchEdit()
andsetBatchEditStatus()
does not matter - Fixed default response of
getConfirmations()
- Fixed recognition of user defined functions for
deleteCustomFunction
,createCustomFunction
andupdateCellCustomFunction
- Fixed alignment issues with
<zg-dialog>
- Fixed batch editing theming for dark mode
- Added tooltips for batch editing buttons
- Fixed refresh functionality during batch edit
- Fixed batch editing within grouped data
- Fixed batch editing classes conflicting with
[cell-class]
and[col-class]
- Fixed error with batch edit status displaying after save
- Fixed a bug with required fields in insert
- Fixed a bug with the count aggregate calculator
- Fixed layout issue with
[group-by]
and Frozen Columns - Fixed "rtl" in aggregate when number begins string
- Updated groupRowAggregate renderer to include values for each groupby index
- Fixed radio inline editing style
- Fixed header scroll bug with batch editing
- Fixed focus issues
- Fixed themed styles for batch editing
- Fixed issues with editing the date column type
- Updated the style of batch editing
- Added Spanish values for batch editing
- Fixed batch editing with
[row-selector]
removals - Fixed combinations of column generation attributes and defined columns
- Fixed positions of column buttons in card mode
- Fixed widths of batch editing in card mode
- Fixed positions of batch editing buttons in card mode
- Allow custom class functions to be defined after the grid
- Changed default theme color of black theme
- Fixed dialog color in the black theme
- Fixed dynamic language change with batch editing
- Implemented changes for black theme borders
- Merged batch edit message changes
- Only show
<zg-control-bar>
when<zg-control-bar>
items are added to the grid - Unfocus edit on search button click
- Updated
[batch-edit]
message to display inline if it fits, otherwise to display under the current row - Fixed error with aggregate renderers
- Updates after removing
[group-head-cell]
attribute
v1.5.3
(04/12/2023)Release Information
Bug Fixes
- Fixed card to row layout bug
v1.5.2
(04/04/2023)Release Information
- Added API method
deselectRows
deselectRow
andselectRow
Bug Fixes
- Fixed bug with row selection not resetting after refresh
v1.5.1
(03/27/2023)Release Information
Features
-
-
ZingGrid now has the ability to include aggregate columns by setting
[type="aggregation"]
. Will aggregate any number columns in each row or can limit the columns by setting the[index]
attribute. -
Fully customize the aggregate column by setting
[typeAggregateValue]
to a custom renderer -
Combine aggregate columns with aggregate rows to display "Grand Total"
-
-
Other minor features:
- Added
[typeUrlTarget]
which takes the options from HTML target attribute. Added smarter detection of formatting for aggregate cells - Added
data:afterfetch
event which is called after data is received from the server, but before it is processed. - Added
ZGButton[action="selectAll"]
- Added
zgRef.selectAll()
API method - Added
zgRef.deselect()
API method - Added
zgRef.getSortedColumn()
API method - Added text to draggable columns for internal column types
- Added
--zg-head-cell-inner-padding
css variable - Added CSS parts for all subcomponent shadow DOMs for easier CSS styling
- Added
selectall
button icon
- Added
Bug Fixes
- Fixed bug with hierarchical header display when using header attribute
- Fixed positioning of column resize handler
- Fixed column resizing with
[dir="rtl"]
attribute - Fixed copy functionality
- Fixed issues with dynamically changing a
<zg-button>
action attribute - Fixed issues with dynamically changing a
<zg-text>
value attribute - Fixed fullscreen display
- Fixed display issues with
[pageSizeCard]
- Fixed scrolling bug between row and card mode
- Fixed draggable column bugs
- Fixed issues with draggable columns within mobile
- Fixed issues with removing data after load
- Allowed
ZGParam[name="recordPath"]
to work with static data - Fixed bugs with setting proper default editor mode based on layout
- Fixed alignment of filter components
- Fixed keyboard navigation issues
- Fixed keyboard navigation with
[dir="rtl"]
- Fixed gridline display issue
- Updated custom callback code to callback functions even if defined after
<zing-grid>
- Updated saving record issues with using custom columns and
editrecord
buttons - Fixed problem with scroll to load functionality
- Fixed keyboard navigation issues
- Fixed header on aggregate column changes
- Fixed the dynamic updating of
[typeAggregateOmit]
- Fixed keyboard navigations issues including focus lost and inability to access areas
- Fixed refresh issues with
[footCell]
and[headCell]
aggregations - Fixed bug with
[footCell]
fields not updating on grid data changes - Fixed bug with changing caption text
- Fixed a bug with tooltips and scrolling
- Fixed a bug with
[cellClass]
and[colClass]
in card mode - Fixed a bug with
<zg-load-mask>
displaying properly - Fixed bugs with modifying custom card renderers or templates after loading
- Modified the position of the context menu if it is on the right of the screen
- Fixed display issues with the
[footCell]
- Fixed issues with date sorting
- Fixed keyboard navigation issues
- Fixed bug with
postload
change in[filterer]
attribute - Fixed mouse selection visual bug
- Fixed bug with refreshing after
page-size
change - Fixed bugs with touch features in mobile
- Fixed display issue with headers in card mode
- Fixed bugs with column width calculations
- Fixed bugs with dynamic updating of color column attributes
- Also fixed issues with template, colgroup, and renderer
- Added
rowgroup
option to state management to preserve the opened groups on reload - Fixed issues with
[serverRendered]
grids and row grouping - Fixed button alignment in row grouping and frozen columns
- Enabled
rowNumber
feature to work properly with row grouping
v1.5.0
(01/09/2023)Release Information
Features
- Row Grouping
-
ZingGrid now has the ability to group rows by specifying field indices. On the
<zing-grid>
tag, set the[group-by]
attribute to the fields to group by. -
An alternative to enabling row grouping is to use the
[type="row-group"]
column and set the[index]
attribute to the field indices. Or it could be used to reference an existing row-group column added by[group-by]
on the<zing-grid>
tag (no need to set[index]
since field indices already specified in[group-by]
). -
If your grid dynamically updates which indices are included in row grouping, create a row-group column. Then add or remove the
[group]
attribute from any<zg-column>
! -
ZingGrid API methods also supports getting or setting the group-by attribute with the
getGroupBy()
andsetGroupBy()
methods.
-
Bug Fixes
- Fixed issues with template, colgroup, and renderer
v1.4.1
(08/31/2022)Bug Fixes
- Fixed edit row scrolling bug
- Fixed edit cell scrolling bug
- Fixed edit cell > edit row bug
v1.4.0
(08/23/2022)Release Information
Features
-
Added state management functionality
- ZingGrid has the ability to preserve its state between page load. The following states are preserved: column position, column visibility, column width, filter, frozen columns, frozen rows, layout, page, page size, row selector, search, selector and sort.
-
Added support for setting the data source to be an HTML table
- Added support for setting
[is="zing-grid"]
attribute on an HTML table - Added
dataZgFrozenColumn
to columns - Added the following
<zg-param>
names to support datatype rendering: -[name="tableHide"]
-[name="tableHead"]
-[name="tableDataFormat"]
-[name="tableHeadFormat"]
- Added support for setting
-
Added capability to detect type of static data source based on content
- Added the
<zg-param name="dataType">
param to specify if the static data type is html (table), csv, xml, or json (default) - Added the
<zg-param name="csvCaption">
param to specify that the csv data source first line contains a caption - Added support for static CSV datasource
- Added support for static XML datasource
- Added the
-
New column type: Row duplicate
- Adds a column of buttons to duplicate the associated row
-
Other minor features:
- Added
recordKey
attribute to<zing-grid>
to automatically add the key value as a column - Added
typeNumberDecimals
andtypeNumberMaxDecimals
to currency column type - AddedtypeNumberMinDecimals
to explicitly set the minimum decimals - Added server side filtering functionality
- Added
filterkey
attribute on<zg-column>
By default, the filter key will be the field index. - AddedserverFilter
boolean to<zg-param>
. This andloadByPage
are required to turn on server side filtering - Added ability to set
staticMenu
to a custom context menu without usingcontextMenu
attribute - Added in refresh of column types after
registerCellType
is called - Added new events:
grid:sort
,column:togglevisibility
, andcolumn:move
- Added support for setting the data source to be an HTML table
- Added
headerRowHide
attribute to<zing-grid>
to enable hiding the header row(s)
- Added
Bug Fixes
- Fixed issues with clearing the state
- Fixed state manager and table data bugs
- Fixed issues with table data source
- Fixed table parsing bugs
- Changed decimal behavior in number, currency, and percentage column types to use the Javascript default. Can override with
typeNumberMinDecimals
,typeNumberMaxDecimals
, and/ortypeNumberDecimals
. - Reimplemented
typePercentageDecimals
andtypePercentageMaxDecimals
- Fixed issue with going from custom context menu to built in
- Fixed issue with updating
staticMenu
- Fixed issues with currencyRenderer
- Fixed issues with
recordKey
column type - Fixed default zebra striping to work with
frozenRows
- Fixed bug processing data when the data object has a '.' in the key value. The '.' is used for data path and hierarchical columns. You can set this to another key or disable it by setting the
nesteddataseparator
attribute on<zing-grid>
- Fixed
refreshGrid
bug
v1.3.1
(04/11/2022)Release Information
Features
- Added server side filtering functionality
- Added [filterkey] attribute on
By default, the filter key will be the field index. - Added serverFilter boolean to
This and loadByPage are required to turn on server side filtering
Bug Fixes
- Fixed default zebra striping to work with frozenrows
- Fixed bug processing data when the data object has a '.' in the key value. The '.' is used for data path and hierarchical columns. You can set this to another key or disable it by setting the [nesteddataseparator] attribute on
v1.3.0
(04/11/2022)Release Information
Features
- Added
setFrozenColumnsRight()
- Added
setFrozenColumnsLeft()
- Added
getFrozenColumnsRight()
- Added
getFrozenColumnsLeft()
- Added
<zg-param>
option to escape or disable escaping of HTML in RSS - Auto populate
typeSelectOptions
from data if not set by user - Added preserving state on refresh
- Added
bodyRowIndex
to event object AddedfrozenRowClass
to<zing-grid>
- Added
parentArea
andbodyRowIndex
to parameters forrowClass
functions - Added new column type: percentage which renders as a percentage and edits as a number
- Added
[typePercentageDecimals]
and[typePercentageMaxDecimals]
to indicate number of decimals to display for percentage type - Added
[typeSelectDefaultValue]
attribute for select column types. It will set the default select option on new records and if no value set on edit. - Added
openRowEditor()
method to<zing-grid>
This will take arowindex
and open that row in edit mode if the editor is turned on - Added creator attribute to
<zing-grid>
to specify 'inline' or 'modal' editor type for new records
Bug Fixes
- Fixed bug with nested grids
- Fixed bugs with draggable columns
- Fixed bugs with focus
- Fixed bug with
tooltip[feature]
- Enabled closing dialog by pressing 'esc' key
- Fixed width of the selector column
- Fixed bug with changing
filterindex
after load - Improved functionality of RSS input
- Handle CDATA blocks
- Handle whitespace
- Fixed automatic headers
- Memory Removal Bug Fixes
- Fixed issues with adding/removing
staticMenu
attribute when having and not having a caption - Fixed issues with updating the
filterindex
- Changed the
typeColorPreview
turnoff state to bedisabled
to be consistent with other attributes - Fixed issue with frozen columns and
align
attribute - Fixed issue with event handling on frozen rows
- Fixed several bugs that occurred when all rows are frozen
- Fixed setting
cellBreak
on columns with frozen rows - Fixed setting
style
attribute on cells in frozen rows - Fixed icon location within frozen rows
- Fixed issue with header and footer frozen rows styling during column drag
- Fixed problem with frozen footer rows and removing columns
- Fixed problem with frozen footer rows and frozen columns
- Fixed removing compact attribute bug
- Fixed bugs with setting data to an empty set after load
- Fixed focusing issue with frozen rows
- Fixed frozen row problems with hiding columns
- Fixed issues with changing number of frozen rows after loading
- Frozen Row Bugs
- Fixed issue with
cellClass
in frozen rows - Fixed bug with frozen columns when all rows are frozen
- Fixed bug with row indexing and events
- Included frozen rows in
zebra
- Fixed bug with data being returned for
rowClass
functions - Fixed bugs with insert row event handling
- Fixed bug in select editor when name/value pairs are set
- Fixed bug with
filter
andrefresh
- Fixed editing bugs
- Fixed bugs with auto adding and removing the caption
- Fixed bugs with selector in frozen rows
- Fixed bug with hierarchical column navigation
- Fixed bug with
dir
attribute being removed - Fixed the CSS parts overlap within
<zg-dialog>
- Fixed focus bug with frozen rows
- Fixed issues with user defined
<zg-caption>
being overwritten by automatic caption - Improved copy cell functionality
- Fixed keyboard navigation issues when
dir="rtl"
- Fixed bug with inserting new row in grid with frozen rows
- Fixed css classes on focusing and unfocusing with frozen rows
- Fixed bug with
data:record:insert
not firing on insert of remote data when full dataset is returned - Fixed bug with hiding/showing columns
v1.2.7-4
(04/11/2022)Bug Fixes
Fix import for ZingGrid object.
v1.2.7-3
(03/17/2022)Release Information
Bug Fixes
- Fixed bug with nested grids
- Fixed bugs with draggable columns
- Fixed bugs with focus
- Fixed bug with
tooltip[feature]
- Added
setFrozenColumnsRight()
,setFrozenColumnsLeft()
,getFrozenColumnsRight()
,getFrozenColumnsLeft()
- Enabled closing dialog by pressing esc key
- Fixed width of the selector column
- Fixed bug with changing
filterindex
after load - Improved functionality of RSS input
- Handle CDATA blocks
- Handle whitespace
- Added
<zg-param>
option to escape or disable escaping of HTML in RSS - Fixed automatic headers
- Memory removal bug fixes
- Auto populate
typeSelectOptions
from data if not set by user - Fixed issues with adding/removing
staticMenu
attribute when having and not having a caption - Fixed issues with updating the
filterindex
- Changed the
typeColorPreview
turnoff state to bedisabled
to be consistent with other attributes - Fixed issue with frozen columns and
align
attribute - Fixed issue with event handling on frozen rows
- Fixed several bugs that occurred when all rows are frozen
- Fixed setting
cellBreak
on columns with frozen rows - Fixed setting style attribute on cells in frozen rows
- Fixed icon location within frozen rows
- Fixed issue with header and footer frozen rows styling during column drag
- Fixed problem with frozen footer rows and removing columns
- Fixed problem with frozen footer rows and frozen columns
- Fixed removing compact attribute bug
- Fixed bugs with setting data to an empty set after load
- Fixed focusing issue with frozen rows
- Added preserving state on refresh
- Fixed frozen row problems with hiding columns
- Fixed issues with changing number of frozen rows after loading
- Frozen row bugs
- Fixed issue with
cellClass
in frozen rows - Fixed bug with frozen columns when all rows are frozen
- Fixed bug with row indexing and events
- Added
bodyRowIndex
to event object - Added
frozenRowClass
to<zing-grid>
- Added
parentArea
andbodyRowIndex
to parameters forrowClass
functions - Included frozen rows in
zebra
- Fixed bug with data being returned for
rowClass
functions
v1.2.7
(07/20/2021)NEW FEATURE: Frozen Columns
Now, you can freeze, or fix, columns to both sides of your grid. See the documentation for more information. Demo.
BREAKING CHANGES:
The following attributes have been renamed:
<zg-column draggable>
is now<zg-column drag>
<zing-grid draggable>
is now<zing-grid column-drag>
get/setDraggable()
are nowget/setColumnDrag()
<zing-grid drag-action>
is now<zing-grid column-drag-action>
get/setDragAction()
are nowget/setColumnDragAction()
<zg-column color-mode>
is now<zg-column type-color-mode>
<zg-column color-preview>
is now<zg-column type-color-preview>
Features
- Added
[frozen]
attribute to<zg-column>
- Enabled dragging columns between frozen and main. Demo
- Added
zg-column
attribute[filter-index]
to indicate the index that should be searched on a column filter - Added
setFrozenColumnsRight()
- Added
setFrozenColumnsLeft()
- Added
getFrozenColumnsRight()
- Added
getFrozenColumnsLeft()
- Added ability for Grid to respond to being made visible after being hidden. The grid will automatically update its size parameters
- Added in
<zg-frozen-colgroup>
selector to style frozen column mask when this occurs. - Added
data:record:openinsert
event handler - Added CSS variables for frozen column elements:
--zing-grid-freeze-style-border
and--zing-grid-freeze-style-box-shadow
- Added a type definition file
Bug Fixes
- Fixed issues with footer and frozen column interactions
- Fixed issues with footer and reordering columns
- Fixed issues with footer and vertical gridlines
- Fixed bugs with draggable columns
- Fixed bugs with focus
- Fixed bug with tooltip
- Fixed pixel errors
- Fixed issues with hierarchical headers and frozen columns
- Fixed issue with resizing into card mode
- Fixed issues with grid padding on resize
- Fixed scrolling event handler
- Fixed bug with sorting styles
v1.2.7-2
(07/20/2021)Notable Fixes
- Fixed Github API Integration
v1.2.6-0
(04/27/2021)Bug Fixes
- Fixed issue with horizontal scroll and paging
- Fixed issue with zgcolumns inside of zgcell data
- Fixed issue with new line in data attribute
- Fixed issue with horizontal scroll and server side sort
v1.2.5
(03/09/2021)Release Information
- Added typeimagesrc attribute to allow image src to be partially formed from index values
- Fixed bug with image sizing
Bug Fixes
- Added pageRowIndex to click event to show the index on the page of the selected cell
- Fixed bug with custom menu items click throughs
- Fixed bug with resizing after container is hidden on load
- Fixed bugs that occur when no data or src attributes are set.
- Fixed issue with double arrows on heirarchical columns
- Fixed issue with resizing into card mode
- Fixed issues with draggable reordering after hiding columns
- Fixed issues with grid padding on resize
- Fixed issues with initial layout when grid is hidden on render
- Improved updateRecord Functionality
- Updated removeRecord to work with array of object data
- Fixed alignment of header tooltips
- Fixed column resizing after editing a cell or row
- Fixed column resizing on manually call to updateSize
- Added recordIndex and columnIndex into cell event data
- Added updateCellByPosition API method
- Added updateCellByID API method
- Fixed spacing in edit modals
- Fixed casing in edit modals
- Fixed layout in status messages
- Fixed dynamic updates in status positions
- Added decimal steps, min, and max to range columns
- Added support for comma separated lists in zebra values
- Fixed issues with selector column type and iconSet
- Fixed conflicts with staticMenu and contextMenu
- Fixed displaying staticMenu and selector column when no caption
- Updated getEditor API method to return dynamic value instead of user set value
- Fixed issues with celleditor
- Fixed dynamic changes to footcell
- Fixed bug with sorting null values
- Fixed bug with editing escape characters
v1.2.5-0
(01/25/2021)Release Information
- Added typeimagesrc attribute to allow image src to be partially formed from index values Fixed bug with image sizing Bug Fixes
- Fixed bug with custom menu items click throughs
- Fixed bug with resizing after container is hidden on load
- Fixed issue with resizing into card mode
- Fixed issues with grid padding on resize
- Fixed issues with initial layout when grid is hidden on render
- Improved updateRecord Functionality
- Updated removeRecord to work with array of object data
- Fixed alignment of header tooltips
v1.2.4-0
(11/11/2020)Features
-<zing-grid draggable>
Notable Fixes
- IOS device multiple resize events firing causing performance issues
New Documentation
v1.2.3-0
(10/28/2020)Features
-Fixed column type image problems
v1.2.2
(08/28/2020)Features
- Added
align
property to<zing-grid>
- Updated code for
align
in<zg-column>
- Added following attributes to
<zing-grid>
and<zg-column>
to match similiar attributes forcellheaderx
[celltooltipaction]
[celltooltipposition]
[celltooltiprenderer]
[celltooltiptemplate]
[celltooltiptype]
- Added following attributes on
<zing-grid>
and<zg-column>
to delay displaying the tooltip on hover.[celltooltipdelay]
[headertooltipdelay]
- Added following attributes on
<zing-grid>
and<zg-column>
to set icon for tooltip trigger[celltooltipicon]
[headertooltipicon]
- Added column type
info
Added keyboard navigation for tooltip display - Added the following attributes to both
<zing-grid>
and<zg-column>
[headerTooltipAction]
Sets the execution method of custom 'icon' type tooltips to either activate on hover or click[headerTooltipIconPosition]
Sets the tooltip icon position for the tooltip icon in the header cells[headerTooltipPosition]
Sets thetooltipposition
for the header cell[headerTooltipRenderer]
Gets the name of the user's custom render function, on window, to use the function's return value as the tooltip content.[headerTooltipTemplate]
Points to an external template element to be used as the template for the header tooltip[headerTooltipTrigger]
Sets what part of the header triggers the tooltip. If set to 'icon', an info icon is added to the header[headerTooltipType]
Sets the style to use for the tooltips. Uses thedefault
style by default. Can set tosystem
to match the tooltips used on icons throughout zinggrid- Added to
<zg-column>
:[headerTooltipText]
Sets the tooltip string for the header cell of the column. Can pass this value to renderer or template - Added window event
zinggridavailable
that fires when the library is loaded - Added in double click resizing
- Added in
<zing-grid>
attribute[columnresizablepersistent] and
attribute
[resizablepersistent]`
Bug Fixes
- Infinite Scroll Bug Fixes
- Fixed several issues with column resizing
- Changed
<zg-nodata>
to<zg-no-data>
- Fixed bug with custom templates
- Fixed issue with bogus tokens in URLs Fixed issue with server side sorting on load
- Fixed dynamic adding and removing of
<zg-selector-mask>
- Fixed multiple cell/single row select and copy bug
- Fix issue with
editortemplate
being set on a single column and forcing modal edit. - Fixed bug with menuitems not being keyboard navigable in static menu
- Fixed bug with internal controls column width size
- Fixed issue with
pageindex
attribute on<zg-button>
- Made changes to the Date library to handle safari's processing
- Allow resize of columns while row editing
- Fixed bug with forcing resize handlers on system column types
- Fixed bug with
rowselector
being enabled twice - Fixed issue with
rowselector
value being updated - Fixed bug with quick back to back resize
- Fixed various alignment issues with column tooltips
- Fixed bug with edit and search overlap
- Bug fixes for initial tooltip release
v1.2.2-0
(08/27/2020)- Allow resize of columns while row editing
- Fixed bug with forcing resize handlers on system column types
- Fixed bug with
rowselector
being enabled twice - Fixed issue with
rowselector
value being updated
v1.2.1
(06/11/2020)Release Information
- Major Performance Enhancement Changes (tested at 1k/10k rows)
- Added
updateRowOptions
as an option for<zgparam>
as a shortcut forupdateOptions: {row: ...
- Added
updateCellOptions
as an option for<zgparam>
as a shortcut forupdateOptions: {cell: ...
IfserverErrorPath
is set, butserverErrorMessage
is not,serverErrorMessage
defaults to[[serverMessage]]
- Added
typeurlsrc
as an attribute to<zg-column>
- Allow
typeurlsrc
to have tokens - Updated edit templates to allow
<select>
elements to have token values set:<select name="storyType" value="[[record.story_type]]">
- Updated
typeselectoptions
attribute to allow the first entry to be set with value '' and name to be displayed for the blank entry:typeselectoptions='[{"name": "ALL", "value": ""}, 123, 456, 789]'
- Added in card object to
new ZingGrid
config syntax Fixed bugs withtypebuttonicon
,typebuttonlabel
,typebuttondisabled
being updated on change - Added
typedatefromnow
attribute to date columns to display date as 'ago/in' times - Added
F
token to date format to display formatted columns inago/in
times - Added
zgRef.formatDate
andzgRef.fromNow
API methods to use in renderers - Added
ZingGrid.formatDate
andZingGrid.fromNow
API methods - Added textarea to be able to use with tokens in add/edit forms
- Added
[columnwidth]
attribute to<zinggrid>
to set the column width for every column - Added
typenumbermaxdecimals
attribute to number columns to indicate the maximum number of decimals to display - Added
typenumberdecimals
attribute to number columns to indicate the exact number of decimals to display - Added color editor to save as original type
- Added
typeselectoptions
to accept name/value pairs - Added gravatar celltype Added support for array based data in columns
- Added
arrayindex
attribute to indicate which property of an array object to use after the slice: In the case of status[0].title, the arrayindex would be set to title. - Added
arrayslice
attribute to indicate which index or indexes to render to the column - Added support for direct array access in
<zg-column>
index
attribute: status.0 or status.1 - Added support for last item in an array access in
<zg-column>
index` attribute: status.1 - Added details renderer to view more details on column click
- Added
detailsrenderer
attribute to<zg-column>
- Added
detailstemplate
attribute to<zg-column>
- Added render support for \n in string
- Updated
button
column type to have the following attributes:typebuttonlabel
,typebuttonicon
,typebuttondisabled
,typebuttonurl
,typebuttonhandler
- Update first four attributes above to accept values in token format:
[[record.label]]
- Added in
card
attribute to<zinggrid>
which will take an object with the card settings
Bug Fixes
- Allow server error messages to be set on read requests
- Fixed bug with
serverErrorMessage
being set to[[serverMessage]]
- Fixed bug with
setCardTemplate
to not require a card to already exist before using - Fixed bug with firebase collection and deleting rows
- Fixed bug when setting columns after load
- Changed removeRow and
updateRow
to take a row index as parameter - Added removeRecord and
updateRecord
that takes a row ID as parameter - Allow
nodata
text to display when no src or data is set - Fixed
nodata
dynamic change Fixed bugs with modifying cell edit status after load - Modified
detailsRenderer
to be able to return a string that will be the contents of the dialog - Modified renderer to be able to return a string that will be the contents of the cell
- Fixed bug with
arrayslice
Fixed minor spanish issues in es.js - Fixed bug with toggle name/value pairs
- Fixed bug with
celleditor
being disabled - Fixed
loadByPage
issues withstartAtValue
and paging - Fixed
loadByPage
issues with inserts that return the full dataset - Dynamically update
<zg-column>
typeelementattributename
andtypeelementtagname
attributes - Dynamically update
<zg-column>
typeiframeratio
attribute - Fixes with iframe width render
- Dynamically update
<zg-column>
,typeimagealt
andtypeimagemask
attributes - Dynamically update
<zg-column>
typeurltext
andtypeurlicon
attributes - Dynamically update
<zginput>
type
attribute - Dynamically update
<zginput>
action
attribute - Added card header when row selector is turned on, but edit controls are not
- Fixed issues with insert record showing up in context menu when it should not
- Fixed issue with insert record here showing up in context menu when it should not
- Fixed
typeselectoptions
to be flexible in data received in array format - Fixed
setNoData()
issues - Fixed dynamic update of
typenumberformatting
- Fixed sorting of checkboxes
- Fixed sorting of mixed data types
- Fixed dynamic update of
typecheckboxlabel
- Fixed
typeRadioOptions
with object instansitation - Fixed filter with comma separated items
- Updated local updates to display update message
- Updated
registerNamespace
to allow for an unnamed default - Fixed issues with server side sorting Small performance fixes
- Fixed bug with editor when index is in array form
- Fixed bug with editor when index is in negative array form
- Fixed bug with details renderer when
arrayslice
is used - Fixed bug with server sorter
- Fixed big bug with
nodata
and then loading data - Fixed bug with
cell:render
event - Fixed bug with
<zgsearch>
losing focus on click - Fixed
<zg-pager>
Border Issue - Fixed the pager's borderbottom variable to include the missing generic
zgpagerborder
value as its fallback, to match the other borderside values. - Namespaced boxshadow CSS variableChanged
boxshadow
to a namespacedzgboxshadow
to better help avoid parentscope bleed,and to bring it in line with the other grid variables. - Fixed issue with header width after removing all rows
- Update value attribute on
<zgcell>
if value is updated Display no label on button if index is undefined - Allow
filterColumn
API method to match on value or text Fixed bug withtypeselectoptions
not updating the filter - Updated server side sort to work with URL tokens
- Fixed bug with
sort
attribute not dynamically updating - Updated
range
column type to display as a number - Fixed bug with range validation Fixed bug with contextmenu "Insert Here" option
- Fixed bug with
rownumber
not presenting in card header - Fixed bug with selector column not being displayed with
editorcontrols
turned on - Fixed bug with editor column not being displayed with
selectorcontrol
turned on - Fixed discrepencies with numbers attributes and being set via attribute or property
- Fixed bugs with server side sorting/searching and refreshing
- Fixed bug between
staticmenu
and selector - Cleaned up data returned in
grid:select
event - Fixed bug with removing grid with custom buttons
- Fixed issues with user's custom
<zg-menu>
- Removed dead code Fixed issues with changing index on
<zg-column>
- Fixed header issues with details dialog
- Fixed display bugs with details dialog
- Fixed issues with server side sorting on load
- Fixed dynamic updating of
cellbreak
on<zg-column>
- Fixed bug with
cellbreak
not being honored on<zg-column>
- Fixed bug with clearing
typeselectoptions
attribute - Fixed bug with setting
sorter
attribute to invalid method - Fixed bug with removing
sort
attribute from<zg-column>
- Fixed bug with copying null data
- Fixed expected behavior for
[confirmDelete]
when set to false in js - Add ZGCaption when
[rowSelector]
enabledAdding the caption when feature is enables allows access to button to remove selected rows.
v1.2.0
(03/13/2020)Features
- Change
<zgparam>
buildRestUrl
torestmode
- Added
celleditor
attribute to turn off cell editing wheneditor
oreditorcontrols
are set Whencelleditor
is set todisabled
andeditor
is turned on, double click edits the row - Added
XHTTPMethodOverride
header when sending POSTs for PUT, DELETE, and PATCH Modifiedbefore
CRUD events to allow manipulation of data - Modified validator to allow manipulation of data
- Added ability to connect to Firebase SDK subscription
- Added
<zgparam>
namesubscription
to set totrue
- Added ability to cancel certain actions via
before
event handlers. Use event.preventDefault:data:record:beforedelete
data:record:beforechange
data:cell:beforechange
data:record:beforeinsert
- Added display message when no records are found in the grid
- To customize message, added
[nodata]
attribute on<zinggrid>
- To customize message, added
<zgnodata>
element that can be created under<zinggrid>
- To customize message, added
- Return the value of the id field on
<zgcolumn index="recordkey"></zgcolumn>
when data is array of objects (previously only worked on named objects) - Added
<zgparam>
options for setting server error message- serverErrorMessage Sets the error message to display for the server error
- serverErrorPath Sets the path to the error message in the case of a JSON response
- Added token
[[serverMessage]]
to place returned message from the server in the error message - Added
numbertypeformatter
attribute to turn off auto formatting - Added validators
date
url
email
range
- Added support for custom validators
- Added
ZingGrid.registerValidator
API method - Added built in Number Validator
- Added validation error class to ZGDialog and ZGEditorRow
- Added validation error message to ZGDialog and ZGStatus
- Added
<zinggrid>
attributevalidationerrormessage
<zgparam>
New OptionsbuildRestUrl
True by default. Set to false to prevent REST URLs from being constructedurlSuffix
If using REST URLs, set a suffix to be appended to the URL. Usually an extension or a slash
<zgparam>
ShortcutscreateSrc
readSrc
updateRowSrc
updateCellSrc
deleteSrc
createMethod
readMethod
updateRowMethod
updateCellMethod
deleteMethod
- Added record token parsing within a URL Added
django
as anadapter
option - Added support for required columns for editing
- Added
[required]
attribute for<zgcolumn>
- Added
[validationrequiredmessage]
for<zgcolumn>
- Added
[validationrequiredmessage]
for<zinggrid>
Notable Fixes
- Fixed issue with
src
being set on<zgdata>
or in<zgparam>
- Fixed issues with 204 responses on PUT, PATCH, and DELETE
- Fixed the 'multicell' selector in card layout from overlapping the cell content below it. Changed the location of the selector checkbox inside the card cell to the righthand edge.
- Added
fullwidth
to the<cite>
element inside<zgsource>
shadowDOM to fill the horizontal space.zgsourcetextalign
now works as intended. - Fixed issues with zgstatus closing
- Fixed bug where data is added to grid when server returns error Fixed bug where editor mode is turned on when
editorcontrols
is set to "false" or "disabled" - Fixes for dynamic
<zgparam>
additions and removals - Fixed bug with custom
deleteBody
- Fixed issues with dynamic updating of
<zgcolumn>
v1.1.3
(01/09/2020)Full Explanation Here: https://www.youtube.com/watch?v=aJYr2hgMLmg
Features
- Accessibility - All grids are WCAG 2.0 AA & 508 compliant
- Keyboard navigation and shortcuts added
- Screen reader compatibility, tested with JAWS and VoiceOver
- Inclusion of ARIA attributes for screen readers
- Screen size adjustments will not break layout or content of grid
New Documentation
Notable Fixes
- Added reference to DOM cell on cell events
grid:select
will include cell and cells in the case of multiple cells selected- Added
zg-source
to keyboard navigable region - Fixed keyboard nav issues when card mode is rendered based on width
- Fixed focus issues with cancelling edit via esc key
- Fixed navigation issues for removing rows button
- Fixed selection of internal column types
- Added ability to navigate to user elements within
zg-footer
- Added ability to navigate to
zg-status
- Added ability to navigate to
zg-watermark
- Added ability to navigate to user elements within
zg-caption
- Fixed issue with up key navigating down
- Fixed issue with modal editor losing focus on close
- Fixed issue with width based card mode acting like row mode
- Fixed dialog focus bug
- Fixed keyboard nav after search and filter remove rows
- Fixed keyboard nav when all columns are hidden
- Saved focus state after using insert row
- Fixed inability to double tap edit on mobile
- Fixed mobile edit sporadic closing editor issue
- Fixed issue with cancel button appearing on edit when no delete button is in the row
- Fixed navigation issues when sort and/or filter of single columns are turned off
- Fixed select editor focusing issues
- Fixed bug with
ZingGrid.setLanguage
global function - Fixed issue with grid click and then keyboard press not selecting correct item
v1.1.2
(11/08/2019)New Documentation
Notable Fixes
- Fixed Internationalization Issues
- Updated code to allow inserts after all existing rows are deleted
- Updated code to allow inserts on an empty grid based on column definitions
- Fixed
dir
issues Fixedlang
issues - Fixed bug with refreshes adding extra blank options to select filter and editors
- Added ability to change language after grid loads
- Added tooltips for all buttons
- Added missing language strings
- Added
getLang
andsetLang
on the<zinggrid>
object - Added
getDir
andsetDir
on the<zinggrid>
object - Updated watermark to be language specific
v1.1.1
(09/10/2019)Internationalization
Added internationalization configuration
-
en.js
is the default file used. When you define another languagelang="es"
it will look for that registered lang filees.js
. If that file doesn't exist then the grid will use smart defaults for that language as best as it can for currency and date columns. -
Defaults to lang set on html tag
<html lang=”es”>
-
Can set lang per grid
<zing-grid lang=”es”>
-
Can set global lang through api
ZingGrid.setLanguage(‘es’);
-
Can set custom lang file with
ZingGrid.registerLanguage(obj, 'custom')
and the appropriate language file JavaScript object. Demo -
Added HTML standard direction
dir="rtl"
anddir="ltr"
Demo -
Added internationalization to date columns. If you define
<zg-column type="data" locale="de">
it will add the appropriate formatting to that column. The columns will default to the global<html lang
attribute, then<zing-grid lang
and the<zg-column lang
will override all. -
Added conventionally standard tokens (moment.js) to date columns for custom date formatting
<zg-column type=”date” type-date-format=”[Month:] MM”>
Demo -
Refined currency columns for smart defaults to detect lang to format numbers. You still need the
type-currency="EUR"
attribute to define the currency symbol. Demo -
Added locale to number renderer Demo
-
Refined filter/search to match the current language
-
If the default lang on the page is english then we use standard sort. If you have any other language defined you can override sort/filter functionality with the following properties:
You can turn this off with<zing-grid sort-intl=”disabled”>
You can turn this ON with<zing-grid sort-intl>
and<zg-column sort-intl>
-
Added
defaultdisplay
attribute tozinggrid
andzgcolumn
to display when the data value is null or undefined Demo -
Added
[position="both"]
attribute to<zgsource>
Demo -
Added
compact
property to<zinggrid>
to mirror[compact]
attribute Demo -
Added
params
property (not attribute) to ZingGrid to allow setting of data params via JavaScript -
Added
params
property tonew ZingGrid
to allow setting of data params on object render:// define params for fetching data const params = { // define the main source for the API src: 'https://swapi.co/api/people/', // define the path in the JSON to get the array of results. In this case it is body.results recordPath: 'results', // if loadByPage is set to true it will go to the server for each new page of data loadByPage: 'true', // define the "page" query parameter pageKey: 'page', // Need to tell ZG how many records were returned so it knows how to divide up the page-size countPath: 'count', // define the path in the result JSON to find next/prev urls nextPath: 'next', // define the path in the result JSON to find next/prev urls prevPath: 'previous', // Need to tell ZG how mto search the API searchKey: 'search', };
-
Changed
getWidth()
andgetHeight()
API methods to return the actual<zinggrid>
width and height. -
Modified
<zinggrid>
[width]
attribute to take values besidespx
. If no unit is specified, defaults topx
-
Added sorter style to the footer on sorting
Bug Fixes
- Fixed issues with Number Renderer
- Fixed data being returned on events to always be an object
- Fixed autoscroll bug on resizing
v1.1.0
(04/09/2019)Features
- Renamed attribute
attach
toposition
on<zg-caption>
- Renamed event
cell:contextmenu
tocell:rightclick
- Renamed attribute
selector-control
torow-selector
on<zing-grid>
- Renamed column type
rownumber
torow-number
- Renamed attribute
server-render
toserver-rendered
on<zing-grid>
- Renamed attribute value
search="false"
tosearch="disabled"
on<zg-column>
- Renamed attribute value
sort="false"
tosort="disabled"
on<zg-column>
- Renamed attribute value
filter="false"
tofilter="disabled"
on<zg-column>
- Renamed attribute value
enctype
torequestType
on<zg-param>
- Added
both
as an option forattach
attribute on<zg-caption>
- Added attribute
position
to<zg-pager>
- Added attribute
position
to<zg-source>
- Added attribute
loadmask
to<zing-grid>
- Added attribute value
disabled
toloadmask
to turn off theloadmask
- Added attribute
pagerposition
to accept pager position options (top, bottom) - Added
zgbuttonpadding
in the padding chain for custom<zg-button>
elements, with a default fallback - Added attribute
[hidden]
to<zg-param>
and<zg-data>
- Added event
grid:contextmenuopen
to fire whenstatic-menu
is opened - Added attribute
loading-text
on<zing-grid>
it will set the text that displays in the<zg-load-mask>
on load - Added new CSS variables for button states
- Added new css variables for
<zg-card>
- Added event
grid:pageprev
- Added event
grid:pagenext
- Added event
grid:pagefirst
- Added event
grid:pagelast
- Added method
select
to programatically select cells - Changed attribute
pager
to be a presence attribute. No longer accepts values - Changed attribute value
draggable="false"
todraggable="disabled"
on<zg-column>
- Changed attribute value
header-auto-format="false"
toheader-auto-format="disabled"
on<zg-column>
- Changed attribute value
header-auto-format="false"
toheader-auto-format="disabled"
on<zing-grid>
- Changed the even and odd CSS variables to have a clearer semantic naming
- Changed CSS variable
zgrowcardheadbackground_editor_even
tozgrowcardbackground_editor_even
- Changed CSS variable
zgrowcardheadbackground_editor_odd
tozgrowcardbackground_editor_odd
- Updated/added CSS variables (normal and hover states)
- Updated
zinggridborder
variable usage - Updated attribute
static-menu
is set andcontext-menu
is not set,context-menu
is added in. - Updated cardmode item CSS variables when in
editor
mode - Updated
zg-input
to acceptvalue
andtype
when noaction
is set. - Moved the default value into the var chain instead of defining in
default.css
- Moved the location of this variable call so that it now affects the message icon and text together
- Removed variable as fallback value from interior elements to limit the scope to just the
<zing-grid>
tag - Removed
zgfootwidth
- Removed CSS variable for process that should be avoided/discouraged
- Removed explicit setting of the cursor via javascript
- When using a
<zg-card>
editor, it is now possible to use theeditor
attribute with or without anedit-template
- Audited all
<zg-button>
CSS variables - Split
sorter
intosort
andsorter
on<zing-grid>
sort
is a boolean indicating if sort is turned on or off.sorter
sets the custom sorting function if overriding the default. - Normalized element CSS variables
- Modified how the
zinggridborderradius
CSS variable applies due to the limitations of html table display.If variable is defined, and a caption and/or pager is shown, those elements will get the radius. Otherwise,additional CSS will need to be applied to add the radius to other grid elements.
New Documentation
Notable Fixes
- Fixed bug where boolean attributes were not being reflected via API Methods.
- Fixed bug where
setSort
was not working for eithertrue
orfalse
- Fixed
toggleColumn
API Method to auto detect if the column should be hidden or shown - Fixed getHeaderAutoFormat() response when value is not set.
- Fixed
setCardTemplate
method to set a card template after the grid has rendered - Fixed grid:scroll event bug Fixed grid:keydown:esc event bug
- Fixed bugs related to
contentwidth
attribute on<zg-column>
- Fixed
<zg-foot>
behavior to apply border variables correctly - Fixed the event
record:beforeinsert
to return the proper data as listed in the docs - Fixed bugs with deselecting cells on escape or layout change
[Releases]