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

AIA.service("ModuleService", function ($http, $q, DataService) {

    var deferred = $q.defer();

    this.loadModuleDataBasedOnModuleName = function (moduleName) {
        var tileHtml;

        
        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) {
                      var AtlasAnatomyData = result;

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

                      var tileHTML;

                      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;

                          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');
                      })
                      var deferred = $q.defer();
                      return tileHTML
                          .then(function (response) {
                              // promise is fulfilled
                              //debugger;
                              deferred.resolve(response.data);
                              // promise is returned
                              return deferred.promise;
                          }, function (response) {
                              // the following line rejects the promise 
                              deferred.reject(response);
                              // promise is returned
                              return deferred.promise;
                          })
                      ;
                  }
        )}
});