Commit e33a7329396bd89f2ffe38cf34b4e45fee48e697
1 parent
4d3879ab
code for annoatations on pin click but not working for every point on pin head.
need to change the code/approach.
Showing
1 changed file
with
49 additions
and
53 deletions
400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
@@ -149,6 +149,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -149,6 +149,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
149 | canvas.style.left = '0px'; | 149 | canvas.style.left = '0px'; |
150 | canvas.style.top = '0px'; | 150 | canvas.style.top = '0px'; |
151 | canvas.style.position = "absolute"; | 151 | canvas.style.position = "absolute"; |
152 | + canvas.addEventListener('click', aaDetailViewCanvasClickListener); | ||
152 | 153 | ||
153 | $("#imageDiv").append(canvas); | 154 | $("#imageDiv").append(canvas); |
154 | $scope.context = canvas.getContext("2d") | 155 | $scope.context = canvas.getContext("2d") |
@@ -169,6 +170,54 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -169,6 +170,54 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
169 | $scope.imageHeight = this.height; | 170 | $scope.imageHeight = this.height; |
170 | } | 171 | } |
171 | 172 | ||
173 | + function aaDetailViewCanvasClickListener(event) { | ||
174 | + | ||
175 | + alert('pin clicked'); | ||
176 | + var mousePos = $scope.getMousePos(event); | ||
177 | + | ||
178 | + var canvasDiv = document.getElementById('imageDiv'); | ||
179 | + var verticalScrollPosition = canvasDiv.scrollTop; | ||
180 | + var horizontlScrollPosition = canvasDiv.scrollLeft; | ||
181 | + | ||
182 | + | ||
183 | + //We substracted 135, as the difference between flex and html coordinates for same organ is 135 | ||
184 | + var actualX = mousePos.x + horizontlScrollPosition; | ||
185 | + var actualY = mousePos.y + verticalScrollPosition; | ||
186 | + alert('actualX = ' + actualX + ',actualY= ' + actualY) | ||
187 | + //var RGBColor = $scope.GetRGBColor(maskCanvasContext, actualX, actualY, x, y); | ||
188 | + angular.forEach($scope.aaPinData, function (value, key) { | ||
189 | + | ||
190 | + var pinHeadX = value._HeadX; | ||
191 | + var pinHeadY = value._HeadY; | ||
192 | + var pinHeadRight = parseInt(value._HeadX) + 32; | ||
193 | + var pinHeadTop = parseInt(value._HeadY) - 44; | ||
194 | + if (actualX >= pinHeadX && actualX <= pinHeadRight && actualY <= pinHeadY && actualY >= pinHeadTop) { | ||
195 | + alert('clicked pin = ' + value._PinId + ' and _TermId= ' + value._TermId); | ||
196 | + var termNumber = value._TermId; | ||
197 | + | ||
198 | + var selectedPinTermData = new jinqJs() | ||
199 | + .from($scope.TermInfo) | ||
200 | + .where("__ActualTermNumber == " + termNumber) | ||
201 | + .select(); | ||
202 | + var annotationText = selectedPinTermData[0].__TermText; | ||
203 | + // $scope.MultiLanguageAnnationArray = []; | ||
204 | + // $scope.MultiLanguageAnnationArray.push(annotationText); | ||
205 | + | ||
206 | + // $scope.createSpeechBubble(pinHeadX, pinHeadY, value._PinId); | ||
207 | + } | ||
208 | + //alert('pinId ='+value._PinId+', pinHeadX =' + pinHeadX + ',pinHeadY= ' + pinHeadY + ',pinHeadRight= ' + pinHeadRight + ',pinHeadTop =' + pinHeadTop); | ||
209 | + }); | ||
210 | + } | ||
211 | + | ||
212 | + $scope.getMousePos = function (evt) { | ||
213 | + | ||
214 | + return { | ||
215 | + x: Math.round(evt.pageX - $('#imageDiv').offset().left), | ||
216 | + y: Math.round(evt.pageY - $('#imageDiv').offset().top) | ||
217 | + | ||
218 | + } | ||
219 | + } | ||
220 | + | ||
172 | angular.element(document).ready(function (e) { | 221 | angular.element(document).ready(function (e) { |
173 | $("#ImagePanel").resize(function () { | 222 | $("#ImagePanel").resize(function () { |
174 | $("#imageDiv").scrollLeft($rootScope.CanvasDivLeftPosition); | 223 | $("#imageDiv").scrollLeft($rootScope.CanvasDivLeftPosition); |
@@ -185,59 +234,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | @@ -185,59 +234,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo | ||
185 | function (result) { | 234 | function (result) { |
186 | $scope.aaPinData = result.data.Root.Item; | 235 | $scope.aaPinData = result.data.Root.Item; |
187 | angular.forEach($scope.aaPinData, function (value, key) { | 236 | angular.forEach($scope.aaPinData, function (value, key) { |
188 | - //CREATING PIN WITHOUT CANAVS | ||
189 | - //var ax = value._PinX; | ||
190 | - //var ay = value._PinY; | ||
191 | - //var bx = value._HeadX; | ||
192 | - //var by = value._HeadY; | ||
193 | - | ||
194 | - //if (ax > bx) { | ||
195 | - // bx = ax + bx; | ||
196 | - // ax = bx - ax; | ||
197 | - // bx = bx - ax; | ||
198 | - // by = ay + by; | ||
199 | - // ay = by - ay; | ||
200 | - // by = by - ay; | ||
201 | - //} | ||
202 | - | ||
203 | - | ||
204 | - //console.log('ax: ' + ax); | ||
205 | - //console.log('ay: ' + ay); | ||
206 | - //console.log('bx: ' + bx); | ||
207 | - //console.log('by: ' + by); | ||
208 | - | ||
209 | - //var angle = Math.atan((ay - by) / (bx - ax)); | ||
210 | - //console.log('angle: ' + angle); | ||
211 | - | ||
212 | - //angle = (angle * 180 / Math.PI); | ||
213 | - //console.log('angle: ' + angle); | ||
214 | - //angle = -angle; | ||
215 | - //console.log('angle: ' + angle); | ||
216 | - | ||
217 | - //var length = Math.sqrt((ax - bx) * (ax - bx) + (ay - by) * (ay - by)); | ||
218 | - //console.log('length: ' + length); | ||
219 | - | ||
220 | - //var style = "" | ||
221 | - //style += "left:" + (ax) + "px;" | ||
222 | - //style += "top:" + (ay) + "px;" | ||
223 | - //style += "width:" + length + "px;" | ||
224 | - //style += "height:1px;" | ||
225 | - //style += "background-color:black;" | ||
226 | - //style += "position:absolute;" | ||
227 | - //style += "transform:rotate(" + angle + "deg);" | ||
228 | - //style += "-ms-transform:rotate(" + angle + "deg);" | ||
229 | - //style += "transform-origin:0% 0%;" | ||
230 | - //style += "-moz-transform:rotate(" + angle + "deg);" | ||
231 | - //style += "-moz-transform-origin:0% 0%;" | ||
232 | - //style += "-webkit-transform:rotate(" + angle + "deg);" | ||
233 | - //style += "-webkit-transform-origin:0% 0%;" | ||
234 | - //style += "-o-transform:rotate(" + angle + "deg);" | ||
235 | - //style += "-o-transform-origin:0% 0%;" | ||
236 | - //style += "-webkit-box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, .1);" | ||
237 | - //style += "box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, .1);" | ||
238 | - //style += "z-index:99;" | ||
239 | - //$("<div id= '"+value._PinId+"' style='" + style + "'></div>").appendTo('#imageDiv'); | ||
240 | - //END | ||
241 | 237 | ||
242 | $scope.context.beginPath(); | 238 | $scope.context.beginPath(); |
243 | $scope.context.moveTo(value._PinX, value._PinY); | 239 | $scope.context.moveTo(value._PinX, value._PinY); |