1if (typeof (AIS) !== "object") { var AIS = new Object(); } 2 3AIS.ImageViewer = function () { 4 return { 5 6 Open: function (sender) { 7 8 $(document).off("click", AIS.ImageViewer.NextImageButton); 9 $(document).off("click", AIS.ImageViewer.PreviousImageButton); 10 11 //bind events to buttons 12 13 AIS.ImageViewer.GetViewerHtml(sender); 14 15 // zooming 16 $(document).on("click", AIS.ImageViewer.ZoomInButton, function () { 17 var cz = $(AIS.ImageViewer.CurrentZoomMultiplier).val(); 18 var zm = $(AIS.ImageViewer.ZoomMultiplier).val(); 19 $(AIS.ImageViewer.CurrentZoomMultiplier).val(parseFloat(cz) + parseFloat(zm) - 1); 20 AIS.ImageViewer.UpdateImageURLSize(); 21 }); 22 23 $(document).on("click", AIS.ImageViewer.ZoomOutButton, function () { 24 var cz = $(AIS.ImageViewer.CurrentZoomMultiplier).val(); 25 var zm = $(AIS.ImageViewer.ZoomMultiplier).val(); 26 $(AIS.ImageViewer.CurrentZoomMultiplier).val(parseFloat(cz) - parseFloat(zm) + 1); 27 AIS.ImageViewer.UpdateImageURLSize(); 28 }); 29 30 // listing 31 $(document).on("click", AIS.ImageViewer.NextImageButton, function () { 32 var currIndex = parseInt($(AIS.ImageViewer.CurrentImageIndex).val()); 33 if (currIndex + 1 >= AIS.ImageViewer.TotalImages) { 34 AIS.ImageViewer.SetIndex(0); 35 } 36 else { 37 AIS.ImageViewer.SetIndex(currIndex + 1); 38 } 39 40 var imageFilename = ($(AIS.ImageViewer.Filenames)[$(AIS.ImageViewer.CurrentImageIndex).val()]).value; 41 42 AIS.ImageViewer.UpdateImageURLSource(imageFilename); 43 }); 44 45 $(document).on("click", AIS.ImageViewer.PreviousImageButton, function () { 46 var currIndex = $(AIS.ImageViewer.CurrentImageIndex).val(); 47 if (currIndex <= 0) { 48 AIS.ImageViewer.SetIndex(AIS.ImageViewer.TotalImages - 1); 49 } 50 else { 51 AIS.ImageViewer.SetIndex(currIndex - 1); 52 } 53 54 var imageFilename = $(AIS.ImageViewer.Filenames)[$(AIS.ImageViewer.CurrentImageIndex).val()].value; 55 56 AIS.ImageViewer.UpdateImageURLSource(imageFilename); 57 }); 58 59 // printing 60 $(document).on("click", AIS.ImageViewer.PrintButton, function () { 61 var printContents = $(".ais-image-viewer-image-container").html(); 62 var newWindow = window.open(); 63 newWindow.document.open(); 64 newWindow.document.write(printContents); 65 newWindow.document.close(); // necessary for IE >= 10 66 newWindow.focus(); // necessary for IE >= 10 67 if (newWindow.addEventListener) {// W3C DOM 68 newWindow.addEventListener('load', (event) => { 69 newWindow.print(); 70 setTimeout(function () { 71 newWindow.close(); 72 }, 0); 73 }); 74 } 75 else if (newWindow.attachEvent) { // IE DOM 76 newWindow.attachEvent("onload", function () { 77 newWindow.print(); 78 newWindow.close(); 79 }); 80 } 81 }); 82 }, 83 84 // loading 85 86 GetViewerHtml: function (sender) { 87 88 var index = $(".ais-detail-image-viewer-script").index(sender); 89 90 var _commentImage = "false"; 91 var urlSplit = document.URL.split("/"); 92 var priref = urlSplit[urlSplit.length - 1]; 93 if ($(sender).hasClass("ais-comment-image")) { _commentImage = "true"; } 94 $.ajax({
95 type: "get", 96 url: AIS.Helpers.ResolveUrl("/helper/GetImageViewer"), 97 data: { 98 filename: $($(".ais-image-filename-value").get(index)).val(), 99 databaseid: $(".ais-database-name").val(), 100 imageServer: $(".ais-image-server").val(), 101 priref: priref, 102 totalimages: $(AIS.ImageViewer.Filenames).length, 103 commentImage: _commentImage 104 }, 105 dataType: "html", 106 success: function (html) { 107 $(AIS.ImageViewer.Popup).html(html); 108 $('.ais-image-viewer-image-element').attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + $('.ais-image-viewer-image-element').attr("src").split('?')[1] + "&imageformat=jpg"); 109 $(AIS.ImageViewer.Popup).dialog({ 110 title: "", 111 width: 'auto', 112 modal: true, 113 position: { my: "center", at: "top", of: window }, 114 resizable: false, 115 open: function () { 116 jQuery('.ui-widget-overlay').bind('click', function () { 117 jQuery(AIS.ImageViewer.Popup).dialog('close'); 118 }) 119 } 120 }); 121 var left = $(".page").position().left; 122 var top = $(".page").position().top; 123 $(".ui-dialog").css({ 124 top: top + 'px', 125 left: left + 'px' 126 }); 127 AIS.ImageViewer.SetIndex(index); 128 } 129 }); 130 }, 131 132 // url update functions 133 134 UpdateImageURLSize: function () { 135 var s = $(AIS.ImageViewer.DefaultSize).val(); 136 var z = $(AIS.ImageViewer.CurrentZoomMultiplier).val(); 137 if (z < 0.5) { 138 z = 0.5; 139 $(AIS.ImageViewer.CurrentZoomMultiplier).val(0.5); 140 } 141 if (z > 3) { 142 z = 3; 143 $(AIS.ImageViewer.CurrentZoomMultiplier).val(3); 144 } 145 var size = Math.floor(s * z); 146 if (size < $(AIS.ImageViewer.MinSize).val()) { 147 size = $(AIS.ImageViewer.MinSize).val(); 148 } 149 var urlSplit = document.URL.split("/"); 150 var priref = urlSplit[urlSplit.length - 1]; 151 $.ajax({
152 type: "get", 153 url: AIS.Helpers.ResolveUrl("/helper/GetImageURL"), 154 async: false, 155 data: { 156 filename: AIS.ImageViewer.CurrentFilename(), 157 databaseid: $(".ais-database-name").val(), 158 imageServer: $(".ais-image-server").val(), 159 priref: priref, 160 size: size, 161 commentImage: AIS.ImageViewer.CommentImageFlag 162 }, 163 dataType: "html", 164 success: function (url) { 165 //$(AIS.ImageViewer.Image).attr("src", url + "&imageformat=jpg"); 166 $(AIS.ImageViewer.Image).attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + url.split('?')[1] + "&imageformat=jpg"); 167 $(AIS.ImageViewer.CurrentSize).val(size); 168 } 169 }); 170 }, 171 172 UpdateImageURLSource: function (filename) { 173 var urlSplit = document.URL.split("/"); 174 var priref = urlSplit[urlSplit.length - 1]; 175 $.ajax({ 176 type: "get", 177 url: AIS.Helpers.ResolveUrl("/helper/GetImageURL"), 178 data: { 179 filename: filename, 180 databaseid: $(".ais-database-name").val(), 181 imageServer: $(".ais-image-server").val(), 182 priref: priref, 183 size: $(AIS.ImageViewer.CurrentSize).val() 184 }, 185 dataType: "html", 186 success: function (url) { 187 //$(AIS.ImageViewer.Image).attr("src", url + "&imageformat=jpg"); 188 $(AIS.ImageViewer.Image).attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + url.split('?')[1] + "&imageformat=jpg"); 189 } 190 }); 191 }, 192 193 // accessors 194 195 // buttons 196 NextImageButton: ".ais-images-listing-script .ais-next-image-script", 197 PreviousImageButton: ".ais-images-listing-script .ais-prev-image-script", 198 ZoomInButton: ".ais-image-viewer-zoom .ais-zoom-in-script", 199 ZoomOutButton: ".ais-image-viewer-zoom .ais-zoom-out-script", 200 PrintButton: "#ais-image-viewer-print .ais-print-script", 201 // variables 202 CurrentSize: ".ais-image-viewer-controls .ais-current-size-value", 203 CurrentImageIndex: ".ais-images-listing-script .ais-current-image-index-value", 204 CurrentFilename: function () { 205 var index = $(AIS.ImageViewer.CurrentImageIndex).val(); 206 return $($(".ais-image-filename-value").get(index)).val(); 207 }, 208 209 SetIndex: function (index) { 210 $(AIS.ImageViewer.CurrentImageIndex).val(index); 211 $("span.ais-current-image-number-element").html(index + 1); 212 }, 213 214 // inputs and settings 215 DefaultSize: ".ais-image-viewer-controls .ais-default-size-value", 216 MinSize: ".ais-image-viewer-controls .ais-image-viewer-zoom .ais-min-size-value", 217 ZoomMultiplier: ".ais-image-viewer-controls .ais-zoom-multiplier-value", 218 CurrentZoomMultiplier: ".ais-image-viewer-controls .ais-current-zoom-multiplier-value", 219 CommentImageFlag: ".ais-image-viewer-controls .ais-image-viewer-zoom .ais-comment-image-flag", 220 Filenames: ".ais-image-filename-value", 221 TotalImages: $(".ais-image-filename-value").length, 222 223 // objects 224 Image: ".ais-popupwrapper-script .ais-image-viewer-image-container img.ais-image-viewer-image-element", 225 Popup: ".ais-popupwrapper-script" 226 227} 228 229}();
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.