Heat.js Versions Save

🌞 A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.

3.1.0

1 month ago

Binding Options:

  • BREAKING: The binding attribute "data-heat-options" has been renamed to "data-heat-js".
  • BREAKING: Removed the binding option "keepScrollPositions".
  • BREAKING: All title bar related binding options are now available under a new area called "title".
  • BREAKING: All guide related binding options are now available under a new area called "guide".
  • BREAKING: Renamed "guide.showGuide" to "guide.enabled".
  • BREAKING: All binding option events are now available under a new area called "events".
  • BREAKING: All binding options for descriptions (text and link) are now available under a new area called "description".
  • BREAKING: All binding options for tooltips (text and delay) are now available under a new area called "tooltip".
  • Added a new binding option called "views.map.keepScrollPositions", which states if the scroll positions should be kept when the view is refreshed (or moving year to year, defaults to false).
  • Added a new binding option called "views.chart.keepScrollPositions", which states if the scroll positions should be kept when the view is refreshed (or moving year to year, defaults to false).
  • Added a new binding option called "views.days.keepScrollPositions", which states if the scroll positions should be kept when the view is refreshed (or moving year to year, defaults to false).
  • Added a new binding option called "views.statistics.keepScrollPositions", which states if the scroll positions should be kept when the view is refreshed (or moving year to year, defaults to false).

Improvements:

  • Faster reading of internal defaults for binding parameters.

Fixes:

  • Fixed a fault that caused the "Chart" view to show the incorrect Y-Labels when months with the largest values are hidden.

3.0.0

1 month ago

Version 3.0.0:

New Features:

  • Added a new configuration icon to the main display, which will allow the Days/Months to be toggled easily per view!
  • Added a brand new view called "Days", which will allow you to see the counts for the days of the week for the entire year.
  • Redesigned the title drop-down menu.

Binding Options:

  • Added a new binding option called "showConfigurationButton", which states if the configuration dialog can be used (defaults to true).
  • Added a new binding option called "views.days.enabled", which states if this view is enabled (defaults to true).
  • Added a new binding option called "views.days.showChartYLabels", which states if the chart Y axis labels should be shown (defaults to true).
  • Added a new binding option called "views.days.showDayNames", which states if the day names are shown (defaults to true).
  • Added a new binding option called "views.days.showInReverseOrder", which states if the chart should be shown in reverse order (defaults to false).
  • Added a new binding option called "views.days.showDayNumbers", which states if the day counts should be shown in the lines (defaults to false).
  • Added a new binding option called "views.days.monthsToShow", which states the months that should be shown (defaults to [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]).
  • Added a new binding option called "views.days.daysToShow", which states the days that should be shown (defaults to [1, 2, 3, 4, 5, 6, 7]).

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onOptionsUpdate", which triggers an event when the binding options are updated.
  • Added a new binding option custom trigger called "onWeekDayClick", which triggers an event when a weekday is clicked in the "Days" view.

Configuration Options:

  • Added a new binding option called "closeToolTipText", which states the text that should be shown for the tooltip "Close".
  • Added a new binding option called "configurationToolTipText", which states the text that should be shown for the tooltip "Configuration".
  • Added a new binding option called "configurationTitleText", which states the text that should be shown for the title bar "Configuration".
  • Added a new binding option called "visibleMonthsText", which states the text that should be shown for the "Visible Months" label header.
  • Added a new binding option called "visibleDaysText", which states the text that should be shown for the "Visible Days" label header.
  • Added a new binding option called "dataText", which states the text that should be shown for the "Data" label.
  • Added a new binding option called "colorRangesText", which states the text that should be shown for the "Color Ranges" label.
  • Added a new binding option called "yearText", which states the text that should be shown for the "Year" label.
  • Added a new binding option called "daysText", which states the text that should be shown for the "Days" label.
  • Added a new binding option called "noDaysDataMessage", which states the text that should be shown for the "There are currently no days to view." label.

Improvements:

  • CSS renames to ensure they do not collide with other libraries, along with internal refactoring.

Fixes:

  • Fixed a fault that prevented the ToolTip from being hidden when an area outside the body of a document is focused.
  • Fixed a fault that prevented the events added for ToolTips from being removed when the instance is destroyed.
  • Fixed a fault that caused the wrong days to be excluded from the statistics when disabled via the binding options.
  • Fixed an alignment fault in the "statistics" view that caused the x-labels to be slightly off.

2.8.0

1 month ago

New Features:

  • Added import from CSV support (by drag & drop, and the import dialog).

Binding Options:

  • Added a new binding option called "views.map.showMinimalDayNames", which states if only the minimal day names should be shown (defaults to false).
  • Added a new binding option called "views.map.showMonthsInReverseOrder", which states if the months should be shown in reverse order (defaults to false).
  • Added a new binding option called "views.chart.showInReverseOrder", which states if the chart should be shown in reverse order (defaults to false).
  • Added a new binding option called "views.statistics.showInReverseOrder", which states if the statistics should be shown in reverse order (defaults to false).

Fixes & Improvements:

  • Added "use strict" support internally and updated all public functions to use the new scope.
  • Minor internal refactoring to make reviews a little easier.

2.7.2

1 month ago
  • Added a new configuration option called "attributeNotValidErrorText", which states the error text that should be shown when a binding object isn't valid (defaults to "The attribute '{{attribute_name}}' is not a valid object.").
  • Added a new configuration option called "attributeNotSetErrorText", which states the error text that should be shown when a binding attribute isn't set (defaults to "The attribute '{{attribute_name}}' has not been set correctly.").
  • The "unload" window event has been replaced with "pagehide" (due to "unload" being deprecated).

2.7.1

2 months ago
  • Added missing translation "objectErrorText" to all translation files.
  • When a Heat.js instance is created for a DOM element, any existing classes on the element are now maintained (allowing custom CSS classes to be used).
  • All default parameters are now read more accurately and apply the correct defaults.
  • When the binding option "showOnlyDataForYearsAvailable" is set to true, if the first/last year is selected, the Back/Next buttons are now disabled.

2.7.0

2 months ago

Binding Options:

  • Added a new binding option called "showOnlyDataForYearsAvailable", which states if only data for years available is shown (including in the selector, defaults to false).
  • Added a new binding option called "showHolidaysInDayToolTips", which states if the holidays should be shown in the regular day tooltips (defaults to false).

Configuration Options:

  • Added new configuration option "objectErrorText", which states the error text that should be shown when an object error is detected (defaults to "Errors in object: {{error_1}}, {{error_2}}").

UI Changes:

  • The current year in the years drop-down list now uses a slightly different style to make it stand out.

Fixes & Improvements:

  • Fixed a minor formatting issue in the "package.json" file.

2.6.1

2 months ago
  • Updates to the documentation. Everything is now hosted on the main website.

2.6.0

2 months ago

Binding Options:

  • Added a new binding option called "views.statistics.showRangeNumbers", which states if the range counts should be shown in the lines (defaults to false).
  • BREAKING: Renamed the binding option "mapTogglesEnabled" to "colorRangeTogglesEnabled".

Public Functions:

  • Added a new parameter called "exportType" to the "export()" public function, which states the export type to use (defaults to "csv", also accepts "json", "xml", and "txt").

General Improvements:

  • Removed replicated code and added constants to specific characters used for string building.

Documentation:

  • Minor documentation improvements.

Fixes:

  • Fixed a fault in the public function "moveToCurrentYear()" which caused the binding option "yearsToHide" to be ignored.
  • Fixed a fault in the public function "setYearToHighest()" which caused the binding option "yearsToHide" to be ignored.
  • Fixed a fault in the public function "setYearToLowest()" which caused the binding option "yearsToHide" to be ignored.
  • Fixed a fault in the public function "setYear()" which caused the binding option "yearsToHide" to be ignored.
  • Fixed a fault that allowed the data pull timer to continue running when the public function "destroy()" is called.
  • Fixed a fault that allowed the data pull timer to continue running when the public function "destroyAll()" is called.
  • Fixed a fault that caused a script error to occur when setting the view to "chart" manually and the view is disabled.
  • Fixed a fault that caused the wrong menu item to be selected for the active view when one of the views was disabled.

2.5.0

2 months ago

Binding Options:

  • Added a new binding option called "views.map.showNoDataMessageWhenDataIsNotAvailable", which states if the no-data message should be shown instead of empty days when no data is available (defaults to false).

Configuration Options:

  • Added a new configuration option called "noMapDataMessage", which states the message that should be shown on the map view when there is no data (defaults to "There is currently no data to view.").

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onClear", which states an event that should be triggered when a date is cleared for an element.
  • Added a new binding option custom trigger called "onUpdate", which states an event that should be triggered when a date is updated for an element.

Public Functions:

  • Added a new public function "clearDate()", which will clear a date for a specific element and refresh the UI.
  • Added a new public function "updateDate()", which will update a date for a specific element and refresh the UI.

Translations:

  • Added translation support for Frisian (fy).
  • Added translation support for Sinhalese (si).
  • Added translation support for Tagalog (tl).
  • Added translation support for Tamil (ta).
  • Added translation support for Taiwanese (zh-tw).
  • Added translation support for Telugu (te).

UI Changes:

  • The types/descriptions column in the guide footer now auto-fills the remaining space (and the toggle buttons on the right fit to its content size).

Documentation:

  • Minor documentation improvements.

2.4.0

2 months ago

New Features:

  • Added holiday support! When set, the days are shown differently in the UI, and excluded from the statistics!
  • Added data pulling support! This will pull data in using a custom trigger, which in turn disables all manual data adding/removing, and local storage support.

Binding Options:

  • Added a new binding option called "holidays", which states the holidays that should be shown in the views (defaults to []).
  • Added a new binding option called "dataFetchDelay", which states how long the data fetching should wait (in milliseconds) until its next pull (defaults to 60000).
  • Added a new binding option called "views.statistics.useColorRangeNamesForLabels", which states if the color range names should be shown instead of the minimum for the X labels (defaults to false).

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onDataFetch", which states an event that should be triggered when data a data pull is requested (it returns the data).

Color Ranges:

  • Added a new property called "name", which states a unique name that should be used for the Color Range (optional).

General Improvements:

  • Improved the defaults and reading of the binding option "colorRanges".
  • Internal refactoring to update the naming used for some of the functions/variables.
  • The public function "updateOptions()" will now only update the display if something in the options has been changed.
  • The public function "setConfiguration()" will now only update the configuration (and refresh the displays) if something in the configuration has been changed.
  • All public functions now only accept the right variable types for data (to prevent issues from occurring).

Documentation:

  • Moved "COLOR_RANGE.md" into "docs/binding" and fixed the documentation (was very outdated and would not have worked).