ZingChart Changelog

Release v1.1.1

Internationalization

Added internationalization configuration

  • en.js is the default file used. When you define another language lang="es" it will look for that registered lang file es.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.

  • Added HTML standard direction dir="rtl" and dir="ltr"

  • 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”>

  • 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.

  • Added locale to number renderer

  • 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 to zinggrid and zgcolumn to display when the data value is null or undefined

  • Added [position="both"] attribute to <zgsource>

  • Added compact property to <zinggrid> to mirror [compact] attribute

  • Added params property (not attribute) to ZingGrid to allow setting of data params via JavaScript

  • Added params property to new 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() and getHeight() API methods to return the actual <zinggrid> width and height.

  • Modified <zinggrid> [width] attribute to take values besides px. If no unit is specified, defaults to px

  • 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

Release V1.1.0

Features

  • Renamed attribute attach to position on <zg-caption>
  • Renamed event cell:contextmenu to cell:rightclick
  • Renamed attributeselector-control to row-selector on <zing-grid>
  • Renamed column type rownumber to row-number
  • Renamed attribute server-render to server-rendered on <zing-grid>
  • Renamed attribute value search="false" to search="disabled" on <zg-column>
  • Renamed attribute value sort="false" to sort="disabled" on <zg-column>
  • Renamed attribute value filter="false" to filter="disabled" on <zg-column>
  • Renamed attribute value enctype to requestType on <zg-param>
  • Added both as an option for attach 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 to loadmask to turn off the loadmask
  • 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 when static-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" to draggable="disabled" on <zg-column>
  • Changed attribute value header-auto-format="false" to header-auto-format="disabled" on <zg-column>
  • Changed attribute value header-auto-format="false" to header-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 to zgrowcardbackground_editor_even
  • Changed CSS variable zgrowcardheadbackground_editor_odd to zgrowcardbackground_editor_odd
  • Updated/added CSS variables (normal and hover states)
  • Updated zinggridborder variable usage
  • Updated attribute static-menu is set and context-menu is not set, context-menu is added in.
  • Updated cardmode item CSS variables when in editor mode
  • Updated zg-input to accept value and type when no action 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 the editor attribute with or without an edit-template
  • Audited all <zg-button> CSS variables
  • Split sorter into sort and sorter 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 either true or false
  • 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

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

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 and zg-data now have watched properties
  • cell-break attribute added for setting column word-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 property sorter="individualContributions.total" when choosing what field to sort that column by
  • Cursor added for interactive cells
  • <zing-grid> and <zg-cell> now have cell-class attribute to bind a function to render CSS class attribute
  • <zing-grid> now has row-class attribute to bind a function to render CSS class 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-classandhead-class` attributes added
  • <zg-button> now takes slotted content

New Documentation

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 and zg-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

Updating NPM package to use imports.