CurrBuildController.js 8.98 KB
AIA.controller("CurrBuildController", ["$scope", "$rootScope", "pages", "$log", "Modules", "$http", "$compile", "$location",
function ($scope, $rootScope, pages, log, Modules, $http, $compile, $location) {

    // $rootScope.currentActiveModuleTitle = pages[6].name;
    $scope.showTabButton = false;
    $scope.listCurriculumBuilder = null;
    $scope.dataPopup = null;
    $scope.countLeftlist;
    $scope.countRightlist;
    $scope.IsVisible = function () {
        $scope.scroll();

    }

    $scope.scroll = function () {
        // $window.scrollTo(0, 0);
        $("html,body").scrollTop(0);
        //alert("scroll");
    }
    //load json data
    $scope.loadCurriculumBuiderData = function () {
       
        if ($rootScope.refreshcheck == null) {
            $location.path('/');
        }
        //get current path
        var currentURL = $location.path();
        var selectedModuleName = '';
        //set module title
        angular.forEach($rootScope.userModules, function (value, key) {
            if (value.slug === currentURL.replace('/', '')) {
                selectedModuleName = value.name;
            }
            $rootScope.currentActiveModuleTitle = selectedModuleName;
        })

        //get current path
        var currentURL = $location.path();

        $http({ method: 'GET', url: 'content/data/json/cb/cb_list_content.json' }).success(function (data) {

            $scope.listCurriculumBuilder = data;
            //load default body view list 
            $scope.getCBViewList();
        })
        .error(function (data, status, headers, config) {
            console.log(data);
        });
    }
    //get CB body view list
    $scope.getCBViewList = function ($event) {

        $('#leftBodyViewList').empty();
        $scope.countLeftlist = Object.keys($scope.listCurriculumBuilder.slideshows.slideshow).length / 2;
        $scope.loadleftBodyViewList = new jinqJs()
        .from($scope.listCurriculumBuilder.slideshows.slideshow)
        .select();
        for (var i = 0; i < $scope.countLeftlist; i++) {
            console.log($scope.listCurriculumBuilder.slideshows.slideshow[i]._label);
            //alert($scope.listCurriculumBuilder.slideshows.slideshow[i]._label);

            console.log($scope.listCurriculumBuilder.slideshows.slideshow[i]._filename);
            var $el = $('<li class="list-group-item" ><a  href="#" ng-click="loadSlideShowXmldata($event)" id="' + $scope.listCurriculumBuilder.slideshows.slideshow[i]._filename + '"><i class="fa fa-check"></i>' + $scope.listCurriculumBuilder.slideshows.slideshow[i]._label + '</a></li>').appendTo('#leftBodyViewList');
            $compile($el)($scope);
        }

        $scope.countRightlist = Object.keys($scope.listCurriculumBuilder.slideshows.slideshow).length;
        for (var i = $scope.countLeftlist; i < $scope.countRightlist; i++) {
            console.log($scope.listCurriculumBuilder.slideshows.slideshow[i]._label);
            var $el1 = $('<li class="list-group-item"><a href="#" ng-click="loadSlideShowXmldata($event)" id="' + $scope.listCurriculumBuilder.slideshows.slideshow[i]._filename + '"><i class="fa fa-check"></i>' + $scope.listCurriculumBuilder.slideshows.slideshow[i]._label + '</a></li>').appendTo('#rightBodyViewList');
            $compile($el1)($scope);
        }

    }

    $scope.loadSlideShowXmldata = function (e) {
        //$rootScope.fileNames = e.target.id;
        $scope.fileName = e.target.id.split('.');
        $('#modal-CurBuilder').css("display", "block");
        $("#CurBuilderbackground").css("display", "block");
        $http({ method: 'GET', url: 'content/data/json/cb/SlideShow/json/' + $scope.fileName[0] + '.json' }).success(function (data) {
           
            $rootScope.cbJsonData = data;
            $scope.getCBsummary();
        })
       .error(function (data, status, headers, config) {
           console.log(data);
       });
    }
    $scope.getCBsummary = function ()
    {
        $rootScope.summary = $rootScope.cbJsonData.slideshow.content.element[0].summary;
      
    }
  
    $scope.closeCurBulderModal = function () {
        $('#modal-CurBuilder').css("display", "none");
        $("#CurBuilderbackground").css("display", "none");
    }
    $scope.openCurriculumDetail = function ()
    {
        $rootScope.structure = $rootScope.cbJsonData.slideshow.presentation.structure.structure;
        $rootScope.stru = $rootScope.cbJsonData.slideshow.presentation.structure;
        $rootScope.cbTreeFirstLabel = $rootScope.cbJsonData.slideshow.presentation.structure._label;
        $rootScope.cbTreeFirstID = $rootScope.cbJsonData.slideshow.presentation.structure._id;
        $location.url("/curriculum-builder-detail");
    }
   
    $scope.openCBImageJsPanel = function()
    {
        var jsContentURL = 'app/views/CBuild/curriculum-builder-jspanel.html';
        $.jsPanel({
                    id: 'CBImagePanel',
                    selector: '.CBBodyView',
                    theme: 'success',
                    currentController: 'CurrBuildController',
                    parentSlug: 'curriculum-builder',
                    ajax: {
                        url: jsContentURL
                    },
                    title: "curbulerd",

                    position: {
                        top: 70,
                        left: 1,
                    },

                    //size: { width: $(window).outerWidth() - 10, height: $(window).outerHeight() - 125 },

                });
    }

   
    $scope.openToolBoxJsPanel = function (nodeid)
    {


    }
    function traverse(o, current_id) {

        for (var i in o) {

            if (o[i] !== null && typeof (o[i]) == "object") {
                if (o[i]._id == current_id) {
                    $scope.upDateJsonObj = o;
                }
                traverse(o[i], current_id);
            }

        }
    }
    function traverse_addSlide(o, current_id)
    {
        for (var i in o) {

            if (o[i] !== null && typeof (o[i]) == "object") {
                if (o[i]._id == current_id) {
                    $scope.upDateJsonObj_addSlide = o[i];
                }
                traverse_addSlide(o[i], current_id);
            }

        }
    }
    $scope.moveUP = function (currentid) {
        
        
        traverse($rootScope.stru, currentid);
       
        console.log("upDateJsonObj Before" + JSON.stringify($rootScope.stru));

   
        for (var j = 0; j < $scope.upDateJsonObj.length; j++) {

            if (($scope.upDateJsonObj[j]._id == currentid) && ($scope.upDateJsonObj[j - 1] != undefined)) {       
                var key = $scope.upDateJsonObj[j];
                $scope.upDateJsonObj[j] = $scope.upDateJsonObj[j - 1];
                $scope.upDateJsonObj[j - 1] = key;
            }

        }
      

     

    }

   

    $scope.DeleteSlide = function (currentid)
    {
        traverse($rootScope.stru, currentid);
        for (var j = 0; j < $scope.upDateJsonObj.length; j++) {

            if (($scope.upDateJsonObj[j]._id == currentid)) {
                $scope.upDateJsonObj.splice(j, 1);
            }

        }
      //  prune($rootScope.stru, currentid);
     //   alert("After" + JSON.stringify($rootScope.stru));

    }
    $scope.addSection = function (currentid, AddSecionId)
    {
        alert("currentid" + currentid);
        traverse_addSlide($rootScope.stru, currentid);


        $scope.upDateJsonObj_addSlide['structure'].push(
           {
            "structure": [
              {
                  "_label": "new Import Curriculum",
                  "_id": "51516C76-78F4-0D67-6B43-394B4168CF7C",
                  "_isRoot": "false",
                  "_isBranch": "false",
                  "_isLocked": "false"
              }             
            ],
               "_label": "new Import & Export Curriculum",
               "_id": AddSecionId,
               "_isRoot": "false",
               "_isBranch": "true",
               "_isLocked": "false"
           }
        );

        alert(console.log(JSON.stringify($scope.upDateJsonObj_addSlide)));
    }
    $scope.addSlide = function (currentid)
    {
        traverse_addSlide($rootScope.stru, currentid);

       
        $scope.upDateJsonObj_addSlide['structure'].push({
                "_label": "Ayush",
                "_id": "CBA083FD-DD9E-7E91-4BB93F53B3B0",
                "_isRoot": "false",
                "_isBranch": "false",
                "_isLocked": "false"
            });

        alert(console.log(JSON.stringify($scope.upDateJsonObj_addSlide)));
    }
    
    $scope.moveDown = function (currentid) {
       
       
        traverse($rootScope.stru, currentid);

        for (var j = 0; j < $scope.upDateJsonObj.length; j++) {
           
            if (($scope.upDateJsonObj[j]._id == currentid) && ($scope.upDateJsonObj[j + 1] != undefined)) {
                var key1 = $scope.upDateJsonObj[j];
                $scope.upDateJsonObj[j] = $scope.upDateJsonObj[j + 1];
                $scope.upDateJsonObj[j + 1] = key1;
                break;
            }

        }


    }
    $(function () {

        $("#modal-CurBuilder").draggable();
    });

}]



);