mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
fix: Undo util.js errors introduced when changing lint settings
This commit is contained in:
parent
edbf895505
commit
261c3d05a6
@ -1,9 +1,10 @@
|
|||||||
|
/* eslint-disable unused-imports/no-unused-vars */
|
||||||
/**
|
/**
|
||||||
* Returns an object that maps IDs to the corresponding element.
|
* Returns an object that maps IDs to the corresponding element.
|
||||||
*
|
*
|
||||||
* @param ids - IDs of the element (empty to retrieve all elements)
|
* @param ids - IDs of the element (empty to retrieve all elements)
|
||||||
*/
|
*/
|
||||||
export function getElements(...ids) {
|
function getElements(...ids) {
|
||||||
ids = ids.length > 0 ? ids : [ ...document.querySelectorAll('[id]') ].map(e => e.id);
|
ids = ids.length > 0 ? ids : [ ...document.querySelectorAll('[id]') ].map(e => e.id);
|
||||||
return Object.fromEntries(ids.map(id => [ id, document.getElementById(id) ]));
|
return Object.fromEntries(ids.map(id => [ id, document.getElementById(id) ]));
|
||||||
}
|
}
|
||||||
@ -21,7 +22,7 @@ export function getElements(...ids) {
|
|||||||
* Defaults to identity function.
|
* Defaults to identity function.
|
||||||
* @param formId - The ID of the form. Defaults to "mainForm".
|
* @param formId - The ID of the form. Defaults to "mainForm".
|
||||||
*/
|
*/
|
||||||
export async function postJsonForm(target = '', expectRedirect = false, transform = json => json, formId = 'mainForm') {
|
async function postJsonForm(target = '', expectRedirect = false, transform = json => json, formId = 'mainForm') {
|
||||||
const form = document.getElementById(formId);
|
const form = document.getElementById(formId);
|
||||||
const formData = new FormData(form);
|
const formData = new FormData(form);
|
||||||
const json = transform(Object.fromEntries(formData));
|
const json = transform(Object.fromEntries(formData));
|
||||||
@ -50,7 +51,7 @@ export async function postJsonForm(target = '', expectRedirect = false, transfor
|
|||||||
* @param formId - ID of the form. Defaults to "mainForm".
|
* @param formId - ID of the form. Defaults to "mainForm".
|
||||||
* @param errorId - ID of the error block. Defaults to "error".
|
* @param errorId - ID of the error block. Defaults to "error".
|
||||||
*/
|
*/
|
||||||
export function addPostListener(callback, formId = 'mainForm', errorId = 'error') {
|
function addPostListener(callback, formId = 'mainForm', errorId = 'error') {
|
||||||
const form = document.getElementById(formId);
|
const form = document.getElementById(formId);
|
||||||
|
|
||||||
form.addEventListener('submit', async(event) => {
|
form.addEventListener('submit', async(event) => {
|
||||||
@ -69,7 +70,7 @@ export function addPostListener(callback, formId = 'mainForm', errorId = 'error'
|
|||||||
* @param id - ID of the element.
|
* @param id - ID of the element.
|
||||||
* @param visible - If it should be visible.
|
* @param visible - If it should be visible.
|
||||||
*/
|
*/
|
||||||
export function setVisibility(id, visible) {
|
function setVisibility(id, visible) {
|
||||||
const element = document.getElementById(id);
|
const element = document.getElementById(id);
|
||||||
element.classList[visible ? 'remove' : 'add']('hidden');
|
element.classList[visible ? 'remove' : 'add']('hidden');
|
||||||
// Disable children of hidden elements,
|
// Disable children of hidden elements,
|
||||||
@ -85,7 +86,7 @@ export function setVisibility(id, visible) {
|
|||||||
* Obtains all children, grandchildren, etc. of the given element.
|
* Obtains all children, grandchildren, etc. of the given element.
|
||||||
* @param element - Element to get all descendants from.
|
* @param element - Element to get all descendants from.
|
||||||
*/
|
*/
|
||||||
export function getDescendants(element) {
|
function getDescendants(element) {
|
||||||
return [ ...element.querySelectorAll('*') ];
|
return [ ...element.querySelectorAll('*') ];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,12 +97,15 @@ export function getDescendants(element) {
|
|||||||
* @param options - Indicates which fields should be updated.
|
* @param options - Indicates which fields should be updated.
|
||||||
* Keys should be `innerText` and/or `href`, values should be booleans.
|
* Keys should be `innerText` and/or `href`, values should be booleans.
|
||||||
*/
|
*/
|
||||||
export function updateElement(id, text, options) {
|
function updateElement(id, text, options) {
|
||||||
const element = document.getElementById(id);
|
const element = document.getElementById(id);
|
||||||
setVisibility(id, Boolean(text));
|
setVisibility(id, Boolean(text));
|
||||||
if (options.textContent) {
|
// Keeping innerText for now as not to suddenly change the name of an option.
|
||||||
element.textContent = text;
|
/* eslint-disable unicorn/prefer-dom-node-text-content */
|
||||||
|
if (options.innerText) {
|
||||||
|
element.innerText = text;
|
||||||
}
|
}
|
||||||
|
/* eslint-enable unicorn/prefer-dom-node-text-content */
|
||||||
if (options.href) {
|
if (options.href) {
|
||||||
element.href = text;
|
element.href = text;
|
||||||
}
|
}
|
||||||
@ -112,7 +116,7 @@ export function updateElement(id, text, options) {
|
|||||||
* @param url - URL to fetch JSON from.
|
* @param url - URL to fetch JSON from.
|
||||||
* @param redirectUrl - URL to redirect to in case the response code is >= 400. No redirect happens if undefined.
|
* @param redirectUrl - URL to redirect to in case the response code is >= 400. No redirect happens if undefined.
|
||||||
*/
|
*/
|
||||||
export async function fetchJson(url, redirectUrl) {
|
async function fetchJson(url, redirectUrl) {
|
||||||
const res = await fetch(url, { headers: { accept: 'application/json' }});
|
const res = await fetch(url, { headers: { accept: 'application/json' }});
|
||||||
|
|
||||||
if (redirectUrl && res.status >= 400) {
|
if (redirectUrl && res.status >= 400) {
|
||||||
@ -126,14 +130,14 @@ export async function fetchJson(url, redirectUrl) {
|
|||||||
/**
|
/**
|
||||||
* Returns the controls object that can be found accessing the given URL.
|
* Returns the controls object that can be found accessing the given URL.
|
||||||
*/
|
*/
|
||||||
export async function fetchControls(url) {
|
async function fetchControls(url) {
|
||||||
return (await fetchJson(url)).controls;
|
return (await fetchJson(url)).controls;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POSTs JSON to the given URL and returns the response.
|
* POSTs JSON to the given URL and returns the response.
|
||||||
*/
|
*/
|
||||||
export async function postJson(url, json) {
|
async function postJson(url, json) {
|
||||||
return fetch(url, {
|
return fetch(url, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { accept: 'application/json', 'content-type': 'application/json' },
|
headers: { accept: 'application/json', 'content-type': 'application/json' },
|
||||||
@ -145,7 +149,7 @@ export async function postJson(url, json) {
|
|||||||
* Sets the contents of the error block to the given error message.
|
* Sets the contents of the error block to the given error message.
|
||||||
* Default ID of the error block is `error`.
|
* Default ID of the error block is `error`.
|
||||||
*/
|
*/
|
||||||
export function setError(message, errorId = 'error') {
|
function setError(message, errorId = 'error') {
|
||||||
updateElement(errorId, message, { innerText: true });
|
updateElement(errorId, message, { innerText: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,7 +158,7 @@ export function setError(message, errorId = 'error') {
|
|||||||
* @param element - The id of the button.
|
* @param element - The id of the button.
|
||||||
* @param url - The URL to redirect to.
|
* @param url - The URL to redirect to.
|
||||||
*/
|
*/
|
||||||
export function setRedirectClick(element, url) {
|
function setRedirectClick(element, url) {
|
||||||
document.getElementById(element).addEventListener('click', () => location.href = url);
|
document.getElementById(element).addEventListener('click', () => location.href = url);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,7 +169,7 @@ export function setRedirectClick(element, url) {
|
|||||||
* @param formId - ID of the form. Defaults to "mainForm".
|
* @param formId - ID of the form. Defaults to "mainForm".
|
||||||
* @param confirmPasswordId - ID of the password confirmation field. Defaults to "confirmPassword".
|
* @param confirmPasswordId - ID of the password confirmation field. Defaults to "confirmPassword".
|
||||||
*/
|
*/
|
||||||
export function validatePasswordConfirmation(passwordId, formId = 'mainForm', confirmPasswordId = 'confirmPassword') {
|
function validatePasswordConfirmation(passwordId, formId = 'mainForm', confirmPasswordId = 'confirmPassword') {
|
||||||
const formData = new FormData(document.getElementById(formId));
|
const formData = new FormData(document.getElementById(formId));
|
||||||
if (formData.get(passwordId) !== formData.get(confirmPasswordId)) {
|
if (formData.get(passwordId) !== formData.get(confirmPasswordId)) {
|
||||||
throw new Error('Password confirmation does not match the password!');
|
throw new Error('Password confirmation does not match the password!');
|
||||||
@ -183,7 +187,7 @@ export function validatePasswordConfirmation(passwordId, formId = 'mainForm', co
|
|||||||
*
|
*
|
||||||
* @returns The HTML object representing the `(delete)` link.
|
* @returns The HTML object representing the `(delete)` link.
|
||||||
*/
|
*/
|
||||||
export function createUrlDeleteElement(parent, url, fetchParams, confirmMsg, finishMsg) {
|
function createUrlDeleteElement(parent, url, fetchParams, confirmMsg, finishMsg) {
|
||||||
const del = document.createElement('a');
|
const del = document.createElement('a');
|
||||||
del.textContent = '(delete)';
|
del.textContent = '(delete)';
|
||||||
del.href = '#';
|
del.href = '#';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user