unserver-unify
Version:
602 lines (601 loc) • 25.5 kB
HTML
<!-- Original code -->
<div class="tag-box theme_red row" style="padding-top:0; padding-bottom:0;">
<div class="row" ng-if="ctrl.course.photo || ctrl.course.video || ctrl.course.youtube">
<div class="media_container">
<!-- show photo if don't have video -->
<img ng-if="!ctrl.course.video && !ctrl.course.youtube" ng-src="{{ctrl.course.photo ? ctrl.coursePhotoUrl + ctrl.course.photo : ctrl.imgdefault }}" style="width:100%" title="{{ ctrl.course.name }}"/>
<!-- show video if video available-->
<div class="videogular-container" ng-if="ctrl.course.video">
<videogular vg-theme="ctrl.outlinemp4config.theme">
<vg-media vg-src="ctrl.outlinemp4config.sources">
</vg-media>
<vg-controls vg-autohide="true" vg-autohide-time="1000">
<vg-play-pause-button>
</vg-play-pause-button>
<vg-time-display>
{{ currentTime | date:'mm:ss' }}
</vg-time-display>
<vg-scrub-bar>
<vg-scrub-bar-current-time>
</vg-scrub-bar-current-time>
</vg-scrub-bar>
<vg-time-display>
{{ totalTime | date:'mm:ss' }}
</vg-time-display>
<vg-volume>
<vg-mute-button>
</vg-mute-button>
<vg-volume-bar>
</vg-volume-bar>
</vg-volume>
<vg-fullscreen-button>
</vg-fullscreen-button>
</vg-controls>
<!--vg-poster vg-url='ctrl.config.plugins.poster.url'></vg-poster-->
<vg-buffering>
</vg-buffering>
<vg-overlay-play>
</vg-overlay-play>
</videogular>
</div>
<div class="videoWrapper" ng-if="ctrl.course.youtube">
<iframe ng-src="{{youtubeUrl}}">
</iframe>
<!-- <youtube-video video-url="youtubeUrl"></youtube-video> -->
</div>
</div>
</div>
<div class="row">
<ul class="middle_tab crse_tab" ng-init="showTab = 0">
<li class="active" ng-class="{'active': showTab == 0}" style="">
<a class="btn" ng-click="showTab=0">
{{ {eng:'Description', chn:'课程介绍'}| trans}}
</a>
</li>
<li ng-class="{'active': showTab == 1}" style="">
<a class="btn" ng-click="showTab=1">
{{ {eng:'Content', chn:'课程内容'}| trans}} ({{ctrl.course.contents.length || 0}})
</a>
</li>
<li ng-class="{'active': showTab == 3}" style="">
<a class="btn" ng-click="showTab=3">
{{'Exam'| trans}} ({{ctrl.course.contents.length || 0}})
</a>
</li>
<li ng-class="{'active': showTab == 2}" style="">
<a class="btn" ng-click="showTab=2">
{{'Recommended' | translate}} ({{ ctrl.relatedcourses.length || 0}})
</a>
</li>
</ul>
</div>
</div>
<div class="clearfix">
</div>
<!-- Tab 1 Starts -->
<div ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab == '0'}">
<div class="tag-box row" style="margin-bottom: 20px;">
<div class="row">
<div class="forum">
<div class="content_heading_sec">
<div class="margin-bottom-10 blog-info" style="border:none;">
<strong>
{{ ctrl.course.name }}
</strong>
<div class="clearfix">
</div>
<span class="date_sml_aln" title="Submit">
{{ctrl.course.update||ctrl.course.created | date: 'yyyy-MM-dd'}}
</span>
<span>
<i class="fa fa-eye">
</i>
{{ctrl.visitercounter}}
</span>
<button class="btn btn-xs btn-info" ng-click="ctrl.review()">
{{'Review' | translate}}
</button>
<mybookmark ng-if="!currentSchool.apiOptions.hdbftp">
</mybookmark>
<div class="clearfix">
</div>
<span class="avrg_aln" ng-if="ctrl.inspectorFlag">
<div class="average" ng-if="averageRating">
<average-star-rating max="5" rating-value="averageRating">
</average-star-rating>
<span>
{{averageRating}}/5
</span>
<span class="list_reviews ng-binding">
<a ng-click="ctrl.getAssessmentResult()">
({{ctrl.course.ratingcounter}} {{'reviews'|translate}})
</a>
</span>
</div>
</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="pull-right" ng-if="ctrl.course.assessment">
</div>
<div class="tag-box tag-box-v2">
<div class="inner_content unformat" ng-model="ctrl.course.detail" ta-bind="">
</div>
<div ng-if="!ctrl.course.detail">
<img ng-src="{{ctrl.course.photo ? ctrl.coursePhotoUrl + ctrl.course.photo : ctrl.imgdefault }}" style="width:100%" title="{{ ctrl.course.name }}"/>
</div>
</div>
</div>
</div>
<div class="row">
<!--session-table-list courseid="ctrl.id" pageitemcount="5" buildingflag="true"></session-table-list -->
<div ng-include="'app/course/mobilehomerelatedcourse.html'">
</div>
<div class="margin-bottom-20" ng-if="ctrl.course.editors&&ctrl.course.editors.length>0">
<div class="headline">
<h4 translate="course.teachers">
Teachers
</h4>
</div>
<div class="teacher_container">
<course-teachers-component divclass1="col-md-4 col-xs-3 no-padding" divclass2="col-md-8 col-xs-9 padding-left-0" h3style='{"margin-top":"0px"}' editors="ctrl.course.editors">
</course-teachers-component>
</div>
</div>
</div>
<div class="row" style="margin-top:20px;">
<div class="margin-bottom-30">
<!-- New Style Starts -->
<div class="profile">
<div class="panel-heading overflow-h">
<h2 class="panel-title heading-sm pull-left">
<i class="fa fa-comments">
</i>
{{'Leave Your Comments' | translate }}
</h2>
</div>
<div class="panel-body white-bg margin-bottom-30">
<div class="media media-v2">
<a class="pull-left" href="#">
<img class="media-object rounded-x" height="80" ng-src="{{ ctrl.profileImg }}" width="80"/>
</a>
<div class="media-body">
<textarea class="form-control" name="content" ng-model="ctrl.commentscontent" placeholder="{{'Write your comments here' | translate }}..." required="" rows="5">
</textarea>
<div class="clearfix margin-bottom-10">
</div>
<button class="btn btn-u" ng-click="ctrl.sendComment()" ng-if="ctrl.commentscontent&&ctrl.commentscontent.length>1" style="padding-left:30px; padding-right:30px;" translate="">
Submit
</button>
</div>
</div>
</div>
<div class="panel-heading overflow-h" ng-if="ctrl.commentscount>0">
<h2 class="panel-title heading-sm pull-left">
<i class="fa fa-comments">
</i>
{{'Users Comments' | translate }}
<span style="color:#337ab7;">
({{ctrl.commentscount}})
</span>
</h2>
</div>
<div class="panel-body white-bg" ng-if="ctrl.commentscount>0">
<div class="media media-v2" ng-repeat="topic in ctrl.coursetopics">
<a class="pull-left" ui-sref="index.setting.profile({ id: topic.author.loginname ,cs:getCheckSum(topic.author.loginname)})">
<img class="media-object rounded-x img_res_adj" height="80" ng-src="{{ topic.avatar_url }}" title="{{ topic.authorname }}" width="80"/>
</a>
<div class="media-body">
<h4 class="media-heading">
<strong>
<a ui-sref="index.setting.profile({ id: topic.author.loginname ,cs:getCheckSum(topic.author.loginname)})">
{{ topic.author.fullname }}
</a>
</strong>
@{{ topic.author.loginname }}
<small>
{{ topic.create_at | date: 'short' }}
</small>
<a class="pull-right color-red" ng-click="ctrl.delete(topic)" ng-if="loginService.user&&loginService.user.is_admin||loginService.user.grole=='admin'" style="margin-top:15px;">
<i class="fa fa-remove expand-list rounded-x">
</i>
</a>
</h4>
<p style="margin-right: 30px;">
{{topic.content}}
</p>
</div>
</div>
<button class="btn btn-info btn-block" ng-click="ctrl.getMore()" ng-if="ctrl.coursetopics.length<ctrl.commentscount" translate="">
More +
</button>
</div>
</div>
<!-- New Style Ends -->
</div>
</div>
</div>
<!-- Tab 1 Ends -->
<!-- Tab 2 Starts -->
<div class="col-xs-12 no-padding course_content" ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab == '1'}">
<div class="margin-bottom-10 row">
<ul class="profile" ng-if="!ctrl.course.singlesection">
<li class="profile-post {{ctrl.getlistcolor($index,item.level)}}" ng-class="{'second-level': item.level, '': !item.level, 'disable':item.disable}" ng-repeat="item in tablelist">
<i class="fa fa-lock" tooltip-placement="top-right" uib-tooltip="{{'yet to start'|| translate}}">
</i>
<a class="news-title" ng-class="{'disable':item.disable}" ng-if="item.id" ui-sref="index.courses.course.section.video({ id: item.id })">
<span class="profile-post-numb">
{{ item.idx }}
</span>
<div class="profile-post-in">
<h3 class="heading-xs">
{{ item.title }}
</h3>
<p>
{{item.description ? item.description : item.title}}
</p>
</div>
</a>
<div ng-if="!item.id">
<span class="profile-post-numb">
{{ item.idx }}
</span>
<div class="profile-post-in">
<h3 class="heading-xs">
{{ item.title }}
</h3>
<p>
{{item.description ? item.description : item.title}}
</p>
</div>
</div>
</li>
<li ng-if="tablelist.length <= 0">
{{ {eng:'No content', chn:'未添加课程内容'}|trans }}
</li>
</ul>
<a ng-if="ctrl.course.singlesection" ui-sref="index.courses.course.section.video({ id: ctrl.course.contents[0].id })">
<ul class="profile">
<li class="profile-post {{ctrl.getlistcolor($index,item.level)}}" ng-class="{'second-level': item.level, '': !item.level}" ng-repeat="item in tablelist">
<span class="profile-post-numb">
{{ item.idx }}
</span>
<div class="profile-post-in">
<h3 class="heading-xs">
{{ item.title }}
</h3>
<p>
{{item.description ? item.description : item.title}}
</p>
</div>
<div ng-if="!item.id">
<span class="profile-post-numb">
{{ item.idx }}
</span>
<div class="profile-post-in">
<h3 class="heading-xs">
{{ item.title }}
</h3>
<p>
{{item.description ? item.description : item.title}}
</p>
</div>
</div>
</li>
</ul>
</a>
<div class="clearfix">
</div>
</div>
<div class="row" ng-if="assignmentitems.length > 0">
<div class="headline">
<h4 translate="">
Assignment
</h4>
</div>
<div class="panel panel-body tab-pane">
<div class="table-responsive" style="padding-top:5px;">
<table class="table table-hover tbl_aln font_dec" st-safe-src="assignmentitems" st-table="displayCollection">
<tbody>
<tr>
<th translate="myspace.exam.assign.name">
Name
</th>
<th translate="">
Status
</th>
</tr>
<tr ng-repeat="exam in assignmentitems | filter : { donecount : q}">
<td style="width: 80%">
<i class="fa fa-lock" ng-if="!exam.publish">
</i>
<i class="fa fa-unlock" ng-if="exam.publish">
</i>
<a ng-if="exam.publish" ui-sref="index.myspace.assignments.detail({ aid: exam._id })">
<strong>
{{ exam.title }}
</strong>
</a>
<strong ng-if="!exam.publish">
{{ exam.title }}
</strong>
</td>
<td style="width: 20%">
<span class="btn-u btn-u-red btn-xs" ng-if="!exam.donecounter&&!exam.commentscounter" translate="">
OUTSTANDING
</span>
<span class="btn-u btn-u-orange btn-xs" ng-if="exam.donecounter && !exam.commentscounter ">
{{'REVIEWING' | translate}}
</span>
<span class="btn-u btn-u-blue btn-xs" ng-if="exam.commentscounter">
{{ {eng:'COMPLETED', chn:'已批阅'}| trans}}
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="panel panel-body" ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab1 == 'completed'}">
<div class="table-responsive" style="padding-top:5px;">
<table class="table table-hover tbl_aln font_dec" st-pipe="ctrl.getexamitems" st-table="ctrl.displayedCollection">
<tbody>
<tr>
<th translate="">
Name
</th>
<th translate="">
Action
</th>
</tr>
<tr ng-if="ctrl.completedCourse.length == 0">
<td colspan="2">
<div class="no_record" translate="">
No Record
</div>
</td>
</tr>
<tr ng-if="exam.publish" ng-repeat="exam in ctrl.completedCourse">
<td width="80%">
<a examid="{{exam._id}}" ng-if="exam.mycount < exam.retries || !exam.mycount || !exam.retries || exam.retries==0" redirect-to-exam="" style="float:left; min-height: 30px; margin-right: 5px;" target="_blank">
<strong>
{{ exam.name }}
</strong>
</a>
<strong ng-if="exam.mycount >= exam.retries&&exam.retries!=0">
{{ exam.name }}
</strong>
<p class="name_ellipsis2">
{{exam.description}}
</p>
</td>
<td class="relative" width="20%">
<button class="btn-u btn-u-green btn-sm" examid="{{exam._id}}" ng-disabled="{{ (exam.mycount >= exam.retries&&exam.retries!=0)||exam.disable }}" redirect-to-exam="" style="border-radius: 4px !important; position: absolute; left:10px; bottom:10px;" target="_blank" >
{{'Take an exam' | translate}}
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Tab 2 Ends -->
<div ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab == '3'}">
<div class="row">
<ul class="middle_tab" ng-init="showTab1 = 'taken'">
<li class="active" ng-class="{'active': showTab1 == 'taken'}" ng-click="showTab1 = 'taken'">
<a translate="">
Outstanding
</a>
</li>
<li ng-class="{'active': showTab1 == 'completed'}" ng-click="showTab1 = 'completed'">
<a translate="">
Completed
</a>
</li>
</ul>
<div class="panel panel-body profile-edit tab-pane fade" ng-class="{'in active':showTab1 == 'taken'}">
<div class="table-responsive" style="padding-top:5px;">
<table class="table table-hover tbl_aln font_dec" st-pipe="ctrl.getexamitems" st-table="ctrl.displayedCollection">
<tbody>
<tr>
<th translate="">
Name
</th>
<th translate="">
Action
</th>
</tr>
<tr ng-if="ctrl.uncompletedCourse.length == 0">
<td colspan="2">
<div class="no_record" translate="">
No Record
</div>
</td>
</tr>
<tr ng-if="exam.publish" ng-repeat="exam in ctrl.uncompletedCourse">
<td width="80%">
<div style="float:left; min-height: 30px;">
<a examid="{{exam._id}}" ng-if="exam.mycount < exam.retries || !exam.mycount || !exam.retries || exam.retries==0" redirect-to-exam="" style="float:left; margin-right: 5px;" target="_blank">
<strong>
{{ exam.name }}
</strong>
</a>
<strong ng-if="exam.mycount >= exam.retries&&exam.retries!=0">
{{ exam.name }}
</strong>
<div class="clearfix">
</div>
<p class="name_ellipsis2">
{{exam.description}}
</p>
</div>
</td>
<td class="relative" width="20%">
<button class="btn-u btn-u-green btn-sm" examid="{{exam._id}}" ng-disabled="{{ (exam.mycount >= exam.retries&&exam.retries!=0)||exam.disable }}" redirect-to-exam="" style="border-radius: 4px !important; position: absolute; left:10px; bottom:10px;" target="_blank">
{{'Take an exam' | translate}}
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="panel panel-body" ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab1 == 'completed'}">
<div class="table-responsive" style="padding-top:5px;">
<table class="table table-hover tbl_aln font_dec" st-pipe="ctrl.getexamitems" st-table="ctrl.displayedCollection">
<tbody>
<tr>
<th translate="">
Name
</th>
<th translate="">
Action
</th>
</tr>
<tr ng-if="ctrl.completedCourse.length == 0">
<td colspan="2">
<div class="no_record" translate="">
No Record
</div>
</td>
</tr>
<tr ng-if="exam.publish" ng-repeat="exam in ctrl.completedCourse">
<td width="80%">
<a examid="{{exam._id}}" ng-if="exam.mycount < exam.retries || !exam.mycount || !exam.retries || exam.retries==0" redirect-to-exam="" style="float:left; min-height: 30px; margin-right: 5px;" target="_blank">
<strong>
{{ exam.name }}
</strong>
</a>
<strong ng-if="exam.mycount >= exam.retries&&exam.retries!=0">
{{ exam.mycount }}
</strong>
<p class="name_ellipsis2">
{{exam.description}}
</p>
</td>
<td class="relative" width="20%">
<button class="btn-u btn-u-green btn-sm" examid="{{exam._id}}" ng-disabled="{{ (exam.mycount >= exam.retries&&exam.retries!=0)||exam.disable }}" redirect-to-exam="" style="border-radius: 4px !important; position: absolute; left:10px; bottom:10px;" target="_blank" >
{{'Take an exam' | translate}}
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Tab 3 Starts -->
<div ng-class="{'profile-edit tab-pane fade':true, 'in active':showTab == '2'}">
<div class="row margin-bottom-20">
<div class="no_record" ng-if="ctrl.relatedcourses.length <= 0" translate="">
No related course
</div>
<div class="row">
<div class="col-xs-12" ng-repeat="item in ctrl.relatedcourses">
<div class="thumbnails img_hgt thumbnail-style thumbnail-kenburn overflow-hidden relative">
<div class="thumbnail-img">
<div class="overflow-hidden text-center">
<a ui-sref="index.courses.info({ cid: item._id,cs:getCheckSum(item._id) })">
<img alt="{{ item.name }}" class="img-responsive" ng-src="{{item.photo? ctrl.courseURL+item._id +'/'+ item.photo : ctrl.imgdefault}}" title="{{ item.name }}"/>
</a>
<!--a ng-if="!ctrl.inspectorFlag && item.privacy!='public' && (!item.did || ctrl.mydepartments.indexOf(item.did) == -1)" class="btn-more prvt_btn hover-effect" ui-sref="index.courses.info({ cid: item._id })">{{ {eng:'Private ...', chn:'私有课程...'}|trans }}</a>
<a ng-if=" ctrl.inspectorFlag || (item.did && ctrl.mydepartments.indexOf(item.did) > -1) || item.privacy=='public'" class="btn-more hover-effect" ui-sref="index.courses.course({ cid: item._id })">{{'More'|translate}} +</a-->
</div>
</div>
<div class="mbl_list_right">
<div class="caption overflow-hidden clst hgt_22" style="height:22px">
<h3 style="line-height:14px; margin-top:0px;">
<a class="hover-effect" style="font-size:14px !important; line-height:14px; " ui-sref="index.courses.info({ cid: item._id,cs:getCheckSum(item._id) })">
{{ item.name }}
</a>
</h3>
<div class="list_rating">
<span class="average dummy_avg" ng-if="!item.rating">
<div class="average-rating-container">
<ul class="rating background" style="top:0;">
<li class="star">
<i class="fa fa-star">
</i>
</li>
<li class="star">
<i class="fa fa-star">
</i>
</li>
<li class="star">
<i class="fa fa-star">
</i>
</li>
<li class="star">
<i class="fa fa-star">
</i>
</li>
<li class="star">
<i class="fa fa-star">
</i>
</li>
</ul>
</div>
</span>
<span class="average" ng-if="item.rating">
<average-star-rating max="5" rating-value="item.rating">
</average-star-rating>
<span ng-if="item.rating">
{{item.rating.toString().substring(0,3)}}/5
</span>
</span>
<!--span class="list_reviews"> ({{item.ratingcounter||0}} reviews)</span-->
</div>
</div>
<div class="clearfix">
</div>
<ul class="list-inline text-left" style="border-top:solid 1px white;padding-top: 5px; margin-bottom: 0px;">
<li class="padding-left-0">
<span style="color:#555">
{{item.creatorfullname||item.creater}}
</span>
</li>
<li>
<!-- display rating if any -->
</li>
<li class="pull-right" ng-if="ctrl.compareDate(item.created)" style="padding-right:10px;">
<img src="assets/images/new.gif"/>
</li>
<li class="pull-right">
<i class="fa fa-eye">
</i>
<span style="color:#555">
{{item.visitercounter}}
</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Tab 3 Ends -->
<div class="footer_text margin-bottom-40">
{{'Powered by' | translate }}
<a class="color" href="http://bamboosys.com/" target="_blanck">
{{'BambooCloud' | translate }}
<sup>
®
</sup>
</a>
{{'Online Learning Platform' | translate }}
<div class="clearfix">
</div>
<a href="http://bamboosys.com/" target="_blanck">
www.bamboosys.com
</a>
</div>
<div class="clearfix">
</div>
<!-- End of origianl code -->