ZingGrid Changelog
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
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
[Releases]