let uniqueID = 0; let currentActivities = []; let entryTemplate = '' + '' + '' + '' + '' + '' + '' + ''; let editEntryTemplate = '\n' + '\n' + '\n' + '\n' + '' + '\n' + '\n' + '\n' + '\n' + '' + '\n' + '' + '' + '\n' + '\n'; $(document).ready(function () { getDayActivities(getSelectedDay()); $('#daySelect').on('change', function () { getDayActivities(getSelectedDay()); }); $(".save").click(function () { saveDayActivities(); }); $('.add-line').on('click', function () { let newElem = {}; uniqueID += 1; newElem['ID'] = 'new_'+ uniqueID; newElem['day'] = getSelectedDay(); newElem['start'] = ''; newElem['length'] = ''; newElem['small_title'] = ''; newElem['full_title'] = ''; newElem['description'] = ''; currentActivities.push(newElem); showInfo(newElem); addLine(newElem['ID'], '', '', ''); }); }); function getSelectedDay() { return $('#daySelect').val(); } function getRealId(id) { return id.replace('entry_', ''); } function findActivityOfId(id) { let match = undefined; for (let i = 0; i < currentActivities.length; i++) { if (currentActivities[i]['ID'] === id) { match = currentActivities[i]; break; } } return match; } function removeActivityOfId(id) { for (let i = 0; i < currentActivities.length; i++) { if (currentActivities[i]['ID'] === id) { currentActivities.splice(i, 1); break; } } } function updateListEntry(entry) { let $listEntry = $('#entry_' + entry['ID']); if ($listEntry !== undefined) { $listEntry.find('.planning-start').text(entry['start']); $listEntry.find('.planning-length').text(entry['length']); $listEntry.find('.planning-name').text(entry['small_title']); } } function addLine(id, start, length, name) { let $entry = $(entryTemplate); $entry.attr('id', 'entry_' + id); $entry.find('.remove-line').attr('id', 'removeEntry_' + id); $("#activityTable").prepend($entry); $entry.find('.planning-start').text(start); $entry.find('.planning-length').text(length); $entry.find('.planning-name').text(name); $("#removeEntry_" + id).on("click", function () { removeActivityOfId(getRealId($entry.attr('id'))); $entry.remove(); }); $entry.on("click", function () { showInfo(findActivityOfId(getRealId($entry.attr('id')))); }); } function showInfo(entry) { if (entry !== undefined) { $.alert({ title: 'Edition du planning', content: editEntryTemplate, onOpenBefore: function () { $('#startTimeInput').val(entry['start']); $('#lengthTimeInput').val(entry['length']); $('#smallTitleInput').val(entry['small_title']); $('#fullTitleInput').val(entry['full_title']); $('#descriptionInput').val(entry['description']); $('#colorInput').val(entry['color']); }, onClose: function () { entry['start'] =$('#startTimeInput').val(); entry['length'] = $('#lengthTimeInput').val(); entry['small_title'] = $('#smallTitleInput').val(); entry['full_title'] = $('#fullTitleInput').val(); entry['description'] = $('#descriptionInput').val(); entry['color'] = $('#colorInput').val(); updateListEntry(entry); }, }); } else alert('Une erreur est survenue'); } function saveDayActivities() { let object = { "function": 'save_day_activities', "day": getSelectedDay(), "entries": currentActivities, }; $.get( "../ajax/write", object, function (data) { alert(data); }); } function getDayActivities(day) { $('#activityTable').html(''); let object = { "function": 'get_activities_of_day', 'day': day, }; $.get( "../ajax/read", object, function (data) { currentActivities = data; for (let i = 0; i < data.length; i++) { addLine(data[i]['ID'], data[i]['start'], data[i]['length'], data[i]['small_title']); } } ); }