Commit aaf82b2bd8125c23bb5656bdc3442504e8dd9edc
1 parent
7aa89519
search is implemented
Showing
2 changed files
with
72 additions
and
62 deletions
400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
@@ -489,7 +489,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -489,7 +489,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
489 | 489 | ||
490 | }) | 490 | }) |
491 | //show annotation on first pin of the sysyem | 491 | //show annotation on first pin of the sysyem |
492 | - $scope.showAnnotation($scope.selectedSystemPinData, false, false); | 492 | + $scope.showAnnotation($scope.selectedSystemPinData, false, false, false); |
493 | } | 493 | } |
494 | } | 494 | } |
495 | } | 495 | } |
@@ -503,7 +503,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -503,7 +503,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
503 | } | 503 | } |
504 | } | 504 | } |
505 | 505 | ||
506 | - $scope.showAnnotation = function (selectedPinData, isCtrlPressed, isPinClicked) { | 506 | + $scope.showAnnotation = function (selectedPinData, isCtrlPressed, isPinClicked, isItemSearched) { |
507 | 507 | ||
508 | $scope.selectedPin = []; | 508 | $scope.selectedPin = []; |
509 | var isSameTermWithMultiPin = false; | 509 | var isSameTermWithMultiPin = false; |
@@ -520,30 +520,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -520,30 +520,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
520 | 520 | ||
521 | $scope.MultiLanguageAnnationArray = []; | 521 | $scope.MultiLanguageAnnationArray = []; |
522 | 522 | ||
523 | - // get termText info | ||
524 | - // var promise = ModuleService.getTermTextDataForPin($scope.moduleName) | ||
525 | - //.then( | ||
526 | - // function (response) { | ||
527 | - | ||
528 | - // $scope.TermInfo = response.data.Terms.Term; | ||
529 | - | ||
530 | - // if ($scope.TermInfo != null && $scope.TermInfo.length > 0) { | ||
531 | - | ||
532 | - // var termTextdata = new jinqJs() | ||
533 | - // .from($scope.TermInfo) | ||
534 | - // .where("__ActualTermNumber == " + pinTermNumber) | ||
535 | - // .select(); | ||
536 | - | ||
537 | - // var termText = termTextdata[0].__TermText; | ||
538 | - // $scope.MultiLanguageAnnationArray = []; | ||
539 | - // $scope.MultiLanguageAnnationArray.push(termText); | ||
540 | $scope.GetAnnotationBasedOnActualTermNo(pinTermNumber); | 523 | $scope.GetAnnotationBasedOnActualTermNo(pinTermNumber); |
541 | 524 | ||
542 | if (isCtrlPressed) { | 525 | if (isCtrlPressed) { |
543 | 526 | ||
544 | } | 527 | } |
545 | else { | 528 | else { |
546 | - if (isPinClicked) { | 529 | + if (isPinClicked || isItemSearched) { |
547 | var existingSpeechBubble = $("div[id*='speechBubble']"); | 530 | var existingSpeechBubble = $("div[id*='speechBubble']"); |
548 | for (var i = 0; i < existingSpeechBubble.length; i++) { | 531 | for (var i = 0; i < existingSpeechBubble.length; i++) { |
549 | existingSpeechBubble[i].parentNode.removeChild(existingSpeechBubble[i]); | 532 | existingSpeechBubble[i].parentNode.removeChild(existingSpeechBubble[i]); |
@@ -777,7 +760,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -777,7 +760,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
777 | speechBubbleDims.push({ currentX: x, currentY: y }); | 760 | speechBubbleDims.push({ currentX: x, currentY: y }); |
778 | document.getElementById('speechBubbleLine' + PinId + '').style.display = 'block'; | 761 | document.getElementById('speechBubbleLine' + PinId + '').style.display = 'block'; |
779 | document.getElementById('speechBubbleLine' + PinId + '').style.left = ((speechBubbleDims[0].currentX - 45)) + 'px'; | 762 | document.getElementById('speechBubbleLine' + PinId + '').style.left = ((speechBubbleDims[0].currentX - 45)) + 'px'; |
780 | - document.getElementById('speechBubbleLine' + PinId + '').style.top = ((speechBubbleDims[0].currentY) - 40) + 'px'; | 763 | + document.getElementById('speechBubbleLine' + PinId + '').style.top = ((speechBubbleDims[0].currentY) - 20) + 'px'; |
781 | document.getElementById('speechBubble' + PinId + '').style.display = 'block'; | 764 | document.getElementById('speechBubble' + PinId + '').style.display = 'block'; |
782 | document.getElementById('speechBubble' + PinId + '').style.left = (speechBubbleDims[0].currentX - 70) + 'px'; | 765 | document.getElementById('speechBubble' + PinId + '').style.left = (speechBubbleDims[0].currentX - 70) + 'px'; |
783 | document.getElementById('speechBubble' + PinId + '').style.top = (speechBubbleDims[0].currentY - 58) + 'px'; | 766 | document.getElementById('speechBubble' + PinId + '').style.top = (speechBubbleDims[0].currentY - 58) + 'px'; |
@@ -934,11 +917,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -934,11 +917,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
934 | .where("_PinId == " + pinID) | 917 | .where("_PinId == " + pinID) |
935 | .select(); | 918 | .select(); |
936 | if (clickedPin.event.ctrlKey == true) { | 919 | if (clickedPin.event.ctrlKey == true) { |
937 | - $scope.showAnnotation(selectedPinData, true, true); | 920 | + $scope.showAnnotation(selectedPinData, true, true, false); |
938 | 921 | ||
939 | } | 922 | } |
940 | else { | 923 | else { |
941 | - $scope.showAnnotation(selectedPinData, false, true); | 924 | + $scope.showAnnotation(selectedPinData, false, true, false); |
942 | 925 | ||
943 | } | 926 | } |
944 | 927 | ||
@@ -974,18 +957,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -974,18 +957,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
974 | 957 | ||
975 | $rootScope.loadSearchData = function () { | 958 | $rootScope.loadSearchData = function () { |
976 | 959 | ||
977 | - //var promise = ModuleService.getTermTextDataForPin($scope.moduleName) | ||
978 | - // .then( | ||
979 | - // function (response) { | ||
980 | - | ||
981 | - // $scope.TermInfo = response.data.Terms.Term; | ||
982 | - | ||
983 | - // }, | ||
984 | - // function (error) { | ||
985 | - // // handle errors here | ||
986 | - // console.log(' error: ' + error.statusText); | ||
987 | - // } | ||
988 | - // ) | 960 | + |
989 | var imageId = $rootScope.imageId; | 961 | var imageId = $rootScope.imageId; |
990 | var promise = ModuleService.getTermTextDataForAAImage(imageId) | 962 | var promise = ModuleService.getTermTextDataForAAImage(imageId) |
991 | .then( | 963 | .then( |
@@ -1006,7 +978,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -1006,7 +978,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
1006 | $scope.pinTermData.push({ "LanguageId": $scope.matchedLanguageTermData[i]._LanguageId, "TermNumber": $scope.matchedLanguageTermData[i]._TermNumber, "TermTxt": $scope.matchedLanguageTermData[i]._TermText }); | 978 | $scope.pinTermData.push({ "LanguageId": $scope.matchedLanguageTermData[i]._LanguageId, "TermNumber": $scope.matchedLanguageTermData[i]._TermNumber, "TermTxt": $scope.matchedLanguageTermData[i]._TermText }); |
1007 | 979 | ||
1008 | } | 980 | } |
1009 | - $scope.$watch('$$scope.pinTermData', function (newValue, oldValue, scope) { | 981 | + $scope.$watch('$scope.pinTermData', function (newValue, oldValue, scope) { |
1010 | if ($('#termlistfilter').html() != "") | 982 | if ($('#termlistfilter').html() != "") |
1011 | $('#termlistfilter').empty() | 983 | $('#termlistfilter').empty() |
1012 | if ($scope.pinTermData.length > 0) { | 984 | if ($scope.pinTermData.length > 0) { |
@@ -1014,17 +986,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -1014,17 +986,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
1014 | console.log('pinTermData= ' + $scope.pinTermData.length); | 986 | console.log('pinTermData= ' + $scope.pinTermData.length); |
1015 | 987 | ||
1016 | for (var j = 0; j < $scope.pinTermData.length; j++) { | 988 | for (var j = 0; j < $scope.pinTermData.length; j++) { |
1017 | - var $el = $('<li><a id= "'+$scope.pinTermData[j].TermNumber+'" href="" >'+$scope.pinTermData[j].TermTxt+'</a></li>').appendTo('#termlistfilter') | 989 | + var $el = $('<li><a id= "' + $scope.pinTermData[j].TermNumber + '" href="" onclick="onSearchItemSelection(event)" >' + $scope.pinTermData[j].TermTxt + '</a></li>').appendTo('#termlistfilter') |
1018 | $compile($el)($scope); | 990 | $compile($el)($scope); |
1019 | 991 | ||
1020 | } | 992 | } |
1021 | 993 | ||
1022 | - | ||
1023 | - //var $e2 = $('<ul id="termlistfilter" class="form-control dropdown-menu" style="height:90px;width:100%;overflow-y:scroll;position:absolute;display:none;z-index:60001;"><li ng-repeat="item in $scope.pinTermData">' + | ||
1024 | - // '<a id="{{item.TermNumber}}" href="" onclick="selectTerm(event)">{{item.TermTxt}}</a>' + | ||
1025 | - // ' </li></ul>').appendTo('#searchListDivAA') | ||
1026 | - //$compile($e2)($scope); | ||
1027 | - | ||
1028 | }, 500); | 994 | }, 500); |
1029 | } | 995 | } |
1030 | }) | 996 | }) |
@@ -1064,24 +1030,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -1064,24 +1030,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
1064 | 1030 | ||
1065 | $scope.MultiLanguageAnnationArray.push(termText); | 1031 | $scope.MultiLanguageAnnationArray.push(termText); |
1066 | 1032 | ||
1067 | - ////1. | ||
1068 | - //var actualTermNo = 0; | ||
1069 | - //for (var z = 0; z < $scope.matchedTermNoData.length; z++) { | ||
1070 | - // //send actual term no to get the term text. | ||
1071 | - // actualTermNo = $scope.matchedTermNoData[0]._ActualTermNumber; | ||
1072 | - // annotationText = $scope.GetAnnotationBasedOnActualTermNo(actualTermNo, languageArray[j].language); | ||
1073 | - // annotation.push(annotationText); | ||
1074 | - // $rootScope.annotationText.push(annotationText); | ||
1075 | - // $rootScope.actualTermNumber = actualTermNo; | ||
1076 | - // break; | ||
1077 | - }; | ||
1078 | - | ||
1079 | - //2. | 1033 | + |
1034 | + }; | ||
1035 | + | ||
1036 | + | ||
1080 | 1037 | ||
1081 | } | 1038 | } |
1082 | - else { | ||
1083 | - // send term no to vocab json data to get the text | ||
1084 | - } | 1039 | + |
1085 | } | 1040 | } |
1086 | } | 1041 | } |
1087 | 1042 | ||
@@ -1184,6 +1139,45 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -1184,6 +1139,45 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
1184 | 1139 | ||
1185 | } | 1140 | } |
1186 | 1141 | ||
1142 | + | ||
1143 | + $scope.HideSearchList = function () { | ||
1144 | + | ||
1145 | + $timeout(function () { | ||
1146 | + | ||
1147 | + $("#termlistfilter").css("display", "none"); | ||
1148 | + | ||
1149 | + | ||
1150 | + }, 1000); | ||
1151 | + | ||
1152 | + } | ||
1153 | + | ||
1154 | + $scope.highlightPinBasedOnSerachItem = function (event) { | ||
1155 | + debugger; | ||
1156 | + $scope.searchItemId = event.currentTarget.id; | ||
1157 | + $scope.searchItemText = event.currentTarget.innerHTML; | ||
1158 | + $('#termList option[selected="selected"]').prop("selected", false); | ||
1159 | + $('#termList option[value="' + $rootScope.searchSelectedText + '"]').prop("selected", true); | ||
1160 | + $("#termList").find("option").css({ "background-color": "#ffffff", "color": "#000000" }); | ||
1161 | + $('#termList option[value="' + $rootScope.searchSelectedText + '"]').css({ "background-color": "#3399FF", "color": "#ffffff" }); | ||
1162 | + | ||
1163 | + $scope.searchFilter = event.currentTarget.innerHTML; | ||
1164 | + selectedTermName.placeholder = event.currentTarget.innerHTML; | ||
1165 | + | ||
1166 | + //get data from pindata for this trem | ||
1167 | + | ||
1168 | + var pinDataForTerm = new jinqJs() | ||
1169 | + .from($scope.aaPinData) | ||
1170 | + .where("_TermId == " + $scope.searchItemId) | ||
1171 | + .select(); | ||
1172 | + | ||
1173 | + $scope.showAnnotation(pinDataForTerm, false, false, true); | ||
1174 | + // $scope.HighlightBodyOnListManagerSelection(event.currentTarget.id); | ||
1175 | + | ||
1176 | + $scope.IsSearchVisible = false; | ||
1177 | + // $rootScope.isNormalMode = false; | ||
1178 | + } | ||
1179 | + | ||
1180 | + | ||
1187 | }]); | 1181 | }]); |
1188 | 1182 | ||
1189 | function showSelectedSystemPins(event) { | 1183 | function showSelectedSystemPins(event) { |
@@ -1210,10 +1204,26 @@ function showAllPins(event) { | @@ -1210,10 +1204,26 @@ function showAllPins(event) { | ||
1210 | }); | 1204 | }); |
1211 | } | 1205 | } |
1212 | 1206 | ||
1213 | -function OnSearchAA(event) { | 1207 | +function onSearchAA(event) { |
1214 | console.log('AA search is called') | 1208 | console.log('AA search is called') |
1215 | var scope = angular.element(document.getElementById("aaDetailPageDiv")).scope(); | 1209 | var scope = angular.element(document.getElementById("aaDetailPageDiv")).scope(); |
1216 | scope.$apply(function () { | 1210 | scope.$apply(function () { |
1217 | scope.showItemsForSearch(); | 1211 | scope.showItemsForSearch(); |
1218 | }); | 1212 | }); |
1219 | -} | ||
1220 | \ No newline at end of file | 1213 | \ No newline at end of file |
1214 | +} | ||
1215 | + | ||
1216 | +function hideSearchList(event) { | ||
1217 | + console.log('AA hide search is called') | ||
1218 | + var scope = angular.element(document.getElementById("aaDetailPageDiv")).scope(); | ||
1219 | + scope.$apply(function () { | ||
1220 | + scope.HideSearchList(); | ||
1221 | + }); | ||
1222 | +} | ||
1223 | + | ||
1224 | +function onSearchItemSelection(event) { | ||
1225 | + console.log('AA hide search is called') | ||
1226 | + var scope = angular.element(document.getElementById("aaDetailPageDiv")).scope(); | ||
1227 | + scope.$apply(function () { | ||
1228 | + scope.highlightPinBasedOnSerachItem(event); | ||
1229 | + }); | ||
1230 | +} |
400-SOURCECODE/AIAHTML5.Web/app/views/aa/atlas-anatomy-detail.html
@@ -76,7 +76,7 @@ | @@ -76,7 +76,7 @@ | ||
76 | <option>Anterior intercostal vein</option> | 76 | <option>Anterior intercostal vein</option> |
77 | </select>--> | 77 | </select>--> |
78 | <!--<div class="input-group-addon btn btn-primary btn-sm"></div>--> | 78 | <!--<div class="input-group-addon btn btn-primary btn-sm"></div>--> |
79 | - <input type="text" class="form-control input-sm pull-left" id="typedTermName" onclick="OnSearchAA()" ondblclick="OnSearchAA()" ng-model="searchFilter" placeholder=" search..."> | 79 | + <input type="text" class="form-control input-sm pull-left" id="selectedTermName" onclick="onSearchAA()" ondblclick="onSearchAA()" onblur="hideSearchList()" ng-model="searchFilter" placeholder=" search..."> |
80 | 80 | ||
81 | <div id="backdrop" ng-show="IsSearchVisible"> | 81 | <div id="backdrop" ng-show="IsSearchVisible"> |
82 | <div id="searchListDivAA" class="col-sm-12 col-xs-12 col-md-12 col-lg-12 pull-left"> | 82 | <div id="searchListDivAA" class="col-sm-12 col-xs-12 col-md-12 col-lg-12 pull-left"> |