mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 01:16:44 +02:00
MDL-66362 mod_forum: Add forum name to the grading panel breadcrumb
Part of MDL-66074
This commit is contained in:
parent
f281c61642
commit
d3b890f85e
9 changed files with 12 additions and 10 deletions
2
mod/forum/amd/build/grades/grader.min.js
vendored
2
mod/forum/amd/build/grades/grader.min.js
vendored
|
@ -1,2 +1,2 @@
|
|||
define ("mod_forum/grades/grader",["exports","./grader/selectors","mod_forum/repository","core/templates","../local/grades/grader","core/notification","core_course/repository"],function(a,b,c,d,f,g,h){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.registerLaunchListeners=void 0;b=j(b);c=i(c);d=i(d);f=j(f);g=i(g);h=i(h);function i(a){return a&&a.__esModule?a:{default:a}}function j(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}function k(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function l(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){k(h,d,e,f,g,"next",a)}function g(a){k(h,d,e,f,g,"throw",a)}f(void 0)})}}var m={contentRegion:"mod_forum/grades/grader/discussion/posts"},n=function(a){var b=function(){return function(b){return c.default.getDiscussionByUserID(b,a)}};return{getContentForUserId:function getContentForUserIdFunction(){var c=b(a);return function(a){return c(a).then(function(a){a.discussions=a.discussions.map(p);return d.default.render(m.contentRegion,a)}).catch(g.default.exception)}}(),getUsers:function getUsersForCmidFunction(){return function(){return h.default.getUsersFromCourseModuleID(a).then(function(a){return a.users}).catch(g.default.exception)}}()}},o=function(a){return a.closest(b.gradableItem)},p=function(a){var b=new Map;a.posts.parentposts.forEach(function(a){return b.set(a.id,a)});var c=a.posts.userposts.map(function(a){a.subject=null;a.readonly=!0;a.starter=!a.parentid;a.parent=b.get(a.parentid);return a});return{id:a.id,name:a.name,posts:c}};a.registerLaunchListeners=function registerLaunchListeners(){document.addEventListener("click",function(){var a=l(regeneratorRuntime.mark(function a(c){var d,e,g,h;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:if(!c.target.matches(b.launch)){a.next=15;break}d=o(c.target);if(d){a.next=4;break}throw Error("Unable to find a gradable item");case 4:if(!d.matches(b.gradableItems.wholeForum)){a.next=14;break}c.preventDefault();e=d.dataset;g=n(e.cmid);a.next=10;return f.getGradingPanelFunctions("mod_forum",e.contextid,e.gradingComponent,e.gradingComponentSubtype,e.gradableItemtype);case 10:h=a.sent;f.launch(g.getUsers,g.getContentForUserId,h.getter,h.setter,{groupid:e.groupid,initialUserId:e.initialuserid});a.next=15;break;case 14:throw Error("Unable to find a valid gradable item");case 15:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}())}});
|
||||
define ("mod_forum/grades/grader",["exports","./grader/selectors","mod_forum/repository","core/templates","../local/grades/grader","core/notification","core_course/repository"],function(a,b,c,d,f,g,h){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.registerLaunchListeners=void 0;b=j(b);c=i(c);d=i(d);f=j(f);g=i(g);h=i(h);function i(a){return a&&a.__esModule?a:{default:a}}function j(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}function k(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function l(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){k(h,d,e,f,g,"next",a)}function g(a){k(h,d,e,f,g,"throw",a)}f(void 0)})}}var m={contentRegion:"mod_forum/grades/grader/discussion/posts"},n=function(a){var b=function(){return function(b){return c.default.getDiscussionByUserID(b,a)}};return{getContentForUserId:function getContentForUserIdFunction(){var c=b(a);return function(a){return c(a).then(function(a){a.discussions=a.discussions.map(p);return d.default.render(m.contentRegion,a)}).catch(g.default.exception)}}(),getUsers:function getUsersForCmidFunction(){return function(){return h.default.getUsersFromCourseModuleID(a).then(function(a){return a.users}).catch(g.default.exception)}}()}},o=function(a){return a.closest(b.gradableItem)},p=function(a){var b=new Map;a.posts.parentposts.forEach(function(a){return b.set(a.id,a)});var c=a.posts.userposts.map(function(a){a.subject=null;a.readonly=!0;a.starter=!a.parentid;a.parent=b.get(a.parentid);return a});return{id:a.id,name:a.name,posts:c}};a.registerLaunchListeners=function registerLaunchListeners(){document.addEventListener("click",function(){var a=l(regeneratorRuntime.mark(function a(c){var d,e,g,h;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:if(!c.target.matches(b.launch)){a.next=15;break}d=o(c.target);if(d){a.next=4;break}throw Error("Unable to find a gradable item");case 4:if(!d.matches(b.gradableItems.wholeForum)){a.next=14;break}c.preventDefault();e=d.dataset;g=n(e.cmid);a.next=10;return f.getGradingPanelFunctions("mod_forum",e.contextid,e.gradingComponent,e.gradingComponentSubtype,e.gradableItemtype);case 10:h=a.sent;f.launch(g.getUsers,g.getContentForUserId,h.getter,h.setter,{groupid:e.groupid,initialUserId:e.initialuserid,moduleName:e.name});a.next=15;break;case 14:throw Error("Unable to find a valid gradable item");case 15:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}())}});
|
||||
//# sourceMappingURL=grader.min.js.map
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +1,2 @@
|
|||
define ("mod_forum/local/grades/grader",["exports","core/templates","./local/grader/selectors","./local/grader/user_picker","mod_forum/local/layout/fullscreen","./local/grader/gradingpanel"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0});Object.defineProperty(a,"getGradingPanelFunctions",{enumerable:!0,get:function get(){return f.default}});a.launch=void 0;b=g(b);c=g(c);d=function(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}(d);f=g(f);function g(a){return a&&a.__esModule?a:{default:a}}function h(a,b){return l(a)||k(a,b)||j()}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function k(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g=a[Symbol.iterator](),h;!(d=(h=g.next()).done);d=!0){c.push(h.value);if(b&&c.length===b)break}}catch(a){e=!0;f=a}finally{try{if(!d&&null!=g["return"])g["return"]()}finally{if(e)throw f}}return c}function l(a){if(Array.isArray(a))return a}function m(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function n(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){m(h,d,e,f,g,"next",a)}function g(a){m(h,d,e,f,g,"throw",a)}f(void 0)})}}var o={grader:{app:"mod_forum/local/grades/grader"}},p=function(a,d){var e=a.querySelector(c.default.regions.pickerRegion);b.default.replaceNodeContents(e,d,"")},q=function(a,b){return[a,b]},r=function(a,d,e){return function(){var f=n(regeneratorRuntime.mark(function f(g){var i,j,k,l,m,n,o,p,r,s;return regeneratorRuntime.wrap(function(f){while(1){switch(f.prev=f.next){case 0:f.next=2;return Promise.all([d(g.id).then(q),e(g.id)]);case 2:i=f.sent;j=h(i,2);k=h(j[0],2);l=k[0];m=k[1];n=j[1];b.default.replaceNodeContents(a.querySelector(c.default.regions.moduleReplace),l,m);f.next=11;return b.default.render(n.templatename,n.grade).then(q);case 11:o=f.sent;p=h(o,2);r=p[0];s=p[1];b.default.replaceNodeContents(a.querySelector(c.default.regions.gradingPanel),r,s);case 16:case"end":return f.stop();}}},f)}));return function(){return f.apply(this,arguments)}}()},s=function(a){var b=a.getContainer();b.addEventListener("click",function(b){if(b.target.closest(c.default.buttons.toggleFullscreen)){b.stopImmediatePropagation();b.preventDefault();a.toggleFullscreen()}else if(b.target.closest(c.default.buttons.closeGrader)){b.stopImmediatePropagation();b.preventDefault();a.close()}})},t=function(a,b){return function(d){return b(d.id,a.querySelector(c.default.regions.gradingPanel))}},u=function(){var a=n(regeneratorRuntime.mark(function a(c,f,g,i){var j,k,l,m,n,q,u,v,w,x,y,z=arguments;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:j=4<z.length&&z[4]!==void 0?z[4]:{},k=j.initialUserId,l=void 0===k?0:k;a.next=3;return Promise.all([(0,e.createLayout)({fullscreen:!1,showLoader:!1}),b.default.render(o.grader.app,{}),c()]);case 3:m=a.sent;n=h(m,3);q=n[0];u=n[1];v=n[2];w=q.getContainer();b.default.replaceNodeContents(w,u,"");s(q);x=r(w,f,g);a.next=14;return d.buildPicker(v,l,x,t(w,i));case 14:y=a.sent;p(w,y);case 16:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}();a.launch=u});
|
||||
define ("mod_forum/local/grades/grader",["exports","core/templates","./local/grader/selectors","./local/grader/user_picker","mod_forum/local/layout/fullscreen","./local/grader/gradingpanel"],function(a,b,c,d,e,f){"use strict";Object.defineProperty(a,"__esModule",{value:!0});Object.defineProperty(a,"getGradingPanelFunctions",{enumerable:!0,get:function get(){return f.default}});a.launch=void 0;b=g(b);c=g(c);d=function(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}(d);f=g(f);function g(a){return a&&a.__esModule?a:{default:a}}function h(a,b){return l(a)||k(a,b)||j()}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function k(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g=a[Symbol.iterator](),h;!(d=(h=g.next()).done);d=!0){c.push(h.value);if(b&&c.length===b)break}}catch(a){e=!0;f=a}finally{try{if(!d&&null!=g["return"])g["return"]()}finally{if(e)throw f}}return c}function l(a){if(Array.isArray(a))return a}function m(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function n(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){m(h,d,e,f,g,"next",a)}function g(a){m(h,d,e,f,g,"throw",a)}f(void 0)})}}var o={grader:{app:"mod_forum/local/grades/grader"}},p=function(a,d){var e=a.querySelector(c.default.regions.pickerRegion);b.default.replaceNodeContents(e,d,"")},q=function(a,b){return[a,b]},r=function(a,d,e){return function(){var f=n(regeneratorRuntime.mark(function f(g){var i,j,k,l,m,n,o,p,r,s;return regeneratorRuntime.wrap(function(f){while(1){switch(f.prev=f.next){case 0:f.next=2;return Promise.all([d(g.id).then(q),e(g.id)]);case 2:i=f.sent;j=h(i,2);k=h(j[0],2);l=k[0];m=k[1];n=j[1];b.default.replaceNodeContents(a.querySelector(c.default.regions.moduleReplace),l,m);f.next=11;return b.default.render(n.templatename,n.grade).then(q);case 11:o=f.sent;p=h(o,2);r=p[0];s=p[1];b.default.replaceNodeContents(a.querySelector(c.default.regions.gradingPanel),r,s);case 16:case"end":return f.stop();}}},f)}));return function(){return f.apply(this,arguments)}}()},s=function(a){var b=a.getContainer();b.addEventListener("click",function(b){if(b.target.closest(c.default.buttons.toggleFullscreen)){b.stopImmediatePropagation();b.preventDefault();a.toggleFullscreen()}else if(b.target.closest(c.default.buttons.closeGrader)){b.stopImmediatePropagation();b.preventDefault();a.close()}})},t=function(a,b){return function(d){return b(d.id,a.querySelector(c.default.regions.gradingPanel))}},u=function(){var a=n(regeneratorRuntime.mark(function a(c,f,g,i){var j,k,l,m,n,q,u,v,w,x,y,z,A=arguments;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:j=4<A.length&&A[4]!==void 0?A[4]:{},k=j.initialUserId,l=void 0===k?0:k,m=j.moduleName;a.next=3;return Promise.all([(0,e.createLayout)({fullscreen:!1,showLoader:!1}),b.default.render(o.grader.app,{moduleName:m}),c()]);case 3:n=a.sent;q=h(n,3);u=q[0];v=q[1];w=q[2];x=u.getContainer();b.default.replaceNodeContents(x,v,"");s(u);y=r(x,f,g);a.next=14;return d.buildPicker(w,l,y,t(x,i));case 14:z=a.sent;p(x,z);case 16:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}();a.launch=u});
|
||||
//# sourceMappingURL=grader.min.js.map
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -129,6 +129,7 @@ export const registerLaunchListeners = () => {
|
|||
{
|
||||
groupid: data.groupid,
|
||||
initialUserId: data.initialuserid,
|
||||
moduleName: data.name
|
||||
}
|
||||
);
|
||||
} else {
|
||||
|
|
|
@ -86,7 +86,7 @@ const getSaveUserGradeFunction = (root, setGradeForUser) => {
|
|||
|
||||
// Make this explicit rather than object
|
||||
export const launch = async(getListOfUsers, getContentForUser, getGradeForUser, setGradeForUser, {
|
||||
initialUserId = 0,
|
||||
initialUserId = 0, moduleName
|
||||
} = {}) => {
|
||||
|
||||
const [
|
||||
|
@ -95,7 +95,7 @@ export const launch = async(getListOfUsers, getContentForUser, getGradeForUser,
|
|||
userList,
|
||||
] = await Promise.all([
|
||||
createFullScreenWindow({fullscreen: false, showLoader: false}),
|
||||
Templates.render(templateNames.grader.app, {}),
|
||||
Templates.render(templateNames.grader.app, {moduleName: moduleName}),
|
||||
getListOfUsers(),
|
||||
]);
|
||||
const graderContainer = graderLayout.getContainer();
|
||||
|
|
|
@ -61,6 +61,7 @@ class forum extends exporter {
|
|||
protected static function define_other_properties() {
|
||||
return [
|
||||
'id' => ['type' => PARAM_INT],
|
||||
'name' => ['type' => PARAM_RAW],
|
||||
'state' => [
|
||||
'type' => [
|
||||
'groupmode' => ['type' => PARAM_INT],
|
||||
|
@ -116,6 +117,7 @@ class forum extends exporter {
|
|||
|
||||
return [
|
||||
'id' => $this->forum->get_id(),
|
||||
'name' => $this->forum->get_name(),
|
||||
'state' => [
|
||||
'groupmode' => $this->forum->get_effective_group_mode(),
|
||||
],
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
<div id="discussion-list-{{uniqid}}" {{!
|
||||
}}data-contextid="{{contextid}}" {{!
|
||||
}}data-cmid="{{cmid}}" {{!
|
||||
}}data-name="{{forum.name}}" {{!
|
||||
}}data-group="{{forum.groupid}}" {{!
|
||||
}}data-grading-component="{{gradingcomponent}}" {{!
|
||||
}}data-grading-component-subtype="{{gradingcomponentsubtype}}" {{!
|
||||
|
|
|
@ -34,11 +34,9 @@
|
|||
<div class="row">
|
||||
<div class="col-sm-12 col-md-8 py-3">
|
||||
<div class="d-block">
|
||||
<h6 class="d-inline btn px-0 font-weight-bold fa fa-folder mb-0"></h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold text-muted mb-0">{{moduleName}}</h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold text-muted mb-0"> > </h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold text-muted mb-0">Forum: Week 3</h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold text-muted mb-0"> > </h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold mb-0">Grading</h6>
|
||||
<h6 class="d-inline btn px-0 font-weight-bold mb-0">{{#str}}grading, forum{{/str}}</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue