1'use strict'; 2 3var wordListID = "wordList"; 4var requestNumber = 0; 5var wordsHistory = []; 6var wordsHistoryCounter = 0; 7var debugMode = false; 8 9// Word history vars begin 10var wordPast = ""; 11var wordCurrent = ""; 12 13var wordPastUid = -1; 14var wordCurrentUid = -1; 15 16var histWords = []; 17var histUids = []; 18 19var histCounter = -1; 20//Word history vars end 21 22var lastWordCall = -1; 23var wordShowPeriod = 3000; 24 25var delIsVisible = false; 26 27var lvmanjs = angular.module('lvmanjs', []); 28 29lvmanjs.directive('dynamic', function ($compile) { 30 return { 31 restrict: 'A', 32 replace: true, 33 link: function (scope, ele, attrs) { 34 scope.$watch(attrs.dynamic, function(html) { 35 ele.html(html); 36 $compile(ele.contents())(scope); 37 }); 38 } 39 }; 40 }); 41 42lvmanjs.controller('lvmMainCtrl', function($scope, $http, $rootScope, $sce) { 43 44 $scope.mainFieldInput = function() { 45 46 if (debugMode) { 47 console.log("$scope.mainFieldInput start"); 48 console.log("$scope.query: " + $scope.query); 49 } 50 51 if ($scope.query == '') { 52 clearAll($scope); 53 helpSwitch(true); 54 delImgSelector(false); 55 return; 56 } 57 58 if(!delIsVisible){ 59 delImgSelector(true); 60 } 61 62 helpSwitch(false); 63 64 requestNumber++; 65 var dateStart = new Date(); 66 67 var getUrl = '../service/getWordsJsn.htm?word=' 68 + encodeURIComponent($scope.query) + '&requestNumber=' 69 + requestNumber; 70 71 //http://localhost:9090/lvm/lv-itru/service/getWordsJsn.htm?word=avallo&requestNumber=1 72 73 $http.get(getUrl, { 74 header : { 75 'Content-Type' : 'application/json; charset=UTF-8' 76 } 77 }).success( 78 function(data) { 79 80 if (debugMode) { 81 console.log("$scope.mainFieldInput success"); 82 console.log("data: " + data); 83 console.log("requestNumber: " + requestNumber 84 + ", data.requestNumber: " 85 + data.requestNumberвÑ); 86 } 87 88 var elapsedTime = ""; 89 90 if (0 + data.requestNumber == requestNumber) { 91 92 var dateEnd = new Date(); 93 elapsedTime = (dateEnd - dateStart) / 1000; 94 95 if (typeof (data.currentWord) != 'undefined' 96 && data.currentWord != null) { 97 98 if (debugMode) { 99 console.log("got data"); 100 } 101 102 $scope.command = data; 103 $scope.words = data.words; 104 105 $('#trnsld').scrollTop(0); 106 $('#wdrs').scrollTop(0); 107 108 $scope.transAsHtmlVal = $sce.trustAsHtml(data.wordDescStr); 109 $scope.wordTitle = data.currentWord.wordOriginal; 110 $scope.execTime = data.execTime; 111 $rootScope.fullWordUrl = data.currentWord.fullWordUrl; 112 113 checkLasWordSown(dateEnd, data.currentWord.wordOriginal, data.currentWord.uid); 114 115 if (debugMode) { 116 console.log("$scope.htmlTitle: " + $rootScope); 117 } 118 119 if(data.forceSearchUsed){ 120 if (debugMode) { 121 console.log("ForceSearchUsed"); 122 } 123 } 124 125 } else { 126 127 if (debugMode) { 128 console.log("no data returned"); 129 } 130 131 clearAll($scope); 132 } 133 $rootScope.htmlTitle = data.confHtml.title; 134 $rootScope.htmlDescr = data.confHtml.descr; 135 } 136 137 if(window.location.pathname.search("/sw-") > 0){ 138 $scope.query = ""; 139 } 140 141 $scope.execTimeP2P = elapsedTime; 142 }); 143 144 if (debugMode) { 145 console.log("$scope.mainFieldInput end"); 146 } 147 }; 148 149 $scope.anchorClicks = 0; 150 $scope.buttonClicks = 0; 151 $scope.handleAnchorClick = function() { 152 $scope.anchorClicks++; 153 }; 154 $scope.handleButtonClick = function() { 155 $scope.buttonClicks++; 156 }; 157 158 $scope.clickWord = function(uid) { 159 160 try{ 161 _gaq.push([ '_trackEvent', 'kref', 'view' ]); 162 }catch(e){ 163 164 } 165 166 getTrans(uid, true); 167 168 }; 169 170 function getTrans(uid, setHist){ 171 172 var url = "../service/getTranslJson.htm?uidMain=" + uid; 173 174 if (debugMode) { 175 console.log("clickWord: " + uid); 176 console.log("clickWord: " + url); 177 } 178 179 $scope.transls = ""; 180 181 $http.get(url, { 182 header : { 183 'Content-Type' : 'application/json; charset=UTF-8' 184 } 185 }).success( 186 function(data) { 187 188 if(setHist){ 189 setWordHistory(data.currentWord.wordOriginal, data.currentWord.uid); 190 } 191 192 $scope.wordTitle = data.currentWord.wordOriginal; 193 //$scope.transls = data.wordDesc; 194 $scope.transAsHtmlVal = $sce.trustAsHtml(data.wordDescStr); 195 $scope.execTime = data.execTime; 196 197 $rootScope.htmlTitle = data.confHtml.title; 198 $rootScope.htmlDescr = data.confHtml.descr; 199 $rootScope.fullWordUrl = data.currentWord.fullWordUrl; 200 201 if (debugMode) { 202 console.log("data.currentWord.wordOriginal: " 203 + data.currentWord.wordOriginal); 204 console.log("url: " + data.currentWord.fullWordUrl); 205 } 206 }); 207 208 209 } 210 211 $scope.keyEsc = function(e) { 212 213 if (e.keyCode == 27) { 214 $scope.query = ""; 215 clearAll($scope); 216 helpSwitch(true); 217 delImgSelector(false); 218 } 219 }; 220 221 $scope.clearInput = function(e) { 222 $scope.query = ""; 223 clearAll($scope); 224 helpSwitch(true); 225 delImgSelector(false); 226 }; 227 228 229 function clearAll($scope) { 230 231 if (debugMode) { 232 console.log("clear data"); 233 } 234 235 //$scope.transls = null; 236 $scope.wordTitle = null; 237 $scope.execTime = null; 238 $scope.transAsHtmlVal = ""; 239 240 if ($scope.words != null) { 241 for (var i = $scope.words.length - 1; i >= 0; i--) { 242 $scope.words.splice(i, 1); 243 } 244 } 245 } 246 247 function initData() { 248 if (debugMode) { 249 console.log("initData: start"); 250 } 251 252 var getUrl = '../service/initPageJsn.htm'; 253 254 $http.get(getUrl, { 255 header : { 256 'Content-Type' : 'application/json; charset=UTF-8' 257 } 258 }).success(function(data) { 259 260 if (debugMode) { 261 console.log("initDatat success"); 262 console.log("data: " + data); 263 } 264 265 $rootScope.htmlTitle = data.confHtml.title; 266 $rootScope.htmlDescr = data.confHtml.descr; 267 }); 268 269 if (debugMode) { 270 console.log("initData: end"); 271 } 272 } 273 274
275 function setWordHistory(word, uid){ 276 277 if(word != wordCurrent){ 278 if(wordCurrent != ""){ 279 histCounter++; 280 281 wordPast = 'âµ ' + wordCurrent; 282 wordPastUid = wordCurrentUid; 283 284 histWords[histCounter] = wordCurrent; 285 histUids[histCounter] = wordCurrentUid; 286 $("#bckBtn").show(); 287 } 288 wordCurrent = word; 289 wordCurrentUid = uid; 290 $scope.qhist = wordPast; 291 292 try{ 293 _gaq.push([ '_trackEvent', 'srchWrd', 'view' ]); 294 }catch(e){ 295 } 296 } 297 } 298 299 300 function checkLasWordSown(dateEnd, word, uid){ 301 if(word == wordCurrent){ 302 return; 303 } 304 305 if (debugMode) { 306 console.log("checkLasWordSown starts"); 307 } 308 309 if(lastWordCall == -1){ 310 if (debugMode) { 311 console.log("checkLasWordSown first call"); 312 } 313 314 lastWordCall = dateEnd.getTime(); 315 return; 316 } 317 318 if (debugMode) { 319 console.log("checkLasWordSown diff: " + (dateEnd.getTime() - lastWordCall)); 320 } 321 322 323 if(dateEnd.getTime() - lastWordCall > wordShowPeriod){ 324 setWordHistory(word, uid); 325 } 326 } 327 328 $scope.goBack = function() { 329 330 wordCurrent = histWords[histCounter]; 331 wordCurrentUid = histUids[histCounter]; 332 333 histCounter--; 334 335 if (debugMode) { 336 console.log("go Back, histCounter: " + histCounter); 337 } 338 339 wordPast = 'âµ ' + histWords[histCounter];; 340 wordPastUid = histUids[histCounter]; 341 342 $scope.qhist = wordPast; 343 344 getTrans(wordCurrentUid, false); 345 346 if(histCounter == -1){ 347 $("#bckBtn").hide(); 348 } 349 }; 350 351 $scope.inputGetFocus = function(val) { 352 if(val){ 353 $('#imgDel').attr("src", "../img/delEsc.jpg"); 354 } else { 355 $('#imgDel').attr("src", "../img/del.jpg"); 356 } 357 }; 358 359 360 initData(); 361}); 362 363var transAsHtmlCtrl = function($scope, $sce, $compile) { 364 $scope.transAsHtmlVal = $sce.trustAsHtml($scope.transl.descr); 365}; 366 367var wordAsHtml = function($scope, $sce) { 368 $scope.wordAsHtmlVal = $sce.trustAsHtml($scope.word.wordOriginalList); 369 $scope.aurl = $scope.word.wordAsUrl + ".htm"; 370}; 371 372lvmanjs.controller('wordAsHtml', wordAsHtml); 373lvmanjs.controller('transAsHtmlCtrl', transAsHtmlCtrl); 374 375/** ******* *************** */ 376 377function winResize(second) { 378 var shift = 90; 379 380 if (second) { 381 shift = 40; 382 } 383 384 var pos = $('#trnsld').position().top; 385 var height = $(window).height(); 386 var dheight = height - pos - shift; 387 $('#trnsld').height(dheight); 388 389 pos = $('#wdrs').position().top; 390 height = $(window).height(); 391 dheight = height - pos - 20; 392 $('#wdrs').height(dheight - 0); 393 394 $('#shlnk').width($('#trnsld').width()); 395} 396 397window.onresize = function() { 398 winResize(true); 399}; 400 401var helpMode = true; 402 403function helpSwitch(helpModeParm){ 404 405 if(helpModeParm == helpMode){ 406 return; 407 } 408 409 if (debugMode) { 410 console.log("helpSwitch, help mode: " + helpModeParm); 411 } 412 413 if (helpModeParm) { 414 $("#helpDiv").show(); 415 $("#wordList").hide(); 416 } else { 417 $("#helpDiv").hide(); 418 $("#wordList").show(); 419 } 420 421 winResize(false); 422 423 helpMode = helpModeParm; 424} 425 426function delImgSelector(enabled){ 427 if(enabled){ 428 $("#imgDel").show(); 429 delIsVisible = true; 430 }else{ 431 $("#imgDel").hide(); 432 delIsVisible = false; 433 } 434} 435 436function saveStoreForward(app, storeName){ 437 438 var url = "../visitStore.htm?app=" + app + "&storeName=" + storeName; 439 440 jQuery.get(url, function(data) { 441 }); 442 443} 444 445function checkScreen() { 446 if($(window).width() < 1000){ 447 448 $("#langLst").addClass("mobile"); 449 450 } 451}
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.