UNPKG

unserver-unify

Version:

602 lines (601 loc) 25.5 kB
<!-- 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">&nbsp;({{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 -->