UNPKG

unserver-unify

Version:

127 lines (124 loc) 4.17 kB
'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(); });