Skip to content

Commit 4197e00

Browse files
committed
Use let instead of var
1 parent 3f6ceeb commit 4197e00

24 files changed

+565
-558
lines changed

eslint.config.mjs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1-
import globals from "globals";
2-
import pluginJs from "@eslint/js";
1+
import globals from 'globals';
2+
import pluginJs from '@eslint/js';
33

44
export default [
55
{languageOptions: {globals: globals.browser}},
66
pluginJs.configs.recommended,
7+
{
8+
rules: {
9+
'no-var': 'error',
10+
'no-unused-vars': 'off', // Because we use messy global things, we cannot reliably predict what exists or not
11+
'no-undef': 'off', // Because we use messy global things, we cannot reliably predict what exists or not
12+
},
13+
},
714
];

htdocs/cahier/cahier.js

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
var textToolTipGuest =
1+
let textToolTipGuest =
22
"Un non-membre doit toujours être accompagné par un membre d'Ichtus. <br/> Il n'a donc pas le droit d'aller seul.";
3-
var textToolTipUser = "Sortie pour les membres d'Ichtus<br/><br/>";
3+
let textToolTipUser = "Sortie pour les membres d'Ichtus<br/><br/>";
44

55
function loadActualBookings(_actualBookings) {
66
Cahier.actualBookings = _actualBookings;
77

88
$('divTabCahierTableActualBookings').previousElementSibling.innerHTML =
99
'Sorties en cours (' + _actualBookings.length + ')';
1010

11-
var bookableNbr = 0;
12-
var participantNbr = 0;
11+
let bookableNbr = 0;
12+
let participantNbr = 0;
1313

1414
for (var i = 0; i < _actualBookings.length; i++) {
1515
participantNbr += _actualBookings[i].participantCount;
@@ -19,7 +19,7 @@ function loadActualBookings(_actualBookings) {
1919
$('divTabCahierTableActualBookings').previousElementSibling.title =
2020
bookableNbr + ' embarcations, ' + participantNbr + ' personnes';
2121

22-
var children = $('divTabCahierTables').children;
22+
let children = $('divTabCahierTables').children;
2323
for (var i = 0; i < children.length; i++) {
2424
if (
2525
children[i].id != 'divTabCahierTableActualBookings' &&
@@ -50,7 +50,7 @@ function coloring(booking) {
5050
}
5151

5252
function actualizeActualBookings(_actualBookings) {
53-
var all = $('divTabCahierTableActualBookings').getElementsByClassName('TableEntries');
53+
let all = $('divTabCahierTableActualBookings').getElementsByClassName('TableEntries');
5454
for (var i = 0; i < all.length; i++) {
5555
if (all[i].id != 'divTabCahierTableActualBookingsTopBar') {
5656
all[i].parentNode.removeChild(all[i]);
@@ -59,14 +59,14 @@ function actualizeActualBookings(_actualBookings) {
5959
}
6060

6161
if (_actualBookings.length == 0) {
62-
var entry = div($('divTabCahierTableActualBookings'));
62+
let entry = div($('divTabCahierTableActualBookings'));
6363
entry.classList.add('TableEntries');
6464
entry.classList.add('TableEntriesHover');
6565
div(entry);
6666
}
6767

6868
for (var i = 0; i < _actualBookings.length; i++) {
69-
var container = div($('divTabCahierTableActualBookings'));
69+
let container = div($('divTabCahierTableActualBookings'));
7070
container.id = i;
7171
container.classList.add('TableEntries');
7272
container.classList.add('TableEntriesHover');
@@ -94,11 +94,11 @@ function actualizeActualBookings(_actualBookings) {
9494
}
9595
});
9696

97-
var divDate = div(container);
97+
let divDate = div(container);
9898

99-
var maxHours = 24;
99+
let maxHours = 24;
100100
if (Date.now() - new Date(_actualBookings[i].startDate).getTime() > (maxHours / 6) * 60 * 60 * 1000) {
101-
var d = div(divDate);
101+
let d = div(divDate);
102102
d.classList.add('TableEntriesAlert');
103103
d.style.filter = 'grayscale(1) invert(1)';
104104
d.title = '+ de 4 heures';
@@ -121,7 +121,7 @@ function actualizeActualBookings(_actualBookings) {
121121
divDate.id = 'SORTING' + new Date(_actualBookings[i].startDate).toISOString(); // for the sorting
122122
divDate.innerHTML += new Date(_actualBookings[i].startDate).getNiceTime(':', true);
123123

124-
var participantCount = div(container);
124+
let participantCount = div(container);
125125
participantCount.innerHTML = _actualBookings[i].participantCount;
126126
participantCount.title = Cahier.getSingularOrPlural(_actualBookings[i].participantCount);
127127

@@ -142,19 +142,19 @@ function actualizeActualBookings(_actualBookings) {
142142

143143
var c = div(container);
144144
c.title = 'Terminer ou modifier cette sortie';
145-
var btn = div(c);
145+
let btn = div(c);
146146
btn.classList.add('Buttons');
147147
}
148148
sortTable($('divTabCahierTableActualBookings'));
149149
}
150150

151151
// new search system
152152
function bookingTableSearch(_table) {
153-
var bookings;
153+
let bookings;
154154
txts = _table.previousElementSibling.previousElementSibling.value.split(' ');
155155
// means finishedBookings
156156
if (_table != $('divTabCahierTableActualBookings')) {
157-
var all = document.getElementsByClassName('BookingsTable');
157+
let all = document.getElementsByClassName('BookingsTable');
158158
for (var i = 1; i < all.length; i++) {
159159
if (all[i] == _table) {
160160
break;
@@ -165,12 +165,12 @@ function bookingTableSearch(_table) {
165165
// means actualBookings
166166
bookings = Cahier.actualBookings;
167167
}
168-
var result = [];
168+
let result = [];
169169

170170
for (let t = 0; t < txts.length; t++) {
171171
result[t] = [];
172172
for (let b = 0; b < bookings.length; b++) {
173-
var add = false;
173+
let add = false;
174174

175175
// fields taken into account in the search
176176
if (bookings[b].owner.name.toUpperCase().includes(txts[t].toUpperCase())) {
@@ -205,7 +205,7 @@ function bookingTableSearch(_table) {
205205
}
206206

207207
// merge but only take the bookings which are in every search result !
208-
var send = result.mergeAND();
208+
let send = result.mergeAND();
209209
if (_table == $('divTabCahierTableActualBookings')) {
210210
actualizeActualBookings(send);
211211
} else {
@@ -214,15 +214,15 @@ function bookingTableSearch(_table) {
214214
}
215215

216216
function createBookingBookableBox(elem, bookable = {code: 'ZZZ'}) {
217-
var d = div(elem);
217+
let d = div(elem);
218218
if (bookable.code != null) {
219219
d.id = bookable.code;
220220
} else {
221221
d.id = '999';
222222
}
223223

224-
var img = div(d);
225-
var code = div(d);
224+
let img = div(d);
225+
let code = div(d);
226226

227227
if (bookable == Cahier.personalBookable) {
228228
img.style.backgroundImage = 'url(img/icons/own-sail.png)';
@@ -242,7 +242,7 @@ function createBookingBookableBox(elem, bookable = {code: 'ZZZ'}) {
242242

243243
if (bookable.code != null) {
244244
code.innerHTML = bookable.code;
245-
var codeLength = bookable.code.pixelLength(20);
245+
let codeLength = bookable.code.pixelLength(20);
246246
div(d).innerHTML = bookable.name.shorten(170 - codeLength, 18);
247247
} else {
248248
code.innerHTML = '';
@@ -253,12 +253,12 @@ function createBookingBookableBox(elem, bookable = {code: 'ZZZ'}) {
253253
}
254254

255255
function loadTableTopBars(allTables = document.getElementsByClassName('BookingsTable')) {
256-
for (var u = 0; u < allTables.length; u++) {
257-
var table = allTables[u];
258-
var top = table.getElementsByClassName('TableTopBar')[0];
256+
for (let u = 0; u < allTables.length; u++) {
257+
let table = allTables[u];
258+
let top = table.getElementsByClassName('TableTopBar')[0];
259259
var all = top.getElementsByTagName('div');
260260

261-
for (var i = 0; i < all.length; i = i + 2) {
261+
for (let i = 0; i < all.length; i = i + 2) {
262262
all[i].getElementsByTagName('div')[0].style.backgroundImage = 'url(img/icons/sort-asc.png)';
263263

264264
if (!(all[i].parentElement.id == 'divTabCahierTableActualBookingsTopBar' && all[i].id == '6')) {
@@ -276,8 +276,8 @@ function loadTableTopBars(allTables = document.getElementsByClassName('BookingsT
276276
order = -1;
277277
}
278278

279-
var allButtons = this.parentElement.getElementsByTagName('div');
280-
for (var k = 0; k < all.length; k = k + 2) {
279+
let allButtons = this.parentElement.getElementsByTagName('div');
280+
for (let k = 0; k < all.length; k = k + 2) {
281281
if (allButtons[k] != this) {
282282
allButtons[k].classList.remove('BookingsTopBarSorted');
283283
allButtons[k].getElementsByTagName('div')[0].style.backgroundImage =
@@ -294,8 +294,8 @@ function loadTableTopBars(allTables = document.getElementsByClassName('BookingsT
294294
}
295295

296296
function sortTable(table) {
297-
var field = parseInt(table.getElementsByClassName('BookingsTopBarSorted')[0].id);
298-
var order = function () {
297+
let field = parseInt(table.getElementsByClassName('BookingsTopBarSorted')[0].id);
298+
let order = function () {
299299
if (
300300
table.getElementsByClassName('BookingsTopBarSorted')[0].getElementsByTagName('div')[0].style
301301
.backgroundImage == 'url("img/icons/sort-desc.png")'
@@ -306,11 +306,11 @@ function sortTable(table) {
306306
}
307307
};
308308

309-
var all = table.getElementsByClassName('TableEntries');
310-
var switching = true;
309+
let all = table.getElementsByClassName('TableEntries');
310+
let switching = true;
311311
while (switching) {
312312
switching = false;
313-
for (var i = 1; i < all.length - 1; i++) {
313+
for (let i = 1; i < all.length - 1; i++) {
314314
if (
315315
(getSortingText(all[i].children[field]) > getSortingText(all[i + 1].children[field]) && order() == 1) ||
316316
(getSortingText(all[i].children[field]) < getSortingText(all[i + 1].children[field]) && order() == -1)
@@ -342,7 +342,7 @@ function newBookingTable(date, title = '?') {
342342
}
343343

344344
function createBookingsTable(date, title) {
345-
var input = document.createElement('input');
345+
let input = document.createElement('input');
346346
input.type = 'text';
347347
input.value = '';
348348
input.spellcheck = false;
@@ -352,7 +352,7 @@ function createBookingsTable(date, title) {
352352
};
353353
$('divTabCahierTables').appendChild(input);
354354

355-
var t = div($('divTabCahierTables'));
355+
let t = div($('divTabCahierTables'));
356356
t.classList.add('BookingsTableText');
357357
if (title == '?') {
358358
title = date.getNiceDate();
@@ -363,11 +363,11 @@ function createBookingsTable(date, title) {
363363
table.id = date.toISOString();
364364
table.classList.add('BookingsTable');
365365

366-
var topBar = div(table);
366+
let topBar = div(table);
367367
topBar.classList.add('TableEntries');
368368
topBar.classList.add('TableTopBar');
369369

370-
var fields = [
370+
let fields = [
371371
'',
372372
'',
373373
'',
@@ -377,7 +377,7 @@ function createBookingsTable(date, title) {
377377
'Commentaire de départ',
378378
"Commentaire d'arrivée",
379379
];
380-
var images = [
380+
let images = [
381381
'icons/start',
382382
'icons/end',
383383
'icons/participant-count',
@@ -388,11 +388,11 @@ function createBookingsTable(date, title) {
388388
'icons/end-comment',
389389
];
390390

391-
for (var i = 0; i < fields.length; i++) {
392-
var d = div(topBar);
391+
for (let i = 0; i < fields.length; i++) {
392+
let d = div(topBar);
393393
d.id = i;
394394
div(d);
395-
var img = document.createElement('img');
395+
let img = document.createElement('img');
396396
img.src = 'img/' + images[i] + '.png';
397397
img.alt = '?';
398398
d.appendChild(img);
@@ -401,7 +401,7 @@ function createBookingsTable(date, title) {
401401

402402
topBar.getElementsByTagName('div')[0].classList.add('BookingsTopBarSorted');
403403

404-
var b = div(table);
404+
let b = div(table);
405405
b.style.position = 'absolute';
406406
b.style.width = '100%';
407407
b.style.height = '2px';
@@ -414,21 +414,21 @@ function createBookingsTable(date, title) {
414414
}
415415

416416
function createNoBookingMessage(date) {
417-
var t = div($('divTabCahierTables'));
417+
let t = div($('divTabCahierTables'));
418418
t.classList.add('BookingsTableTextNoBooking');
419419
t.innerHTML = 'Aucune sortie le ' + date.getNiceDate();
420420
}
421421

422422
function actualizeFinishedBookingListForDay(bookings, table) {
423-
var all = table.getElementsByClassName('TableEntries');
423+
let all = table.getElementsByClassName('TableEntries');
424424
for (var i = 0; i < all.length; i++) {
425425
if (all[i].classList.contains('TableTopBar') === false) {
426426
all[i].parentNode.removeChild(all[i]);
427427
i--;
428428
}
429429
}
430430

431-
var participantNbr = 0,
431+
let participantNbr = 0,
432432
bookableNbr = 0;
433433
for (var i = 0; i < bookings.length; i++) {
434434
participantNbr += bookings[i].participantCount;
@@ -437,13 +437,13 @@ function actualizeFinishedBookingListForDay(bookings, table) {
437437
table.previousElementSibling.title = bookableNbr + ' embarcations, ' + participantNbr + ' personnes';
438438

439439
if (bookings.length === 0) {
440-
var ent = div(table);
440+
let ent = div(table);
441441
ent.classList.add('TableEntries');
442442
ent.classList.add('TableEntriesHover');
443443
div(ent);
444444
} else {
445445
for (let i = 0; i < bookings.length; i++) {
446-
var entry = div(table);
446+
let entry = div(table);
447447
entry.id = i;
448448
entry.classList.add('TableEntries');
449449
entry.classList.add('TableEntriesHover');
@@ -470,7 +470,7 @@ function actualizeFinishedBookingListForDay(bookings, table) {
470470
if (bookings[i].bookables.length === 0) {
471471
createBookingBookableBox(div(entry));
472472
} else {
473-
var c = div(entry);
473+
let c = div(entry);
474474
for (let k = 0; k < bookings[i].bookables.length; k++) {
475475
createBookingBookableBox(c, bookings[i].bookables[k]);
476476
}

0 commit comments

Comments
 (0)