// prometheus-map.js // rusEFI/Prometheus project // (c) andreika, 2017 (prometheus.pcb@gmail.com) // https://github.com/andreika-git/prometheus/ $(function() { $('.map').maphilight(); $('.componentLink').mouseover(function(e) { var area = $($(this).attr("href")); area.mouseover(); }).click(function(e) { var area = $($(this).attr("href")); area.mouseover(); var re = /([0-9]+),([0-9]+)/g; var m, sumX = 0, sumY = 0, cnt = 0; while (m = re.exec(area.attr("coords"))) { sumX += parseInt(m[1]); sumY += parseInt(m[2]); cnt++; } sumX = parseInt(sumX / cnt) - $("#mapdiv").width() / 2; sumY = parseInt(sumY / cnt) - $("#mapdiv").height() / 2; $("#mapdiv").stop(); //if (!$("#mapdiv").is(':animated')) $("#mapdiv").animate({scrollLeft: sumX, scrollTop: sumY }, 500); e.preventDefault(); area.trigger("click"); }).mouseout(function(e) { $($(this).attr("href")).mouseout(); }); }); $(function(){ $("table").colResizable({liveDrag:true}); }); var clicked = false, dragged = false, clickX, clickY; $("document").ready(function(e) { //document.onselectstart = function () { return false; } $(document).mousemove(function(e) { if (clicked && (e.pageX != clickX || e.pageY != clickY)) { $("html").css('cursor', 'grabbing'); updateScrollPos(e); clickX = e.pageX; clickY = e.pageY; dragged = true; } }).mouseup(function(e) { if (clicked) { if (dragged) { $('html').css('cursor', 'auto'); e.preventDefault(); e.stopPropagation(); } else { $("#mapdiv area").trigger('click'); } clicked = false; } }).mousedown(function(e) { var targets = $(e.target).parents().andSelf(); dragged = false; if (targets.is('#mapdiv') || targets.is('#map')) { e.preventDefault(); clicked = true; clickX = e.pageX; clickY = e.pageY; return false; } }).click(function(e) { if (clicked) return false; return true; }); $(".maparea").click(function(e) { if (dragged) return false; for (var i = 0; i < components.length; i++) { if (components[i]["name"] == e.target.id) { //alert(e.target.id); $(this).data("maphilight", { alwaysOn: true }).trigger('alwaysOn.maphilight'); $('.selected').data('maphilight', { alwaysOn: false }).trigger('alwaysOn.maphilight'); $('.maparea').removeClass('selected'); $(this).addClass('selected'); var html = "
";
var imgUrl = (components[i]["more"] && components[i]["more"]["img"]) ? components[i]["more"]["img"] : "https://raw.githubusercontent.com/andreika-git/prometheus/master/html/img/image_na.jpg";
html += " | ";
html += " Designator: "+components[i]["name"]+" ";
html += ""+components[i]["descr"]+" ";
html += "Value: "+components[i]["value"]+" ";
html += "Package: "+components[i]["fp"]+" ";
if (components[i]["remark"])
html += ""+components[i]["remark"]+" ";
html += " | ";
if (components[i]["more"]) {
var m = components[i]["more"];
html += "";
if (components[i]["part"]) {
html += " "+(components[i]["supp"])+" Number: "+components[i]["part"]+" ";
}
if (m["ds"]) {
html += "";
}
if (m["vname"]) {
html += "Manufacturer: " + (m["vurl"] ? "" : "") + m["vname"] + (m["vurl"] ? "" : "") + " ";
}
if (m["price"]) {
html += "Price: "+m["price"]+" ";
}
html += " | ";
}
html += "