1/* 2 * Class to read multimedia objects from webservice 3 */ 4 5function Regions() { 6 var self = this; 7 var issueRegions = []; 8 var deletedRegions = []; 9 var _pagePrefix = "pag_"; 10 var _regPrefix = "reg"; 11 12 13 self.setRegions = function (regions) { 14 issueRegions = jQuery.extend(true, {}, regions); 15 }; 16 17 /* 18 * @param page {Number} 19 * */ 20 self.getExternalRegionsByPage = function (page) { 21 var regions = []; 22 for(var reg in issueRegions[_pagePrefix+page]){ 23 if (issueRegions[_pagePrefix+page][reg].object == "externallink") { 24 regions.push(reg); 25 } 26 } 27 return regions; 28 } 29 30 self.getRegionsByPage = function (page) { 31 var regions = []; 32 for(var reg in issueRegions[_pagePrefix+page]){ 33 if (issueRegions[_pagePrefix+page][reg].object != "externallink") { 34 regions.push(reg); 35 } 36 } 37 return regions; 38 } 39 40 /* 41 * @param reg {Number} 42 * @param page {Number} 43 * */ 44 self.getRegion = function(reg, page) { 45 return issueRegions[_pagePrefix+page][reg]; 46 }; 47 48 self.getRegions = function() { 49 return issueRegions; 50 }; 51 52 self.getDeletedRegions = function () { 53 return deletedRegions; 54 }; 55 56 var regionCounter = 0; 57 self.addRegion = function(regionType, page, x, y, width, height) { 58 var newRegion={x: x, y: y, width: width, height: height, class: regionType, object: regionType, iconPosition: {x: 0, y: 0}, toSave: true}; 59 var reg = --regionCounter; 60 if(!issueRegions[_pagePrefix+page]){ 61 issueRegions[_pagePrefix+page] = {}; 62 } 63 issueRegions[_pagePrefix+page][_regPrefix+reg] = newRegion; 64 return _regPrefix+reg; 65 }; 66 67 self.updateRegionCoordinate = function(reg, page, x, y, width, height) { 68 if(issueRegions[_pagePrefix+page][reg]){ 69 issueRegions[_pagePrefix+page][reg].x = x; 70 issueRegions[_pagePrefix+page][reg].y = y; 71 issueRegions[_pagePrefix+page][reg].width = width; 72 issueRegions[_pagePrefix+page][reg].height = height; 73 issueRegions[_pagePrefix+page][reg].toSave = true; 74 } 75 }; 76 77 self.deleteRegion = function(reg, page, chkcontrol) { 78 if(chkcontrol){ 79 deletedRegions.push(issueRegions[page][reg]); 80 delete issueRegions[page][reg]; 81 }else{ 82 deletedRegions.push(issueRegions[_pagePrefix+page][reg]); 83 delete issueRegions[_pagePrefix+page][reg]; 84 } 85 }; 86 87 self.deleteAllRegions = function() { 88 $.map(issueRegions,function(val,obj){ 89 $.each(issueRegions[obj],function(key){ 90 self.deleteRegion(key,obj,true); 91 }); 92 }); 93 }; 94 95 self.convertPercent = function(element,parentElement) { 96 var param1=parseFloat(element); //.toFixed(15); 97 var param2=parseFloat(parentElement);//.toFixed(15); 98 return (param1/param2*100); 99 }; 100 101 self.moveRegion = function(reg, page, newPage, left, top, pageWidth, pageHeight) { 102 var obj=jQuery.extend(true, {},issueRegions[_pagePrefix+page][reg]); 103 delete issueRegions[_pagePrefix+page][reg]; 104 105 if (!issueRegions[_pagePrefix+newPage]) { 106 issueRegions[_pagePrefix+newPage] = {}; 107 } 108 109 issueRegions[_pagePrefix+newPage][reg]=obj; 110 if(left && top && pageWidth && pageHeight){ 111 if( newPage < page ){ 112 issueRegions[_pagePrefix+newPage][reg].x = self.convertPercent(pageWidth - Math.abs(left), pageWidth); 113 }else{ 114 issueRegions[_pagePrefix+newPage][reg].x = self.convertPercent(left - pageWidth, pageWidth); 115 } 116 issueRegions[_pagePrefix+newPage][reg].y = self.convertPercent(top, pageHeight); 117 } 118 issueRegions[_pagePrefix+newPage][reg].toSave=true; 119 120 }; 121 122 self.saveIconPosition = function(reg, page, x, y) { 123 issueRegions[_pagePrefix+page][reg].iconPosition={y:y,x:x}; 124 issueRegions[_pagePrefix+page][reg].toSave=true; 125 }; 126 127};
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.