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áčeksetup_values # 115: setup_values() { 109*eeb7e5b3SAdam Hornáčekdomain_label_group 110*eeb7e5b3SAdam HornáčektextContent 111*eeb7e5b3SAdam Hornáčekdata_groups 112*eeb7e5b3SAdam HornáčektextContent 113*eeb7e5b3SAdam Hornáčekdata_values 114*eeb7e5b3SAdam Hornáčekkeys 115*eeb7e5b3SAdam Hornáčekdata 116*eeb7e5b3SAdam Hornáčekmap 117*eeb7e5b3SAdam Hornáčekkey 118*eeb7e5b3SAdam Hornáčekdata 119*eeb7e5b3SAdam Hornáčekkey 120*eeb7e5b3SAdam Hornáčekdistribution 121*eeb7e5b3SAdam HornáčekcalcDistribution 122*eeb7e5b3SAdam Hornáčekdata_values 123*eeb7e5b3SAdam Hornáčekdistribution_size 124*eeb7e5b3SAdam Hornáčekmonth_names 125*eeb7e5b3SAdam Hornáčekrender_all_weeks_and_store_x_values 126*eeb7e5b3SAdam Hornáčekno_of_cols 127*eeb7e5b3SAdam Hornáčekrender_all_weeks_and_store_x_values # 129: render_all_weeks_and_store_x... 128*eeb7e5b3SAdam Hornáčekno_of_weeks 129*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 130*eeb7e5b3SAdam Hornáčekfirst_week_start 131*eeb7e5b3SAdam Hornáčekweek_col 132*eeb7e5b3SAdam Hornáčekcurrent_month 133*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 134*eeb7e5b3SAdam HornáčekgetMonth 135*eeb7e5b3SAdam Hornáčekmonths 136*eeb7e5b3SAdam Hornáčekcurrent_month 137*eeb7e5b3SAdam Hornáčekmonth_weeks 138*eeb7e5b3SAdam Hornáčekmonth_start_points 139*eeb7e5b3SAdam Hornáčekmonth_weeks 140*eeb7e5b3SAdam Hornáčekcurrent_month 141*eeb7e5b3SAdam Hornáčekmonth_start_points 142*eeb7e5b3SAdam Hornáčekpush 143*eeb7e5b3SAdam Hornáčeki 144*eeb7e5b3SAdam Hornáčeki 145*eeb7e5b3SAdam Hornáčekno_of_weeks 146*eeb7e5b3SAdam Hornáčeki 147*eeb7e5b3SAdam Hornáčekdata_group 148*eeb7e5b3SAdam Hornáčekmonth_change 149*eeb7e5b3SAdam Hornáčekday 150*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 151*eeb7e5b3SAdam Hornáčekdata_group 152*eeb7e5b3SAdam Hornáčekmonth_change 153*eeb7e5b3SAdam Hornáčekget_week_squares_group 154*eeb7e5b3SAdam Hornáčekday 155*eeb7e5b3SAdam Hornáčekweek_col 156*eeb7e5b3SAdam Hornáčekdata_groups 157*eeb7e5b3SAdam HornáčekappendChild 158*eeb7e5b3SAdam Hornáčekdata_group 159*eeb7e5b3SAdam Hornáčekweek_col 160*eeb7e5b3SAdam HornáčekparseInt 161*eeb7e5b3SAdam Hornáčekdiscrete_domains 162*eeb7e5b3SAdam Hornáčekmonth_change 163*eeb7e5b3SAdam Hornáčekmonth_weeks 164*eeb7e5b3SAdam Hornáčekcurrent_month 165*eeb7e5b3SAdam Hornáčekmonth_change 166*eeb7e5b3SAdam Hornáčekcurrent_month 167*eeb7e5b3SAdam Hornáčekcurrent_month 168*eeb7e5b3SAdam Hornáčekmonths 169*eeb7e5b3SAdam Hornáčekpush 170*eeb7e5b3SAdam Hornáčekcurrent_month 171*eeb7e5b3SAdam Hornáčekmonth_weeks 172*eeb7e5b3SAdam Hornáčekcurrent_month 173*eeb7e5b3SAdam HornáčekaddDays 174*eeb7e5b3SAdam Hornáčekcurrent_week_sunday 175*eeb7e5b3SAdam Hornáčekrender_month_labels 176*eeb7e5b3SAdam Hornáčekget_week_squares_group # 157: get_week_squares_group(current_date, index) { 177*eeb7e5b3SAdam Hornáčekcurrent_date 178*eeb7e5b3SAdam Hornáčekindex 179*eeb7e5b3SAdam Hornáčekno_of_weekdays 180*eeb7e5b3SAdam Hornáčeksquare_side 181*eeb7e5b3SAdam Hornáčekcell_padding 182*eeb7e5b3SAdam Hornáčekstep 183*eeb7e5b3SAdam Hornáčektoday_time 184*eeb7e5b3SAdam Hornáčektoday 185*eeb7e5b3SAdam HornáčekgetTime 186*eeb7e5b3SAdam Hornáčekmonth_change 187*eeb7e5b3SAdam Hornáčekweek_col_change 188*eeb7e5b3SAdam Hornáčekdata_group 189*eeb7e5b3SAdam HornáčekmakeSVGGroup 190*eeb7e5b3SAdam Hornáčekdata_groups 191*eeb7e5b3SAdam Hornáčeky 192*eeb7e5b3SAdam Hornáčeki 193*eeb7e5b3SAdam Hornáčeki 194*eeb7e5b3SAdam Hornáčekno_of_weekdays 195*eeb7e5b3SAdam Hornáčeki 196*eeb7e5b3SAdam Hornáčekstep 197*eeb7e5b3SAdam Hornáčeky 198*eeb7e5b3SAdam Hornáčeksquare_side 199*eeb7e5b3SAdam Hornáčekcell_padding 200*eeb7e5b3SAdam Hornáčekdata_value 201*eeb7e5b3SAdam Hornáčekcolor_index 202*eeb7e5b3SAdam Hornáčekcurrent_timestamp 203*eeb7e5b3SAdam Hornáčekcurrent_date 204*eeb7e5b3SAdam HornáčekgetTime 205*eeb7e5b3SAdam Hornáčektimestamp 206*eeb7e5b3SAdam Hornáčekfloor 207*eeb7e5b3SAdam Hornáčekcurrent_timestamp 208*eeb7e5b3SAdam Hornáčekcurrent_timestamp 209*eeb7e5b3SAdam HornáčektoFixed 210*eeb7e5b3SAdam Hornáčekdata 211*eeb7e5b3SAdam Hornáčektimestamp 212*eeb7e5b3SAdam Hornáčekdata_value 213*eeb7e5b3SAdam Hornáčekdata 214*eeb7e5b3SAdam Hornáčektimestamp 215*eeb7e5b3SAdam Hornáčekdata 216*eeb7e5b3SAdam Hornáčekround 217*eeb7e5b3SAdam Hornáčektimestamp 218*eeb7e5b3SAdam Hornáčekdata_value 219*eeb7e5b3SAdam Hornáčekdata 220*eeb7e5b3SAdam Hornáčekround 221*eeb7e5b3SAdam Hornáčektimestamp 222*eeb7e5b3SAdam Hornáčekdata_value 223*eeb7e5b3SAdam Hornáčekcolor_index 224*eeb7e5b3SAdam HornáčekgetMaxCheckpoint 225*eeb7e5b3SAdam Hornáčekdata_value 226*eeb7e5b3SAdam Hornáčekdistribution 227*eeb7e5b3SAdam Hornáčekx 228*eeb7e5b3SAdam Hornáčekindex 229*eeb7e5b3SAdam Hornáčekweek_col_change 230*eeb7e5b3SAdam HornáčekdataAttr 231*eeb7e5b3SAdam HornáčekgetDdMmYyyy 232*eeb7e5b3SAdam Hornáčekcurrent_date 233*eeb7e5b3SAdam Hornáčekdata_value 234*eeb7e5b3SAdam Hornáčekcurrent_date 235*eeb7e5b3SAdam HornáčekgetDay 236*eeb7e5b3SAdam HornáčekheatSquare 237*eeb7e5b3SAdam HornáčekmakeHeatSquare 238*eeb7e5b3SAdam Hornáčekx 239*eeb7e5b3SAdam Hornáčeky 240*eeb7e5b3SAdam Hornáčeksquare_side 241*eeb7e5b3SAdam Hornáčeklegend_colors 242*eeb7e5b3SAdam Hornáčekcolor_index 243*eeb7e5b3SAdam HornáčekdataAttr 244*eeb7e5b3SAdam Hornáčekdata_group 245*eeb7e5b3SAdam HornáčekappendChild 246*eeb7e5b3SAdam HornáčekheatSquare 247*eeb7e5b3SAdam Hornáčeknext_date 248*eeb7e5b3SAdam Hornáčekcurrent_date 249*eeb7e5b3SAdam HornáčekaddDays 250*eeb7e5b3SAdam Hornáčeknext_date 251*eeb7e5b3SAdam Hornáčeknext_date 252*eeb7e5b3SAdam HornáčekgetTime 253*eeb7e5b3SAdam Hornáčektoday_time 254*eeb7e5b3SAdam Hornáčeknext_date 255*eeb7e5b3SAdam HornáčekgetMonth 256*eeb7e5b3SAdam Hornáčekcurrent_date 257*eeb7e5b3SAdam HornáčekgetMonth 258*eeb7e5b3SAdam Hornáčekmonth_change 259*eeb7e5b3SAdam Hornáčekdiscrete_domains 260*eeb7e5b3SAdam Hornáčekweek_col_change 261*eeb7e5b3SAdam Hornáčekmonth_start_points 262*eeb7e5b3SAdam Hornáčekpush 263*eeb7e5b3SAdam Hornáčekindex 264*eeb7e5b3SAdam Hornáčekweek_col_change 265*eeb7e5b3SAdam Hornáčekcurrent_date 266*eeb7e5b3SAdam Hornáčeknext_date 267*eeb7e5b3SAdam Hornáčekdata_group 268*eeb7e5b3SAdam Hornáčekmonth_change 269*eeb7e5b3SAdam Hornáčekrender_month_labels # 219: render_month_labels() { 270*eeb7e5b3SAdam Hornáčekmonths 271*eeb7e5b3SAdam Hornáčekshift 272*eeb7e5b3SAdam Hornáčekmonth_start_points 273*eeb7e5b3SAdam Hornáčekshift 274*eeb7e5b3SAdam Hornáčekmonths 275*eeb7e5b3SAdam Hornáčekpop 276*eeb7e5b3SAdam Hornáčekmonth_start_points 277*eeb7e5b3SAdam Hornáčekpop 278*eeb7e5b3SAdam Hornáčekmonth_start_points 279*eeb7e5b3SAdam Hornáčekmap 280*eeb7e5b3SAdam Hornáčekstart 281*eeb7e5b3SAdam Hornáčeki 282*eeb7e5b3SAdam Hornáčekmonth_name 283*eeb7e5b3SAdam Hornáčekmonth_names 284*eeb7e5b3SAdam Hornáčekmonths 285*eeb7e5b3SAdam Hornáčeki 286*eeb7e5b3SAdam Hornáčeksubstring 287*eeb7e5b3SAdam Hornáčektext 288*eeb7e5b3SAdam HornáčekmakeText 289*eeb7e5b3SAdam Hornáčekstart 290*eeb7e5b3SAdam Hornáčekmonth_name 291*eeb7e5b3SAdam Hornáčekdomain_label_group 292*eeb7e5b3SAdam HornáčekappendChild 293*eeb7e5b3SAdam Hornáčektext 294*eeb7e5b3SAdam Hornáčekmake_graph_components # 246: make_graph_components() { 295*eeb7e5b3SAdam Hornáčekprototype 296*eeb7e5b3SAdam Hornáčekslice 297*eeb7e5b3SAdam Hornáčekcall 298*eeb7e5b3SAdam Hornáčekcontainer 299*eeb7e5b3SAdam HornáčekquerySelectorAll 300*eeb7e5b3SAdam Hornáčekmap 301*eeb7e5b3SAdam Hornáčekd 302*eeb7e5b3SAdam Hornáčekd 303*eeb7e5b3SAdam Hornáčekstyle 304*eeb7e5b3SAdam Hornáčekdisplay 305*eeb7e5b3SAdam Hornáčekchart_wrapper 306*eeb7e5b3SAdam Hornáčekstyle 307*eeb7e5b3SAdam HornáčekmarginTop 308*eeb7e5b3SAdam Hornáčekchart_wrapper 309*eeb7e5b3SAdam Hornáčekstyle 310*eeb7e5b3SAdam HornáčekpaddingTop 311*eeb7e5b3SAdam Hornáčekbind_tooltip # 256: bind_tooltip() { 312*eeb7e5b3SAdam Hornáčekprototype 313*eeb7e5b3SAdam Hornáčekslice 314*eeb7e5b3SAdam Hornáčekcall 315*eeb7e5b3SAdam Hornáčekdocument 316*eeb7e5b3SAdam HornáčekquerySelectorAll 317*eeb7e5b3SAdam Hornáčekmap 318*eeb7e5b3SAdam Hornáčekel 319*eeb7e5b3SAdam Hornáčekel 320*eeb7e5b3SAdam HornáčekaddEventListener 321*eeb7e5b3SAdam Hornáčeke 322*eeb7e5b3SAdam Hornáčekcount 323*eeb7e5b3SAdam Hornáčeke 324*eeb7e5b3SAdam Hornáčektarget 325*eeb7e5b3SAdam HornáčekgetAttribute 326*eeb7e5b3SAdam Hornáčekdate_parts 327*eeb7e5b3SAdam Hornáčeke 328*eeb7e5b3SAdam Hornáčektarget 329*eeb7e5b3SAdam HornáčekgetAttribute 330*eeb7e5b3SAdam Hornáčeksplit 331*eeb7e5b3SAdam Hornáčekmonth 332*eeb7e5b3SAdam Hornáčekmonth_names 333*eeb7e5b3SAdam HornáčekparseInt 334*eeb7e5b3SAdam Hornáčekdate_parts 335*eeb7e5b3SAdam Hornáčeksubstring 336*eeb7e5b3SAdam Hornáčekg_off 337*eeb7e5b3SAdam Hornáčekchart_wrapper 338*eeb7e5b3SAdam HornáčekgetBoundingClientRect 339*eeb7e5b3SAdam Hornáčekp_off 340*eeb7e5b3SAdam Hornáčeke 341*eeb7e5b3SAdam Hornáčektarget 342*eeb7e5b3SAdam HornáčekgetBoundingClientRect 343*eeb7e5b3SAdam Hornáčekwidth 344*eeb7e5b3SAdam HornáčekparseInt 345*eeb7e5b3SAdam Hornáčeke 346*eeb7e5b3SAdam Hornáčektarget 347*eeb7e5b3SAdam HornáčekgetAttribute 348*eeb7e5b3SAdam Hornáčekx 349*eeb7e5b3SAdam Hornáčekp_off 350*eeb7e5b3SAdam Hornáčekleft 351*eeb7e5b3SAdam Hornáčekg_off 352*eeb7e5b3SAdam Hornáčekleft 353*eeb7e5b3SAdam Hornáčekwidth 354*eeb7e5b3SAdam Hornáčeky 355*eeb7e5b3SAdam Hornáčekp_off 356*eeb7e5b3SAdam Hornáčektop 357*eeb7e5b3SAdam Hornáčekg_off 358*eeb7e5b3SAdam Hornáčektop 359*eeb7e5b3SAdam Hornáčekwidth 360*eeb7e5b3SAdam Hornáčekvalue 361*eeb7e5b3SAdam Hornáčekcount 362*eeb7e5b3SAdam Hornáčekcount_label 363*eeb7e5b3SAdam Hornáčekname 364*eeb7e5b3SAdam Hornáčekmonth 365*eeb7e5b3SAdam Hornáčekdate_parts 366*eeb7e5b3SAdam Hornáčekdate_parts 367*eeb7e5b3SAdam Hornáčektip 368*eeb7e5b3SAdam Hornáčekset_values 369*eeb7e5b3SAdam Hornáčekx 370*eeb7e5b3SAdam Hornáčeky 371*eeb7e5b3SAdam Hornáčekname 372*eeb7e5b3SAdam Hornáčekvalue 373*eeb7e5b3SAdam Hornáčektip 374*eeb7e5b3SAdam Hornáčekshow_tip 375*eeb7e5b3SAdam Hornáčekupdate # 280: update(data) { 376*eeb7e5b3SAdam Hornáčekdata 377*eeb7e5b3SAdam Hornáčekdata 378*eeb7e5b3SAdam Hornáčekdata 379*eeb7e5b3SAdam Hornáčeksetup_values 380*eeb7e5b3SAdam Hornáčekbind_tooltip 381*eeb7e5b3SAdam Hornáčekfoo # 285: foo() { 382*eeb7e5b3SAdam Hornáčeku1 383*eeb7e5b3SAdam Hornáčeku2 384*eeb7e5b3SAdam Hornáčekstr 385