Commit d6c9b9d176908a068361b85a87b02eb77abff2d4
1 parent
2ca490b1
Implemented Title and List View Functionality in Atlas Anatomy
Showing
2 changed files
with
116 additions
and
24 deletions
400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
... | ... | @@ -33,13 +33,57 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
33 | 33 | selectedorientation: '', |
34 | 34 | selectedimagetype: '', |
35 | 35 | }; |
36 | - $scope.loadForModuleById = function (moduleId) { | |
37 | 36 | |
37 | + $scope.showTabButton = true; | |
38 | + $scope.isListViewDataLoaded = true; | |
39 | + $scope.setActiveTab = function (tabToSet) { | |
40 | + | |
41 | + $scope.activeTab = tabToSet; | |
42 | + localStorage.setItem("activeTab", $scope.activeTab); | |
43 | + if ($scope.activeTab == 1) { | |
44 | + $('#grid-view').css("display","block"); | |
45 | + $('#list-view').css("display", "none"); | |
46 | + $("#demoView").remove(); | |
47 | + } | |
48 | + else | |
49 | + { | |
50 | + $('#grid-view').css("display", "none"); | |
51 | + if ($scope.isListViewDataLoaded == true) { | |
52 | + var htm = ''; | |
53 | + htm += "<table class='table table-hover table-fixed bg-white table-txt12'> <thead class='clsthead'><tr class='active'><th width='25%'>Title</th> <th width='15%'>Region</th> <th width='30%'>System</th><th width='15%'>View</th> <th width='15%'>Type</th></tr></thead><tbody class='clstbody'>"; | |
54 | + $.ajax({ | |
55 | + url: '~/../content/data/json/aa/aa_dat_contentlist.json', | |
56 | + dataType: "json", | |
57 | + success: function (result) { | |
58 | + $(result.root.Item).each(function (key, value) { | |
59 | + console.log(key + " " + value); | |
60 | + htm += "<tr id=" + value._Id + " onclick='openListViewModuleItem(event)' ondblclick='openModuleItemView(event)'>" | |
61 | + htm += '<td width="25%">' + value._Title + '</td><td width="15%">' + value._BodyRegion + '</td><td width="30%">' + value._BodySystem + '</td><td width="15%">' + value._ViewOrientation + '</td><td width="15%">' + value._ImageType + '</td>'; | |
62 | + htm += "</tr>" | |
63 | + }); | |
64 | + htm += "</tbody></table>"; | |
65 | + $("#list-view").append(htm); | |
66 | + $compile(htm)($scope); | |
67 | + } | |
68 | + }); | |
69 | + $('#list-view').css("display", "block"); | |
70 | + $scope.isListViewDataLoaded = false; | |
71 | + } | |
72 | + else | |
73 | + { | |
74 | + $('#list-view').css("display", "block"); | |
75 | + } | |
76 | + } | |
77 | + | |
78 | + }; | |
79 | + | |
80 | + $scope.loadForModuleById = function (moduleId) { | |
81 | + | |
38 | 82 | $scope.moduleId = moduleId; |
39 | - | |
83 | + $scope.activeTab = 1; | |
40 | 84 | console.log('loadForModuleById is called') |
41 | 85 | $rootScope.moduleName = Modules[moduleId].Name; |
42 | - | |
86 | + $rootScope.currentActiveModuleTitle = $rootScope.moduleName; | |
43 | 87 | $scope.AllBodyRegion = BodyRegions; |
44 | 88 | $scope.AllBodySystem = BodySystems; |
45 | 89 | $scope.AllOrientation = ViewOrientations; |
... | ... | @@ -57,17 +101,34 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
57 | 101 | console.log(' error: ' + error.statusText); |
58 | 102 | } |
59 | 103 | ) |
104 | + } | |
60 | 105 | |
106 | + //$scope.$on('$viewContentLoaded', function (event) { | |
61 | 107 | |
108 | + // $scope.loadForModuleById(); | |
62 | 109 | |
63 | - | |
64 | - } | |
65 | - | |
110 | + //}); | |
111 | + $scope.isOpenBtnClicked = false; | |
66 | 112 | $scope.openModuleItemView = function (event) { |
67 | - | |
113 | + | |
68 | 114 | //0. Get selected Image Id |
69 | - var moduleItemDataToBeSaved = event.target.id; | |
70 | - | |
115 | + if ($scope.isListViewButtonClicked == true) { | |
116 | + if ($scope.isOpenBtnClicked == true) { | |
117 | + // alert($("#demoText").html()); | |
118 | + var moduleItemDataToBeSaved = $("#demoText").html(); | |
119 | + $scope.isOpenBtnClicked = false; | |
120 | + } | |
121 | + else { | |
122 | + var moduleItemDataToBeSavedID = event.currentTarget.id; | |
123 | + var moduleItemDataToBeSaved = $("#list-view table tbody #" + moduleItemDataToBeSavedID).find('td:eq(0)').text(); | |
124 | + } | |
125 | + } | |
126 | + else | |
127 | + { | |
128 | + var moduleItemDataToBeSaved = event.target.id; | |
129 | + $scope.isListViewButtonClicked = false; | |
130 | + } | |
131 | + | |
71 | 132 | //1.Filter selected module ietem data and get the pushed opened moduile array object |
72 | 133 | $rootScope.OpenedTileData = ModuleService.GetOpenedTileData(moduleItemDataToBeSaved, $scope.moduleLandingData); |
73 | 134 | |
... | ... | @@ -86,6 +147,17 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
86 | 147 | $location.url('/module-item-view'); |
87 | 148 | } |
88 | 149 | |
150 | + | |
151 | + $scope.openListViewModuleItem = function (event) { | |
152 | + $("#demoView").remove(); | |
153 | + var moduleItemDataToBeSavedID = event.currentTarget.id; | |
154 | + var moduleItemDataToBeSaved = $("#list-view table tbody #" + moduleItemDataToBeSavedID).find('td:eq(0)').text(); | |
155 | + $rootScope.OpenedTileData = ModuleService.GetOpenedTileData(moduleItemDataToBeSaved, $scope.moduleLandingData); | |
156 | + $rootScope.OpenItemImagePath = "../../../content/images/aa/images/" + $rootScope.OpenedTileData[3]; | |
157 | + $("#viewList").append("<div class='col-xs-12 text-center' style='padding-top:15px;padding-bottom:15px;' id='demoView'><div class='col-xs-12' style='padding:15px;background-color:#fff;'><div class='col-xs-2' style='border:1px solid #000;padding:5px;color:#000;font-size:12px;'><div class='thumbnail' style='margin-bottom:10px;'><img style='width:auto;height:95px!important;' src=" + $rootScope.OpenItemImagePath + "></div><div class='col-xs-12' id='demoText' style='padding:0;'>" + moduleItemDataToBeSaved + "</div></div></div><a style='position:absolute;right:30px;bottom:34px;' onclick='openCurrentView(event)' href='javascript:void(0)' class='pull-right btn btn-primary'>Open</a></div>"); | |
158 | + } | |
159 | + | |
160 | + | |
89 | 161 | $scope.openModuleItem = function () { |
90 | 162 | var jsContentURL; |
91 | 163 | var moduleItemViewDivId; |
... | ... | @@ -158,8 +230,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
158 | 230 | |
159 | 231 | $scope.relativeDimesion = 0; |
160 | 232 | $("#modItemImage").css("width", $rootScope.ViewImageWidth + "px"); |
161 | - | |
162 | - | |
163 | 233 | //0.5 create canvas on the top of image so that I can draw a line over the canvas. |
164 | 234 | var canvas = document.createElement('canvas'); |
165 | 235 | canvas.id = 'aaDetailViewCanvas'; |
... | ... | @@ -169,14 +239,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
169 | 239 | canvas.style.left = '0px'; |
170 | 240 | canvas.style.top = '0px'; |
171 | 241 | canvas.style.position = "absolute"; |
172 | - //canvas.addEventListener('click', function () { | |
173 | - // alert('canvas clicked'); | |
174 | - // var clickedPint = $scope.getMousePos(event); | |
175 | - // alert('x: ' + clickedPint.x + ', y:' + clickedPint.y); | |
176 | - //}) | |
177 | 242 | $("#canvasDiv").append(canvas); |
178 | 243 | $scope.context = canvas.getContext("2d") |
179 | - | |
180 | 244 | //6. Show all pins on AA opened item |
181 | 245 | $scope.showAllPins(); |
182 | 246 | //7. Highlight all system body list in left side |
... | ... | @@ -380,12 +444,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
380 | 444 | |
381 | 445 | $scope.imagePath = "../content/images/aa/thumbnails/" + value._TileImageName; |
382 | 446 | |
383 | - var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-3" title = "' + value._Title + '" data-ng-click="openModuleItemView($event)">' | |
384 | - + '<div class="thumbnail" >' | |
385 | - + '<img class="tinyImg" id="' + value._Title + '"ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
386 | - + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
387 | - | |
447 | + | |
448 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-3" title = "' + value._Title + '" data-ng-click="openModuleItemView($event)">' | |
449 | + + '<div class="thumbnail" >' | |
450 | + + '<img class="tinyImg" id="' + value._Title + '"ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
451 | + + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
388 | 452 | |
453 | + | |
389 | 454 | $compile($el)($scope); |
390 | 455 | |
391 | 456 | $(".sidebar").mCustomScrollbar({ |
... | ... | @@ -1463,6 +1528,32 @@ function showSelectedPins(event) { |
1463 | 1528 | }); |
1464 | 1529 | } |
1465 | 1530 | |
1531 | + | |
1532 | +function openModuleItemView(event) { | |
1533 | + var scope = angular.element(document.getElementById("list-view")).scope(); | |
1534 | + scope.isListViewButtonClicked = true; | |
1535 | + scope.$apply(function () { | |
1536 | + scope.openModuleItemView(event); | |
1537 | + }); | |
1538 | +} | |
1539 | + | |
1540 | +function openListViewModuleItem(event) { | |
1541 | + var scope = angular.element(document.getElementById("list-view")).scope(); | |
1542 | + scope.isListViewButtonClicked = true; | |
1543 | + scope.$apply(function () { | |
1544 | + scope.openListViewModuleItem(event); | |
1545 | + }); | |
1546 | +} | |
1547 | + | |
1548 | +function openCurrentView(event) { | |
1549 | + var scope = angular.element(document.getElementById("list-view")).scope(); | |
1550 | + scope.isOpenBtnClicked = true; | |
1551 | + scope.$apply(function () { | |
1552 | + scope.openModuleItemView(event); | |
1553 | + }); | |
1554 | + | |
1555 | +} | |
1556 | + | |
1466 | 1557 | function onZoom(scope) { |
1467 | 1558 | |
1468 | 1559 | //$(".common-drag").remove(); | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/views/tile-view.html
... | ... | @@ -82,7 +82,7 @@ |
82 | 82 | <li role="presentation" id="Female" ng-click="getDAViewList($event)"><a><i class="fa fa-venus"></i> Female</a></li> |
83 | 83 | </ul>--> |
84 | 84 | <!-- Tab panes --> |
85 | - <div class="row tab-content"> | |
85 | + <div class="row tab-content" id="viewList"> | |
86 | 86 | <!--<div role="tabpanel" class="tab-pane active" id="grid-view">--> |
87 | 87 | <div role="tabpanel" class="tab-pane active" id="grid-view"> |
88 | 88 | <div ng-repeat="(key,val) in moduleLandingData.data.root.Item | orderBy:'_Title' "> |
... | ... | @@ -96,7 +96,8 @@ |
96 | 96 | </div> |
97 | 97 | </div> |
98 | 98 | </div> |
99 | - </div> | |
99 | + <div class="col-xs-12" id="list-view"></div> | |
100 | + </div> | |
100 | 101 | </div> |
101 | 102 | |
102 | 103 | <script> | ... | ... |