ModuleService.js 5.64 KB
var ATLAS_ANATOMY = 'Atlas Anatomy';
var CLINICAL_ILLUSTRATION = 'Clinical Illustrations';
var CLINICAL_ANIMATION = 'Clinical Animations';
var OpenedModuleItemList = [];
var ModDetail = [];

//module.service( 'Book', [ '$rootScope', function( $rootScope ) {
AIA.service('ModuleService', ['$rootScope', function ($rootScope, DataService) {
    return {
        SaveOpenedModules: function (moduleDetails) {
            ModDetail = moduleDetails;

            OpenedModuleItemList.push("imageId: " + moduleDetails[0]);
            OpenedModuleItemList.push("moduleId:" + moduleDetails[1]);
            OpenedModuleItemList.push("moduleName: " + moduleDetails[2]);


            //var moduleId = moduleDetails.moduleId;
            //OpenedModuleList.push(moduleId);
            //OpenedModuleList.tileViewId = moduleDetails.TileViewId;
            //OpenedModuleList.tileImageName = moduleDetails.imageName;
            //OpenedModuleList.tileImageSRC = moduleDetails.imagePath;

            //moduleData.push($scope.moduleId);
            //moduleData.push(value._Id);
            //moduleData.push(value._ImageId);
            //moduleData.push(value._Title);
            //moduleData.push(value._ImageName);
            //moduleData.push(value._BodySystem);
            //moduleData.push(value._BodyRegion);
            //moduleData.push(value._ViewOrientation);
            //moduleData.push(value._ImageType);
            //moduleData.push(value._TileImageName);    


            console.log('called service');


            this.renderModuleItemById();

        },

        renderModuleItemById: function () {

            var jsonFileForOpenModule;

            if (ModDetail[2] == ATLAS_ANATOMY) {
                this.loadPinData();

            }
            else if (ModDetail[2] == CLINICAL_ANIMATION) {

            }
            else if (ModDetail[3] == CLINICAL_ILLUSTRATION) {

            }

        },
        loadPinData: function () {
            var pinJsonFile = "/content/data/json/aa/aa_pin_data/aa_dat_pindata_" + ModDetail[0] + ".json";
            alert('pinJsonFile: ' + pinJsonFile);
            var promise = DataService.getJson(pinJsonFile);
            promise.then(
                    function (result) {
                        var AtlasAnatomyPinData = result;

                        var data = new jinqJs()
                             .from(AtlasAnatomyPinData.root.Item)
                                                         //.orderBy([{ field: '_Title', sort: 'asc' }])
                                                         .select();

                    })
        },

        loadModuleDataBasedOnModuleName: function (moduleName) {

            alert('loadModuleDataBasedOnModuleName is called');

            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)
            .then(
                      function (result) {
                          var AtlasAnatomyData = result;

                          var data = new jinqJs()
                              .from(AtlasAnatomyData.root.Item)
                                                          .orderBy([{ field: '_Title', sort: 'asc' }])
                                                          .select();

                          

                          angular.forEach(data, function (value, key) {
                              // $rootScope.moduleData = [];
                              //$scope.moduleData.push({ "id": value._Id, "imageID": value._ImageId, "TileName": value._TileImageName, "DivImageTitle": value._Title });
                              //    $scope.moduleData.push(value._ImageId);
                              //     $scope.moduleData.push(value._TileImageName);

                              var ImageName = value._TileImageName;
                              var imagePath = "~/../content/images/aa/thumbnails/" + value._TileImageName;
                              //$scope.TileViewId = value._Id;

                             $rootScope.tileHTML = $('<div id="' + value._Id + '" class="col-sm-3 col-md-3" title = "' + value._Title + '" data-ng-click="openModuleItem()">'
                                  + '<div class="thumbnail" >'
                                             + '<img class="tinyImg" id="' + value._Title + '"ng-src="' + imagePath + '" alt="" title="" >'
                                             + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>');//.appendTo('#grid-view');
                             debugger;
                          })

                          //if ($rootScope.tileHTML != undefined) {
                          //    alert('come before broadcast')
                          //    $rootScope.$broadcast('SendTileDataEvent', true);

                          //}

                      },
                      function (error) {
                          // handle errors here
                          console.log(' $rootScope.TermNumberData= ' + error.statusText);
                      }
         )
        }
    }



}]);