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/highcharts.js"></script>
<head>
    <style>
        /*
 * 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:...

JavaScript

( input=>{

     
    var Portfolio = [];
    for(var j=0;j<input.brandCannibalisation.length;j++)
    {
        Portfolio.push(input.portfolioCannibalisation[j] - input.brandCannibalisation[j]);
    }
    var barlenght = input.brandIncremental.length;
    var chartWidth = ((barlenght * 175)+50);
    var maxvalue = Math.ceil(Math.max.apply(null,input.brandIncremental) + Math.max.apply(null,input.portfolioCannibalisation)) * 1.1;
    maxvalue= Math.round((parseInt(maxvalue/10, 10)+1)*10);
    maxvalue = maxvalue <= 100 ? maxvalue : 100;


    //TITLE TEMPLATE

var titleHtml = 
`
<div class="chartTitles">

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


//CHART TEMPLATE  https://jsfiddle.net/kesav_Telaprolu/97ot1ah0/36/show

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

</div>

`;


//LEGEND TEMPLATE
var legendHtml = 
`
<div id="legendWrapper">     
    <div class='legend'>
<p class="legend-name">
        <span class="legend-dot " style="background:#3eb1cc;border:1px solid #3eb1cc"></span>
        <span style="position: relative;top: 2px;">${input.brandName[0]}</span></p>
</div>

<div class='legend'>
<p class="legend-name">
        <span class="legend-dot " style="background:#d6f4fd;border:1px solid #3eb1cc"></span>
        <span style="position: relative; top: 2px;">${input.brandName[1]}</span></p>
</div>

<div class='legend'>
<p class="legend-name">
        <span class="legend-dot" style="background:#ffffff;border:1px solid #3eb1cc"></span>
        <span style="position: relative;top: 2px;">${input.brandName[2]}</span></p>
</div>
 
</div>
`; 

//HTML AND CSS

$("#container").append(titleHtml);
$('.chartTitles').css({
  "margin-top": "35px"
})
$('#title').html(input.title);
$("#title").css({
  "margin":"0px 30px 0px 30px",
  "color":"#000000",    
  "font-size":"32px",
  "font-family":"KantarBrownWeb-Light",
  "padding":"5px 0px"
})
$('#subTitle').html(input.subTitle); 
$("#subTitle").css({
  "margin":"0px 30px 0px...