Commit d351f192f01fdc9495be21a7d0f303f5294586ba
1 parent
01ffa18f
used timeout to resolve delay issue in highlight but its not perfect
Showing
2 changed files
with
211 additions
and
20 deletions
350-UTILITIES/Parser/XMLtoJSON_utility/XMLtoJSON_utility.v12.suo
No preview for this file type
400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
... | ... | @@ -1331,39 +1331,227 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1331 | 1331 | //4. |
1332 | 1332 | |
1333 | 1333 | $scope.machedTermNoLocation = []; |
1334 | + console.log(' TermList.length= ' + TermList.length) | |
1335 | + | |
1334 | 1336 | for (var i = 0; i < TermList.length; i++) { |
1335 | 1337 | |
1336 | - var termNumber = parseInt(TermList[i]._TermNumber); | |
1338 | + $timeout(callHight(TermList[i]._TermNumber), 5) | |
1339 | + | |
1337 | 1340 | |
1338 | - //Match Term No List in each bodyRegion | |
1339 | - $scope.getLocationsForMatchedTermsInWholeBody(termNumber); | |
1340 | 1341 | } |
1341 | 1342 | } |
1342 | 1343 | |
1343 | - $scope.getLocationsForMatchedTermsInWholeBody = function (termNo) { | |
1344 | 1344 | |
1345 | - for (var x = 0; x < $scope.ColoredImageSRC.length; x++) { | |
1346 | - // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId); | |
1347 | - var bodyRegionId = $scope.ColoredImageSRC[x].bodyRegionId; | |
1345 | + function callHight(termNumber) { | |
1348 | 1346 | |
1349 | - { | |
1350 | - var scaledWidth = $scope.ColoredImageSRC[x].Width; | |
1351 | - var scaledHeight = $scope.ColoredImageSRC[x].Height; | |
1347 | + console.log('timeout function call. termNumber = ' + termNumber + ' -time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1348 | + // var termNumber = parseInt(TermList[i]._TermNumber); | |
1349 | + | |
1350 | + //Match Term No List in each bodyRegion | |
1351 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 1), 5); | |
1352 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 2), 5); | |
1353 | + | |
1354 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 3), 5); | |
1355 | + | |
1356 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 4), 5); | |
1357 | + | |
1358 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 5), 5); | |
1359 | + | |
1360 | + $timeout($scope.getLocationsForMatchedTermsInWholeBody(termNumber, 6), 5); | |
1361 | + } | |
1362 | + //$scope.getLocationsForMatchedTermsInWholeBody = function (termNo) { | |
1363 | + | |
1364 | + // for (var x = 0; x < $scope.ColoredImageSRC.length; x++) { | |
1365 | + // // alert('called for bodyRegionId: ' + $scope.MaskImageSRC[x].bodyRegionId); | |
1366 | + // var bodyRegionId = $scope.ColoredImageSRC[x].bodyRegionId; | |
1367 | + | |
1368 | + // { | |
1369 | + // var scaledWidth = $scope.ColoredImageSRC[x].Width; | |
1370 | + // var scaledHeight = $scope.ColoredImageSRC[x].Height; | |
1371 | + // //var maskImg = $scope.ColoredImageSRC[x].SRC; | |
1372 | + | |
1373 | + | |
1374 | + // var coloredImg = $scope.ColoredImageSRC[x].SRC; | |
1375 | + | |
1376 | + // var maskImg = $scope.GetMaskImageSource(coloredImg); | |
1377 | + | |
1378 | + | |
1379 | + // var scledX = $scope.ColoredImageSRC[x].x; | |
1380 | + // var scledY = $scope.ColoredImageSRC[x].y; | |
1381 | + | |
1382 | + | |
1383 | + // // 1. get mask canvas for this body region. | |
1384 | + // var maskCanvasID; | |
1385 | + // if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1386 | + // maskCanvasID = 'imageCanvas' + bodyRegionId + '_MR_mci'; | |
1387 | + // } | |
1388 | + // else { | |
1389 | + // maskCanvasID = 'imageCanvas' + bodyRegionId + '_mci'; | |
1390 | + | |
1391 | + // } | |
1392 | + // var maskCanvas = document.getElementById(maskCanvasID); | |
1393 | + // var maskCanvasContext = maskCanvas.getContext("2d"); | |
1394 | + // var maskImgData = maskCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
1395 | + | |
1396 | + // // 2. get coloured canvas for this body region. | |
1397 | + | |
1398 | + | |
1399 | + // var coloredImageDataVar; | |
1400 | + // var coloredImageDataMRVar | |
1401 | + | |
1402 | + // if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1403 | + | |
1404 | + // coloredImageDataVar = $rootScope.coloredImageMRCanvasList[parseInt(bodyRegionId)]; | |
1405 | + // } | |
1406 | + // else { | |
1407 | + // coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(bodyRegionId - 1)]; | |
1408 | + // } | |
1409 | + // var grayImageDataVar; | |
1410 | + // var grayCanvas; | |
1411 | + // if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1412 | + | |
1413 | + // //// 3. get mask canvas for this body region._MR | |
1414 | + // var grayCanvasID = 'imageCanvas' + bodyRegionId + '_MR'; | |
1415 | + // grayCanvas = document.getElementById(grayCanvasID); | |
1416 | + // var grayCanvasContext = grayCanvas.getContext("2d"); | |
1417 | + // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
1418 | + // grayImageDataVar = grayImageData.data; | |
1419 | + // } | |
1420 | + | |
1421 | + // else { | |
1422 | + // var grayCanvasID = 'imageCanvas' + bodyRegionId; | |
1423 | + // grayCanvas = document.getElementById(grayCanvasID); | |
1424 | + // var grayCanvasContext = grayCanvas.getContext("2d"); | |
1425 | + // var grayImageData = grayCanvasContext.getImageData(0, 0, scaledWidth, scaledHeight); | |
1426 | + // grayImageDataVar = grayImageData.data; | |
1427 | + // } | |
1428 | + | |
1429 | + // var coloredImageDataVarMR; | |
1430 | + // var coloredImageDataMR | |
1431 | + | |
1432 | + | |
1433 | + // var counter = 0; | |
1434 | + | |
1435 | + // var imageDataVar = maskImgData.data; | |
1436 | + | |
1437 | + // // var previousBRID; | |
1438 | + | |
1439 | + // var counter = 0; | |
1440 | + | |
1441 | + | |
1442 | + // var n = maskImgData.data.length; | |
1443 | + | |
1444 | + // for (var i = 0; i < n; i += 4) { | |
1445 | + | |
1446 | + | |
1447 | + // var RED = imageDataVar[i] - 9; | |
1448 | + // var GREEN = imageDataVar[i + 1] - 9; | |
1449 | + // var BLUE = imageDataVar[i + 2] - 9; | |
1450 | + | |
1451 | + // var Red; | |
1452 | + // var Green; | |
1453 | + // var Blue; | |
1454 | + // var zero = "0"; | |
1455 | + | |
1456 | + // if ((RED).toString().length != 2) { | |
1457 | + // Red = zero.concat((RED).toString()) | |
1458 | + // } | |
1459 | + // else { | |
1460 | + // Red = (RED).toString() | |
1461 | + // } | |
1462 | + // if ((GREEN).toString().length != 2) { | |
1463 | + // Green = zero.concat((GREEN).toString()) | |
1464 | + // } | |
1465 | + // else { | |
1466 | + // Green = (GREEN).toString() | |
1467 | + | |
1468 | + // } | |
1469 | + // if ((BLUE).toString().length != 2) { | |
1470 | + // Blue = zero.concat((BLUE).toString()) | |
1471 | + // } | |
1472 | + // else { | |
1473 | + // Blue = (BLUE).toString() | |
1474 | + | |
1475 | + // } | |
1476 | + | |
1477 | + // var Icolor = (Red + Green + Blue); | |
1478 | + // // alert('Icolor: ' + Icolor) | |
1479 | + | |
1480 | + // if (parseInt(termNo) == parseInt(Icolor)) { | |
1481 | + | |
1482 | + // counter++; | |
1483 | + // var have = $scope.machedIcolorInBodyRegion.indexOf(bodyRegionId); | |
1484 | + | |
1485 | + | |
1486 | + // if (have == -1) { | |
1487 | + // $scope.machedIcolorInBodyRegion.push(bodyRegionId); | |
1488 | + // } | |
1489 | + // else { | |
1490 | + | |
1491 | + // } | |
1492 | + | |
1493 | + | |
1494 | + // //previousGrayColoredData = i; | |
1495 | + // if (coloredImageDataVar != null) { | |
1496 | + | |
1497 | + | |
1498 | + // var RED_coloredImage = coloredImageDataVar[i]; | |
1499 | + | |
1500 | + // grayImageDataVar[i] = RED_coloredImage; | |
1501 | + | |
1502 | + | |
1503 | + // var GREEN_coloredImage = coloredImageDataVar[i + 1]; | |
1504 | + // grayImageDataVar[i + 1] = GREEN_coloredImage; | |
1505 | + | |
1506 | + // var BLUE_coloredImage = coloredImageDataVar[i + 2]; | |
1507 | + // grayImageDataVar[i + 2] = BLUE_coloredImage; | |
1508 | + | |
1509 | + | |
1510 | + // var ALPHA_coloredImage = coloredImageDataVar[i + 3]; | |
1511 | + // grayImageDataVar[i + 3] = ALPHA_coloredImage; | |
1512 | + | |
1513 | + | |
1514 | + // } | |
1515 | + | |
1516 | + // } | |
1517 | + | |
1518 | + | |
1519 | + // } | |
1520 | + | |
1521 | + // grayCanvasContext.putImageData(grayImageData, 0, 0); | |
1522 | + // } | |
1523 | + // } | |
1524 | + | |
1525 | + | |
1526 | + //} | |
1527 | + | |
1528 | + | |
1529 | + $scope.getLocationsForMatchedTermsInWholeBody = function (termNo, bodyRegionId) { | |
1530 | + // debugger; | |
1531 | + //console.log('bodyRegionId = ' + bodyRegionId + '-time: ' + new Date().getTime()); | |
1532 | + console.log('bodyRegionId = ' + bodyRegionId + '-time: ' + new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1")); | |
1533 | + var bodyRegionIdDetails = new jinqJs() | |
1534 | + .from($scope.ColoredImageSRC) | |
1535 | + .where('bodyRegionId == ' + bodyRegionId) | |
1536 | + .select(); | |
1537 | + | |
1538 | + var scaledWidth = bodyRegionIdDetails[0].Width; | |
1539 | + var scaledHeight = bodyRegionIdDetails[0].Height; | |
1352 | 1540 | //var maskImg = $scope.ColoredImageSRC[x].SRC; |
1353 | 1541 | |
1354 | 1542 | |
1355 | - var coloredImg = $scope.ColoredImageSRC[x].SRC; | |
1543 | + var coloredImg = bodyRegionIdDetails[0].SRC; | |
1356 | 1544 | |
1357 | 1545 | var maskImg = $scope.GetMaskImageSource(coloredImg); |
1358 | 1546 | |
1359 | 1547 | |
1360 | - var scledX = $scope.ColoredImageSRC[x].x; | |
1361 | - var scledY = $scope.ColoredImageSRC[x].y; | |
1548 | + var scledX = bodyRegionIdDetails[0].x; | |
1549 | + var scledY = bodyRegionIdDetails[0].y; | |
1362 | 1550 | |
1363 | 1551 | |
1364 | 1552 | // 1. get mask canvas for this body region. |
1365 | 1553 | var maskCanvasID; |
1366 | - if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1554 | + if (bodyRegionIdDetails[0].haveMirror == 'true') { | |
1367 | 1555 | maskCanvasID = 'imageCanvas' + bodyRegionId + '_MR_mci'; |
1368 | 1556 | } |
1369 | 1557 | else { |
... | ... | @@ -1380,7 +1568,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1380 | 1568 | var coloredImageDataVar; |
1381 | 1569 | var coloredImageDataMRVar |
1382 | 1570 | |
1383 | - if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1571 | + if (bodyRegionIdDetails[0].haveMirror == 'true') { | |
1384 | 1572 | |
1385 | 1573 | coloredImageDataVar = $rootScope.coloredImageMRCanvasList[parseInt(bodyRegionId)]; |
1386 | 1574 | } |
... | ... | @@ -1389,7 +1577,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1389 | 1577 | } |
1390 | 1578 | var grayImageDataVar; |
1391 | 1579 | var grayCanvas; |
1392 | - if ($scope.ColoredImageSRC[x].haveMirror == 'true') { | |
1580 | + if (bodyRegionIdDetails[0].haveMirror == 'true') { | |
1393 | 1581 | |
1394 | 1582 | //// 3. get mask canvas for this body region._MR |
1395 | 1583 | var grayCanvasID = 'imageCanvas' + bodyRegionId + '_MR'; |
... | ... | @@ -1459,7 +1647,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1459 | 1647 | // alert('Icolor: ' + Icolor) |
1460 | 1648 | |
1461 | 1649 | if (parseInt(termNo) == parseInt(Icolor)) { |
1462 | - | |
1650 | + | |
1463 | 1651 | counter++; |
1464 | 1652 | var have = $scope.machedIcolorInBodyRegion.indexOf(bodyRegionId); |
1465 | 1653 | |
... | ... | @@ -1500,11 +1688,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1500 | 1688 | } |
1501 | 1689 | |
1502 | 1690 | grayCanvasContext.putImageData(grayImageData, 0, 0); |
1503 | - } | |
1691 | + | |
1504 | 1692 | } |
1505 | 1693 | |
1506 | 1694 | |
1507 | - } | |
1695 | + | |
1508 | 1696 | |
1509 | 1697 | $scope.GetRGBColor = function (maskCanvasContext, actulalX, actualY, x, y) { |
1510 | 1698 | |
... | ... | @@ -3301,6 +3489,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3301 | 3489 | //alert('previousSelectedTermList length: ' + $scope.previousSelectedTermList.length); |
3302 | 3490 | |
3303 | 3491 | for (var i = 0; i < $scope.previousSelectedTermList.length; i++) { |
3492 | + | |
3304 | 3493 | $scope.highLightBodyBasedOnIcolor($scope.previousSelectedTermList[i]); |
3305 | 3494 | |
3306 | 3495 | } |
... | ... | @@ -3653,8 +3842,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3653 | 3842 | |
3654 | 3843 | var termNumber = parseInt(systemMatchedTermList[0]._TermNumber); |
3655 | 3844 | |
3845 | + $scope.highLightBodyBasedOnIcolor(termNumber); | |
3846 | + | |
3656 | 3847 | //Match Term No List in each bodyRegion |
3657 | - $scope.getLocationsForMatchedTermsInWholeBody(termNumber); | |
3848 | + //$scope.getLocationsForMatchedTermsInWholeBody(termNumber); | |
3658 | 3849 | //for (var i = 0; i < systemMatchedTermList.length; i++) { |
3659 | 3850 | |
3660 | 3851 | // var termNumber = parseInt(systemMatchedTermList[i]._TermNumber); | ... | ... |