chartjs-adapter-luxon
Overview
This adapter allows the use of Luxon with Chart.js. Luxon provides built-in support for time zones and internationalization.
Requires Chart.js 2.8.0 or later and Luxon 1.0.0 or later.
Note: once loaded, this adapter overrides the default date-adapter provided in Chart.js (as a side-effect).
Installation
npm
npm install luxon chartjs-adapter-luxon --save
import {Chart} from 'chart.js';
import 'chartjs-adapter-luxon';
CDN
By default, https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon
returns the latest (minified) version, however it's highly recommended to always specify a version in order to avoid breaking changes. This can be achieved by appending @{version}
to the URL:
<script src="https://cdn.jsdelivr.net/npm/chart.js@^3"></script>
<script src="https://cdn.jsdelivr.net/npm/luxon@^2"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon@^1"></script>
Read more about jsDelivr versioning on their website.
Configuration
Any date adapter options in the chart configuration will be passed through to Luxon's factory functions.
The following table describes the supported options that these functions accept.
Namespace: options.scales[scaleId].adapters.date
Name | Type | Default | Description |
---|
locale | string | undefined | Set a locale to use on the resulting DateTime instance. If not set, the adapter will use the locale, defined at chart options level. By default, Luxon uses the system's locale. See Intl locale. |
numberingSystem | string | undefined | Set the numbering system to set on the resulting DateTime instance. See Luxon and Intl numberingSystem documentation. |
outputCalendar | string | undefined | Set the output calendar to set on the resulting DateTime instance. See Luxon and Intl calendar documentation. |
setZone | boolean | undefined | Override the zone with a zone specified in the string itself, if it specifies one. By default, Luxon uses options.setZone=false . |
zone | string |Zone | undefined | Set the zone to place the DateTime into. By default, Luxon uses options.zone='local' . See Luxon and Intl timeZone documentation. |
Read the Chart.js documention for other possible date/time related options. For example, the time scale time.*
options can be overridden using the Luxon formats.
Development
You first need to install node dependencies (requires Node.js):
> npm install
The following commands will then be available from the repository root:
> npm run build // build dist files
> npm test // perfom code testing
> npm run lint // perform code linting
License
chartjs-adapter-luxon
is available under the MIT license.