1jQuery(document).ready(function( $ ) { 2 3 const config1 = { 4 target: $(".point1"), 5 line: $(".line1"), 6 delay: 0 // enter zero for live resizing 7 } 8 const drawBetweenObjects1 = { 9 //make the line 10 makeLine: function(line, div1, div2) { 11 var className = div1.attr('id') + div2.attr('id'); 12 if ( className.includes("undefined") !== true ) { //error check 13 $(line).clone().addClass('deleteMe1').addClass(className).removeClass("original").insertAfter(line); 14 //calculations (for legibility, these are separte vars) 15 var x1 = div1.offset().left + (div1.width()/2); 16 var y1 = div1.offset().top + (div1.height()/2); 17 var x2 = div2.offset().left + (div2.width()/2); 18 var y2 = div2.offset().top + (div2.height()/2); 19 $("."+className).attr('x1',x1).attr('y1',y1).attr('x2',x2).attr('y2',y2); //svg attributes 20 } else { console.error("undefined object") } 21 }, 22 findLines: function(search) { 23 $(".deleteMe1").remove(); //remove last set of lines 24 $(search).each(function(index, el){ 25 if ( search.eq(index + 1).length ) { //only do drawBetweenObject if there is another. 26 drawBetweenObjects1.makeLine(config1.line, $(this), search.eq(index + 1)); //args order - line, div1 and div2 - the next div. 27 } 28 }); 29 }, 30 init: function() { 31 drawBetweenObjects1.findLines( config1.target ); 32 //give resizing time to happen 33 var resizeId; 34 $(window).resize(function() { 35 clearTimeout(resizeId); 36 if (config1.delay !== 0) { 37 resizeId = setTimeout(doneResizing, config1.delay); 38 } else { 39 drawBetweenObjects1.findLines( config1.target ); 40 } 41 }); 42 function doneResizing(){ 43 drawBetweenObjects1.findLines( config1.target ); 44 } 45 } 46 } 47 48 drawBetweenObjects1.init(); 49 50 const config2 = { 51 target: $(".point2"), 52 line: $(".line2"), 53 delay: 0 // enter zero for live resizing 54 } 55 const drawBetweenObjects2 = { 56 //make the line 57 makeLine: function(line, div1, div2) { 58 var className2 = div1.attr('id') + div2.attr('id'); 59 if ( className2.includes("undefined") !== true ) { //error check 60 $(line).clone().addClass('deleteMe2').addClass(className2).removeClass("original").insertAfter(line); 61 //calculations (for legibility, these are separte vars) 62 var x1 = div1.offset().left + (div1.width()/2); 63 var y1 = div1.offset().top + (div1.height()/2); 64 var x2 = div2.offset().left + (div2.width()/2); 65 var y2 = div2.offset().top + (div2.height()/2); 66 $("."+className2).attr('x1',x1).attr('y1',y1).attr('x2',x2).attr('y2',y2); //svg attributes 67 } else { console.error("undefined object") } 68 }, 69 findLines: function(search) { 70 $(".deleteMe2").remove(); //remove last set of lines 71 $(search).each(function(index, el){ 72 if ( search.eq(index + 1).length ) { //only do drawBetweenObject if there is another. 73 drawBetweenObjects2.makeLine(config2.line, $(this), search.eq(index + 1)); //args order - line, div1 and div2 - the next div. 74 } 75 }); 76 }, 77 init: function() { 78 drawBetweenObjects2.findLines( config2.target ); 79 //give resizing time to happen 80 var resizeId; 81 $(window).resize(function() { 82 clearTimeout(resizeId); 83 if (config2.delay !== 0) { 84 resizeId = setTimeout(doneResizing, config2.delay); 85 } else { 86 drawBetweenObjects2.findLines( config2.target ); 87 } 88 }); 89 function doneResizing(){ 90 drawBetweenObjects2.findLines( config2.target ); 91 } 92 } 93 } 94 95 drawBetweenObjects2.init(); 96 97 const config3 = { 98 target: $(".point3"), 99 line: $(".line3"), 100 delay: 0 // enter zero for live resizing 101 } 102 const drawBetweenObjects3 = { 103 //make the line 104 makeLine: function(line, div1, div2) { 105 var className2 = div1.attr('id') + div2.attr('id'); 106 if ( className2.includes("undefined") !== true ) { //error check 107 $(line).clone().addClass('deleteMe3').addClass(className2).removeClass("original").insertAfter(line); 108 //calculations (for legibility, these are separte vars) 109 var x1 = div1.offset().left + (div1.width()/2); 110 var y1 = div1.offset().top + (div1.height()/2); 111 var x2 = div2.offset().left + (div2.width()/2); 112 var y2 = div2.offset().top + (div2.height()/2); 113 $("."+className2).attr('x1',x1).attr('y1',y1).attr('x2',x2).attr('y2',y2); //svg attributes 114 } else { console.error("undefined object") } 115 }, 116 findLines: function(search) { 117 $(".deleteMe3").remove(); //remove last set of lines 118 $(search).each(function(index, el){ 119 if ( search.eq(index + 1).length ) { //only do drawBetweenObject if there is another. 120 drawBetweenObjects3.makeLine(config3.line, $(this), search.eq(index + 1)); //args order - line, div1 and div2 - the next div. 121 } 122 }); 123 }, 124 init: function() { 125 drawBetweenObjects3.findLines( config3.target ); 126 //give resizing time to happen 127 var resizeId; 128 $(window).resize(function() { 129 clearTimeout(resizeId); 130 if (config3.delay !== 0) { 131 resizeId = setTimeout(doneResizing, config3.delay); 132 } else { 133 drawBetweenObjects3.findLines( config3.target ); 134 } 135 }); 136 function doneResizing(){ 137 drawBetweenObjects3.findLines( config3.target ); 138 } 139 } 140 } 141 142 drawBetweenObjects3.init(); 143 144 const config4 = { 145 target: $(".point4"), 146 line: $(".line4"), 147 delay: 0 // enter zero for live resizing 148 } 149 const drawBetweenObjects4 = { 150 //make the line 151 makeLine: function(line, div1, div2) { 152 var className2 = div1.attr('id') + div2.attr('id'); 153 if ( className2.includes("undefined") !== true ) { //error check 154 $(line).clone().addClass('deleteMe4').addClass(className2).removeClass("original").insertAfter(line); 155 //calculations (for legibility, these are separte vars) 156 var x1 = div1.offset().left + (div1.width()/2); 157 var y1 = div1.offset().top + (div1.height()/2); 158 var x2 = div2.offset().left + (div2.width()/2); 159 var y2 = div2.offset().top + (div2.height()/2); 160 $("."+className2).attr('x1',x1).attr('y1',y1).attr('x2',x2).attr('y2',y2); //svg attributes 161 } else { console.error("undefined object") } 162 }, 163 findLines: function(search) { 164 $(".deleteMe4").remove(); //remove last set of lines 165 $(search).each(function(index, el){ 166 if ( search.eq(index + 1).length ) { //only do drawBetweenObject if there is another. 167 drawBetweenObjects4.makeLine(config4.line, $(this), search.eq(index + 1)); //args order - line, div1 and div2 - the next div. 168 } 169 }); 170 }, 171 init: function() { 172 drawBetweenObjects4.findLines( config4.target ); 173 //give resizing time to happen 174 var resizeId; 175 $(window).resize(function() { 176 clearTimeout(resizeId); 177 if (config4.delay !== 0) { 178 resizeId = setTimeout(doneResizing, config4.delay); 179 } else { 180 drawBetweenObjects4.findLines( config4.target ); 181 } 182 }); 183 function doneResizing(){ 184 drawBetweenObjects4.findLines( config4.target ); 185 } 186 } 187 } 188
189 drawBetweenObjects4.init(); 190 191 192 // const config5 = { 193 // target: $(".point5"), 194 // line: $(".line5"), 195 // delay: 0 // enter zero for live resizing 196 // } 197 // const drawBetweenObjects5 = { 198 // //make the line 199 // makeLine: function(line, div1, div2) { 200 // var className4 = div1.attr('id') + div2.attr('id'); 201 // if ( className4.includes("undefined") !== true ) { //error check 202 // $(line).clone().addClass('deleteMe5').addClass(className4).removeClass("original").insertAfter(line); 203 // //calculations (for legibility, these are separte vars) 204 // var x1 = div1.offset().left + (div1.width()/2); 205 // var y1 = div1.offset().top + (div1.height()/2); 206 // var x2 = div2.offset().left + (div2.width()/2); 207 // var y2 = div2.offset().top + (div2.height()/2); 208 // $("."+className4).attr('x1',x1).attr('y1',y1).attr('x2',x2).attr('y2',y2); //svg attributes 209 // } else { console.error("undefined object") } 210 // }, 211 // findLines: function(search) { 212 // $(".deleteMe5").remove(); //remove last set of lines 213 // $(search).each(function(index, el){ 214 // if ( search.eq(index + 1).length ) { //only do drawBetweenObject if there is another. 215 // drawBetweenObjects5.makeLine(config5.line, $(this), search.eq(index + 1)); //args order - line, div1 and div2 - the next div. 216 // } 217 // }); 218 // }, 219 // init: function() { 220 // drawBetweenObjects5.findLines( config5.target ); 221 // //give resizing time to happen 222 // var resizeId; 223 // $(window).resize(function() { 224 // clearTimeout(resizeId); 225 // if (config5.delay !== 0) { 226 // resizeId = setTimeout(doneResizing, config5.delay); 227 // } else { 228 // drawBetweenObjects5.findLines( config5.target ); 229 // } 230 // }); 231 // function doneResizing(){ 232 // drawBetweenObjects5.findLines( config5.target ); 233 // } 234 // } 235 // } 236 237 // drawBetweenObjects5.init(); 238 239 240 });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.