ZingChart Release v2.9.1

Features

  • Added markersOnTop attribute for plot/series items (true by default). Setting it to false will cause the plot markers to be obscured by the subsequent plots instead of always being on the top layer.
  • Improved default formatting of crosshair scaleLabel objects.
  • Implemented listener for double tap event on mobile devices (however, the event will be triggered as dblclick, shape_dblclick, label_dblclick)
  • Added %plot-N-value tokens for use in rules, tooltips, valueBox objects.
  • Added minValue and maxValue options for Treemaps (filters applicable for leaf nodes)
  • Add support for irregular [k,v] format in radar charts (also [k, v1, v2] for range aspect)
  • Improved minor ticks/items display logic on logarithmic X scales.
  • Extended Selection Tool's set of features and functionalities:
    1. Added a poly free form tool as an alternative to the lasso tool (both activated by SHIFT key). Setting is controlled via selectionTool > freeFormType (poly | lasso)
    2. Added visual cursor to improve UX. Aspect is controlled via selectionTool > cursor.
  • Added %previous-node-value and %next-node-value as available tokens to use on rules, tooltips, valueBox objects.
  • Added stepMultiplier option for scales for better control of items display interval.
  • Implemented preview object for inverted charts (HBAR, VLINE, VAREA)
  • Tree updates:
    1. Implemented separated tokens for %value (accumulated) and %node-value
    2. Implemented number formatting options

Bug Fixes

  • Fix issue with sequence call of removeplot APIs.
  • Fixed bug with calculated maximum value on datetime scale.
  • Fixed issue with log scale label "1" being placed in a wrong position.
  • Fixed issue with negative values in TreeMaps crashing the charts. Negative values will be set to 0.
  • Fixed issue with spline charts slowing the browser in specific scenarios.
  • Increased the minimum width of whisker nodes on stock charts to 4px.
  • Fixed bug with calculated maximum value on datetime scale.
  • Fixed bug with selection getting corrupted after adding/removing plots.
  • Fixed issues with plot highlighting when using legendItem > order attributes.

ZingGrid Release v1.2.1

Release Information

  • Major Performance Enhancement Changes (tested at 1k/10k rows)
  • Added updateRowOptions as an option for <zgparam> as a shortcut for updateOptions: {row: ...
  • Added updateCellOptions as an option for <zgparam> as a shortcut for updateOptions: {cell: ... If serverErrorPath is set, but serverErrorMessage 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 with typebuttonicon, 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 in ago/in times
  • Added zgRef.formatDate and zgRef.fromNow API methods to use in renderers
  • Added ZingGrid.formatDate and ZingGrid.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 with startAtValue and paging
  • Fixed loadByPage issues with inserts that return the full dataset
  • Dynamically update <zg-column> typeelementattributename and typeelementtagname attributes
  • Dynamically update <zg-column> typeiframeratio attribute
  • Fixes with iframe width render
  • Dynamically update <zg-column>, typeimagealt and typeimagemask attributes
  • Dynamically update <zg-column> typeurltext and typeurlicon 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 namespaced zgboxshadow 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 with typeselectoptions 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.

ZingChart Release v2.9.0

Features

  • jsRule attribute can now be applied on main crosshairX and crosshairY objects, allowing crosshair line customization. This feature will allow you more flexible styling of crosshairs based on chart values. Like hiding the crosshair if the value is null
    • Custom data tokens can now be added on dynamic labels using %plot-IDX-data-customname constructs. This is good to display plot information in a static label.
    • Implemented display logic for overlapping scaleX crosshair items (alpha applied on obscured elements).
    • plot_click event information includes now plottext attribute.

New Documentation

  • New gallery layout with search and filters by: chart type, features and use cases

Notable Fixes

  • Added plotid as parameter for select and deselect API's.
  • Fixed issue with bubble pack labels.
  • Tilemap plugin fixes
  • Fixed positioning issues.
  • Fixed ability to use multiple tilemaps in same graphset.
  • Fixed issue when zooming range chart with spline aspect.
  • Fixed issue with maps flipping when negative zoom is applied.
  • Fixed formatting issues on value-box objects.
  • Added support for custom data-xxx tokens in sunburst charts.
  • Fixed navigation reset on sunburst when the chart is deleted and reloaded with a different data.
  • Fixed bug with timestamp formatting on data table view and data export when timezone parameter is used.
  • Fixed issue with sorting crosshair plots by value when using "sort-by-value" : "asc" | "desc" attribute.
  • Fixed issue with objects API not working when applied directly on map elements.
  • Fixed broken scrolling logic on charts with y-axis scrolling

ZingGrid Release v1.2.0

Features

  • Change <zgparam> buildRestUrl to restmode
  • Added celleditor attribute to turn off cell editing when editor or editorcontrols are set When celleditor is set to disabled and editor is turned on, double click edits the row
  • Added XHTTPMethodOverride header when sending POSTs for PUT, DELETE, and PATCH Modified before CRUD events to allow manipulation of data
  • Modified validator to allow manipulation of data
  • Added ability to connect to Firebase SDK subscription
  • Added <zgparam> name subscription to set to true
  • 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>
  • 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> attribute validationerrormessage
  • <zgparam> New Options
    • buildRestUrl True by default. Set to false to prevent REST URLs from being constructed
    • urlSuffix If using REST URLs, set a suffix to be appended to the URL. Usually an extension or a slash
  • <zgparam> Shortcuts
    • createSrc
    • readSrc
    • updateRowSrc
    • updateCellSrc
    • deleteSrc
    • createMethod
    • readMethod
    • updateRowMethod
    • updateCellMethod
    • deleteMethod
  • Added record token parsing within a URL Added django as an adapter 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>

ZingChart Release v2.8.9

Notable Fixes

  • Updates to zoom related events - added ev parameter which holds the event object - added beforezoom event which can completely stop zooming operation if event handler returns false
  • Fixes issue with scrolling legend not properly displaying markers and text items
  • Fixes issue affecting vector chart plugin
  • Fixes issue with selection tool throwing errors on null nodes
  • Fixes issue with value boxes not appearing on line3d and area3d charts
  • Fixes issues related to log scales allowing overlapping items
  • Fixed sorting of legend items using order attribute
  • Fixed formatting on %pietotalvalue token
  • Fixed issues with bad parsing of &lt; and &gt; tokens

ZingGrid Release V1.1.3

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

ZingChart v2.8.8 Release

Features

  • New Chart Type: Violin Charts
  • New Chart Type: Flame Charts
  • Added item > highlightstate and marker > highlightstate on legend
  • Extended boxplot format of data to [key, min, lowerq, med, upperq, max] format demo here

New Documentation

Notable Fixes

  • Added legendmouseover and legendmouseout events
  • Added option to set license information to zingchart namespace with `zingchart.
  • BoxPlot updates:
    • Fixed issue with attributes from series items not being transferred to boxplot series
  • Data export updates: Fixed issue with datetime values in HTML table ignoring utc and timezone parameters
  • Added data_export event which fires for every value being exported and allows for optional preformatting
  • Added more flexibility to range plots in mixed chart context
  • BubblePie charts work now when placed in a multichart graphset
  • Cleared WorldCountries map removed specific @EUROPE filters for NOR and ISL. RUS@EUROPE and RUS@ASIA will however stay as a different tokens due to geographic specificity
  • Fixed sorting of plots via legend
  • Fixed bug with chart auto layout when browsing legend pages
  • Fixed issue with ring charts loaded via custom build
  • Fixed problem with custom builds (created via build generator) failing to render ring charts.
  • Fixed issue with shadow not being rendered in specific cases
  • Fixed issues with global 'mouseout' event
  • Fixed issues with legend items text setup
  • Fixed issues with scale string labels being treated as numbers
  • Fixed issues with selection not being reset in specific cases
  • Fixed maps blocking page scroll (via mouse wheel). Page scroll is no longer blocked by map charts. In case scrolling on maps is enabled, use the ALT key to force page scroll instead of map zooming.
  • Renamed conflicting API's. Renamed object related 'getobjectinfo' API to 'getlabelinfo' and 'getshapeinfo' to prevent name conflict with the generic 'getobjectinfo' API
  • Added Math.log10() polyfill for IE

ZingGrid v1.1.2 Release

Release V1.1.2

A minor release version of bug fixes and small updates.

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 Fixed lang 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 and setLang on the <zinggrid> object
  • Added getDir and setDir on the <zinggrid> object
  • Updated watermark to be language specific

ZingGrid v1.1.1 Release

Release v1.1.1

  • Added internationalization
    • 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

ZingChart v2.8.7 Release

Release V2.8.7

Features

autoFit: [false,true] will allow for autofiting the scales on [min,max] values to be set individually. autoFit: true will default to [true,true].

es6 export/import version of the library. Allows for import of the library through script modules with import zingchart from 'zingchart/es6';

After download from npm you can import ZingChart with the following:

import {zingchart, ZC} from 'zingchart/es6';
import {pareto} from 'zingchart/modules-es6/zingchart-pareto.min.js';

New Documentation

Notable Fixes

  • Fixed CSV download for time-series returning false values.
  • Fixed issue with custom tooltip tokens.
  • Fixed %scale-key-text returning wrong value.
  • Fixed commenting scaleX object label causing error in CSV excel spreadsheet.
  • Fixed complications between autofit and valueboxes.
  • Fixed edge case where legend was overlapping charts.
  • Fixed null value in bullet charts still showing up.
  • Fixed issue with collapse:true on legends without minimize:true.
  • Fixed “zoom-to-values” not working in scaleX.
  • Fixed missing ticks in Chord diagrams.
  • Fixed ghost value boxes appearing in select zoom circumstances.
  • Fixed scale angling bug with 3D bar charts.
  • Fixed setseriesvalues API bug with plotindex parameter
  • Fixed setguide API method on mobile
  • Fixed chord diagram missing ticks
  • Fixed collpase:true breaking legend
  • Fixed null values on bullet charts
  • Fixed shared legend on population pyramids
  • Fixed border: 'alpha' not showing up with animations