Current Path : /var/www/ljmtc/cbt/blocks/myoverview/amd/build/ |
Current File : /var/www/ljmtc/cbt/blocks/myoverview/amd/build/view.min.js |
define ("block_myoverview/view",["jquery","block_myoverview/repository","core/paged_content_factory","core/pubsub","core/custom_interaction_events","core/notification","core/templates","core_course/events","block_myoverview/selectors","core/paged_content_events","core/aria"],function(a,b,c,d,e,f,g,h,i,j,k){var l={COURSE_REGION:"[data-region=\"course-view-content\"]",ACTION_HIDE_COURSE:"[data-action=\"hide-course\"]",ACTION_SHOW_COURSE:"[data-action=\"show-course\"]",ACTION_ADD_FAVOURITE:"[data-action=\"add-favourite\"]",ACTION_REMOVE_FAVOURITE:"[data-action=\"remove-favourite\"]",FAVOURITE_ICON:"[data-region=\"favourite-icon\"]",ICON_IS_FAVOURITE:"[data-region=\"is-favourite\"]",ICON_NOT_FAVOURITE:"[data-region=\"not-favourite\"]",PAGED_CONTENT_CONTAINER:"[data-region=\"page-container\"]"},m={COURSES_CARDS:"block_myoverview/view-cards",COURSES_LIST:"block_myoverview/view-list",COURSES_SUMMARY:"block_myoverview/view-summary",NOCOURSES:"core_course/no-courses"},n={GROUPING_ALLINCLUDINGHIDDEN:"allincludinghidden",GROUPING_ALL:"all",GROUPING_INPROGRESS:"inprogress",GROUPING_FUTURE:"future",GROUPING_PAST:"past",GROUPING_FAVOURITES:"favourites",GROUPING_HIDDEN:"hidden"},o=[12,24,48,96,0],p=[],q=0,r=0,s=0,t=null,u=function(a){var b=a.find(i.courseView.region);return{display:b.attr("data-display"),grouping:b.attr("data-grouping"),sort:b.attr("data-sort"),displaycategories:b.attr("data-displaycategories"),customfieldname:b.attr("data-customfieldname"),customfieldvalue:b.attr("data-customfieldvalue")}},v={ignoreControlWhileLoading:!0,controlPlacementBottom:!0,persistentLimitKey:"block_myoverview_user_paging_preference"},w=function(a,c){return b.getEnrolledCoursesByTimeline({offset:q,limit:c,classification:a.grouping,sort:a.sort,customfieldname:a.customfieldname,customfieldvalue:a.customfieldvalue})},x=function(a,b){return a.find(l.FAVOURITE_ICON+"[data-course-id=\""+b+"\"]")},y=function(a,b){return a.find("[data-region=\"paged-content-page\"][data-page=\""+b+"\"]")},z=function(a){return a.attr("data-course-id")},A=function(a,b){var c=x(a,b),d=c.find(l.ICON_IS_FAVOURITE);d.addClass("hidden");k.hide(d);var e=c.find(l.ICON_NOT_FAVOURITE);e.removeClass("hidden");k.unhide(e)},B=function(a,b){var c=x(a,b),d=c.find(l.ICON_IS_FAVOURITE);d.removeClass("hidden");k.unhide(d);var e=c.find(l.ICON_NOT_FAVOURITE);e.addClass("hidden");k.hide(e)},C=function(a,b){return a.find("[data-action=\"add-favourite\"][data-course-id=\""+b+"\"]")},D=function(a,b){return a.find("[data-action=\"remove-favourite\"][data-course-id=\""+b+"\"]")},E=function(a,b){var c=D(a,b),e=C(a,b);M(b,!0).then(function(g){if(g){d.publish(h.favourited,b);c.removeClass("hidden");e.addClass("hidden");B(a,b)}else{f.alert("Starring course failed","Could not change favourite state")}}).catch(f.exception)},F=function(a,b){var c=D(a,b),e=C(a,b);M(b,!1).then(function(g){if(g){d.publish(h.unfavorited,b);c.addClass("hidden");e.removeClass("hidden");A(a,b)}else{f.alert("Starring course failed","Could not change favourite state")}}).catch(f.exception)},G=function(a,b){return a.find("[data-action=\"hide-course\"][data-course-id=\""+b+"\"]")},H=function(a,b){return a.find("[data-action=\"show-course\"][data-course-id=\""+b+"\"]")},I=function(a,b){var c=G(a,b),d=H(a,b),e=u(a);K(b,!0);if(e.grouping!=n.GROUPING_ALLINCLUDINGHIDDEN){L(a,b)}c.addClass("hidden");d.removeClass("hidden")},J=function(a,b){var c=G(a,b),d=H(a,b),e=u(a);K(b,null);if(e.grouping!=n.GROUPING_ALLINCLUDINGHIDDEN){L(a,b)}c.removeClass("hidden");d.addClass("hidden")},K=function(a,c){if(!1===c){c=null}return b.updateUserPreferences({preferences:[{type:"block_myoverview_hidden_course_"+a,value:c}]})},L=function(b,d){var e=b.find("[data-region=\"paging-bar\"]"),h=parseInt(e.attr("data-active-page-number")),i=p[h],j=i.courses.reduce(function(a,b){if(d!=b.id){a.push(b)}return a},[]);if(p[h+1]!=void 0){var k=p[h+1].courses.slice(0,1);p.forEach(function(b,c){if(c>h){var d=[];if(p[c+1]!=void 0){d=p[c+1].courses.slice(0,1)}p[c].courses=a.merge(p[c].courses.slice(1),d)}});j=a.merge(j,k)}if(r==h+1&&0==p[h+1].courses.length){var l=b.find("[data-region=\"paged-content-container\"]");c.resetLastPageNumber(a(l).attr("id"),h)}p[h].courses=j;q--;var m=y(b,h);N(b,p[h]).then(function(a,b){return g.replaceNodeContents(m,a,b)}).catch(f.exception);p.forEach(function(a,c){if(c>h){var d=y(b,c);d.remove()}})},M=function(a,c){return b.setFavouriteCourses({courses:[{id:a,favourite:c}]}).then(function(b){if(0==b.warnings.length){p.forEach(function(b){b.courses.forEach(function(d,e){if(d.id==a){b.courses[e].isfavourite=c}})});return!0}else{return!1}}).catch(f.exception)},N=function(a,b){var c=u(a),d="";if("card"==c.display){d=m.COURSES_CARDS}else if("list"==c.display){d=m.COURSES_LIST}else{d=m.COURSES_SUMMARY}b.courses=b.courses.map(function(a){a.showcoursecategory="on"==c.displaycategories?!0:!1;return a});if(b.courses.length){return g.render(d,{courses:b.courses})}else{var e=a.find(i.courseView.region).attr("data-nocoursesimg");return g.render(m.NOCOURSES,{nocoursesimg:e})}},O=function(a){this.find(i.courseView.region).attr("data-paging",a)},P=function(a,b){var c=b+j.SET_ITEMS_PER_PAGE_LIMIT;d.subscribe(c,O.bind(a))},Q=function(b){t="block_myoverview_"+b.attr("id")+"_"+Math.random();var d=parseInt(b.find(i.courseView.region).attr("data-paging"),10),e=o.map(function(a){var b=!1;if(a==d){b=!0}return{value:a,active:b}}),h=parseInt(b.find(i.courseView.region).attr("data-totalcoursecount"),10);e=e.filter(function(a){return a.value<h||0===a.value});var j=u(b),k=a.extend({},v);k.eventNamespace=t;var l=c.createWithLimit(e,function(c,d){var e=[];c.forEach(function(c){var g=c.pageNumber,h=0<c.limit?c.limit:0;if(s!=h){p=[];q=0;r=0}if(r==g){d.allItemsLoaded(r);e.push(N(b,p[g]));return}s=h;if(p[g+1]==void 0){if(p[g]==void 0){h*=2}}var i=w(j,h).then(function(e){var f=e.courses,h=0,i=[];if(p[g]!=void 0){i=p[g].courses;var j=i.length;if(j<c.limit){h=c.limit-j;i=a.merge(p[g].courses,f.slice(0,h))}}else{h=c.limit||!1;i=0<c.limit?f.slice(0,c.limit):f}p[g]={courses:i};var k=!1!==h?f.slice(h,f.length):[];if(k.length){p[g+1]={courses:k}}if(p[g].courses.length<c.limit||!k.length){r=g;d.allItemsLoaded(g)}else if(p[g+1]!=void 0&&p[g+1].courses.length<c.limit){r=g+1}q=e.nextoffset;return N(b,p[g])}).catch(f.exception);e.push(i)});return e},k);l.then(function(a,c){P(b,t);return g.replaceNodeContents(b.find(i.courseView.region),a,c)}).catch(f.exception)},R=function(b){e.define(b,[e.events.activate]);b.on(e.events.activate,l.ACTION_ADD_FAVOURITE,function(c,d){var e=a(c.target).closest(l.ACTION_ADD_FAVOURITE),f=z(e);E(b,f);d.originalEvent.preventDefault()});b.on(e.events.activate,l.ACTION_REMOVE_FAVOURITE,function(c,d){var e=a(c.target).closest(l.ACTION_REMOVE_FAVOURITE),f=z(e);F(b,f);d.originalEvent.preventDefault()});b.on(e.events.activate,l.FAVOURITE_ICON,function(a,b){b.originalEvent.preventDefault()});b.on(e.events.activate,l.ACTION_HIDE_COURSE,function(c,d){var e=a(c.target).closest(l.ACTION_HIDE_COURSE),f=z(e);I(b,f);d.originalEvent.preventDefault()});b.on(e.events.activate,l.ACTION_SHOW_COURSE,function(c,d){var e=a(c.target).closest(l.ACTION_SHOW_COURSE),f=z(e);J(b,f);d.originalEvent.preventDefault()})},S=function(b){b=a(b);p=[];r=0;q=0;Q(b);if(!b.attr("data-init")){R(b);b.attr("data-init",!0)}},T=function(a){if(0<p.length){p.forEach(function(b,c){var d=y(a,c);N(a,b).then(function(a,b){return g.replaceNodeContents(d,a,b)}).catch(f.exception)})}else{S(a)}};return{init:S,reset:T}}); //# sourceMappingURL=view.min.js.map