wire up show source service to button

This commit is contained in:
lawson89
2014-08-25 09:47:57 -04:00
parent 48c31458aa
commit 53b6c16fb6
2 changed files with 99 additions and 34 deletions

View File

@ -6,7 +6,7 @@
/** Menu Controller
* prepares and updates menu topic items for the view
*/
goat.controller('goatLesson', function($scope, $http) {
goat.controller('goatLesson', function($scope, $http, $modal, $log) {
//TODO: implement via separate promise and use config for menu
$http({method: 'GET', url: 'service/lessonmenu.mvc'}).then(
function(menuData) {
@ -22,42 +22,75 @@ goat.controller('goatLesson', function($scope, $http) {
console.log(url + ' was passed in');
// use jquery to render lesson content to div
loadLessonContent(url).then(
function(reply) {
$("#lesson_content").html(reply);
// hook forms
makeFormsAjax();
$('#lessonTitle').text(extractLessonTitle($(reply)));
// adjust menu to lessonContent size if necssary
if ($('div.panel-body').height() > 400) {
$('#leftside-navigation').height($(window).height());
}
}
function(reply) {
$("#lesson_content").html(reply);
// hook forms
makeFormsAjax();
$('#lessonTitle').text(extractLessonTitle($(reply)));
// adjust menu to lessonContent size if necssary
if ($('div.panel-body').height() > 400) {
$('#leftside-navigation').height($(window).height());
}
}
);
console.log("Updating Lesson Source...");
$http.get('service/source.mvc').success( function(data){
/*
console.log("Updating Lesson Source...");
$http.get('service/source.mvc').success(function(data) {
$scope.lessonSource = data.source;
}).error(function(data) {
$scope.lessonSource = data.message;
console.log("LessonSource = '" + data.message + "'");
});
*/
};
/*
* Function to load lesson source
* @returns {undefined}
*/
$scope.showSource = function(size) {
// fetch source from web service
$http.get('service/source.mvc').success(function(data) {
$scope.lessonSource = data.source;
}).error( function(data){
$scope.openSourceModal(size);
}).error(function(data) {
$scope.lessonSource = data.message;
console.log("LessonSource = '" + data.message + "'");
$scope.openSourceModal(size);
})
};
})
.animation('.slideDown', function() {
var NgHideClassName = 'ng-hide';
return {
beforeAddClass: function(element, className, done) {
if (className === NgHideClassName) {
$(element).slideUp(done);
}
},
removeClass: function(element, className, done) {
if (className === NgHideClassName) {
$(element).hide().slideDown(done);
}
}
$scope.openSourceModal = function(size) {
var modalInstance = $modal.open({
templateUrl: 'showSource.html',
controller: showSourceController,
size: size,
resolve: {
lessonSource: function() {
return $scope.lessonSource;
}
}
});
modalInstance.result.then(function() {
$log.info('Modal dismissed at: ' + new Date());
});
}
}).animation('.slideDown', function() {
var NgHideClassName = 'ng-hide';
return {
beforeAddClass: function(element, className, done) {
if (className === NgHideClassName) {
$(element).slideUp(done);
}
},
removeClass: function(element, className, done) {
if (className === NgHideClassName) {
$(element).hide().slideDown(done);
}
}
}
});
//TODO add recursion to handle arr[i].children objects
@ -80,12 +113,27 @@ goat.addMenuClasses = function(arr) {
function loadLessonContent(_url) {
//TODO: switch to $http (angular) later
//return $http({method:'GET', url: _url});
return $.get(_url,{},null,"html");
return $.get(_url, {}, null, "html");
}
function loadMenuData() {
return $http({method: 'GET', url: 'service/lessonmenu.mvc'});
}
/* Controllers for modal instances */
var showSourceController = function($scope, $modalInstance, lessonSource) {
$scope.lessonSource = lessonSource;
$scope.ok = function() {
$modalInstance.close();
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};