Commit d7ebbfa510b48c6068724eb7e84f18fc4f088ba1
1 parent
022962b1
fixed 3d anatomy bug i.e when user goes back open a view again view does not appear.
Showing
1 changed file
with
213 additions
and
210 deletions
400-SOURCECODE/AIAHTML5.Web/app/controllers/3dAController.js
1 | -AIA.controller("3dAController", ["$scope", "$rootScope", "pages", "$log", '$http', 'DataService', '$filter', '$location', '$document', '$sce', "$compile", | ||
2 | -function ($scope, $rootScope, pages, log, $http, DataService, $filter, $location, $document, $sce, $compile) { | ||
3 | - | ||
4 | - | ||
5 | - $scope.showTabButton = false; | ||
6 | - $scope.threeDAnatomyData; | ||
7 | - $scope.Id; | ||
8 | - $scope.$on('$viewContentLoaded', function (event) { | ||
9 | - var currentURL = $location.path(); | ||
10 | - var selectedModuleName = ''; | ||
11 | - //set module title | ||
12 | - angular.forEach($rootScope.userModules, function (value, key) { | ||
13 | - if (value.slug === currentURL.replace('/', '')) { | ||
14 | - selectedModuleName = value.name; | ||
15 | - } | ||
16 | - $rootScope.currentActiveModuleTitle = selectedModuleName; | ||
17 | - }) | ||
18 | - if ($rootScope.refreshcheck == null) { | ||
19 | - $location.path('/'); | ||
20 | - } | ||
21 | - $scope.scroll(); | ||
22 | - var promise = DataService.getJson('~/../content/data/json/3da/3da_dat_contentlist.json') | ||
23 | - promise.then( | ||
24 | - function (result) { | ||
25 | - $scope.threeDAnatomyData = result; | ||
26 | - | ||
27 | - // $scope.selectedThreeDAdata = $scope.threeDAnatomyData.root.ThreeDAData; | ||
28 | - | ||
29 | - $scope.selectedThreeDAdata = new jinqJs() | ||
30 | - .from($scope.threeDAnatomyData.root.ThreeDAData) | ||
31 | - .orderBy([{ field: '_Title', sort: 'asc' }]) | ||
32 | - .select(); | ||
33 | - | ||
34 | - // console.log($scope.selectedCIListViewData); | ||
35 | - $('#grid-view').empty(); | ||
36 | - angular.forEach($scope.selectedThreeDAdata, function (value, key) { | ||
37 | - $scope.imagePath = "~/../content/images/3da/thumbnails/" + value._ThumbnailImage; | ||
38 | - | ||
39 | - var $el = $('<div id="3dView' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '">' | ||
40 | - + '<div class="thumbnail">' | ||
41 | - + '<img id="' + value._id + '"ng-src="' + $scope.imagePath + '" alt="" title="' + value._Title + '" data-ng-click="Open3DModel($event)" >' | ||
42 | - + '<div class="caption"><p>' + value._Title + '</p></div></div></div>').appendTo('#grid-view'); | ||
43 | - | ||
44 | - | ||
45 | - $compile($el)($scope); | ||
46 | - | ||
47 | - $(".sidebar").mCustomScrollbar({ | ||
48 | - autoHideScrollbar: true, | ||
49 | - //theme:"rounded" | ||
50 | - }); | ||
51 | - | ||
52 | - }); | ||
53 | - | ||
54 | - }, | ||
55 | - function (error) { | ||
56 | - // handle errors here | ||
57 | - console.log(' $scope.threeDAnatomyData = ' + error.statusText); | ||
58 | - } | ||
59 | - ); | ||
60 | - | ||
61 | - }); | ||
62 | - $scope.scroll = function () { | ||
63 | - // $window.scrollTo(0, 0); | ||
64 | - $("html,body").scrollTop(0); | ||
65 | - //alert("scroll"); | ||
66 | - } | ||
67 | - $scope.IsVisible = function () { | ||
68 | - //$scope.scroll(); | ||
69 | - | ||
70 | - $location.url("/3dAnatomy"); | ||
71 | - | ||
72 | - } | ||
73 | - | ||
74 | - | ||
75 | - $scope.Open3DModel = function ($event) { | ||
76 | - $rootScope.currentBodyViewId = $event.currentTarget.id; | ||
77 | - if ($event.currentTarget.textContent !== null && typeof ($event.currentTarget.textContent) !== "undefined") { | ||
78 | - var ThreeDTitle = []; | ||
79 | - ThreeDTitle = new jinqJs() | ||
80 | - .from($scope.selectedThreeDAdata) | ||
81 | - .where('_id = ' + $event.currentTarget.id) | ||
82 | - .select('_Title'); | ||
83 | - | ||
84 | - $rootScope.ViewTitle = ThreeDTitle[0]._Title; | ||
85 | - } | ||
86 | - else { | ||
87 | - $rootScope.ViewTitle = $event.currentTarget.textContent; | ||
88 | - | ||
89 | - } | ||
90 | - | ||
91 | - | ||
92 | - localStorage.setItem("currentViewTitleFromJson", $rootScope.ViewTitle); | ||
93 | - localStorage.setItem("currentBodyViewId", $event.currentTarget.id); | ||
94 | - | ||
95 | - var u = $location.url(); | ||
96 | - $location.url('/3d-anatomy-details'); | ||
97 | - | ||
98 | - } | ||
99 | - | ||
100 | - $scope.Open3DModelBody = function () { | ||
101 | - | ||
102 | - if ($rootScope.refreshcheck == null) { | ||
103 | - $location.path('/'); | ||
104 | - | ||
105 | - } | ||
106 | - $rootScope.isLoading = true; | ||
107 | - $('#spinner').css('visibility', 'visible'); | ||
108 | - //alert($rootScope.getLocalStorageValue("currentBodyViewId")); | ||
109 | - $scope.voId3D = $rootScope.getLocalStorageValue("currentBodyViewId"); | ||
110 | - | ||
111 | - //alert($scope.voId3D); | ||
112 | - | ||
113 | - | ||
114 | - //once you get id in scope push detail in jspanel content | ||
115 | - | ||
116 | - var openViews; | ||
117 | - if ($rootScope.openViews.length > 0) { | ||
118 | - openViews = new jinqJs() | ||
119 | - .from($rootScope.openViews) | ||
120 | - .where("BodyViewId==" + $scope.voId3D) | ||
121 | - .select(); | ||
122 | - } | ||
123 | - var counter = 1; | ||
124 | - var tittle = $rootScope.getLocalStorageValue("currentViewTitleFromJson"); | ||
125 | - | ||
126 | - if (openViews != null && openViews.length > 0) { | ||
127 | - angular.forEach(openViews, function (value, key) { | ||
128 | - | ||
129 | - if (value.body - views == tittle) { | ||
130 | - tittle = $rootScope.getLocalStorageValue("currentViewTitleFromJson") + counter++; | ||
131 | - $rootScope.currentActiveViewTitle = tittle; | ||
132 | - localStorage.setItem("currentViewTitle", tittle); | ||
133 | - } | ||
134 | - | ||
135 | - }); | ||
136 | - } | ||
137 | - else { | ||
138 | - localStorage.setItem("currentViewTitle", tittle); | ||
139 | - | ||
140 | - } | ||
141 | - | ||
142 | - // alert($rootScope.getLocalStorageValue("currentViewTitle")); | ||
143 | - | ||
144 | - var promise = DataService.getJson('~/../content/data/json/3da/3da_dat_contentlist.json') | ||
145 | - promise.then( | ||
146 | - function (result) { | ||
147 | - $scope.threeDAnatomyData = result; | ||
148 | - | ||
149 | - var clicked3dAview = []; | ||
150 | - clicked3dAview = new jinqJs().from($scope.threeDAnatomyData.root.ThreeDAData) | ||
151 | - .where('_id == ' + $scope.voId3D) | ||
152 | - .select('_Title', '_3dimagepath'); | ||
153 | - $scope.Selected3DImagePath = clicked3dAview[0]._3dimagepath; | ||
154 | - $scope.threeDBodySystemTitle = clicked3dAview[0]._Title; | ||
155 | - | ||
156 | - if (clicked3dAview.length > 0) { | ||
157 | - | ||
158 | - $rootScope.isLoading = false; | ||
159 | - $('#spinner').css('visibility', 'hidden'); | ||
160 | - | ||
161 | - $.jsPanel({ | ||
162 | - id: '3DImagePanel', | ||
163 | - selector: '.threeDView', | ||
164 | - theme: 'success', | ||
165 | - currentController: '3dAController', | ||
166 | - parentSlug: '3d-anatomy-list', | ||
167 | - content: '<div class="col-sm-12">' + | ||
168 | - '<object data="' + $scope.Selected3DImagePath + '" width="100%" height="800px" type="image/svg+xml"></object>' + | ||
169 | - '</div><script>$(document).ready(function(){var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) {var threeDivWidth = $("#ThreeDView").css("width");$("#ThreeDView").css({"left":"0px","width":"100%","min-idth": threeDivWidth}); var jspanelContainerWidth = $(".jsPanel-content").css("width"); $(".jsPanel-content").css({ "width": "100%", "min-width": jspanelContainerWidth}); $("#3DImagePanel").css("width", "100%"); }});</script>', | ||
170 | - title: $rootScope.getLocalStorageValue("currentViewTitle"), | ||
171 | - position: { | ||
172 | - top: 70, | ||
173 | - left: 1, | ||
174 | - }, | ||
175 | - | ||
176 | - size: { width: $(window).outerWidth() - 20, height: $(window).outerHeight() - 10 }, | ||
177 | - | ||
178 | - }); | ||
179 | - | ||
180 | - $rootScope.currentSlug = '3d-anatomy-details'; | ||
181 | - | ||
182 | - $rootScope.openViews.push( | ||
183 | - { | ||
184 | - "module": $rootScope.currentActiveModuleTitle, "bodyView": tittle, "state": 'max', "BodyViewId": $rootScope.currentBodyViewId, | ||
185 | - "slug": $rootScope.currentSlug | ||
186 | - }); | ||
187 | - | ||
188 | - | ||
189 | - } | ||
190 | - | ||
191 | - | ||
192 | - }, | ||
193 | - function (error) { | ||
194 | - // handle errors here | ||
195 | - console.log(' $scope.CIllustrationData = ' + error.statusText); | ||
196 | - } | ||
197 | - | ||
198 | - ); | ||
199 | - $('#ThreeDView').css("height", $(window).outerHeight()); | ||
200 | - | ||
201 | - $('#ThreeDView').css("width", $(window).outerWidth()); | ||
202 | - | ||
203 | - } | ||
204 | - | ||
205 | - | ||
206 | - | ||
207 | -}] | ||
208 | - | ||
209 | - | ||
210 | - | 1 | +AIA.controller("3dAController", ["$scope", "$rootScope", "pages", "$log", '$http', 'DataService', '$filter', '$location', '$document', '$sce', "$compile", |
2 | +function ($scope, $rootScope, pages, log, $http, DataService, $filter, $location, $document, $sce, $compile) { | ||
3 | + | ||
4 | + | ||
5 | + $scope.showTabButton = false; | ||
6 | + $scope.threeDAnatomyData; | ||
7 | + $scope.Id; | ||
8 | + $scope.$on('$viewContentLoaded', function (event) { | ||
9 | + var currentURL = $location.path(); | ||
10 | + var selectedModuleName = ''; | ||
11 | + //set module title | ||
12 | + angular.forEach($rootScope.userModules, function (value, key) { | ||
13 | + //if (value.slug === currentURL.replace('/', '')) { | ||
14 | + if (value.slug === "3d-anatomy-list") { | ||
15 | + selectedModuleName = value.name; | ||
16 | + } | ||
17 | + $rootScope.currentActiveModuleTitle = selectedModuleName; | ||
18 | + }) | ||
19 | + if ($rootScope.refreshcheck == null) { | ||
20 | + $location.path('/'); | ||
21 | + } | ||
22 | + $scope.scroll(); | ||
23 | + var promise = DataService.getJson('~/../content/data/json/3da/3da_dat_contentlist.json') | ||
24 | + promise.then( | ||
25 | + function (result) { | ||
26 | + $scope.threeDAnatomyData = result; | ||
27 | + | ||
28 | + // $scope.selectedThreeDAdata = $scope.threeDAnatomyData.root.ThreeDAData; | ||
29 | + | ||
30 | + $scope.selectedThreeDAdata = new jinqJs() | ||
31 | + .from($scope.threeDAnatomyData.root.ThreeDAData) | ||
32 | + .orderBy([{ field: '_Title', sort: 'asc' }]) | ||
33 | + .select(); | ||
34 | + | ||
35 | + // console.log($scope.selectedCIListViewData); | ||
36 | + $('#grid-view').empty(); | ||
37 | + angular.forEach($scope.selectedThreeDAdata, function (value, key) { | ||
38 | + $scope.imagePath = "~/../content/images/3da/thumbnails/" + value._ThumbnailImage; | ||
39 | + | ||
40 | + var $el = $('<div id="3dView' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '">' | ||
41 | + + '<div class="thumbnail">' | ||
42 | + + '<img id="' + value._id + '"ng-src="' + $scope.imagePath + '" alt="" title="' + value._Title + '" data-ng-click="Open3DModel($event)" >' | ||
43 | + + '<div class="caption"><p>' + value._Title + '</p></div></div></div>').appendTo('#grid-view'); | ||
44 | + | ||
45 | + | ||
46 | + $compile($el)($scope); | ||
47 | + | ||
48 | + $(".sidebar").mCustomScrollbar({ | ||
49 | + autoHideScrollbar: true, | ||
50 | + //theme:"rounded" | ||
51 | + }); | ||
52 | + | ||
53 | + }); | ||
54 | + | ||
55 | + }, | ||
56 | + function (error) { | ||
57 | + // handle errors here | ||
58 | + console.log(' $scope.threeDAnatomyData = ' + error.statusText); | ||
59 | + } | ||
60 | + ); | ||
61 | + | ||
62 | + }); | ||
63 | + $scope.scroll = function () { | ||
64 | + // $window.scrollTo(0, 0); | ||
65 | + $("html,body").scrollTop(0); | ||
66 | + //alert("scroll"); | ||
67 | + } | ||
68 | + $scope.IsVisible = function () { | ||
69 | + //$scope.scroll(); | ||
70 | + | ||
71 | + $location.url("/3dAnatomy"); | ||
72 | + | ||
73 | + } | ||
74 | + | ||
75 | + | ||
76 | + $scope.Open3DModel = function ($event) { | ||
77 | + $rootScope.currentBodyViewId = $event.currentTarget.id; | ||
78 | + if ($event.currentTarget.textContent !== null && typeof ($event.currentTarget.textContent) !== "undefined") { | ||
79 | + var ThreeDTitle = []; | ||
80 | + ThreeDTitle = new jinqJs() | ||
81 | + .from($scope.selectedThreeDAdata) | ||
82 | + .where('_id = ' + $event.currentTarget.id) | ||
83 | + .select('_Title'); | ||
84 | + | ||
85 | + $rootScope.ViewTitle = ThreeDTitle[0]._Title; | ||
86 | + } | ||
87 | + else { | ||
88 | + $rootScope.ViewTitle = $event.currentTarget.textContent; | ||
89 | + | ||
90 | + } | ||
91 | + | ||
92 | + | ||
93 | + localStorage.setItem("currentViewTitleFromJson", $rootScope.ViewTitle); | ||
94 | + localStorage.setItem("currentBodyViewId", $event.currentTarget.id); | ||
95 | + | ||
96 | + var u = $location.url(); | ||
97 | + $location.url('/3d-anatomy-details'); | ||
98 | + | ||
99 | + } | ||
100 | + | ||
101 | + $scope.Open3DModelBody = function () { | ||
102 | + | ||
103 | + if ($rootScope.refreshcheck == null) { | ||
104 | + $location.path('/'); | ||
105 | + | ||
106 | + } | ||
107 | + $rootScope.isLoading = true; | ||
108 | + $('#spinner').css('visibility', 'visible'); | ||
109 | + //alert($rootScope.getLocalStorageValue("currentBodyViewId")); | ||
110 | + $scope.voId3D = $rootScope.getLocalStorageValue("currentBodyViewId"); | ||
111 | + | ||
112 | + //alert($scope.voId3D); | ||
113 | + | ||
114 | + | ||
115 | + //once you get id in scope push detail in jspanel content | ||
116 | + | ||
117 | + var openViews; | ||
118 | + //if ($rootScope.openViews.length > 0) { | ||
119 | + // openViews = new jinqJs() | ||
120 | + // .from($rootScope.openViews) | ||
121 | + // .where("BodyViewId==" + $scope.voId3D) | ||
122 | + // .select(); | ||
123 | + //} | ||
124 | + // var counter = 1; | ||
125 | + var tittle = $rootScope.getLocalStorageValue("currentViewTitleFromJson"); | ||
126 | + $rootScope.currentActiveViewTitle = tittle; | ||
127 | + localStorage.setItem("currentViewTitle", tittle); | ||
128 | + | ||
129 | + //if (openViews != null && openViews.length > 0) { | ||
130 | + // angular.forEach(openViews, function (value, key) { | ||
131 | + | ||
132 | + // if (value.body - views == tittle) { | ||
133 | + // tittle = $rootScope.getLocalStorageValue("currentViewTitleFromJson") + counter++; | ||
134 | + // $rootScope.currentActiveViewTitle = tittle; | ||
135 | + // localStorage.setItem("currentViewTitle", tittle); | ||
136 | + // } | ||
137 | + | ||
138 | + // }); | ||
139 | + //} | ||
140 | + //else { | ||
141 | + // localStorage.setItem("currentViewTitle", tittle); | ||
142 | + | ||
143 | + //} | ||
144 | + | ||
145 | + // alert($rootScope.getLocalStorageValue("currentViewTitle")); | ||
146 | + | ||
147 | + var promise = DataService.getJson('~/../content/data/json/3da/3da_dat_contentlist.json') | ||
148 | + promise.then( | ||
149 | + function (result) { | ||
150 | + $scope.threeDAnatomyData = result; | ||
151 | + | ||
152 | + var clicked3dAview = []; | ||
153 | + clicked3dAview = new jinqJs().from($scope.threeDAnatomyData.root.ThreeDAData) | ||
154 | + .where('_id == ' + $scope.voId3D) | ||
155 | + .select('_Title', '_3dimagepath'); | ||
156 | + $scope.Selected3DImagePath = clicked3dAview[0]._3dimagepath; | ||
157 | + $scope.threeDBodySystemTitle = clicked3dAview[0]._Title; | ||
158 | + | ||
159 | + if (clicked3dAview.length > 0) { | ||
160 | + | ||
161 | + $rootScope.isLoading = false; | ||
162 | + $('#spinner').css('visibility', 'hidden'); | ||
163 | + | ||
164 | + $.jsPanel({ | ||
165 | + id: '3DImagePanel', | ||
166 | + selector: '.threeDView', | ||
167 | + theme: 'success', | ||
168 | + currentController: '3dAController', | ||
169 | + parentSlug: '3d-anatomy-list', | ||
170 | + content: '<div class="col-sm-12">' + | ||
171 | + '<object data="' + $scope.Selected3DImagePath + '" width="100%" height="800px" type="image/svg+xml"></object>' + | ||
172 | + '</div><script>$(document).ready(function(){var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) {var threeDivWidth = $("#ThreeDView").css("width");$("#ThreeDView").css({"left":"0px","width":"100%","min-idth": threeDivWidth}); var jspanelContainerWidth = $(".jsPanel-content").css("width"); $(".jsPanel-content").css({ "width": "100%", "min-width": jspanelContainerWidth}); $("#3DImagePanel").css("width", "100%"); }});</script>', | ||
173 | + title: $rootScope.getLocalStorageValue("currentViewTitle"), | ||
174 | + position: { | ||
175 | + top: 70, | ||
176 | + left: 1, | ||
177 | + }, | ||
178 | + | ||
179 | + size: { width: $(window).outerWidth() - 20, height: $(window).outerHeight() - 10 }, | ||
180 | + | ||
181 | + }); | ||
182 | + | ||
183 | + $rootScope.currentSlug = '3d-anatomy-details'; | ||
184 | + | ||
185 | + $rootScope.openViews.push( | ||
186 | + { | ||
187 | + "module": $rootScope.currentActiveModuleTitle, "bodyView": tittle, "state": 'max', "BodyViewId": $rootScope.currentBodyViewId, | ||
188 | + "slug": $rootScope.currentSlug | ||
189 | + }); | ||
190 | + | ||
191 | + | ||
192 | + } | ||
193 | + | ||
194 | + | ||
195 | + }, | ||
196 | + function (error) { | ||
197 | + // handle errors here | ||
198 | + console.log(' $scope.CIllustrationData = ' + error.statusText); | ||
199 | + } | ||
200 | + | ||
201 | + ); | ||
202 | + $('#ThreeDView').css("height", $(window).outerHeight()); | ||
203 | + | ||
204 | + $('#ThreeDView').css("width", $(window).outerWidth()); | ||
205 | + | ||
206 | + } | ||
207 | + | ||
208 | + | ||
209 | + | ||
210 | +}] | ||
211 | + | ||
212 | + | ||
213 | + | ||
211 | ); | 214 | ); |
212 | \ No newline at end of file | 215 | \ No newline at end of file |