Giter Site home page Giter Site logo

williamtroup / heat.js Goto Github PK

View Code? Open in Web Editor NEW
479.0 6.0 6.0 3.63 MB

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

Home Page: https://www.william-troup.com/heat-js

License: MIT License

Shell 0.05% JavaScript 64.82% SCSS 18.86% CSS 2.46% HTML 13.80%
css date generator heatmap html javascript activity heat map visualization trends chart bar statistics

heat.js's Introduction

Heat.js

Tweet npm nuget license discussions Welcome coded by William Troup

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

v3.1.0


Heat.js

What features does Heat.js have?

  • Zero-dependencies and extremely lightweight!
  • Full API available via public functions.
  • Fully styled in CSS/SASS, fully responsive, and compatible with the Bootstrap library.
  • Full CSS theme support (using :root variables).
  • 4 views supported: Map, Chart, Days, and Statistics!
  • Configuration dialog support per view.
  • Fully configurable per DOM element.
  • Toggling colors on/off support.
  • Export all data to CSV, JSON, XML, and TXT.
  • Import data from JSON, TXT, and CSV.
  • 51 language translations available!
  • Trend types allows data to be split up and viewed separately.
  • Customizable tooltips.
  • 12 additional themes available (for dark and light mode).
  • Data pulling (does not support trend types).
  • Color ranges support different colors per view.


Where can I find the documentation?

All the documentation can be found here.

What browsers are supported?

All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported.

What languages are supported?

  • af Afrikaans
  • ar Arabic
  • hy Armenian
  • be Belarusian
  • bn Bengali
  • bg Bulgarian
  • ca Catalan
  • zh Chinese (simplified)
  • da Danish
  • nl Dutch
  • en English (default)
  • eo Esperanto
  • et Estonian
  • fa Farsi
  • fi Finnish
  • fr French
  • fy Frisian
  • gl Galician
  • ka Georgian
  • de German
  • el Greek
  • he Hebrew
  • hi Hindi
  • hu Hungarian
  • is Icelandic
  • id Indonesian
  • ga Irish
  • it Italian
  • ja Japanese
  • ko Korean
  • lv Latvian
  • lt Lithuanian
  • lb Luxembourgish
  • ms Malay
  • ne Nepali
  • no Norwegian
  • pl Polish
  • pt Portuguese
  • ro Romanian
  • si Sinhalese
  • sk Slovak
  • sl Slovenian
  • es Spanish
  • sv Swedish
  • tl Tagalog
  • ta Tamil
  • zh-tw Taiwanese
  • te Telugu
  • th Thai
  • tr Turkish
  • uk Ukrainian


What are the most recent changes?

To see a list of all the most recent changes, click here.

How do I install Heat.js?

You can install the library with npm into your local modules directory using the following command:

npm install jheat.js

Or, you can download the latest zipped up version here.

How do I get started?

To get started using Heat.js, do the following steps:

1. Prerequisites:

Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:

<!DOCTYPE html>

2. Include Files:

<link rel="stylesheet" href="dist/heat.js.css">
<script src="dist/heat.js"></script>

3. DOM Element Binding:

<div id="heat-map" data-heat-js="{ 'views': { 'map': { 'showDayNames': true } } }">
    Your HTML.
</div>

To see a list of all the available binding options you can use for "data-heat-js", click here.

To see a list of all the available custom triggers you can use for "data-heat-js", click here.


4. Adding Dates:

Now, you can add/remove dates, which will update the heat map automatically!

<script>
  var newDateObject = new Date();

  $heat.addDate( "heat-map", newDateObject, "Trend Type 1", true );
  $heat.removeDate( "heat-map", newDateObject, "Trend Type 1", true );
</script>


5. Finishing Up:

That's it! Nice and simple. Please refer to the code if you need more help (fully documented).

How do I go about customizing Heat.js?

To customize, and get more out of Heat.js, please read through the following documentation.

1. Public Functions:

To see a list of all the public functions available, click here.

2. Configuration:

Configuration options allow you to customize how Heat.js will function. You can set them as follows:

<script> 
  $heat.setConfiguration( {
      safeMode: false
  } );
</script>

To see a list of all the available configuration options you can use, click here.

heat.js's People

Contributors

williamtroup avatar

Stargazers

wangzhx avatar  avatar 1900 avatar Charles Chin avatar Richard avatar Ian Clemence avatar Gökay Gürcan avatar Allan Marques Baptista avatar Tobias avatar Saprunov Vadim avatar kendrickcheung avatar Alexandre Faustino avatar Jens Roland avatar Lukas avatar Tim Riedl avatar Icytail avatar Zollero avatar Guilherme Shuto avatar Ricki Wang avatar nakamoto avatar モーリー avatar  avatar Yusuke Hayashi avatar Lucas Pereira Brígida avatar MobiWise avatar nericode avatar Masanori Ogino avatar Kevin Woblick avatar  avatar Laurence Bugasu Ininda avatar Tyler V avatar Sangdon Park avatar Gilles Lepretre avatar John avatar monkeytao avatar Morton Fox avatar Horacio Hoyos avatar Hồng avatar David Bisset avatar Mhd Alghosh avatar Whoami avatar Andrew Gurylev avatar Tony Vi avatar Oğuz Çelikdemir avatar vulcangz avatar Chongsheng Sun avatar mizhousoft avatar Heunsig Jo avatar  avatar  avatar Jonas Orrico avatar Mary avatar lbb avatar Fay avatar Lindsay Holmwood avatar Greg Zhang avatar Mitch V Aureli  avatar Robert Lyall avatar Ryota Murakami avatar Dominik Hryshaiev avatar Aditya Chakraborti avatar victor avatar sun avatar phillipnzau avatar James Anthony Bruno avatar Henrik Westphal avatar Dennis Muensterer avatar David Molnar avatar Kaan Engin avatar Alexander King avatar Tiaan avatar Aswin V avatar Ashwani Pandey avatar Bhavik Chavda avatar Ashish Kumar avatar  avatar MrRedBeard avatar Andri Óskarsson avatar Jeff Jadulco avatar Minwe LUO avatar Shaun Smith avatar Toni Villena avatar Joe DF avatar Igor Khailin avatar Cassidy Williams avatar Ivan Malopinsky avatar  avatar Dalibor Petric avatar Jacob Groß avatar  avatar 华丽 avatar Paul Lunow avatar 你好世界 avatar Lokesh avatar Muhammad Fadlil avatar Jeffrey Xavier avatar Nish avatar Karol Kawski avatar Alex Lyalin avatar Andreas Oldeskog avatar

Watchers

Leon Sorokin avatar timelyportfolio avatar Vinicius Ianni avatar Panna ABDUL HAKIM avatar  avatar  avatar

heat.js's Issues

Support for use in frameworks

Hey William!

Really cool project. I saw it in TLDR newspaper in winter and put on my wish list to integrate into my Vue project like the fellow guy who opened the issue.

I quickly found out that this library is designed to be used from the browser and against to be used from within frameworks such as Vue or React.

It doesn't expose any functions and instead populates the global scope. There are also no types provided and there is no "easy" way to manage it from within the lifecycles of a Vue framework. I would totally understand if this is completely outside your scope.

It would be great if you could mention that in the documentation to save time for future tinkerers.

And if you think, you would ever have the desire to refactor to make friendly to the standard of ESM modules and expose various APIs to manually supply the element, it'd be amazing!

Vertical layout

I think it would be a nice feature to have the option to render the component with a vertical layout.

Sure the positioning of the various controls and selects might need some work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.