Heat.js Versions Save

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

2.5.0

3 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

3 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).

2.3.0

3 months ago

New Features:

  • Added a new "Import" button to the title bar, which will allow you to import JSON files (off by default).
  • Added import from TXT support (via drag & drop, or the new import button).

Binding Options:

  • Added a new binding option called "showNumbersInGuide", which states if the color range numbers should be shown in the guide (defaults to false).
  • Added a new binding option called "views.chart.showLineNumbers", which states if the activity counts should be shown in the lines (defaults to false).
  • Added a new binding option called "showImportButton", which states if the "Import" button should be shown (defaults to false).

Configuration Options:

  • Added a new configuration option called "importButtonText", which states the text that should be shown for the "Import" button (defaults to "Import").

Fixes:

  • Fixed a fault that caused longer month names to mess up the "Map" view (ellipsis is now used for the month name text).
  • Fixed a fault that caused the tooltip to remain visible when the UI is refreshed.

2.2.0

3 months ago

New Features:

  • Export to TXT support!

Binding Options:

  • Added a new binding option called "yearsToHide", which states the years that should be hidden (defaults to []).
  • Added a new binding option called "showLessAndMoreLabels", which states if the "Less" and "More" labels are shown (defaults to true).

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onStatisticClick", which states an event that should be triggered when a statistic value is clicked.

Public Functions:

  • Added a new public function "updateOptions()", which will update the original binding options for an element and refresh it.

UI Changes:

  • When switching views, the target view now fades in (a much smoother display).
  • The description link now opens in a new window/tab instead of the current one.
  • If a Chart/Statistic bar is 0 in height, it is now hidden (prevents little borders from appearing across the chart baseline).

Fixes:

  • Fixed a minor README.md error.
  • Fixed a fault that prevented the "onExport" custom trigger from firing when the public function "export()" is called.

2.1.1

4 months ago
  • Fixed errors in the "PUBLIC_FUNCTIONS.md" documentation.
  • Updated "README.md" and "README_NUGET.md" documentation.
  • Fixed the years drop-down list triggering the custom trigger "onNextYear" instead of "onSetYear".
  • Fixed a fault that caused the class of the main container to be constantly reset whenever the view/data changes.
  • Fixes to spacing used in the documentation.

2.1.0

4 months ago

New Features:

  • Added file-dropping support to all views, which allows exported JSON data to be re-imported to the currently selected trend type.

Binding Options:

  • BREAKING: Renamed the binding option "noTypesLabel" to "descriptionText", and updated documentation.
  • BREAKING: Renamed the binding option "noTypesLabelLink" to "descriptionTextLink", and updated documentation.
  • Added a new binding option called "allowFileImports", which states if file importing via drag & drop is enabled (defaults to true).

Binding Options - Custom Triggers:

  • Added a new binding option custom trigger called "onImport", which states an event that should be triggered when data is imported.

Public Functions:

  • The public function "setConfiguration()" now has an additional parameter called "triggerRefresh" (defaults to true), which will force refresh all rendered maps.

UI Changes:

  • The "descriptionText" binding option text is now shown no matter if trend types are used (if they are used, the description text is shown above the buttons).

Fixes:

  • Fixed the "box-sizing" rules not being applied to the main container (causing width issues in mobile mode).
  • Fixed the "box-sizing" rules not being applied to the tooltip (causing width issues in mobile mode).
  • Fixed a fault that caused all pre-configured settings to be wiped out when calling "setConfiguration()".

2.0.0

4 months ago

New Features:

  • BREAKING: All binding options that affect the views and how they look are now split up into categories under a new "views" area.
  • Added support to disable the "Chart" and "Statistics" views.
  • Added local storage persistent support! This will allow data added/removed between browser usages to be remembered.
  • Added support to show different colors in the "Map", "Chart" and "Statistics" views (see documentation).
  • Added support for 5 new languages!
  • Added 6 new themes!

Breakdown:

Binding Options:

  • BREAKING: Renamed the binding option "mapRangeColors" to "colorRanges" (more consistent with the project), and updated documentation.
  • Added a new binding option called "views.statistics.showColorRangeLabels", which states if the chart X color range labels should be shown (defaults to true).
  • Added a new binding option called "views.chart.enabled", which states if the "Chart" view is enabled (defaults to true).
  • Added a new binding option called "views.statistics.enabled", which states if the "Statistics" view is enabled (defaults to true).
  • Added a new binding option called "useLocalStorageForData", which states if data added/removed should be remembered in local storage (defaults to true).
  • Added a new binding option called "views.map.showDaysInReverseOrder", which states if the days of the week should be in reverse order (defaults to false).

Binding Options - Color Ranges:

  • Added a new "colorRanges" binding option called "mapCssClassName", which states a CSS class name to use for items in the "Map" view (overrides the "cssClassName" property).
  • Added a new "colorRanges" binding option called "chartCssClassName", which states a CSS class name to use for items in the "Chart" view (overrides the "cssClassName" property).
  • Added a new "colorRanges" binding option called "statisticsCssClassName", which states a CSS class name to use for items in the "Statistics" view (overrides the "cssClassName" property).

Binding Options - Custom Triggers:

  • BREAKING: Renamed the binding option custom trigger "onMapRangeTypeToggle" to "onColorRangeTypeToggle" (more consistent with the project), and updated documentation.

Configuration Options:

  • Added a new configuration option called "unknownTrendText", which states the text that should be shown for the "Unknown" trend type button (was originally "None").

Translations:

  • Added translation support for Afrikaans (af).
  • Added translation support for Armenian (hy).
  • Added translation support for Belarusian (be).
  • Added translation support for Catalan (ca).
  • Added translation support for Esperanto (eo).

Themes:

  • The default theme now uses a different shade of green for the days, to move the project away from the GitHub style.
  • Added new theme "dist/dark/heat.js.dark.github.theme.css", which shows a dark theme, but with green day colors (the original scheme that looks like GitHub).
  • Added new theme "dist/dark/heat.js.dark.bright-yellow.theme.css", which shows a dark theme, but with day colors set to use the color bright yellow.
  • Added new theme "dist/light/heat.js.light.shamrock-green.theme.css", which shows a light theme, but with day colors set to use the color shamrock green.
  • Added new theme "dist/light/heat.js.light.gamboge.theme.css", which shows a light theme, but with day colors set to use the color gamboge.
  • Renamed the theme "dist/light/heat.js.light.orange.theme.css" to "heat.js.light.bright-orange.theme.css".
  • Renamed the theme "dist/light/heat.js.light.blue.theme.css" to "heat.js.light.neon-blue.theme.css" (with color improvements).
  • Renamed the theme "dist/dark/heat.js.dark.blue.theme.css" to "heat.js.dark.bright-blue.theme.css" (with color improvements).
  • Renamed the theme "dist/dark/heat.js.dark.orange.theme.css" to "heat.js.dark.bright-orange.theme.css" (with color improvements).
  • Added new theme "dist/dark/heat.js.dark.bright-purple.theme.css", which shows a dark theme, but with day colors set to use the color bright purple.
  • Added new theme "dist/light/heat.js.light.bright-purple.theme.css", which shows a light theme, but with day colors set to use the color bright purple.
  • Renamed the theme "dist/dark/heat.js.dark.red.theme.css" to "heat.js.dark.cadmium-red.theme.css" (with color improvements).

CSS:

  • Changed the default value for "--heat-js-border-radius-day" to 0.35rem.
  • Added ":root" variable "--heat-js-day-chart-width", which specifies the width of the bar lines shown in the "Chart" view.
  • Improved the spacing used for the month names in the "Chart" view (they align more with the bars now).
  • Improved the width of the control when additional libraries are not used.

Fixes:

  • Fixed a fault that caused the years drop-down arrow to still appear when the binding option "showYearSelectionDropDown" is set to false.
  • Fixed a grammar mistake in the configuration option "noStatisticsDataMessage".
  • Fixed the configuration option "noStatisticsDataMessage" being missing from all translation files.
  • Fixed the default trend type text "None" being missing from all translation files (now configuration, and renamed to "Unknown").
  • Fixed the public functions "addDates()" and "removeDates()" trigger an extra custom trigger (onAdd and onRemove).
  • Fixed some naming mistakes in the markup/code documentation.

1.9.2

4 months ago
  • Updated the README documentation.
  • Added a "visible" property to the binding option configuration "mapRangeColors", which will allow you to set the visible ranges on load.
  • Added a new binding option custom trigger called "onMapRangeTypeToggle", which states an event that should be triggered when a map range's visible state is toggled on/off.
  • Added a new binding option called "noTypesLabelLink", which states a link that should be used for the "noTypesLabel" label (defaults to null).

1.9.1

4 months ago
  • The Chart/Statistics views now hide the margin-left of the first bar when displayed in mobile view.
  • The year's drop-down list now scrolls to the active year when it first opened (or after the year is changed).
  • Fixed some spelling mistakes in the main "src" JS file.
  • Added install instructions into the main README files.
  • Added Chinese (simplified) translation improvements (thank you @ziqiangai).

1.9.0

4 months ago

New Features:

  • Export to XML support!

Binding Options:

  • Updated the binding option "tooltipDelay" to have a default value of 750, instead of 1000.

View: Statistics:

  • The bars shown in the view now show a tooltip, which shows the total count for each range type.

Public Functions:

  • Added a new public function "switchView()", which will switch the current view for any rendered element.
  • Added a new public function "switchType()", which will switch the selected trend type for any rendered element.

General Improvements:

  • The drop-down menus for the title bar/years list now fade in when shown.
  • The tooltips shown throughout the display now fade in when shown.
  • Added Math injection directly into the main instance.
  • Added JSON injection directly into the main instance.
  • Added Chinese (simplified) translation improvements.
  • Updated the project description.
  • The entire display now uses the same font, either when an extra library is installed or not.

CSS:

  • Added a new ":root" variable called "--heat-js-default-font".
  • Added a new ":root" variable called "--heat-js-animation-length".
  • Added a new ":root" variable called "--heat-js-color-snow-white".
  • Added a new ":root" variable called "--heat-js-years-text-color-hover".
  • Added a new ":root" variable called "--heat-js-title-text-color-hover".
  • Added a new ":root" variable called "--heat-js-button-text-color-hover".
  • Added a new ":root" variable called "--heat-js-button-text-color-active".
  • Added a new ":root" variable called "--heat-js-text-bold-weight-active".

Fixes:

  • Fixed the year's list having extra padding around the left, right, and bottom, which caused the menu to stay open longer when the mouse left the menu.
  • Fixed the "Chart" view lines being positioned using "margin-left" instead of just "left".
  • Fixed some errors in the documentation and added data that was missing.
  • Fixed a fault that caused exporting data in JSON to ignore the binding option "exportOnlyYearBeingViewed".
  • Fixed a fault that caused the "Map" view to render the days in the wrong places when the binding option "daysToShow" is configured to show fewer days.
  • Fixed a fault that caused the "Statistics" view to show data for Days/Months that are hidden via the binding options configuration.
  • Fixed a fault that caused the month names in the "Chart" view to be shown in the wrong position when months are hidden via the binding options configuration.
  • Fixed an extra loop occurring when data when exporting.
  • Fixed the "heat.js.nuspec" file including the ".github" folder when NuGet PACK is called.