'use strict'; AIA.controller("TinyViewListController", ["$scope", "$rootScope", "$compile", "$http", "$log", "$location", "BodyRegions", "BodySystems", "ViewOrientations", "ImageTypes", "$timeout", "Modules", "$routeParams", "DataService", function ($scope, $rootScope, $compile, $http, $log, $location, BodyRegions, BodySystems, ViewOrientations, ImageTypes, $timeout, Modules, $routeParam, DataService) { var ATLAS_ANATOMY = 'Atlas Anatomy'; var CLINICAL_ILLUSTRATION ='Clinical Illustrations'; var CLINICAL_ANIMATION='Clinical Animations'; $scope.AllBodyRegion = []; $scope.AllBodySystem = []; $scope.AllOrientation = []; $scope.AllImageType = []; $scope.loadForModuleById = function (moduleId) { console.log('loadForModuleById is called') var moduleName = Modules[moduleId].Name; $scope.loadDataForModule(moduleName); } $scope.loadDataForModule = function (moduleName) { //0. load filter static data $scope.AllBodyRegion = BodyRegions; $scope.AllBodySystem = BodySystems; $scope.AllOrientation = ViewOrientations; $scope.AllImageType = ImageTypes; //1. load dynamic data for module specific images var jsonPath; if(moduleName==ATLAS_ANATOMY) { jsonPath ='~/../content/data/json/aa/aa_dat_contentlist.json'; } else if(moduleName == CLINICAL_ANIMATION) { //to do, in next phase of project jsonPath ='~/../content/data/json/ca/ca_dat_contentlist.json'; } else if(moduleName == CLINICAL_ILLUSTRATION) { //to do, in next phase of project jsonPath ='~/../content/data/json/ci/ci_dat_contentlist.json'; } var promise = DataService.getJson(jsonPath) promise.then( function (result) { $scope.AtlasAnatomyData = result; $scope.data = new jinqJs() .from($scope.AtlasAnatomyData.root.Item) .orderBy([{ field: '_Title', sort: 'asc' }]) .select(); //console.log($scope.selectedCIListViewData); //$('#grid-view').empty(); angular.forEach($scope.data, function (value, key) { $scope.imagePath = "~/../content/images/aa/thumbnails/" + value._TinyImageName; var $el = $('
' + '
' + '' + '

' + value._Title + '

').appendTo('#grid-view'); $compile($el)($scope); //$(".sidebar").mCustomScrollbar({ // autoHideScrollbar: true, // //theme:"rounded" //}); }); $scope.scroll(); }, function (error) { // handle errors here console.log(' $scope.IllustrationData = ' + error.statusText); } ); } $scope.scroll = function () { $("html,body").scrollTop(0); } $scope.ApplySearch = function (query) { $scope.filterstring = true; while ($scope.searchCIListViewData.length) { $scope.searchCIListViewData.pop(); } //$('#grid-view').empty(); filtercount = 0; if (typeof (query.selectedbodyregion) !== "undefined" && (query.selectedbodyregion !== null && query.selectedbodyregion !== "")) { filtercount = filtercount + 1; localStorage.setItem("CICurBodyRegion", query.selectedbodyregion); } else { localStorage.setItem("CICurBodyRegion", ''); } if (typeof (query.selectedbodysystem) !== "undefined" && (query.selectedbodysystem !== null && query.selectedbodysystem !== "")) { filtercount = filtercount + 1; localStorage.setItem("CICurBodySystem", query.selectedbodysystem); } else { localStorage.setItem("CICurBodySystem", ''); } if (typeof (query.selectedorientation) !== "undefined" && (query.selectedorientation !== null && query.selectedorientation !== '')) { filtercount = filtercount + 1; localStorage.setItem("CICurOrientation", query.selectedorientation); } else { localStorage.setItem("CICurOrientation", ''); } if (typeof (query.selectedimagetype) !== "undefined" && (query.selectedimagetype !== null && query.selectedimagetype !== '')) { filtercount = filtercount + 1; localStorage.setItem("CICurImageType", query.selectedimagetype); } else { localStorage.setItem("CICurImageType", ''); } if (typeof (query.selectedspecialty) !== "undefined" && (query.selectedspecialty !== null && query.selectedspecialty !== '')) { filtercount = filtercount + 1; localStorage.setItem("CICurSpeciality", query.selectedspecialty); } else { localStorage.setItem("CICurSpeciality", ''); } var promise = DataService.getJson('~/../content/data/json/ci/ci_dat_contentlist.json') promise.then( function (result) { $scope.IllustrationData = result; //$scope.selectedCIListViewData = $scope.IllustrationData.root.CIData; $scope.selectedCIListViewData = new jinqJs() .from($scope.IllustrationData.root.CIData) .orderBy([{ field: '_Title', sort: 'asc' }]) .select(); $('#grid-view').empty(); angular.forEach($scope.selectedCIListViewData, function (value, key) { var selectimg = true; var count = 0; if (typeof (query.selectedbodyregion) !== "undefined" && (query.selectedbodyregion !== null && query.selectedbodyregion !== "")) { var posbodyregion = value._BodyRegion.indexOf((query.selectedbodyregion.trim())); if (posbodyregion > -1) { selectimg = true; count = count + 1; } else { selectimg = false; count = count - 1; } } if (typeof (query.selectedbodysystem) !== "undefined" && (query.selectedbodysystem !== null && query.selectedbodysystem !== "")) { var posbodysystem = value._BodySystem.indexOf(query.selectedbodysystem); if (posbodysystem > -1) { count = count + 1; selectimg = true; } else { selectimg = false; count = count - 1; } } if (typeof (query.selectedorientation) !== "undefined" && (query.selectedorientation !== null && query.selectedorientation !== "")) { var posorientation = value._ViewOrientation.indexOf(query.selectedorientation); if (posorientation > -1) { count = count + 1; selectimg = true; } else { selectimg = false; count = count - 1; } } if (typeof (query.selectedimagetype) !== "undefined" && (query.selectedimagetype !== null && query.selectedimagetype !== "")) { var posimagetype = value._ImageType.indexOf(query.selectedimagetype); if (posimagetype > -1) { count = count + 1; selectimg = true; } else { selectimg = false; count = count - 1; } } if (typeof (query.selectedspecialty) !== "undefined" && (query.selectedspecialty !== null && query.selectedspecialty !== "")) { var posspeciality = value._MedicalSpecialty.indexOf(query.selectedspecialty); if (posspeciality > -1) { count = count + 1; selectimg = true; } else { selectimg = false; count = count - 1; } } if (selectimg === true && count >= filtercount) { $scope.imagePath = "~/../content/images/ci/thumbnails/" + value._ThumbnailImage; var $el = $('
' + '
' + '' + '

' + value._Title + '

').appendTo('#grid-view'); $compile($el)($scope); $(".sidebar").mCustomScrollbar({ autoHideScrollbar: true, //theme:"rounded" }); $scope.searchCIListViewData.push( { "_id": value._id, "_ImageId": value._ImageId, "_Title": value._Title, "_contentImage": value._contentImage, "_ThumbnailImage": value._ThumbnailImage, "_BodySystem": value._BodySystem, "_BodyRegion": value._BodyRegion, "_ViewOrientation": value._ViewOrientation, "_MedicalSpecialty": value._MedicalSpecialty, "_ImageType": value._ImageType, "_Summary": value._Summary }); } }); //Show Error Message in case of gridview if no data is found if ($scope.searchCIListViewData.length == 0) { var $el = $('
No illustration found for the selected search criteria!
').appendTo('#grid-view'); $compile($el)($scope); } }, function (error) { // handle errors here console.log(' $scope.IllustrationData = ' + error.statusText); } ); } }]);