This commit is contained in:
Mathieu Lagace
2020-01-21 21:14:48 -05:00
parent c20024ed96
commit 9e21124e90
12 changed files with 189 additions and 98 deletions

View File

@@ -1,4 +1,7 @@
var editorTemplate;
var nbOfPeriode;
var nbOfLevel;
var emptyPeriode;
function initScheduleEditor(id, eventType)
{
@@ -7,8 +10,8 @@ function initScheduleEditor(id, eventType)
url: '/api/schedule/editor/init/'+eventType+'?api_token='+api_token,
success: function (template) {
$("#"+id).html(template);
for (let pniveau = 1; pniveau <= 3; pniveau++) {
for (let pperiode = 1; pperiode <= 3; pperiode++) {
for (let pniveau = 1; pniveau <= nbOfLevel; pniveau++) {
for (let pperiode = 1; pperiode <= nbOfPeriode; pperiode++) {
loadCourse(pniveau,pperiode);
}
}
@@ -36,6 +39,7 @@ function initScheduleEditor(id, eventType)
lang: 'fr'
});
$('select').selectpicker();
}
function switchUseWeeklyMsg()
@@ -78,6 +82,54 @@ function loadCourse(periode,niveau)
})
}
function addPeriode()
{
var periodeToAdd = nbOfPeriode+1;
$.ajax({
type: 'GET',
url: '/api/schedule/editor/emptyperiode/'+periodeToAdd+'?api_token='+api_token+'&nblevel='+nbOfLevel,
success: function (template) {
$('#row-'+nbOfPeriode).after(template);
for (let i = 1; i <= nbOfLevel; i++) {
loadCourse(periodeToAdd,i);
}
nbOfPeriode = periodeToAdd;
initAutoComplete("AutoCompleteUser");
initAutoCompleteOCOM('AutoCompleteOCOM');
},
error: function () {
showNotification('error','Impossible d\'initialiser l\'éditeur d\'horaire ...','top', 'center')
}
})
}
function addLevel()
{
var levelToAdd = nbOfLevel+1;
var oldnbOfLevel = nbOfLevel;
nbOfLevel++;
$.ajax({
type: 'GET',
url: '/api/schedule/editor/levelHeader/'+levelToAdd+'?api_token='+api_token,
success: function (template) {
$('#levelHeader-'+oldnbOfLevel).after(template)
for (let i = 1; i <= nbOfPeriode; i++) {
$('#container-'+oldnbOfLevel+'-'+i).after('<div id="container-'+levelToAdd+'-'+i+'" niveau="'+levelToAdd+'" periode="'+i+'" class="col m-0 border-bottom border-right scheduleEditor-course">@loaderDot</div>');
}
for (let i = 1; i <= nbOfPeriode; i++) {
loadCourse(i,levelToAdd);
}
},
error: function () {
showNotification('error','Impossible d\'ajouter une nouvelle entête de niveau ...','top', 'center')
}
})
setTimeout(function () {
initAutoComplete("AutoCompleteUser");
initAutoCompleteOCOM('AutoCompleteOCOM');
},1000)
}
function loadEventType(date)
{
var selectInput = $('#type');
@@ -88,6 +140,8 @@ function loadEventType(date)
success: function (data) {
var result = JSON.parse(data);
editorTemplate = result;
nbOfLevel = editorTemplate.schedule_model.niveaux.length;
nbOfPeriode = editorTemplate.schedule_model.periodes.length;
initScheduleEditor("scheduleEditor",id)
$.each(result, function (i, val) {
if(i == "is_mandatory" || i == "use_schedule" || i == "use_weekly_msg")
@@ -212,16 +266,16 @@ function selectCourseMode(mode, niveau, periode)
function selectCourseModePeriode(mode,periode)
{
$.each(editorTemplate['schedule_model']['niveaux'], function (i, val) {
for (let i = 0; i < nbOfLevel; i++) {
selectCourseMode(mode,i+1,periode);
});
}
}
function selectCourseModeNiveau(mode,niveau)
{
$.each(editorTemplate['schedule_model']['periodes'], function (i, val) {
for (let i = 0; i < nbOfPeriode; i++) {
selectCourseMode(mode,niveau,i+1);
});
}
}
function updatePlantext(toggle,id)