UNPKG

unserver-unify

Version:

538 lines (535 loc) 29.2 kB
<div class="myspace my_space" ng-controller="MySpaceSummaryCtrl as ctrl"> <div class="panel panel-body" style="padding:0;"> <div class="row row_adjst"> <div class="col-md-6 g-mb-30 g-mb-0--md" ng-if="currentSchool.courseFlag"> <div class="g-bg-white g-color-grey g-pa-25"> <header class="d-flex text-uppercase g-mb-40"> <i class="fa fa-book fa-3x align-self-center display-4 g-mr-20"> </i> <div class="g-line-height-1"> <h4 class="h3 g-font-size-18" translate=""> Learning </h4> <div class="js-counter" data-comma-separated="true"> <a ui-sref="index.myspace.mycourses"> <span class="g-font-size-30"> {{ (ctrl.courseResult.courses)?ctrl.courseResult.courses - ctrl.user.summary.cert:0 }} </span> {{'Ongoing Courses' | translate}} </a> </div> </div> </header> <div class="d-flex justify-content-between g-mb-25 progress_box"> <div class="col-md-4 text-center" uib-tooltip="{{ ctrl.courseResult.doneassignments||0 | number:0 }} {{'out of' | translate}} {{ ctrl.courseResult.assignments||0 | number:0 }} {{'Assignment' | translate}} {{'completed' | translate}}"> <div class="c100 orange mini2 center p{{ctrl.courseResult.doneassignments / ctrl.courseResult.assignments * 100 || 0 | number:0}}"> <span>{{ctrl.courseResult.doneassignments / ctrl.courseResult.assignments * 100 || 0 | number:0}}<span>%</span></span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <span class="h5"> <div class="margin-bottom-10"></div> <b class="color-green">{{ ctrl.courseResult.doneassignments||0 }}</b> / <b>{{ ctrl.courseResult.assignments||0 }}</b> </span> <p class="font-12">{{'Assignment' | translate}}</p> </div> <div class="col-md-4 text-center" uib-tooltip="{{ ctrl.courseResult.doneexams||0 | number:0 }} {{'out of' | translate}} {{ ctrl.courseResult.exams||0 | number:0 }} {{'Exams' | translate}} {{'completed' | translate}}"> <div class="c100 green mini2 center p{{ctrl.courseResult.doneexams / ctrl.courseResult.exams * 100 ||0 | number:0}}"> <span>{{ ctrl.courseResult.doneexams / ctrl.courseResult.exams * 100 ||0 | number:0 }}<span>%</span></span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <span class="h5"> <div class="margin-bottom-10"></div> <b class="color-green">{{ ctrl.courseResult.doneexams||0 }}</b> / <b>{{ ctrl.courseResult.exams||0 }}</b> </span> <p class="font-12">{{'Exam' | translate}}</p> </div> <div class="col-md-4 text-center" uib-tooltip="{{ ctrl.user.summary.cert || 0 }} {{'out of' | translate}} {{ ctrl.courseResult.courses || 0 }} {{'Courses' | translate}} {{'completed' | translate}}"> <!-- uib-tooltip="{{ ctrl.courseResult.progressScore||0 | number:0 }} {{'out of' | translate}} {{ ctrl.courseResult.totalresources||0 | number:0 }} {{'Resources' | translate}} {{'completed' | translate}}" --> <div class="c100 pink mini2 center p{{ctrl.courseResult.completeness|number:0}}"> <span>{{ (ctrl.courseResult.courses)?(ctrl.user.summary.cert / ctrl.courseResult.courses *100 ||0):0 |number:0}}<span>%</span></span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <span class="h5"> <div class="margin-bottom-10"></div> <!-- <b class="color-green">{{ ctrl.courseResult.progressScore||0 | number:0}}</b> / <b>{{ ctrl.courseResult.totalresources||0 | number:0}}</b> --> <b class="color-green">{{ (ctrl.courseResult.courses)?ctrl.user.summary.cert:0 || 0 }}</b> / <b>{{ ctrl.courseResult.courses || 0 }}</b> </span> <p class="font-12">{{'Completed' | translate}}</p> </div> </div> </div> </div> <div class="col-md-6" ng-if="ctrl.showActivity && loginService.subDomain!='hdb'"> <div class="g-bg-white g-color-grey g-pa-25"> <header class="d-flex text-uppercase g-mb-40"> <i class="fa fa-bell-o fa-3x align-self-center display-4 g-mr-20"> </i> <div class="g-line-height-1"> <h4 class="h3 g-font-size-18"> {{'Duration' | translate}} </h4> <div class="js-counter color-green" data-comma-separated="true"> <span class="g-font-size-30"> {{(ctrl.user.totaltime/60) |number:0}} </span> {{'Mins' | translate}} </div> </div> </header> <div class="d-flex justify-content-between g-mb-25 progress_box"> <div class="col-md-4 text-center"> <div class="c100 orange mini2 center"> <span>{{ctrl.user.summary.blog || 0}}</span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <div class="margin-bottom-10"></div> <p class="font-12">{{'Blogs' | translate}}</p> </div> <div class="col-md-4 text-center"> <div class="c100 green mini2 center"> <span>{{ctrl.user.summary.bbs || 0}}</span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <div class="margin-bottom-10"></div> <p class="font-12">{{'BBS' | translate}}</p> <div class="margin-bottom-30"></div> </div> <div class="col-md-4 text-center"> <div class="c100 pink mini2 center"> <span>{{ctrl.user.summary.topic || 0}}</span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <div class="margin-bottom-10"></div> <p class="font-12">{{'Course Forum' | translate}}</p> </div> </div> <!-- <small class="g-font-size-12">16% higher than last month</small> --> </div> </div> <div class="col-md-6 g-mb-30 g-mb-0--md" ng-if="currentSchool.jobFlag"> <div class="g-bg-white g-color-grey g-pa-25"> <header class="d-flex text-uppercase g-mb-40"> <i class="fa fa-briefcase fa-3x align-self-center display-4 g-mr-20"> </i> <div class="g-line-height-1"> <h4 class="h3 g-font-size-18" translate=""> Jobs </h4> <div class="js-counter" data-comma-separated="true"> <a ui-sref="index.myspace.jobs"> <span class="g-font-size-30"> {{ctrl.JobResult.companys}} </span> {{'Company' | translate}} </a> </div> </div> </header> <div class="d-flex justify-content-between g-mb-25 progress_box"> <div class="col-md-offset-3 col-md-4 text-center" uib-tooltip="{{ ctrl.JobResult.applications||0 | number:0 }} {{'out of' | translate}} {{ ctrl.JobResult.jobs||0 | number:0 }} {{'Applied' | translate}} {{'jobs' | translate}}"> <div class="c100 orange mini2 center p{{ctrl.JobResult.applications / ctrl.JobResult.jobs * 100 || 0 | number:0}}"> <span>{{ctrl.JobResult.applications / ctrl.JobResult.jobs * 100 || 0 | number:0}}<span>%</span></span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <span class="h5"> <div class="margin-bottom-10"></div> <b class="color-green">{{ctrl.JobResult.applications}}</b> / <b>{{ctrl.JobResult.jobs}}</b> </span> <p class="font-12">{{'Applied jobs' | translate}}</p> </div> </div> </div> </div> <div class="margin-bottom-10"></div> <div class="relative col-md-12" ng-if="loginService.school.myspaceCalendarFlag&&ctrl.eventsready"> <div class="col-md-12" style="padding-top: 5px;"> <div class="calendar" calendar="myCalendar" ng-model="eventSources" ui-calendar="ctrl.uiConfig.calendar"> </div> </div> <div class="margin-bottom-10"></div> </div> <div class="col-md-12" ng-if="ctrl.ongoingCourses.length > 0"> <a ui-sref="index.myspace.mycourses" class="pull-right" translate="">view all</a> <h4 translate=""> {{'Ongoing Courses'|translate}} </h4> </div> <div class="col-md-12" ng-if="ctrl.ongoingCourses.length > 0"> <div class="col-md-6"> <b class="pull-left font-12 color-orange" translate="">Score</b> <b class="pull-right font-12 color-blue" style="margin-right: 35px;" translate="">Progress</b> <div class="margin-bottom-10"></div> <div class="overview_progress_holder" style="line-height: 2em;" ng-repeat="item in ctrl.ongoingCourses | limitTo:ctrl.courseDivideCount:0"> <div class="c100 orange mini center pull-left" ng-class="'p' + ((ctrl.progress[item._id]?ctrl.progress[item._id].course_score:0)|number:0)"> <span>{{ ((ctrl.progress[item._id])?ctrl.progress[item._id].course_score:0) | number:0 }}</span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <div class="overview_label"> <span><a ui-sref="index.myspace.mycourses.result({ cid : item._id })">{{ item.name }}</a></span><span class="percent">{{ item.progress || 0 }} %</span> </div> <div class="overview_progress"> <ul class="progress_back"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <ul class="progress_front" ng-style=" { 'width' : ((item.progress)?item.progress:0)+'%' }"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <!-- ngIf: ctrl.history.progress.examscores --> </div> </div> </div> <div class="col-md-6"> <b class="pull-left font-12 color-orange" translate="">Score</b> <b class="pull-right font-12 color-blue" style="margin-right: 35px;" translate="">Progress</b> <div class="margin-bottom-10"></div> <div class="overview_progress_holder" style="line-height: 2em;" ng-repeat="item in ctrl.ongoingCourses | limitTo:5:ctrl.courseDivideCount"> <div class="c100 orange mini center pull-left" ng-class="'p' + ((ctrl.progress[item._id]?ctrl.progress[item._id].course_score:0)|number:0)"> <span>{{ ((ctrl.progress[item._id])?ctrl.progress[item._id].course_score:0) | number:0 }}</span> <div class="slice"> <div class="bar"></div> <div class="pfill"></div> </div> </div> <div class="overview_label"> <span><a ui-sref="index.myspace.mycourses.result({ cid : item._id })">{{ item.name }}</a></span><span class="percent">{{ item.progress || 0 }}%</span> </div> <div class="overview_progress"> <ul class="progress_back"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <ul class="progress_front" ng-style=" { 'width' : ((item.progress)?item.progress:0)+'%' }"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <!-- ngIf: ctrl.history.progress.examscores --> </div> </div> </div> </div> <div class="margin-bottom-10"></div> </div> <div class="relative col-md-12"> <div class="clearfix"></div> <div class="row"> <div class="col-md-6"> <div> <!-- <div ng-if="activitydata"> --> <h4 translate=""> {{'Activity By Day'|translate}} </h4> <div class="flot-chart hgt_auto"> <canvas chart-data="activitydata" chart-options="options" tc-chartjs-line=""> </canvas> </div> </div> </div> <div class="col-md-6"> <div> <!-- <div ng-if="categorydata"> --> <h4 translate=""> {{'Activity By Category'|translate}} </h4> <div class="flot-chart hgt_auto"> <canvas chart-data="categorydata" chart-options="options" tc-chartjs-line=""> </canvas> </div> </div> </div> </div> <!-- <div ng-if="(ctrl.assignments.length||ctrl.exams.length) && loginService.subDomain!='hdb'"> <h2 style="margin: 0 0 10px; color: #fff;"> {{'Top Tasks' | translate}} </h2> </div> <div class="row"> <div class="col-lg-6 g-mb-20 g-mb-0--lg" ng-if="ctrl.assignments.length && loginService.subDomain!='hdb'"> <div class="card border-0"> <div class="card-header d-flex align-items-center justify-content-between g-bg-gray-light-v5 border-0 g-mb-15"> <h3 class="h6 mb-0"> <i class="fa fa-tasks"> </i> {{'Assignments' | translate}}  |  {{ ctrl.totalAssignments }} </h3> <span class="d-block g-color-primary--hover g-cursor-pointer g-mr-minus-5 g-pa-5"> <a ui-sref="index.myspace.assignments" uib-tooltip="{{'View All' | translate}}" tooltip-placement="top-right" class="fa fa-ellipsis-v g-color-black"></a> </span> </div> <div class="js-scrollbar card-block u-info-v1-1 g-bg-white-gradient-v1--after g-height-400 g-pa-0 mCustomScrollbar _mCS_2 mCS-autoHide" style="overflow: visible;"> <div class="mCustomScrollBox mCS-minimal-dark mCSB_vertical mCSB_outside" style="max-height: none;" tabindex="0"> <div class="mCSB_container" dir="ltr" id="mCSB_2_container" style="position:relative; top:0; left:0;"> <ul class="list-unstyled"> <li class="media g-brd-around g-brd-gray-light-v4 g-brd-left-3 g-brd-blue-left rounded g-pa-20 g-mb-10" ng-repeat="ass in ctrl.assignments"> <div class="media-body"> <div class="justify-content-between" style="border-bottom:solid 1px #ddd; margin-bottom: 10px;"> <h5 class="h6 g-font-weight-600 g-color-black" style="margin: 0;"> <a ui-sref="index.myspace.assignments.detail({ aid: ass._id })"> {{ ass.title }} </a> </h5> <h4 class="small text-nowrap color-blue" ng-if="ass.stop"> <b>{{'Due Date' | translate}}: </b> {{ ass.stop | date: 'yyyy-MM-dd' }} </h4> <h4 class="small text-nowrap color-grey" style="margin:7px 0;" ng-if="!ass.stop"> <b>{{'Due Date' | translate}}: </b> {{ {eng:'Not specified',chn:'未指明日期'} | trans }} </h4> </div> <p class="clamped clamped-3" ng-bind-html="ass.content"> </p> </div> </li> </ul> </div> </div> </div> </div> </div> <div class="col-lg-6" ng-if="ctrl.exams.length && loginService.subDomain!='hdb'"> <div class="card border-0"> <div class="card-header d-flex align-items-center justify-content-between g-bg-gray-light-v5 border-0 g-mb-15"> <h3 class="h6 mb-0"> <i class="fa fa-pencil-square-o"> </i> {{'Exam' | translate}}  |  {{ ctrl.totalExams }} </h3> <span class="d-block g-color-primary--hover g-cursor-pointer g-mr-minus-5 g-pa-5"> <a ui-sref="index.myspace.exams" uib-tooltip="{{'View All' | translate}}" tooltip-placement="top-right" class="fa fa-ellipsis-v g-color-black"></a> </span> </div> </div> <div class="js-scrollbar card-block u-info-v1-1 g-bg-white-gradient-v1--after g-height-400 g-pa-0 mCustomScrollbar _mCS_3 mCS-autoHide" style="overflow: visible;"> <div class="mCustomScrollBox mCS-minimal-dark mCSB_vertical mCSB_outside" style="max-height: none;" tabindex="0"> <div class="mCSB_container" dir="ltr" id="mCSB_3_container" style="position:relative; top:0; left:0;"> <ul class="list-unstyled"> <li class="d-flex justify-content-start g-brd-around g-brd-gray-light-v4 g-pa-20 g-mb-10" ng-repeat="exam in ctrl.exams"> <div class="g-mt-2" style="width: 100%"> <div class="align-self-center g-px-10"> <h5 class="h6 g-font-weight-600 g-color-black"> <span class="g-mr-5"> <a examid="{{exam._id}}" redirect-to-exam="" type="myspaceexam"> {{ exam.name }} </a> </span> <span class="small text-nowrap g-color-blue pull-right" style="font-size: 12px;" ng-if="exam.stop"> <b>{{'End Date' | translate}}: </b> {{ exam.stop | date: 'yyyy-MM-dd' }} </span> <span class="small text-nowrap color-grey pull-right" style="font-size: 12px;" ng-if="!exam.stop"> <b>{{'End Date' | translate}}: </b> {{ {eng:'Not specified',chn:'未指明日期'} | trans }} </span> </h5> <p class="clamped clamped-3"> {{exam.description}} </p> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="col-lg-6" ng-if="self.blogs | notEmpty"> <div class="card border-0"> <div class="card-header d-flex align-items-center justify-content-between g-bg-gray-light-v5 border-0 g-mb-15"> <h3 class="h6 mb-0"> <i class="fa fa-pencil-square-o"> </i> {{'Blogs' | translate}}  |  {{self.blogs.length}} </h3> <span class="d-block g-color-primary--hover g-cursor-pointer g-mr-minus-5 g-pa-5"> <a ui-sref="index.myspace.blogs" uib-tooltip="{{'View All' | translate}}" tooltip-placement="top-right" class="fa fa-ellipsis-v g-color-black"></a> </span> </div> </div> <div class="js-scrollbar card-block u-info-v1-1 g-bg-white-gradient-v1--after g-height-400 g-pa-0 mCustomScrollbar _mCS_3 mCS-autoHide" style="overflow: visible;"> <div class="mCustomScrollBox mCS-minimal-dark mCSB_vertical mCSB_outside" style="max-height: none;" tabindex="0"> <div class="mCSB_container" dir="ltr" id="mCSB_3_container" style="position:relative; top:0; left:0;"> <ul class="list-unstyled"> <li class="d-flex justify-content-start g-brd-around g-brd-gray-light-v4 g-pa-20 g-mb-10" ng-repeat="topic in self.blogs"> <div class="g-mt-2"> <img class="g-width-50 g-height-50 rounded-circle" ng-src="{{topic.fullavatar}}" /> </div> <div class="align-self-center g-px-10"> <h5 class="h6 g-font-weight-600 g-color-black"> <span class="g-mr-5" translate=""> Blogs </span> <span class="small text-nowrap g-color-blue"> </span> </h5> <p class="clamped clamped-3"> {{topic.title}} </p> </div> </li> </ul> </div> </div> </div> </div> <div class="col-lg-6 g-mb-20 g-mb-0--lg" ng-if="ctrl.bbss | notEmpty"> <div class="card border-0"> <div class="card-header d-flex align-items-center justify-content-between g-bg-gray-light-v5 border-0 g-mb-15"> <h3 class="h6 mb-0"> <i class="fa fa-tasks"> </i> {{'BBS' | translate}}  |  {{ctrl.bbss.length}} </h3> <span class="d-block g-color-primary--hover g-cursor-pointer g-mr-minus-5 g-pa-5"> <a ui-sref="index.myspace.bbs" uib-tooltip="{{'View All' | translate}}" tooltip-placement="top-right" class="fa fa-ellipsis-v g-color-black"></a> </span> </div> <div class="js-scrollbar card-block u-info-v1-1 g-bg-white-gradient-v1--after g-height-400 g-pa-0 mCustomScrollbar _mCS_2 mCS-autoHide" style="overflow: visible;"> <div class="mCustomScrollBox mCS-minimal-dark mCSB_vertical mCSB_outside" style="max-height: none;" tabindex="0"> <div class="mCSB_container" dir="ltr" id="mCSB_2_container" style="position:relative; top:0; left:0;"> <ul class="list-unstyled"> <li class="media g-brd-around g-brd-gray-light-v4 g-brd-left-3 g-brd-blue-left rounded g-pa-20 g-mb-10" ng-repeat="topic in ctrl.bbss"> <div class="d-flex g-mt-2 g-mr-15"> <img alt="Image Description" class="g-width-40 g-height-40 rounded-circle" ng-src="{{topic.photourl}}" /> </div> <div class="media-body"> <div class="d-flex justify-content-between"> <h5 class="h6 g-font-weight-600 g-color-black"> <a ui-sref="index.bbs.tab.detail({ id: topic._id })"> {{topic.title}} </a> </h5> <span class="small text-nowrap g-color-blue pull-right" style="font-size: 12px;" ng-if="topic.create_at"> <b>{{'Due Date' | translate}}: </b> {{ topic.create_at | date: 'yyyy-MM-dd' }} </span> <span class="small text-nowrap color-grey pull-right" style="font-size: 12px;" ng-if="!topic.create_at"> <b>{{'Due Date' | translate}}: </b> {{ {eng:'Not specified',chn:'未指明日期'} | trans }} </span> </div> <p class="clamped clamped-3" ng-bind-html="topic.content"> </p> </div> </li> </ul> </div> </div> </div> </div> </div> <div class="col-lg-6 g-mb-20 g-mb-0--lg" ng-if="ctrl.topics | notEmpty"> <div class="card border-0"> <div class="card-header d-flex align-items-center justify-content-between g-bg-gray-light-v5 border-0 g-mb-15"> <h3 class="h6 mb-0"> <i class="fa fa-tasks"> </i> {{'Course Forum' | translate}}  |  {{ctrl.topics.length}} </h3> <span class="d-block g-color-primary--hover g-cursor-pointer g-mr-minus-5 g-pa-5"> <a ui-sref="index.myspace.forums" uib-tooltip="{{'View All' | translate}}" tooltip-placement="top-right" class="fa fa-ellipsis-v g-color-black"></a> </span> </div> <div class="js-scrollbar card-block u-info-v1-1 g-bg-white-gradient-v1--after g-height-400 g-pa-0 mCustomScrollbar _mCS_2 mCS-autoHide" style="overflow: visible;"> <div class="mCustomScrollBox mCS-minimal-dark mCSB_vertical mCSB_outside" style="max-height: none;" tabindex="0"> <div class="mCSB_container" dir="ltr" id="mCSB_2_container" style="position:relative; top:0; left:0;"> <ul class="list-unstyled"> <li class="media g-brd-around g-brd-gray-light-v4 g-brd-left-3 g-brd-blue-left rounded g-pa-20 g-mb-10" ng-repeat="topic in ctrl.topics"> <div class="d-flex g-mt-2 g-mr-15"> <img alt="Image Description" class="g-width-40 g-height-40 rounded-circle" ng-src="{{topic.photourl}}" /> </div> <div class="media-body"> <div class="d-flex justify-content-between"> <h5 class="h6 g-font-weight-600 g-color-black"> <a ui-sref="index.forums.detail({ id: topic._id })"> {{topic.title}} </a> </h5> <span class="small text-nowrap g-color-blue pull-right" style="font-size: 12px;" ng-if="topic.update_at"> <b>{{'Due Date' | translate}}: </b> {{ topic.update_at | date: 'yyyy-MM-dd' }} </span> <span class="small text-nowrap color-grey pull-right" style="font-size: 12px;" ng-if="!topic.update_at"> <b>{{'Due Date' | translate}}: </b> {{ {eng:'Not specified',chn:'未指明日期'} | trans }} </span> </div> <p class="clamped clamped-3" ng-bind-html="topic.content"> </p> </div> </li> </ul> </div> </div> </div> </div> </div> </div> --> </div> <div class="clearfix"> </div> </div> </div> </div>