Fixed context selection bugs
This commit is contained in:
parent
0de002bf3a
commit
de97031326
2
amd/build/page-edit-plan.min.js
vendored
2
amd/build/page-edit-plan.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
amd/build/page-view-plan.min.js
vendored
2
amd/build/page-view-plan.min.js
vendored
|
@ -1,3 +1,3 @@
|
|||
define("local_treestudyplan/page-view-plan",["exports","core/ajax","core/notification","./vue/vue","./util/debugger","./util/string-helper","./studyplan-processor","./util/date-helper","./report-viewer-components","./treestudyplan-components","./modedit-modal","./portal-vue/portal-vue.esm","./bootstrap-vue/bootstrap-vue"],(function(_exports,_ajax,_notification,_vue,_debugger,_stringHelper,_studyplanProcessor,_dateHelper,_reportViewerComponents,_treestudyplanComponents,_modeditModal,_portalVue,_bootstrapVue){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=function(contextid,categoryid){contextid=void 0===contextid||!Number.isInteger(Number(contextid))||contextid<1?1:Number(contextid);categoryid=void 0!==categoryid&&Number.isInteger(Number(categoryid))?Number(categoryid):0;let app=new _vue.default({el:"#root",data:{displayedstudyplan:null,activestudyplan:null,associatedstudents:[],selectedstudent:null,studentstudyplan:null,loadingstudyplan:!1,studyplans:[],text:strings.studyplan,toolbox:{right:!0},usedcontexts:[]},async mounted(){(0,_ajax.call)([{methodname:"local_treestudyplan_list_studyplans",args:{context_id:contextid}}])[0].done((function(response){const timingval={present:0,past:1,future:2};response.sort(((a,b)=>{const timinga=(0,_dateHelper.studyplanTiming)(a),timingb=(0,_dateHelper.studyplanTiming)(b),t=timingval[timinga]-timingval[timingb];return 0==t?a.name.localeCompare(b.name):t})),app.studyplans=response;const parts=window.location.hash.replace("#","").split("-");if(parts&&parts.length>0)for(let idx in app.studyplans)if(app.studyplans[idx].id==parts[0]){app.selectStudyplan(app.studyplans[idx],parts[1]);break}})).fail(_notification.default.exception),(0,_ajax.call)([{methodname:"local_treestudyplan_list_used_categories",args:{operation:"view"}}])[0].done((function(response){const contexts=[];for(const ix in response)response[ix].studyplancount>0&&contexts.push(response[ix]);app.usedcontexts=contexts})).fail(_notification.default.exception)},computed:{dropdown_title(){return this.activestudyplan&&this.activestudyplan.name?this.activestudyplan.name:this.text.studyplan_select_placeholder},contextid:()=>contextid},methods:{switchContext(ctx){const params=new URLSearchParams(location.search);params.set("categoryid",ctx.id),window.location.search=params.toString()},closeStudyplan(){app.activestudyplan=null,app.associatedstudents=[],app.studentstudyplan=[],app.displayedstudyplan=null,window.location.hash=""},selectStudyplan(studyplan,studentid){app.loadingstudyplan=!0,app.activestudyplan=null,app.associatedstudents=[],app.selectedstudent=null,app.studentstudyplan=null,(0,_ajax.call)([{methodname:"local_treestudyplan_get_studyplan_map",args:{id:studyplan.id}}])[0].done((function(response){app.activestudyplan=(0,_studyplanProcessor.ProcessStudyplan)(response,!0),app.displayedstudyplan=app.activestudyplan,app.loadingstudyplan=!1,window.location.hash=app.activestudyplan.id,(0,_ajax.call)([{methodname:"local_treestudyplan_all_associated",args:{studyplan_id:studyplan.id}}])[0].done((function(response){if(app.associatedstudents=response,studentid)for(const student of app.associatedstudents)if(student.id==studentid){app.showStudentView(student);break}})).fail(_notification.default.exception)})).fail((function(error){_notification.default.exception(error),app.loadingstudyplan=!1}))},showStudentView(student){app.selectedstudent=student,app.studentstudyplan=null,app.loadingstudyplan=!0,(0,_ajax.call)([{methodname:"local_treestudyplan_get_user_studyplan",args:{userid:student.id,studyplanid:app.activestudyplan.id}}])[0].done((function(response){app.studentstudyplan=(0,_studyplanProcessor.ProcessStudyplan)(response,!1),app.displayedstudyplan=app.studentstudyplan,app.loadingstudyplan=!1,window.location.hash=app.activestudyplan.id+"-"+student.id})).fail((function(error){_notification.default.exception(error),app.loadingstudyplan=!1}))},showOverview(){app.selectedstudent=null,app.studentstudyplan=null,app.displayedstudyplan=app.activestudyplan,window.location.hash=app.activestudyplan.id}}})},_notification=_interopRequireDefault(_notification),_vue=_interopRequireDefault(_vue),_debugger=_interopRequireDefault(_debugger),_reportViewerComponents=_interopRequireDefault(_reportViewerComponents),_treestudyplanComponents=_interopRequireDefault(_treestudyplanComponents),_modeditModal=_interopRequireDefault(_modeditModal),_portalVue=_interopRequireDefault(_portalVue),_bootstrapVue=_interopRequireDefault(_bootstrapVue),_vue.default.use(_reportViewerComponents.default),_vue.default.use(_modeditModal.default),_vue.default.use(_portalVue.default),_vue.default.use(_bootstrapVue.default);new _debugger.default("treestudyplanviewer");let strings=(0,_stringHelper.load_strings)({studyplan:{studyplan_select_placeholder:"studyplan_select_placeholder"}})}));
|
||||
define("local_treestudyplan/page-view-plan",["exports","core/ajax","core/notification","./vue/vue","./util/debugger","./util/string-helper","./studyplan-processor","./util/date-helper","./report-viewer-components","./treestudyplan-components","./modedit-modal","./portal-vue/portal-vue.esm","./bootstrap-vue/bootstrap-vue"],(function(_exports,_ajax,_notification,_vue,_debugger,_stringHelper,_studyplanProcessor,_dateHelper,_reportViewerComponents,_treestudyplanComponents,_modeditModal,_portalVue,_bootstrapVue){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=function(contextid,categoryid){contextid=void 0===contextid||!Number.isInteger(Number(contextid))||contextid<1?1:Number(contextid);categoryid=void 0!==categoryid&&Number.isInteger(Number(categoryid))?Number(categoryid):0;let app=new _vue.default({el:"#root",data:{displayedstudyplan:null,activestudyplan:null,associatedstudents:[],selectedstudent:null,studentstudyplan:null,loadingstudyplan:!1,studyplans:[],text:strings.studyplan,toolbox:{right:!0},usedcontexts:[]},async mounted(){(0,_ajax.call)([{methodname:"local_treestudyplan_list_studyplans",args:{context_id:contextid}}])[0].done((function(response){const timingval={present:0,past:1,future:2};response.sort(((a,b)=>{const timinga=(0,_dateHelper.studyplanTiming)(a),timingb=(0,_dateHelper.studyplanTiming)(b),t=timingval[timinga]-timingval[timingb];return 0==t?a.name.localeCompare(b.name):t})),app.studyplans=response;const parts=window.location.hash.replace("#","").split("-");if(parts&&parts.length>0)for(let idx in app.studyplans)if(app.studyplans[idx].id==parts[0]){app.selectStudyplan(app.studyplans[idx],parts[1]);break}})).fail(_notification.default.exception),(0,_ajax.call)([{methodname:"local_treestudyplan_list_used_categories",args:{operation:"view"}}])[0].done((function(response){const contexts=[];for(const ix in response)response[ix].studyplancount>0&&contexts.push(response[ix]);app.usedcontexts=contexts})).fail(_notification.default.exception)},computed:{dropdown_title(){return this.activestudyplan&&this.activestudyplan.name?this.activestudyplan.name:this.text.studyplan_select_placeholder},contextid:()=>contextid},methods:{switchContext(cat){const params=new URLSearchParams(location.search);params.delete("categoryid"),params.set("contextid",cat.context_id),window.location.search=params.toString()},closeStudyplan(){app.activestudyplan=null,app.associatedstudents=[],app.studentstudyplan=[],app.displayedstudyplan=null,window.location.hash=""},selectStudyplan(studyplan,studentid){app.loadingstudyplan=!0,app.activestudyplan=null,app.associatedstudents=[],app.selectedstudent=null,app.studentstudyplan=null,(0,_ajax.call)([{methodname:"local_treestudyplan_get_studyplan_map",args:{id:studyplan.id}}])[0].done((function(response){app.activestudyplan=(0,_studyplanProcessor.ProcessStudyplan)(response,!0),app.displayedstudyplan=app.activestudyplan,app.loadingstudyplan=!1,window.location.hash=app.activestudyplan.id,(0,_ajax.call)([{methodname:"local_treestudyplan_all_associated",args:{studyplan_id:studyplan.id}}])[0].done((function(response){if(app.associatedstudents=response,studentid)for(const student of app.associatedstudents)if(student.id==studentid){app.showStudentView(student);break}})).fail(_notification.default.exception)})).fail((function(error){_notification.default.exception(error),app.loadingstudyplan=!1}))},showStudentView(student){app.selectedstudent=student,app.studentstudyplan=null,app.loadingstudyplan=!0,(0,_ajax.call)([{methodname:"local_treestudyplan_get_user_studyplan",args:{userid:student.id,studyplanid:app.activestudyplan.id}}])[0].done((function(response){app.studentstudyplan=(0,_studyplanProcessor.ProcessStudyplan)(response,!1),app.displayedstudyplan=app.studentstudyplan,app.loadingstudyplan=!1,window.location.hash=app.activestudyplan.id+"-"+student.id})).fail((function(error){_notification.default.exception(error),app.loadingstudyplan=!1}))},showOverview(){app.selectedstudent=null,app.studentstudyplan=null,app.displayedstudyplan=app.activestudyplan,window.location.hash=app.activestudyplan.id}}})},_notification=_interopRequireDefault(_notification),_vue=_interopRequireDefault(_vue),_debugger=_interopRequireDefault(_debugger),_reportViewerComponents=_interopRequireDefault(_reportViewerComponents),_treestudyplanComponents=_interopRequireDefault(_treestudyplanComponents),_modeditModal=_interopRequireDefault(_modeditModal),_portalVue=_interopRequireDefault(_portalVue),_bootstrapVue=_interopRequireDefault(_bootstrapVue),_vue.default.use(_reportViewerComponents.default),_vue.default.use(_modeditModal.default),_vue.default.use(_portalVue.default),_vue.default.use(_bootstrapVue.default);new _debugger.default("treestudyplanviewer");let strings=(0,_stringHelper.load_strings)({studyplan:{studyplan_select_placeholder:"studyplan_select_placeholder"}})}));
|
||||
|
||||
//# sourceMappingURL=page-view-plan.min.js.map
|
File diff suppressed because one or more lines are too long
2
amd/build/studyplan-editor-components.min.js
vendored
2
amd/build/studyplan-editor-components.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -213,18 +213,31 @@ export function init(contextid,categoryid,options) {
|
|||
const params = new URLSearchParams(location.search);
|
||||
params.delete('categoryid');
|
||||
params.set("contextid", to);
|
||||
window.location.search = params.toString();
|
||||
setTimeout(() => {
|
||||
// Reload page in a timeout to give other form javasccript the change to remove the beforeunload handler.
|
||||
window.location.search = params.toString();
|
||||
},50);
|
||||
},
|
||||
onStudyPlanCreated(newstudyplan){
|
||||
app.studyplans.push(newstudyplan);
|
||||
app.selectStudyplan(newstudyplan);
|
||||
|
||||
if (newstudyplan.context_id != contextid) {
|
||||
// Study plan has changed context id - reload page into new context id and show the plan
|
||||
const params = new URLSearchParams(location.search);
|
||||
params.delete('categoryid');
|
||||
params.set("contextid", newstudyplan.context_id);
|
||||
setTimeout(() => {
|
||||
// Reload page in a timeout to give other form javasccript the change to remove the beforeunload handler.
|
||||
window.location = window.location.pathname + "?" + params.toString() + "#" + newstudyplan.id;
|
||||
},50);
|
||||
} else {
|
||||
app.studyplans.push(newstudyplan);
|
||||
app.selectStudyplan(newstudyplan);
|
||||
}
|
||||
},
|
||||
switchContext(ctx){
|
||||
switchContext(cat){
|
||||
const params = new URLSearchParams(location.search);
|
||||
params.set('categoryid', ctx.id);
|
||||
params.delete('categoryid');
|
||||
params.set('contextid', cat.context_id);
|
||||
window.location.search = params.toString();
|
||||
|
||||
},
|
||||
selectStudyplan(studyplan){
|
||||
// fetch studyplan
|
||||
|
|
|
@ -126,11 +126,11 @@ export function init(contextid,categoryid) {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
switchContext(ctx){
|
||||
switchContext(cat){
|
||||
const params = new URLSearchParams(location.search);
|
||||
params.set('categoryid', ctx.id);
|
||||
params.delete('categoryid');
|
||||
params.set('contextid', cat.context_id);
|
||||
window.location.search = params.toString();
|
||||
|
||||
},
|
||||
closeStudyplan() {
|
||||
app.activestudyplan = null;
|
||||
|
|
|
@ -153,6 +153,8 @@ export default {
|
|||
studyplan_add: 'studyplan_add',
|
||||
studyplanpage_add: 'studyplanpage_add',
|
||||
studyplanpage_edit: 'studyplanpage_edit',
|
||||
info_periodsextended: 'studyplanpage_info_periodsextended',
|
||||
warning: 'warning@core',
|
||||
},
|
||||
period_edit: {
|
||||
edit: 'period_edit',
|
||||
|
@ -698,7 +700,16 @@ export default {
|
|||
else {
|
||||
const page = ProcessStudyplanPage(updatedpage);
|
||||
debug.info('studyplan page processed');
|
||||
|
||||
if (self.value.periods < page.periods) {
|
||||
this.$bvModal.msgBoxOk(this.text.info_periodsextended, {
|
||||
title: this.text.warning,
|
||||
okVariant: 'success',
|
||||
centered: true
|
||||
});
|
||||
}
|
||||
self.$emit('input',page);
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
@ -176,6 +176,7 @@ class studyplan_editform extends formbase {
|
|||
foreach(courseservice::list_accessible_categories() as $c){
|
||||
$contextlist[$c['context_id']] = implode(" / ",$c['category']['path']);
|
||||
}
|
||||
|
||||
$mform->addElement('autocomplete', 'context_id',
|
||||
get_string('studyplan_context','local_treestudyplan'),
|
||||
$contextlist);
|
||||
|
@ -295,7 +296,7 @@ class studyplan_editform extends formbase {
|
|||
$plan = studyplan::add(['name' => $entry->name,
|
||||
'shortname' => $entry->shortname,
|
||||
'idnumber' => $entry->idnumber,
|
||||
'context_id' => $customdata->contextid,
|
||||
'context_id' => $entry->context_id,
|
||||
'aggregation' => $entry->aggregation,
|
||||
'aggregation_config' => $aggregation_config,
|
||||
'startdate' => date("Y-m-d",$entry->startdate),
|
||||
|
@ -331,6 +332,7 @@ class studyplan_editform extends formbase {
|
|||
$plan->edit(['name' => $entry->name,
|
||||
'shortname' => $entry->shortname,
|
||||
'idnumber' => $entry->idnumber,
|
||||
'context_id' => $entry->context_id,
|
||||
'description' => $entry->description,
|
||||
'descriptionformat' => $entry->descriptionformat,
|
||||
'aggregation' => $entry->aggregation,
|
||||
|
|
|
@ -140,6 +140,7 @@ $string["studyplanpage"] = 'Study plan page';
|
|||
$string["studyplanpage_add"] = 'Add study plan page';
|
||||
$string["studyplanpage_edit"] = 'Edit study plan page';
|
||||
$string["studyplanpage_remove"] = 'Remove study plan page';
|
||||
$string["studyplanpage_info_periodsextended"] = 'Warning: You have added periods to the study plan page. These new periods have automatically generated timespans that may lie outside of this pages designated end time. Please verify the correct start and end times for each period.';
|
||||
$string["studyplanpage_confirm_remove"] = 'Are you sure you want to remove study plan page {$a}?';
|
||||
$string["studyplan_duration"] = 'Duration';
|
||||
$string["studyplan_name"] = 'Full name';
|
||||
|
|
|
@ -140,6 +140,7 @@ $string["studyplanpage"] = 'Studieplan-tabblad';
|
|||
$string["studyplanpage_add"] = 'Nieuw studieplan-tabblad';
|
||||
$string["studyplanpage_edit"] = 'Studieplan-tabblad bewerken';
|
||||
$string["studyplanpage_remove"] = 'Studieplan-tabblad verwijderen';
|
||||
$string["studyplanpage_info_periodsextended"] = 'Let op! Je hebt perioden toegevoegd aan dit tabblad. Deze nieuwe perioden hebben een ingeschatte start- en eindttijd die mogelijk na de ingestelde eindtijd van het tabblad liggen. Controleer daarom de start- en eindtijden van elke periode.';
|
||||
$string["studyplanpage_confirm_remove"] = 'Weet je zeker dat je studieplan-tabblad {$a} wilt verwijderen?';
|
||||
$string["studyplan_duration"] = 'Duur';
|
||||
$string["studyplan_name"] = 'Volledige Naam';
|
||||
|
|
Loading…
Reference in New Issue
Block a user