Apply standard formater and linter on js files

This commit is contained in:
2024-10-03 01:45:29 +02:00
parent e5aa7aa866
commit c57d2ece9c
19 changed files with 3980 additions and 829 deletions

View File

@ -1,59 +1,60 @@
$( function() {
buttons = $(".choose_file_button");
popups = $(".choose_file_widget");
popups.dialog({
autoOpen: false,
modal: true,
width: "90%",
create: function (event) {
target = $(event.target);
target.parent().css({
'position': 'fixed',
'top': '5%',
'bottom': '5%',
});
target.css("height", "300px");
console.log(target);
/* eslint-disable camelcase */
$(function () {
// const buttons = $('.choose_file_button')
const popups = $('.choose_file_widget')
popups.dialog({
autoOpen: false,
modal: true,
width: '90%',
create: function (event) {
const target = $(event.target)
target.parent().css({
position: 'fixed',
top: '5%',
bottom: '5%'
})
target.css('height', '300px')
console.log(target)
},
buttons: [
{
text: 'Choose',
click: function () {
console.log($('#file_id'))
$('input[name=' + $(this).attr('name') + ']').attr('value', $('#file_id').attr('value'))
$(this).dialog('close')
},
buttons: [
{
text: "Choose",
click: function() {
console.log($("#file_id"));
$("input[name="+$(this).attr('name')+"]").attr('value', $("#file_id").attr('value'));
$( this ).dialog( "close" );
},
disabled: true,
}
],
});
$( ".choose_file_button" ).button().on( "click", function() {
popup = popups.filter("[name="+$(this).attr('name')+"]");
console.log(popup);
popup.html('<iframe src="/file/popup" width="100%" height="95%"></iframe><div id="file_id" value="null" />');
popup.dialog({title: $(this).text()}).dialog( "open" );
});
$("#quick_notif li").click(function () {
$(this).hide();
})
});
disabled: true
}
]
})
$('.choose_file_button').button().on('click', function () {
const popup = popups.filter('[name=' + $(this).attr('name') + ']')
console.log(popup)
popup.html('<iframe src="/file/popup" width="100%" height="95%"></iframe><div id="file_id" value="null" />')
popup.dialog({ title: $(this).text() }).dialog('open')
})
$('#quick_notif li').click(function () {
$(this).hide()
})
})
function createQuickNotif(msg) {
const el = document.createElement('li')
el.textContent = msg
el.addEventListener('click', () => el.parentNode.removeChild(el))
document.getElementById('quick_notif').appendChild(el)
function createQuickNotif (msg) { // eslint-disable-line no-unused-vars
const el = document.createElement('li')
el.textContent = msg
el.addEventListener('click', () => el.parentNode.removeChild(el))
document.getElementById('quick_notif').appendChild(el)
}
function deleteQuickNotifs() {
const el = document.getElementById('quick_notif')
while (el.firstChild) {
el.removeChild(el.firstChild)
}
function deleteQuickNotifs () { // eslint-disable-line no-unused-vars
const el = document.getElementById('quick_notif')
while (el.firstChild) {
el.removeChild(el.firstChild)
}
}
function display_notif() {
$('#header_notif').toggle().parent().toggleClass("white");
function display_notif () { // eslint-disable-line no-unused-vars
$('#header_notif').toggle().parent().toggleClass('white')
}
// You can't get the csrf token from the template in a widget
@ -62,22 +63,21 @@ function display_notif() {
// Sadly, getting the cookie is not possible with CSRF_COOKIE_HTTPONLY or CSRF_USE_SESSIONS is True
// So, the true workaround is to get the token from the dom
// https://docs.djangoproject.com/en/2.0/ref/csrf/#acquiring-the-token-if-csrf-use-sessions-is-true
function getCSRFToken() {
return $("[name=csrfmiddlewaretoken]").val();
function getCSRFToken () { // eslint-disable-line no-unused-vars
return $('[name=csrfmiddlewaretoken]').val()
}
const initialUrlParams = new URLSearchParams(window.location.search);
const initialUrlParams = new URLSearchParams(window.location.search) // eslint-disable-line no-unused-vars
/**
* @readonly
* @enum {number}
*/
const History = {
NONE: 0,
PUSH: 1,
REPLACE: 2,
};
NONE: 0,
PUSH: 1,
REPLACE: 2
}
/**
* @param {string} key
@ -85,27 +85,27 @@ const History = {
* @param {History} action
* @param {URL | null} url
*/
function update_query_string(key, value, action = History.REPLACE, url = null) {
if (!url){
url = new URL(window.location.href);
}
if (value === undefined || value === null || value === "") {
// If the value is null, undefined or empty => delete it
url.searchParams.delete(key)
} else if (Array.isArray(value)) {
url.searchParams.delete(key)
value.forEach((v) => url.searchParams.append(key, v))
} else {
url.searchParams.set(key, value);
}
function update_query_string (key, value, action = History.REPLACE, url = null) { // eslint-disable-line no-unused-vars
if (!url) {
url = new URL(window.location.href)
}
if (value === undefined || value === null || value === '') {
// If the value is null, undefined or empty => delete it
url.searchParams.delete(key)
} else if (Array.isArray(value)) {
url.searchParams.delete(key)
value.forEach((v) => url.searchParams.append(key, v))
} else {
url.searchParams.set(key, value)
}
if (action === History.PUSH) {
history.pushState(null, "", url.toString());
} else if (action === History.REPLACE) {
history.replaceState(null, "", url.toString());
}
if (action === History.PUSH) {
window.history.pushState(null, '', url.toString())
} else if (action === History.REPLACE) {
window.history.replaceState(null, '', url.toString())
}
return url;
return url
}
// TODO : If one day a test workflow is made for JS in this project
@ -116,27 +116,27 @@ function update_query_string(key, value, action = History.REPLACE, url = null) {
* @param {string} url The paginated endpoint to fetch
* @return {Promise<Object[]>}
*/
async function fetch_paginated(url) {
const max_per_page = 199;
const paginated_url = new URL(url, document.location.origin);
paginated_url.searchParams.set("page_size", max_per_page.toString());
paginated_url.searchParams.set("page", "1");
async function fetch_paginated (url) { // eslint-disable-line no-unused-vars
const max_per_page = 199
const paginated_url = new URL(url, document.location.origin)
paginated_url.searchParams.set('page_size', max_per_page.toString())
paginated_url.searchParams.set('page', '1')
let first_page = (await ( await fetch(paginated_url)).json());
let results = first_page.results;
const first_page = (await (await fetch(paginated_url)).json())
const results = first_page.results
const nb_pictures = first_page.count
const nb_pages = Math.ceil(nb_pictures / max_per_page);
const nb_pages = Math.ceil(nb_pictures / max_per_page)
if (nb_pages > 1) {
let promises = [];
for (let i = 2; i <= nb_pages; i++) {
paginated_url.searchParams.set("page", i.toString());
promises.push(
fetch(paginated_url).then(res => res.json().then(json => json.results))
);
}
results.push(...(await Promise.all(promises)).flat())
const promises = []
for (let i = 2; i <= nb_pages; i++) {
paginated_url.searchParams.set('page', i.toString())
promises.push(
fetch(paginated_url).then(res => res.json().then(json => json.results))
)
}
results.push(...(await Promise.all(promises)).flat())
}
return results;
return results
}