Changeset 35121 for main


Ignore:
Timestamp:
2021-04-27T14:03:18+12:00 (3 years ago)
Author:
davidb
Message:

Commented out block of code that seeks to do a better job of displaying labels in a Treemap

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/js/dataviz.js

    r35113 r35121  
    254254    }
    255255}
     256
     257/*
     258function showInfo() {
     259    var treechart = $("#sgvizler-div");
     260
     261    //var data = google.visualization.arrayToDataTable(heatmapData);
     262
     263    var chart = sgvizler2.sgvizler.Container.list[0]
     264    var resultSparql = chart._chart._resultSparql;
     265    var data = new sgvizler2.google.Data(resultSparql);
     266    var data_table = data.getDataTable();
     267
     268    var num_rows = data_table.getNumberOfRows();
     269
     270    for (var ri=0; ri<num_rows; ri++) {
     271    var country     = data_table.getValue(ri,0);
     272    var total_votes = data_table.getValue(ri,1);
     273    var diff_votes  = data_table.getValue(ri,2);
     274   
     275    var v = data_table.getValue(ri,3);
     276    console.log("*** v = " + v);
     277   
     278    var replace_rec = { v: v, f: country + ": Tele vs Jury diff: " + v };
     279    var formatted_val = country + ": Tele vs Jury diff: " + v;
     280    data_table.setFormattedValue(ri,0, formatted_val);
     281    }
     282
     283    var tree = new google.visualization.TreeMap(document.getElementById('sgvizler-div'));
     284
     285    var tree_options = sgvizler2.getChartOptions('sgvizler-div')
     286   
     287    tree.draw(data_table, tree_options);
     288   
     289   
     290/ *
     291 S.Container.list.forEach(
     292        (container) => {
     293            if(container.id === elementID) {
     294                optionsChart = container.chart.newOptionsRaw
     295            }
     296        }
     297    )
     298* /
     299   
     300}
     301function showInfo2() {
     302   
     303    var svg = treechart.find("svg");
     304    var cells = svg.find("g");
     305    cells.find("text").hide();
     306   
     307    cells.each(function(i, item) {
     308    console.log("*** i = " + i);
     309        var cell = $(item);
     310        var xy = getCellCoordinates(cell);
     311        var tableData = getTableData(i);
     312        var cellColor = cell.find('rect').attr('fill');
     313        //var cellColor = setColor(tableData);
     314        var extraCell = makeInfoCell(tableData, xy, cellColor);
     315        $("#page").append(extraCell);
     316    });
     317
     318    function getCellCoordinates(cell) {
     319        var top = window.pageYOffset || document.documentElement.scrollTop;
     320        var rect = {
     321            top: cell[0].getBoundingClientRect().top,
     322            left: cell[0].getBoundingClientRect().left,
     323            width: cell[0].getBoundingClientRect().width,
     324            height: cell[0].getBoundingClientRect().height
     325        };
     326        if (top > 0) {
     327            rect.top = rect.top + top;
     328        }
     329        return rect;
     330    }
     331   
     332    function getTableData(row) {
     333        row++; // 0-item is root
     334        var dataObj = {
     335            id: row, // int
     336            name: data.getValue(row, 0), // str
     337            val: data.getValue(row, 2), // int
     338            //dir: data.getValue(row, 4), // str
     339            //perc: data.getValue(row, 5), // int
     340            //supplierId: data.getValue(row, 6) // int
     341        };
     342        return dataObj;
     343    }
     344   
     345    function makeInfoCell(data, xy, color) {
     346        var paddingTop = 0;
     347        var tooTight = "";
     348        var tooLow = "";
     349        var tooSmall = "";
     350        var tagEl = "";
     351   
     352        if (xy.height > 67 && xy.height < 85) {
     353            paddingTop = xy.height / 2 - 22;
     354            tooLow = "tooLow";
     355        } else if (xy.height > 45 && xy.height <= 67) {
     356            paddingTop = xy.height / 2 - 20;
     357        } else if (xy.height <= 45) {
     358            paddingTop = 0;
     359            tooSmall = "tooSmall";
     360        } else {
     361            paddingTop = xy.height - 82;
     362        }
     363   
     364        if (xy.width <= 62) {
     365            tooTight = "tooTight";
     366            if (xy.width <= 30) {
     367        tooSmall = "tooSmall";
     368            }
     369        }
     370   
     371        var style =
     372            'style="left:' +
     373            xy.left +
     374            "px;top:" +
     375            (xy.top - 1) +
     376            "px;width:" +
     377            xy.width +
     378            "px;height:" +
     379            xy.height +
     380            "px;padding-top:" +
     381            paddingTop +
     382            "px;color:" +
     383            color +
     384            ";background:" +
     385            color +
     386            ';"';
     387   
     388        tagEl = '<a href="/" class="name">' + data.name + "</a>";
     389   
     390        var infoDiv =
     391            '<div class="cellInfo ' +
     392            tooTight +
     393            " " +
     394            tooLow +
     395            " " +
     396            tooSmall +
     397            '" data-id="' +
     398            data.supplierId +
     399            '" ' +
     400            style +
     401            ">" +
     402            tagEl;
     403   
     404        if (xy.height > 67) {
     405            if (data.perc !== null) {
     406        infoDiv +=
     407            '<span class="perc arrow-' +
     408            data.dir +
     409            '"><span class="percValue">' +
     410            data.perc +
     411            "%</span></span>";
     412            } else {
     413        infoDiv += '<span class="perc nodata">No data</span>';
     414            }
     415        }
     416   
     417        infoDiv +=
     418            '<span class="val">Risk: ' +
     419            (data.val ? data.val.toFixed() : "-") +
     420            "</span>" +
     421            '<div class="hoverBox">' +
     422            tagEl;
     423   
     424        if (data.perc !== null) {
     425            infoDiv +=
     426        '<span class="perc arrow-' +
     427        data.dir +
     428        '">' +
     429        data.perc +
     430        "%</span>";
     431        }
     432        infoDiv +=
     433          "<span>Risk: " +
     434            (data.val ? data.val.toFixed() : "-") +
     435            "</span>" +
     436            "</div></div>";
     437        return infoDiv;
     438    }
     439}
     440*/
     441
     442/*
     443// position black panel (tootltip)
     444$(".cellInfo").on("mouseenter touchstart", function(e) {
     445    var cell = $(this);
     446    var hoverBox = cell.find(".hoverBox");
     447    var cellWidth = cell[0].getBoundingClientRect().width;
     448    var cellHeight = cell[0].getBoundingClientRect().height;
     449    var hoverBoxWidth = hoverBox[0].getBoundingClientRect().width;
     450    var hoverBoxY = hoverBox[0].getBoundingClientRect().right;
     451    var treemapDivY = treechart[0].getBoundingClientRect().right;
     452    cell.addClass("zindex");
     453    if (hoverBoxWidth > cellWidth) {
     454        if (hoverBoxY >= treemapDivY) {
     455            hoverBox.css({ right: 0 });
     456        } else {
     457            hoverBox.css({ left: 0 });
     458        }
     459    } else {
     460        hoverBox.css({ left: 0 });
     461    }
     462   
     463    if (cellHeight <= 64) {
     464        hoverBox.css({ top: -hoverBox.outerHeight() + "px" });
     465    }
     466});
     467
     468$(".cellInfo").on("mouseleave touchend", function(e) {
     469    var hoverBox = $(this).find(".hoverBox");
     470    hoverBox.parent().removeClass("zindex");
     471    hoverBox.css({ left: "auto", right: "auto" });
     472});
     473}
     474*/
     475
     476/*
     477function setColor(data) {
     478    var riskVal = 0;
     479    var colorScale = ["#14914c", "#1abf64", "#ddad00", "#ff6633", "#dc572b"]; //from low to high
     480    var color = "";
     481   
     482    if (typeof data === "string" || data instanceof String) {
     483    return;
     484    }
     485   
     486    riskVal = data ? data.val : data;
     487    setColorForRisk(riskVal);
     488   
     489    function setColorForRisk(riskVal) {
     490    if (riskVal == null || riskVal === 0) {
     491            color = "#c2c1bf";
     492    } else if (riskVal <= 200) {
     493            color = colorScale[0];
     494    } else if (riskVal > 200 && riskVal <= 400) {
     495            color = colorScale[1];
     496    } else if (riskVal > 400 && riskVal <= 600) {
     497            color = colorScale[2];
     498    } else if (riskVal > 600 && riskVal <= 800) {
     499            color = colorScale[3];
     500    } else if (riskVal > 800) {
     501            color = colorScale[4];
     502    }
     503    }
     504   
     505    return color;
     506}
     507
     508*/
     509
Note: See TracChangeset for help on using the changeset viewer.