JSFiddle - React, Tailwind, and code Playground

by Kesav Telaprolu

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/6.1.1/highcharts.js"></script>
<div>
  <div id="container" style="height:688px;width:1240px;overflow:auto;margin:auto;border-radius:6px;border:1px solid #dbdbdb;"></div>
</div>

CSS

/*
 * Legal Disclaimer
 *
    print '\n', 'Note that the webfonts share the TT sources'
 * These Fonts are licensed for unlimited use on domains and their subdomains of The Kantar Group.
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Lineto.com, 2016
 */

     @font-face {
       font-family: "KantarBrownWeb-LightItalic";
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot");
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff2") format("woff2"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff") format("woff");
       font-weight: normal;
       font-style: normal;
     }

     @font-face {
       font-family: "KantarBrownWeb-BoldItalic";
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot");
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff2") format("woff2"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff") format("woff");
       font-weight: normal;
       font-style: normal;
     }

     @font-face {
       font-family: "KantarBrownWeb-Italic";
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.eot");
       src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.eot?#iefix") format("embedded-opentype"),...

JavaScript

(input => {
        $('head').append(`<style>
div.example {
  padding: 5px;
  background: #ffffff;  
}

/* Use for 3 lines of text before truncation */
.mle-3 {
  overflow: hidden;
  position: relative;
  line-height: 1em;
  max-height: 3em; 
  text-align: center;
  padding-right: 1em;
}

.mle-3:before {
  content: '...';
  position: absolute;
  right: 0;
  bottom: 0;
}

.mle-3:after {
  content: '';
  position: absolute;
  right: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.2em;
  background: #FFFFFF;
}
.concepts {
  font-weight:700;
  width:150px;
  font-family:KantarBrownWeb-Bold;
  font-size:17px;
  color:#000000;
  white-space: normal;
} 
</style>`);

//applying rounding to the series data
input.chart_data.data_series[0].data = input.chart_data.data_series[0].data.map(function(each_element){
    return Number(Math.round(each_element));
});

input.chart_data.data_series[1].data = input.chart_data.data_series[1].data.map(function(each_element){
    return Number(Math.round(each_element));
});

var barlenght = input.chart_data.data_series[0].data.length;
var chartWidth = ((barlenght * 163) + 50);
var plotlinesVal;
var maxdatavalue = [];
var maxvalue;

//TITLE TEMPLATE
var titleHtml =
  `
<div class="chartTitles">

<div id="title"></div>
<div id="subTitle"></div>
<div id="chartTitle"></div>

</div>`;


//CHART TEMPLATE

var chartHtml =
  `
<div id="chartContainer">

</div>

`;


//LEGEND TEMPLATE

var legendHtml =
  `
<div id="legendWrapper">     
   <div class="legend"> 
         <p class="legend-name">
        <span class="legend-dot trial"></span><span class="legendText">${input.chart_data.data_series[0].name}</span></p> 
 </div>

 <div class="legend"> 
         <p class="legend-name">
        <span class="legend-dot Cannibalisation"></span><span class="legendText">${input.chart_data.data_series[1].name}</span></p> 
 </div>
 
 <div class="legend"> 
         <p class="legend-name">
        <span class="legend-dot bottomFifty"></span><span...