ZingGrid Changelog
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.
- 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 rendererCombine 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.
- 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
- 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. DemoAdded HTML standard direction
dir="rtl"
anddir="ltr"
DemoAdded 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”>
DemoRefined currency columns for smart defaults to detect lang to format numbers. You still need the
type-currency="EUR"
attribute to define the currency symbol. DemoAdded 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 DemoAdded
[position="both"]
attribute to<zgsource>
DemoAdded
compact
property to<zinggrid>
to mirror[compact]
attribute DemoAdded
params
property (not attribute) to ZingGrid to allow setting of data params via JavaScriptAdded
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
v1.0.4
(03/04/2019)Features
- Context menu styling for adding a record at the: beginning, end or current cursor position
New Documentation
Notable Fixes
- Input field not showing up in
<zg-dialog>
for editing records - Firefox loading screen not showing
- Firefox dragging modal text padding not being applied
- Safari
type-image-mask="circle"
not rounding image corners
v1.0.3
(02/26/2019)Features
- Drag off columns to hide with
<zing-grid draggable
zg-column search="false"
to hide column from search- Custom icon set mapping e.g fontawesome plug and play
- Accessability tab support
- Default renderer for mult index columns
zg-param
andzg-data
now have watched propertiescell-break
attribute added for setting columnword-break
globally or per column level.<zing-grid columns-control
attribute to render menu to toggle/hide columns<zg-column>
sorter
attribute can point to a specifiy object propertysorter="individualContributions.total"
when choosing what field to sort that column by- Cursor added for interactive cells
<zing-grid>
and<zg-cell>
now havecell-class
attribute to bind a function to render CSSclass
attribute<zing-grid>
now hasrow-class
attribute to bind a function to render CSSclass
attribute- Responsive pager controls shift layouts depending on viewport
- Added
<zg-dialog>
for all modal interactions - Confirm delete record through
<zg-dialog>
action - Create row
<zg-dialog>
will allow editing row info before adding - Cursor based pagination support
- Icon column type through
<zg-column type="icon">
- Multiple themes added
- 'foot-class
and
head-class` attributes added <zg-button>
now takes slotted content
New Documentation
- Custom Themes
- Dialogs
- Dragging
- Status
- API Elements
- API Methods
- API Events
- CSS Variables
- ZingGrid Object Methods
- Functions Doc
Notable Fixes
- Aggregation column
- Custom Elements Polyfill Updated
- Shadow DOM polyfill Updated
- Copy cell content console error
- Nested header background color spanning full width
- Context menu items revised based on grid state
- Structural ordering of
zg-body
,zg-footer
andzg-head
- Async grid state when editing cells and sending/recieving data from server
- SSR styling and feature updates
- Page jump on row click for Windows Chrome
- Descenders in text getting cut off in
zg-head-cell
- Row/Cell click multiple fires
- Batch deleting selected rows keeps appropriate state
- IOS device multiple resize events firing causing performance issues
- Double click to edit cell in Firefox
- Edge inline row edit styling normalized
- Debounce grid rendering on quick resizing of browser window
v1.0.2
(12/27/2018)Updating NPM package to use imports.
v1.0.1
(11/02/2018)Bug Fixes.
[Releases]