1*eeb7e5b3SAdam HornáčekBaseChart # 23:import BaseChart from './BaseChart'; 2*eeb7e5b3SAdam Hornáčekfrom 3*eeb7e5b3SAdam HornáčekmakeSVGGroup 4*eeb7e5b3SAdam HornáčekmakeHeatSquare 5*eeb7e5b3SAdam HornáčekmakeText 6*eeb7e5b3SAdam Hornáčekfrom 7*eeb7e5b3SAdam HornáčekaddDays 8*eeb7e5b3SAdam HornáčekgetDdMmYyyy 9*eeb7e5b3SAdam HornáčekgetWeeksBetween 10*eeb7e5b3SAdam Hornáčekfrom 11*eeb7e5b3SAdam HornáčekcalcDistribution 12*eeb7e5b3SAdam HornáčekgetMaxCheckpoint 13*eeb7e5b3SAdam Hornáčekfrom 14*eeb7e5b3SAdam HornáčekisValidColor 15*eeb7e5b3SAdam Hornáčekfrom 16*eeb7e5b3SAdam HornáčekHeatmap # 23:export default class Heatmap extends BaseChart { 17*eeb7e5b3SAdam HornáčekBaseChart 18*eeb7e5b3SAdam Hornáčekconstructor 19*eeb7e5b3SAdam Hornáčekstart 20*eeb7e5b3SAdam Hornáčekdomain 21*eeb7e5b3SAdam Hornáčeksubdomain 22*eeb7e5b3SAdam Hornáčekdata 23*eeb7e5b3SAdam Hornáčekdiscrete_domains 24*eeb7e5b3SAdam Hornáčekcount_label 25*eeb7e5b3SAdam Hornáčeklegend_colors 26*eeb7e5b3SAdam Hornáčekarguments 27*eeb7e5b3SAdam Hornáčektype 28*eeb7e5b3SAdam Hornáčekdomain 29*eeb7e5b3SAdam Hornáčekdomain 30*eeb7e5b3SAdam Hornáčeksubdomain 31*eeb7e5b3SAdam Hornáčeksubdomain 32*eeb7e5b3SAdam Hornáčekdata 33*eeb7e5b3SAdam Hornáčekdata 34*eeb7e5b3SAdam Hornáčekdiscrete_domains 35*eeb7e5b3SAdam Hornáčekdiscrete_domains 36*eeb7e5b3SAdam Hornáčekcount_label 37*eeb7e5b3SAdam Hornáčekcount_label 38*eeb7e5b3SAdam Hornáčektoday 39*eeb7e5b3SAdam Hornáčekstart 40*eeb7e5b3SAdam Hornáčekstart 41*eeb7e5b3SAdam HornáčekaddDays 42*eeb7e5b3SAdam Hornáčektoday 43*eeb7e5b3SAdam Hornáčeklegend_colors 44*eeb7e5b3SAdam Hornáčeklegend_colors 45*eeb7e5b3SAdam Hornáčekslice 46*eeb7e5b3SAdam Hornáčeklegend_colors 47*eeb7e5b3SAdam Hornáčekvalidate_colors 48*eeb7e5b3SAdam Hornáčeklegend_colors 49*eeb7e5b3SAdam Hornáčeklegend_colors 50*eeb7e5b3SAdam Hornáčekdistribution_size 51*eeb7e5b3SAdam Hornáčektranslate_x 52*eeb7e5b3SAdam Hornáčeksetup 53*eeb7e5b3SAdam Hornáčekvalidate_colors # 65: validate_colors(colors) { 54*eeb7e5b3SAdam Hornáčekcolors 55*eeb7e5b3SAdam Hornáčekcolors 56*eeb7e5b3SAdam Hornáčeklength 57*eeb7e5b3SAdam Hornáčekvalid 58*eeb7e5b3SAdam Hornáčekcolors 59*eeb7e5b3SAdam HornáčekforEach 60*eeb7e5b3SAdam Hornáčekstring 61*eeb7e5b3SAdam HornáčekisValidColor 62*eeb7e5b3SAdam Hornáčekstring 63*eeb7e5b3SAdam Hornáčekvalid 64*eeb7e5b3SAdam Hornáčekconsole 65*eeb7e5b3SAdam Hornáčekwarn 66*eeb7e5b3SAdam Hornáčekstring 67*eeb7e5b3SAdam Hornáčekvalid 68*eeb7e5b3SAdam Hornáčeksetup_base_values # 79: setup_base_values() { 69*eeb7e5b3SAdam Hornáčektoday 70*eeb7e5b3SAdam Hornáčekstart 71*eeb7e5b3SAdam Hornáčekstart 72*eeb7e5b3SAdam Hornáčekstart 73*eeb7e5b3SAdam HornáčeksetFullYear 74*eeb7e5b3SAdam Hornáčekstart 75*eeb7e5b3SAdam HornáčekgetFullYear 76*eeb7e5b3SAdam Hornáčekfirst_week_start 77*eeb7e5b3SAdam Hornáčekstart 78*eeb7e5b3SAdam HornáčektoDateString 79*eeb7e5b3SAdam Hornáčeklast_week_start 80*eeb7e5b3SAdam Hornáčektoday 81*eeb7e5b3SAdam HornáčektoDateString 82*eeb7e5b3SAdam Hornáčekfirst_week_start 83*eeb7e5b3SAdam HornáčekgetDay 84*eeb7e5b3SAdam HornáčekaddDays 85*eeb7e5b3SAdam Hornáčekfirst_week_start 86*eeb7e5b3SAdam Hornáčekfirst_week_start 87*eeb7e5b3SAdam HornáčekgetDay 88*eeb7e5b3SAdam Hornáčeklast_week_start 89*eeb7e5b3SAdam HornáčekgetDay 90*eeb7e5b3SAdam HornáčekaddDays 91*eeb7e5b3SAdam Hornáčeklast_week_start 92*eeb7e5b3SAdam Hornáčeklast_week_start 93*eeb7e5b3SAdam HornáčekgetDay 94*eeb7e5b3SAdam Hornáčekno_of_cols 95*eeb7e5b3SAdam HornáčekgetWeeksBetween 96*eeb7e5b3SAdam Hornáčekfirst_week_start 97*eeb7e5b3SAdam Hornáčeklast_week_start 98*eeb7e5b3SAdam Hornáčekset_width # 97: set_width() { 99*eeb7e5b3SAdam Hornáčekbase_width 100*eeb7e5b3SAdam Hornáčekno_of_cols 101*eeb7e5b3SAdam Hornáčekdiscrete_domains 102*eeb7e5b3SAdam Hornáčekbase_width 103*eeb7e5b3SAdam Hornáčeksetup_components # 105: setup_components() { 104*eeb7e5b3SAdam Hornáčekdomain_label_group 105*eeb7e5b3SAdam HornáčekmakeDrawAreaComponent 106*eeb7e5b3SAdam Hornáčekdata_groups 107*eeb7e5b3SAdam HornáčekmakeDrawAreaComponent 108*eeb7e5b3SAdam Hornáčektranslate 109*eeb7e5b3SAdam Hornáčeksetup_values # 115: setup_values() { 110*eeb7e5b3SAdam Hornáčekdomain_label_group 111*eeb7e5b3SAdam HornáčektextContent 112*eeb7e5b3SAdam Hornáčekdata_groups 113*eeb7e5b3SAdam HornáčektextContent 114*eeb7e5b3SAdam Hornáčekdata_values 115*eeb7e5b3SAdam Hornáčekkeys 116*eeb7e5b3SAdam Hornáčekdata 117*eeb7e5b3SAdam Hornáčekmap 118*eeb7e5b3SAdam Hornáčekkey 119*eeb7e5b3SAdam Hornáčekdata 120*eeb7e5b3SAdam Hornáčekkey 121*eeb7e5b3SAdam Hornáčekdistribution 122*eeb7e5b3SAdam HornáčekcalcDistribution 123*eeb7e5b3SAdam Hornáčekdata_values 124*eeb7e5b3SAdam Hornáčekdistribution_size 125*eeb7e5b3SAdam Hornáčekmonth_names 126*eeb7e5b3SAdam Hornáčekrender_all_weeks_and_store_x_values 127*eeb7e5b3SAdam Hornáčekno_of_cols 128*eeb7e5b3SAdam Hornáčekrender_all_weeks_and_store_x_values # 129: render_all_weeks_and_store_x... 129*eeb7e5b3SAdam Hornáčekno_of_weeks 130*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 131*eeb7e5b3SAdam Hornáčekfirst_week_start 132*eeb7e5b3SAdam Hornáčekweek_col 133*eeb7e5b3SAdam Hornáčekcurrent_month 134*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 135*eeb7e5b3SAdam HornáčekgetMonth 136*eeb7e5b3SAdam Hornáčekmonths 137*eeb7e5b3SAdam Hornáčekcurrent_month 138*eeb7e5b3SAdam Hornáčekmonth_weeks 139*eeb7e5b3SAdam Hornáčekmonth_start_points 140*eeb7e5b3SAdam Hornáčekmonth_weeks 141*eeb7e5b3SAdam Hornáčekcurrent_month 142*eeb7e5b3SAdam Hornáčekmonth_start_points 143*eeb7e5b3SAdam Hornáčekpush 144*eeb7e5b3SAdam Hornáčeki 145*eeb7e5b3SAdam Hornáčeki 146*eeb7e5b3SAdam Hornáčekno_of_weeks 147*eeb7e5b3SAdam Hornáčeki 148*eeb7e5b3SAdam Hornáčekdata_group 149*eeb7e5b3SAdam Hornáčekmonth_change 150*eeb7e5b3SAdam Hornáčekday 151*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 152*eeb7e5b3SAdam Hornáčekdata_group 153*eeb7e5b3SAdam Hornáčekmonth_change 154*eeb7e5b3SAdam Hornáčekget_week_squares_group 155*eeb7e5b3SAdam Hornáčekday 156*eeb7e5b3SAdam Hornáčekweek_col 157*eeb7e5b3SAdam Hornáčekdata_groups 158*eeb7e5b3SAdam HornáčekappendChild 159*eeb7e5b3SAdam Hornáčekdata_group 160*eeb7e5b3SAdam Hornáčekweek_col 161*eeb7e5b3SAdam HornáčekparseInt 162*eeb7e5b3SAdam Hornáčekdiscrete_domains 163*eeb7e5b3SAdam Hornáčekmonth_change 164*eeb7e5b3SAdam Hornáčekmonth_weeks 165*eeb7e5b3SAdam Hornáčekcurrent_month 166*eeb7e5b3SAdam Hornáčekmonth_change 167*eeb7e5b3SAdam Hornáčekcurrent_month 168*eeb7e5b3SAdam Hornáčekcurrent_month 169*eeb7e5b3SAdam Hornáčekmonths 170*eeb7e5b3SAdam Hornáčekpush 171*eeb7e5b3SAdam Hornáčekcurrent_month 172*eeb7e5b3SAdam Hornáčekmonth_weeks 173*eeb7e5b3SAdam Hornáčekcurrent_month 174*eeb7e5b3SAdam HornáčekaddDays 175*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 176*eeb7e5b3SAdam Hornáčekrender_month_labels 177*eeb7e5b3SAdam Hornáčekget_week_squares_group # 157: get_week_squares_group(current_date, index) { 178*eeb7e5b3SAdam Hornáčekcurrent_date 179*eeb7e5b3SAdam Hornáčekindex 180*eeb7e5b3SAdam Hornáčekno_of_weekdays 181*eeb7e5b3SAdam Hornáčeksquare_side 182*eeb7e5b3SAdam Hornáčekcell_padding 183*eeb7e5b3SAdam Hornáčekstep 184*eeb7e5b3SAdam Hornáčektoday_time 185*eeb7e5b3SAdam Hornáčektoday 186*eeb7e5b3SAdam HornáčekgetTime 187*eeb7e5b3SAdam Hornáčekmonth_change 188*eeb7e5b3SAdam Hornáčekweek_col_change 189*eeb7e5b3SAdam Hornáčekdata_group 190*eeb7e5b3SAdam HornáčekmakeSVGGroup 191*eeb7e5b3SAdam Hornáčekdata_groups 192*eeb7e5b3SAdam Hornáčeky 193*eeb7e5b3SAdam Hornáčeki 194*eeb7e5b3SAdam Hornáčeki 195*eeb7e5b3SAdam Hornáčekno_of_weekdays 196*eeb7e5b3SAdam Hornáčeki 197*eeb7e5b3SAdam Hornáčekstep 198*eeb7e5b3SAdam Hornáčeky 199*eeb7e5b3SAdam Hornáčeksquare_side 200*eeb7e5b3SAdam Hornáčekcell_padding 201*eeb7e5b3SAdam Hornáčekdata_value 202*eeb7e5b3SAdam Hornáčekcolor_index 203*eeb7e5b3SAdam Hornáčekcurrent_timestamp 204*eeb7e5b3SAdam Hornáčekcurrent_date 205*eeb7e5b3SAdam HornáčekgetTime 206*eeb7e5b3SAdam Hornáčektimestamp 207*eeb7e5b3SAdam Hornáčekfloor 208*eeb7e5b3SAdam Hornáčekcurrent_timestamp 209*eeb7e5b3SAdam Hornáčekcurrent_timestamp 210*eeb7e5b3SAdam HornáčektoFixed 211*eeb7e5b3SAdam Hornáčekdata 212*eeb7e5b3SAdam Hornáčektimestamp 213*eeb7e5b3SAdam Hornáčekdata_value 214*eeb7e5b3SAdam Hornáčekdata 215*eeb7e5b3SAdam Hornáčektimestamp 216*eeb7e5b3SAdam Hornáčekdata 217*eeb7e5b3SAdam Hornáčekround 218*eeb7e5b3SAdam Hornáčektimestamp 219*eeb7e5b3SAdam Hornáčekdata_value 220*eeb7e5b3SAdam Hornáčekdata 221*eeb7e5b3SAdam Hornáčekround 222*eeb7e5b3SAdam Hornáčektimestamp 223*eeb7e5b3SAdam Hornáčekdata_value 224*eeb7e5b3SAdam Hornáčekcolor_index 225*eeb7e5b3SAdam HornáčekgetMaxCheckpoint 226*eeb7e5b3SAdam Hornáčekdata_value 227*eeb7e5b3SAdam Hornáčekdistribution 228*eeb7e5b3SAdam Hornáčekx 229*eeb7e5b3SAdam Hornáčekindex 230*eeb7e5b3SAdam Hornáčekweek_col_change 231*eeb7e5b3SAdam HornáčekdataAttr 232*eeb7e5b3SAdam HornáčekgetDdMmYyyy 233*eeb7e5b3SAdam Hornáčekcurrent_date 234*eeb7e5b3SAdam Hornáčekdata_value 235*eeb7e5b3SAdam Hornáčekcurrent_date 236*eeb7e5b3SAdam HornáčekgetDay 237*eeb7e5b3SAdam HornáčekheatSquare 238*eeb7e5b3SAdam HornáčekmakeHeatSquare 239*eeb7e5b3SAdam Hornáčekx 240*eeb7e5b3SAdam Hornáčeky 241*eeb7e5b3SAdam Hornáčeksquare_side 242*eeb7e5b3SAdam Hornáčeklegend_colors 243*eeb7e5b3SAdam Hornáčekcolor_index 244*eeb7e5b3SAdam HornáčekdataAttr 245*eeb7e5b3SAdam Hornáčekdata_group 246*eeb7e5b3SAdam HornáčekappendChild 247*eeb7e5b3SAdam HornáčekheatSquare 248*eeb7e5b3SAdam Hornáčeknext_date 249*eeb7e5b3SAdam Hornáčekcurrent_date 250*eeb7e5b3SAdam HornáčekaddDays 251*eeb7e5b3SAdam Hornáčeknext_date 252*eeb7e5b3SAdam Hornáčeknext_date 253*eeb7e5b3SAdam HornáčekgetTime 254*eeb7e5b3SAdam Hornáčektoday_time 255*eeb7e5b3SAdam Hornáčeknext_date 256*eeb7e5b3SAdam HornáčekgetMonth 257*eeb7e5b3SAdam Hornáčekcurrent_date 258*eeb7e5b3SAdam HornáčekgetMonth 259*eeb7e5b3SAdam Hornáčekmonth_change 260*eeb7e5b3SAdam Hornáčekdiscrete_domains 261*eeb7e5b3SAdam Hornáčekweek_col_change 262*eeb7e5b3SAdam Hornáčekmonth_start_points 263*eeb7e5b3SAdam Hornáčekpush 264*eeb7e5b3SAdam Hornáčekindex 265*eeb7e5b3SAdam Hornáčekweek_col_change 266*eeb7e5b3SAdam Hornáčekcurrent_date 267*eeb7e5b3SAdam Hornáčeknext_date 268*eeb7e5b3SAdam Hornáčekdata_group 269*eeb7e5b3SAdam Hornáčekmonth_change 270*eeb7e5b3SAdam Hornáčekrender_month_labels # 219: render_month_labels() { 271*eeb7e5b3SAdam Hornáčekmonths 272*eeb7e5b3SAdam Hornáčekshift 273*eeb7e5b3SAdam Hornáčekmonth_start_points 274*eeb7e5b3SAdam Hornáčekshift 275*eeb7e5b3SAdam Hornáčekmonths 276*eeb7e5b3SAdam Hornáčekpop 277*eeb7e5b3SAdam Hornáčekmonth_start_points 278*eeb7e5b3SAdam Hornáčekpop 279*eeb7e5b3SAdam Hornáčekmonth_start_points 280*eeb7e5b3SAdam Hornáčekmap 281*eeb7e5b3SAdam Hornáčekstart 282*eeb7e5b3SAdam Hornáčeki 283*eeb7e5b3SAdam Hornáčekmonth_name 284*eeb7e5b3SAdam Hornáčekmonth_names 285*eeb7e5b3SAdam Hornáčekmonths 286*eeb7e5b3SAdam Hornáčeki 287*eeb7e5b3SAdam Hornáčeksubstring 288*eeb7e5b3SAdam Hornáčektext 289*eeb7e5b3SAdam HornáčekmakeText 290*eeb7e5b3SAdam Hornáčekstart 291*eeb7e5b3SAdam Hornáčekmonth_name 292*eeb7e5b3SAdam Hornáčekdomain_label_group 293*eeb7e5b3SAdam HornáčekappendChild 294*eeb7e5b3SAdam Hornáčektext 295*eeb7e5b3SAdam Hornáčekmake_graph_components # 246: make_graph_components() { 296*eeb7e5b3SAdam Hornáčekprototype 297*eeb7e5b3SAdam Hornáčekslice 298*eeb7e5b3SAdam Hornáčekcall 299*eeb7e5b3SAdam Hornáčekcontainer 300*eeb7e5b3SAdam HornáčekquerySelectorAll 301*eeb7e5b3SAdam Hornáčekmap 302*eeb7e5b3SAdam Hornáčekd 303*eeb7e5b3SAdam Hornáčekd 304*eeb7e5b3SAdam Hornáčekstyle 305*eeb7e5b3SAdam Hornáčekdisplay 306*eeb7e5b3SAdam Hornáčekchart_wrapper 307*eeb7e5b3SAdam Hornáčekstyle 308*eeb7e5b3SAdam HornáčekmarginTop 309*eeb7e5b3SAdam Hornáčekchart_wrapper 310*eeb7e5b3SAdam Hornáčekstyle 311*eeb7e5b3SAdam HornáčekpaddingTop 312*eeb7e5b3SAdam Hornáčekbind_tooltip # 256: bind_tooltip() { 313*eeb7e5b3SAdam Hornáčekprototype 314*eeb7e5b3SAdam Hornáčekslice 315*eeb7e5b3SAdam Hornáčekcall 316*eeb7e5b3SAdam Hornáčekdocument 317*eeb7e5b3SAdam HornáčekquerySelectorAll 318*eeb7e5b3SAdam Hornáčekmap 319*eeb7e5b3SAdam Hornáčekel 320*eeb7e5b3SAdam Hornáčekel 321*eeb7e5b3SAdam HornáčekaddEventListener 322*eeb7e5b3SAdam Hornáčeke 323*eeb7e5b3SAdam Hornáčekcount 324*eeb7e5b3SAdam Hornáčeke 325*eeb7e5b3SAdam Hornáčektarget 326*eeb7e5b3SAdam HornáčekgetAttribute 327*eeb7e5b3SAdam Hornáčekdate_parts 328*eeb7e5b3SAdam Hornáčeke 329*eeb7e5b3SAdam Hornáčektarget 330*eeb7e5b3SAdam HornáčekgetAttribute 331*eeb7e5b3SAdam Hornáčeksplit 332*eeb7e5b3SAdam Hornáčekmonth 333*eeb7e5b3SAdam Hornáčekmonth_names 334*eeb7e5b3SAdam HornáčekparseInt 335*eeb7e5b3SAdam Hornáčekdate_parts 336*eeb7e5b3SAdam Hornáčeksubstring 337*eeb7e5b3SAdam Hornáčekg_off 338*eeb7e5b3SAdam Hornáčekchart_wrapper 339*eeb7e5b3SAdam HornáčekgetBoundingClientRect 340*eeb7e5b3SAdam Hornáčekp_off 341*eeb7e5b3SAdam Hornáčeke 342*eeb7e5b3SAdam Hornáčektarget 343*eeb7e5b3SAdam HornáčekgetBoundingClientRect 344*eeb7e5b3SAdam Hornáčekwidth 345*eeb7e5b3SAdam HornáčekparseInt 346*eeb7e5b3SAdam Hornáčeke 347*eeb7e5b3SAdam Hornáčektarget 348*eeb7e5b3SAdam HornáčekgetAttribute 349*eeb7e5b3SAdam Hornáčekx 350*eeb7e5b3SAdam Hornáčekp_off 351*eeb7e5b3SAdam Hornáčekleft 352*eeb7e5b3SAdam Hornáčekg_off 353*eeb7e5b3SAdam Hornáčekleft 354*eeb7e5b3SAdam Hornáčekwidth 355*eeb7e5b3SAdam Hornáčeky 356*eeb7e5b3SAdam Hornáčekp_off 357*eeb7e5b3SAdam Hornáčektop 358*eeb7e5b3SAdam Hornáčekg_off 359*eeb7e5b3SAdam Hornáčektop 360*eeb7e5b3SAdam Hornáčekwidth 361*eeb7e5b3SAdam Hornáčekvalue 362*eeb7e5b3SAdam Hornáčekcount 363*eeb7e5b3SAdam Hornáčekcount_label 364*eeb7e5b3SAdam Hornáčekname 365*eeb7e5b3SAdam Hornáčekmonth 366*eeb7e5b3SAdam Hornáčekdate_parts 367*eeb7e5b3SAdam Hornáčekdate_parts 368*eeb7e5b3SAdam Hornáčektip 369*eeb7e5b3SAdam Hornáčekset_values 370*eeb7e5b3SAdam Hornáčekx 371*eeb7e5b3SAdam Hornáčeky 372*eeb7e5b3SAdam Hornáčekname 373*eeb7e5b3SAdam Hornáčekvalue 374*eeb7e5b3SAdam Hornáčektip 375*eeb7e5b3SAdam Hornáčekshow_tip 376*eeb7e5b3SAdam Hornáčekupdate # 280: update(data) { 377*eeb7e5b3SAdam Hornáčekdata 378*eeb7e5b3SAdam Hornáčekdata 379*eeb7e5b3SAdam Hornáčekdata 380*eeb7e5b3SAdam Hornáčeksetup_values 381*eeb7e5b3SAdam Hornáčekbind_tooltip 382*eeb7e5b3SAdam Hornáčekfoo # 285: foo() { 383*eeb7e5b3SAdam Hornáčeku1 384*eeb7e5b3SAdam Hornáčeku2 385*eeb7e5b3SAdam Hornáčekstr 386