unserver-unify
Version:
127 lines (124 loc) • 4.17 kB
JavaScript
'use strict';
angular.module('bamboo.course')
.controller('CoursewareCtrl', function($scope, CourseApi, ApiService, loginService, CommonService, AppConfig, $stateParams, smoothScroll, Lightbox, $sce) {
$scope.id = this.id = $stateParams.id;
this.cid= $stateParams.cid;
this.config = AppConfig;
$scope.tabs = 'wiki';
$scope.mode = 'view';
$scope.childWikiCount = 0;
$scope.submitted = false;
this.wiki = {};
this.user = {};
this.mvsubject = {};
var _self = this;
this.publicUrl = ApiService.SHOST + '/public/images/';
var _pages;
function getInfo() {
CourseApi.getInfo(_self.id, function(result) {
_self.mvsubject = result;
_self.initImages();
_self.initVideos();
$scope.description = _self.mvsubject.description;
$scope.pageinfo = _self.mvsubject.pageinfo;
$scope.name = _self.mvsubject.name;
$scope.photo = ApiService.SHOST + '/lcourse/' + _self.cid + '/download/' + _self.mvsubject.photo;
_pages = _self.mvsubject.pages;
//console.log(self.videos);
var _wk = [];
var mindex = 0;
var sindex = 0;
for (var i = 0; i < _pages.length; i+=1) {
var page = _pages[i];
if (!page.level || page.level == 0) {
mindex+=1;
sindex = 0;
} else {
sindex+=1;
}
var idx = '' + mindex;
if (sindex > 0) {
idx += '-' + sindex;
}
//console.log(page.content);
page.content=page.content.replace('http://www.youtube.com','//www.youtube.com');
// console.log(page.content.indexOf('http://www.youtube.com'));
page.content=page.content.replace('edushare.s3-website-ap-southeast-1.amazonaws.com','s3-ap-southeast-1.amazonaws.com/edushare');
page.content=page.content.replace('edushare.s3-website-ap-southeast-1.amazonaws.com','s3-ap-southeast-1.amazonaws.com/edushare');
// console.log(page.content);
var info = {
title: page.title,
content: page.content,
level: page.level,
idx: idx,
};
_wk.push(info);
}
$scope.wikis = _wk;
_self.user = loginService.user;
//console.log(_self.user);
});
}
this.scrollTo = function(id) {
smoothScroll(document.getElementById('content_' + id));
};
this.initImages = function() {
var images = [];
if (this.mvsubject.imgs && this.mvsubject.imgs.length > 0) {
var wikiurl = ApiService.PSURL + '/wiki/' + _self.id + '/';
var idx = 0;
for (var i = 0; i < this.mvsubject.imgs.length; i+=1) {
var img = this.mvsubject.imgs[i];
images.push({
file: img.file,
caption: img.des,
url: wikiurl + img.file
});
}
}
this.images = images;
};
this.initVideos = function() {
var videos = [];
if (this.mvsubject.videos && this.mvsubject.videos.length > 0) {
var wikiurl = ApiService.PSURL + '/wiki/' + _self.id + '/';
var idx = 0;
for (var i = 0; i < this.mvsubject.videos.length; i+=1) {
var video = this.mvsubject.videos[i];
videos.push({
file: video.file,
type: video.type,
caption: video.des,
url: $sce.trustAsResourceUrl(wikiurl + encodeURI(video.file))
});
}
}
this.videos = videos;
};
$scope.showImage = function(id, name) {
if (_self.images && _self.images.length > 0) {
var idx = 0;
for (var i = 0; i < _self.images.length; i+=1) {
if (name == _self.images[i].file) {
idx = i;
}
}
Lightbox.openModal(_self.images, idx);
}
};
$scope.showVideo = function(id, name) {
if (_self.videos && _self.videos.length > 0) {
var idx = 0;
for (var i = 0; i < _self.videos.length; i+=1) {
if (name == _self.videos[i].file) {
idx = i;
}
}
CommonService.showVideo(_self.videos, idx);
}
};
$scope.showWiki = function(key) {
CommonService.showWiki(key);
};
getInfo();
});