Commit eb840ab672f85e44c513d0a70ceb4a809d1a6a8c
Merge branch 'Develop' of http://52.6.196.163/ADAM/AIAHTML5 into AAZoom5
Conflicts: 400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
Showing
2 changed files
with
213 additions
and
108 deletions
400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
... | ... | @@ -46,6 +46,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
46 | 46 | $rootScope.coloredImageMRCanvasList = []; |
47 | 47 | $rootScope.ColoredCanvasData = []; |
48 | 48 | $rootScope.grayImageDataList = []; |
49 | + | |
50 | + $rootScope.rawGrayImageDataList = []; | |
51 | + | |
49 | 52 | $rootScope.grayImageMRDataList = []; |
50 | 53 | $rootScope.updatedGrayDataList = []; |
51 | 54 | $rootScope.updatedGrayMRDataList = []; |
... | ... | @@ -2646,71 +2649,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2646 | 2649 | |
2647 | 2650 | if ($scope.layerNumber == 224) |
2648 | 2651 | { |
2649 | - //debugger; | |
2650 | - | |
2651 | - //var matchedTermListPath = '~/../content/data/json/da/body-views/1/bodyLayers-CardioVascular.json'; | |
2652 | - | |
2653 | - //DataService.getJson(matchedTermListPath) | |
2654 | - //.then( | |
2655 | - // function (result) | |
2656 | - // { | |
2657 | - // $rootScope.macthedTermList = result; | |
2658 | - // var termNo=0; | |
2659 | - // var pixcelLocation = 0; | |
2660 | - | |
2661 | - // if ($rootScope.macthedTermList.length > 0) { | |
2662 | - // angular.forEach($rootScope.macthedTermList, function (value, key) { | |
2663 | - | |
2664 | - // debugger; | |
2665 | - | |
2666 | - // var TermExistInBodyRegionId = value.bodyRegionId; | |
2667 | - // var grayImageDataVar = $rootScope.grayImageDataList[TermExistInBodyRegionId - 1]; | |
2668 | - // var coloredImageDataVar = $rootScope.coloredImageCanvasList[TermExistInBodyRegionId - 1]; | |
2669 | - | |
2670 | - // var grayImageDataValue = grayImageDataVar.data; | |
2671 | - // var coloredImageDataValue = coloredImageDataVar.data; | |
2672 | - | |
2673 | - // $rootScope.termListWithLocation = value.terms; | |
2674 | - | |
2675 | - // angular.forEach($rootScope.termListWithLocation[0].PixelLocations, function (value1, key1) | |
2676 | - // { | |
2677 | - // //debugger; | |
2678 | - | |
2679 | - // var coloredImageData = coloredImageDataValue[value1]; | |
2680 | - // grayImageDataValue[value1] = coloredImageData; | |
2681 | - | |
2682 | - | |
2683 | - // }) | |
2684 | - | |
2685 | - // var grayCanvasID = 'imageCanvas' + TermExistInBodyRegionId; | |
2686 | - // var grayCanvas = document.getElementById(grayCanvasID); | |
2687 | - // if (grayCanvas != null) | |
2688 | - // { | |
2689 | - // debugger; | |
2690 | - // var grayCanvasContext = grayCanvas.getContext("2d"); | |
2691 | - | |
2692 | - // var canvasHeight = grayCanvas.height + 'px'; | |
2693 | - // var canvasWidth = grayCanvas.width + 'px'; | |
2694 | - // grayCanvasContext.clearRect(0, 0, canvasHeight, canvasWidth) | |
2695 | - | |
2696 | - // grayCanvasContext.putImageData(grayImageDataVar, 0, 0); | |
2697 | - | |
2698 | - | |
2699 | - // } | |
2700 | - // $('#spinner').css('visibility', 'hidden') | |
2701 | - // $rootScope.isLoading = false; | |
2702 | - | |
2703 | - // }) | |
2704 | - // } | |
2705 | - | |
2706 | - | |
2707 | - | |
2708 | - // }, | |
2709 | - // function (error) { | |
2710 | - // console.log(' Error in getting term data = ' + error.statusText); | |
2711 | - | |
2712 | - // }); | |
2713 | - | |
2714 | 2652 | } |
2715 | 2653 | else { |
2716 | 2654 | |
... | ... | @@ -2846,74 +2784,224 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2846 | 2784 | } |
2847 | 2785 | }, 100) |
2848 | 2786 | |
2787 | + | |
2788 | + } | |
2789 | + | |
2790 | + | |
2791 | + | |
2792 | + $scope.HighlightBodyByTermListForBodySystem = function (TermList) { | |
2793 | + | |
2794 | + $("#btnTranparency").attr('disabled', 'disabled'); | |
2795 | + $scope.currentLayerNumber = $scope.layerNumber; | |
2796 | + | |
2797 | + $scope.layerNumber = $('#txtlayerNumber').val(); | |
2798 | + | |
2799 | + $rootScope.isLoading = true; | |
2800 | + $('#spinner').css('visibility', 'visible'); | |
2801 | + | |
2802 | + | |
2803 | + if ($rootScope.isHighLight == true) { | |
2804 | + false; | |
2805 | + } | |
2806 | + | |
2807 | + console.log('HighlightBodyByTermListForBodySystem is called'); | |
2808 | + | |
2809 | + $scope.highlightedBR = []; | |
2810 | + | |
2849 | 2811 | if ($scope.layerNumber == 224) { |
2850 | - // debugger; | |
2851 | 2812 | |
2852 | 2813 | var matchedTermListPath = '~/../content/data/json/da/body-views/1/BodySystem_' + $rootScope.systemNumber + '.json'; |
2853 | - | |
2814 | + var grayImageDataVar = null; | |
2815 | + | |
2854 | 2816 | DataService.getJson(matchedTermListPath) |
2855 | 2817 | .then( |
2856 | 2818 | function (result) { |
2819 | + console.log('1. HighlightBodyByTermListForBodySystem is called'); | |
2857 | 2820 | $rootScope.macthedTermList = result; |
2858 | 2821 | var termNo = 0; |
2859 | 2822 | var pixcelLocation = 0; |
2860 | - | |
2823 | + var prevBRID = 0; | |
2861 | 2824 | if ($rootScope.macthedTermList.length > 0) { |
2825 | + console.log('2. HighlightBodyByTermListForBodySystem is called'); | |
2826 | + //remove existing data and draw fresh data | |
2827 | + for(var i=0; i<$rootScope.grayImageDataList.length;i++){ | |
2828 | + var grayCanvasID = 'imageCanvas' + parseInt(i+1); | |
2829 | + var grayCanvas = document.getElementById(grayCanvasID); | |
2830 | + | |
2831 | + if (grayCanvas != null) { | |
2832 | + var grayCanvasContext = grayCanvas.getContext("2d"); | |
2862 | 2833 | |
2863 | - | |
2834 | + var canvasHeight = grayCanvas.height; | |
2835 | + var canvasWidth = grayCanvas.width; | |
2836 | + grayCanvasContext.clearRect(0, 0, canvasHeight, canvasWidth) | |
2837 | + grayCanvasContext.putImageData($rootScope.grayImageDataList[parseInt(i)], 0, 0); | |
2838 | + } | |
2839 | + } | |
2840 | + for (var i = 4; i <= $rootScope.grayImageMRDataList.length; i++) { | |
2841 | + var grayCanvasMRID = 'imageCanvas' + i+'_MR'; | |
2842 | + var grayCanvasMR = document.getElementById(grayCanvasMRID); | |
2843 | + | |
2844 | + if (grayCanvasMR != null) { | |
2845 | + var grayCanvasContextMR = grayCanvasMR.getContext("2d"); | |
2846 | + | |
2847 | + var canvasHeight = grayCanvasMR.height; | |
2848 | + var canvasWidth = grayCanvasMR.width; | |
2849 | + grayCanvasContextMR.clearRect(0, 0, canvasHeight, canvasWidth) | |
2850 | + grayCanvasContextMR.putImageData($rootScope.grayImageMRDataList[parseInt(i)], 0, 0); | |
2851 | + } | |
2852 | + } | |
2864 | 2853 | |
2865 | 2854 | angular.forEach($rootScope.macthedTermList, function (value, key) { |
2866 | - // debugger; | |
2867 | - var TermExistInBodyRegionId = value.bodyRegionId; | |
2868 | 2855 | |
2869 | - | |
2870 | - var grayImageDataVar = $rootScope.grayImageDataList[parseInt(TermExistInBodyRegionId) - 1]; | |
2871 | - | |
2872 | - var coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(TermExistInBodyRegionId) - 1]; | |
2873 | 2856 | |
2874 | - var grayImageDataValue = grayImageDataVar.data; | |
2875 | - var coloredImageDataValue = coloredImageDataVar.data; | |
2857 | + var TermExistInBodyRegionId = value.bodyRegionId; | |
2858 | + console.log('3. HighlightBodyByTermListForBodySystem is called TermExistInBodyRegionId=' + TermExistInBodyRegionId); | |
2859 | + if (TermExistInBodyRegionId != undefined) { | |
2860 | + if (prevBRID != TermExistInBodyRegionId) { | |
2876 | 2861 | |
2877 | - $rootScope.termListWithLocation = value.terms; | |
2878 | 2862 | |
2879 | - angular.forEach($rootScope.termListWithLocation.PixelLocations, function (value1, key1) { | |
2880 | - //debugger; | |
2863 | + var grayCanvasID = 'imageCanvas' + TermExistInBodyRegionId; | |
2864 | + var grayCanvas = document.getElementById(grayCanvasID); | |
2881 | 2865 | |
2882 | - var RED = coloredImageDataValue[value1]; | |
2883 | - var GREEN = coloredImageDataValue[value1 + 1]; | |
2884 | - var BLUE = coloredImageDataValue[value1 + 2]; | |
2866 | + if (grayCanvas != null) { | |
2885 | 2867 | |
2886 | - grayImageDataValue[value1] = RED; | |
2887 | - grayImageDataValue[value1+1] = GREEN; | |
2888 | - grayImageDataValue[value1+2] = BLUE; | |
2889 | - }) | |
2868 | + var grayCanvasContext = grayCanvas.getContext("2d"); | |
2890 | 2869 | |
2891 | - var grayCanvasID = 'imageCanvas' + TermExistInBodyRegionId; | |
2892 | - var grayCanvas = document.getElementById(grayCanvasID); | |
2893 | - if (grayCanvas != null) { | |
2894 | - debugger; | |
2895 | - var grayCanvasContext = grayCanvas.getContext("2d"); | |
2870 | + var canvasHeight = grayCanvas.height; | |
2871 | + var canvasWidth = grayCanvas.width; | |
2872 | + var canvasX = grayCanvas.style.left; | |
2873 | + var canvasY = grayCanvas.style.top; | |
2896 | 2874 | |
2897 | - //var canvasHeight = grayCanvas.height + 'px'; | |
2898 | - //var canvasWidth = grayCanvas.width + 'px'; | |
2899 | 2875 | |
2876 | + grayCanvasContext.clearRect(0, 0, canvasHeight, canvasWidth) | |
2877 | + grayCanvasContext.putImageData($rootScope.grayImageDataList[parseInt(TermExistInBodyRegionId) - 1], 0, 0); | |
2900 | 2878 | |
2901 | - var canvasHeight = grayCanvas.height; | |
2902 | - var canvasWidth = grayCanvas.width; | |
2879 | + var gData = grayCanvasContext.getImageData(0, 0, canvasWidth, canvasHeight); | |
2903 | 2880 | |
2904 | - grayCanvasContext.clearRect(0, 0, canvasHeight, canvasWidth) | |
2881 | + //for mirror images | |
2882 | + var grayCanvasMRID = 'imageCanvas' + TermExistInBodyRegionId + '_MR'; | |
2883 | + var grayCanvasMR = document.getElementById(grayCanvasMRID); | |
2884 | + var grayCanvasMRX; | |
2885 | + var grayCanvasMRY; | |
2886 | + | |
2887 | + //draw a canvas for same bodyregion wich will be flipped after coloring the body system | |
2888 | + if (TermExistInBodyRegionId == 4 || TermExistInBodyRegionId == 5 || TermExistInBodyRegionId == 6) { | |
2889 | + | |
2890 | + | |
2891 | + var grayCanvasMRID = 'imageCanvas' + TermExistInBodyRegionId + '_MR'; | |
2892 | + var grayCanvasMR = document.getElementById(grayCanvasMRID); | |
2893 | + grayCanvasMRX = grayCanvasMR.style.left; | |
2894 | + grayCanvasMRY = grayCanvasMR.style.top; | |
2895 | + | |
2896 | + var FlipedImgCanvas = document.createElement('canvas'); | |
2897 | + FlipedImgCanvas.height = canvasHeight; | |
2898 | + FlipedImgCanvas.width = canvasWidth; | |
2899 | + FlipedImgCanvas.setAttribute("data-IsMirrored", "Y") | |
2900 | + FlipedImgCanvas.style.position = "absolute"; | |
2901 | + FlipedImgCanvas.style.left = canvasX + "px"; | |
2902 | + FlipedImgCanvas.style.top = canvasY + "px"; | |
2903 | + FlipedImgCanvas.style.visibility = 'hidden'; | |
2904 | + FlipedImgCanvas.id = 'imageCanvas' + TermExistInBodyRegionId + '_MR'; | |
2905 | + | |
2906 | + //remove previous canavs | |
2907 | + $('#' + grayCanvasMRID).remove(); | |
2908 | + | |
2909 | + //add new canvas on same location and after flipping it will be added to mirrored position | |
2910 | + document.getElementById('canvasDiv').appendChild(FlipedImgCanvas); | |
2911 | + //put grayData | |
2912 | + | |
2913 | + var filppedCanvasContx = FlipedImgCanvas.getContext("2d"); | |
2914 | + filppedCanvasContx.putImageData(gData, 0, 0); | |
2915 | + | |
2916 | + } | |
2917 | + | |
2918 | + grayImageDataVar = null; | |
2919 | + var macthedData = new jinqJs() | |
2920 | + .from($rootScope.macthedTermList) | |
2921 | + .where('bodyRegionId == ' + TermExistInBodyRegionId) | |
2922 | + .select(); | |
2923 | + | |
2924 | + | |
2925 | + | |
2926 | + var coloredImageDataVar = $rootScope.coloredImageCanvasList[parseInt(TermExistInBodyRegionId) - 1]; | |
2927 | + | |
2928 | + var grayImageDataValue = gData.data; | |
2929 | + var coloredImageDataValue = coloredImageDataVar.data; | |
2930 | + | |
2931 | + | |
2932 | + angular.forEach(macthedData, function (value2, key) { | |
2933 | + | |
2934 | + $rootScope.termListWithLocation = value2.terms; | |
2905 | 2935 | |
2906 | - grayCanvasContext.putImageData(grayImageDataVar, 0, 0); | |
2936 | + //pick the color from coloredImage data and put on gray imagedata | |
2937 | + angular.forEach($rootScope.termListWithLocation.PixelLocations, function (value1, key1) { | |
2907 | 2938 | |
2939 | + var RED = coloredImageDataValue[value1]; | |
2940 | + var GREEN = coloredImageDataValue[value1 + 1]; | |
2941 | + var BLUE = coloredImageDataValue[value1 + 2]; | |
2908 | 2942 | |
2943 | + grayImageDataValue[value1] = RED; | |
2944 | + grayImageDataValue[value1 + 1] = GREEN; | |
2945 | + grayImageDataValue[value1 + 2] = BLUE; | |
2946 | + }) | |
2947 | + | |
2948 | + //for non mirrored bpdy regions | |
2949 | + var grayCanvasID = 'imageCanvas' + TermExistInBodyRegionId; | |
2950 | + var grayCanvas = document.getElementById(grayCanvasID); | |
2951 | + | |
2952 | + if (grayCanvas != null) { | |
2953 | + | |
2954 | + var grayCanvasContext = grayCanvas.getContext("2d"); | |
2955 | + | |
2956 | + grayCanvasContext.putImageData(gData, 0, 0); | |
2957 | + | |
2958 | + } | |
2959 | + | |
2960 | + //for mirror body regions | |
2961 | + if (TermExistInBodyRegionId == 4 || TermExistInBodyRegionId == 5 || TermExistInBodyRegionId == 6) { | |
2962 | + | |
2963 | + var grayCanvasMRID = 'imageCanvas' + TermExistInBodyRegionId + '_MR'; | |
2964 | + | |
2965 | + var grayCanvasMR = document.getElementById(grayCanvasMRID); | |
2966 | + | |
2967 | + if (grayCanvasMR != null) { | |
2968 | + | |
2969 | + var grayCanvasMRContext = grayCanvasMR.getContext("2d"); | |
2970 | + | |
2971 | + grayCanvasMRContext.save(); | |
2972 | + grayCanvasMRContext.translate(canvasWidth, 0); | |
2973 | + grayCanvasMRContext.scale(-1, 1); | |
2974 | + //flip does not work with putImageData, that is why we used drawImage | |
2975 | + grayCanvasMRContext.drawImage(grayCanvas, 0, 0, canvasWidth, canvasHeight, 0, 0, canvasWidth, canvasHeight); | |
2976 | + grayCanvasMRContext.restore(); | |
2977 | + | |
2978 | + //set this canavs on the actual posution of mirror image | |
2979 | + grayCanvasMR.style.left = grayCanvasMRX; | |
2980 | + grayCanvasMR.style.top = grayCanvasMRY; | |
2981 | + grayCanvasMR.style.visibility = 'visible'; | |
2982 | + | |
2983 | + | |
2984 | + } | |
2985 | + } | |
2986 | + | |
2987 | + $('#spinner').css('visibility', 'hidden') | |
2988 | + $rootScope.isLoading = false; | |
2989 | + | |
2990 | + prevBRID = TermExistInBodyRegionId; | |
2991 | + }) | |
2992 | + } | |
2993 | + } | |
2994 | + } | |
2995 | + else { | |
2996 | + $('#spinner').css('visibility', 'hidden') | |
2997 | + $rootScope.isLoading = false; | |
2909 | 2998 | } |
2910 | - $('#spinner').css('visibility', 'hidden') | |
2911 | - $rootScope.isLoading = false; | |
2912 | 2999 | |
2913 | 3000 | }) |
2914 | - } | |
2915 | 3001 | |
3002 | + } | |
2916 | 3003 | |
3004 | + | |
2917 | 3005 | |
2918 | 3006 | }, |
2919 | 3007 | function (error) { |
... | ... | @@ -2925,7 +3013,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2925 | 3013 | } |
2926 | 3014 | |
2927 | 3015 | |
2928 | - | |
2929 | 3016 | $scope.createTermListByPreviousTermsAndHighlight = function () { |
2930 | 3017 | |
2931 | 3018 | |
... | ... | @@ -6922,7 +7009,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6922 | 7009 | $scope.isLoading = true; |
6923 | 7010 | |
6924 | 7011 | $('#spinner').css('visibility', 'visible'); |
6925 | - $timeout(function () { $scope.HighlightBodyByTermList($scope.systemMatchedTermList) }, 100); | |
7012 | + $timeout(function () { $scope.HighlightBodyByTermListForBodySystem($scope.systemMatchedTermList) }, 100); | |
6926 | 7013 | } |
6927 | 7014 | else if (($rootScope.isListManagerSelected == true) || ($rootScope.previousHighlightList != null && $rootScope.previousHighlightList.length > 0) && ($rootScope.isGenderChnage == true || $rootScope.isViewChange == true) || $rootScope.isListManagerAlreadySelected == true) { |
6928 | 7015 | |
... | ... | @@ -7808,7 +7895,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7808 | 7895 | $scope.isLoading = true; |
7809 | 7896 | |
7810 | 7897 | $('#spinner').css('visibility', 'visible'); |
7811 | - $timeout(function () { $scope.HighlightBodyByTermList($scope.systemMatchedTermList) }, 100); | |
7898 | + $timeout(function () { $scope.HighlightBodyByTermListForBodySystem($scope.systemMatchedTermList) }, 100); | |
7812 | 7899 | } |
7813 | 7900 | } |
7814 | 7901 | } |
... | ... | @@ -8872,7 +8959,10 @@ function OnViewChange(event) { |
8872 | 8959 | function OnBodySystemSelection(event) { |
8873 | 8960 | console.log('OnBodySystem chnaged is called outside '); |
8874 | 8961 | var scope = angular.element(document.getElementById("daView")).scope(); |
8875 | - scope.$apply(function () { | |
8962 | + | |
8963 | + | |
8964 | + scope.$apply(function () | |
8965 | + { | |
8876 | 8966 | scope.HighlightBodyByBodySystem(event); |
8877 | 8967 | }); |
8878 | 8968 | } | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
... | ... | @@ -916,7 +916,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
916 | 916 | |
917 | 917 | |
918 | 918 | $scope.drawStaticPinsOnImage = function (canvasId, PinId, offsetX1, offsetY1, x, y) { |
919 | - console.log('drawStaticPinsOnImage') | |
919 | + $scope.clickedPins = []; | |
920 | 920 | // if ($scope.isSliderChange == true) { |
921 | 921 | console.log('isSliderrChange') |
922 | 922 | var radial = $('#' + canvasId).createGradient({ |
... | ... | @@ -1302,6 +1302,22 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1302 | 1302 | .where('_PinId != ' + value.id) |
1303 | 1303 | .select(); |
1304 | 1304 | }) |
1305 | + angular.forEach($scope.clickedPins, function (value1, key1) { | |
1306 | + | |
1307 | + // if (aaPinDataValue._PinId != value.id) { | |
1308 | + var pinName = 'Pin_' + value1.id; | |
1309 | + var pinArcName = 'PinArc_' + value1.id; | |
1310 | + | |
1311 | + $('#aaDetailViewCanvas').setLayer(pinName, { | |
1312 | + visible: true // set to true instead to show the layer again | |
1313 | + }).drawLayers(); | |
1314 | + | |
1315 | + $('#aaDetailViewCanvas').setLayer(pinArcName, { | |
1316 | + visible: true // set to true instead to show the layer again | |
1317 | + }).drawLayers(); | |
1318 | + // } | |
1319 | + }) | |
1320 | + | |
1305 | 1321 | angular.forEach(seletedSystemPinData, function (aaPinDataValue, aaPinDataKey) { |
1306 | 1322 | |
1307 | 1323 | // if (aaPinDataValue._PinId != value.id) { |
... | ... | @@ -1319,8 +1335,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1319 | 1335 | }) |
1320 | 1336 | |
1321 | 1337 | // }) |
1322 | - alert($scope.clickedPins.length); | |
1323 | - $scope.clickedPins = []; | |
1338 | + // $scope.clickedPins = []; | |
1324 | 1339 | } |
1325 | 1340 | |
1326 | 1341 | else { | ... | ... |