mirror of
https://github.com/Steffo99/bluelib.git
synced 2024-12-22 11:34:21 +00:00
Document and refactor enableChanges
This commit is contained in:
parent
4f0033275b
commit
d0fe93113a
1 changed files with 82 additions and 9 deletions
|
@ -39,16 +39,43 @@ const enabledByDefault = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of all `<style>` {@link HTMLElement}s with an id starting with `less:dist`.
|
||||||
|
*
|
||||||
|
* @type {{string: HTMLElement} | undefined}
|
||||||
|
*/
|
||||||
let lessStyles = undefined
|
let lessStyles = undefined
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of all `<style>` {@link HTMLElement}s with an id starting with `less:dist-colors`.
|
||||||
|
*
|
||||||
|
* @type {{string: HTMLElement} | undefined}
|
||||||
|
*/
|
||||||
let lessColors = undefined
|
let lessColors = undefined
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of all `<style>` {@link HTMLElement}s with an id starting with `less:dist-fonts`.
|
||||||
|
*
|
||||||
|
* @type {{string: HTMLElement} | undefined}
|
||||||
|
*/
|
||||||
let lessFonts = undefined
|
let lessFonts = undefined
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The background element.
|
||||||
|
*
|
||||||
|
* @type {HTMLElement | undefined}
|
||||||
|
*/
|
||||||
let background = undefined
|
let background = undefined
|
||||||
|
|
||||||
|
|
||||||
async function enableChanges() {
|
/**
|
||||||
await sleepUntilLessIsDone()
|
* Find the `<style>` {@link HTMLElement}s with an id starting with `less:dist`, and compile them into a {`id`: `element`} object.
|
||||||
|
*
|
||||||
lessStyles = [...document.styleSheets].filter(
|
* @returns {{string: HTMLElement}}
|
||||||
|
*/
|
||||||
|
function findLessStyles() {
|
||||||
|
// noinspection JSValidateTypes
|
||||||
|
return [...document.styleSheets].filter(
|
||||||
(s) => s.ownerNode.id.startsWith("less:dist"),
|
(s) => s.ownerNode.id.startsWith("less:dist"),
|
||||||
).map(
|
).map(
|
||||||
(s) => (
|
(s) => (
|
||||||
|
@ -60,9 +87,16 @@ async function enableChanges() {
|
||||||
),
|
),
|
||||||
{},
|
{},
|
||||||
)
|
)
|
||||||
console.debug("Found Less stylesheets:", lessStyles)
|
}
|
||||||
|
|
||||||
lessColors = [...document.styleSheets].filter(
|
/**
|
||||||
|
* Find the `<style>` {@link HTMLElement}s with an id starting with `less:dist-colors`, and compile them into a {`id`: `element`} object.
|
||||||
|
*
|
||||||
|
* @returns {{string: HTMLElement}}
|
||||||
|
*/
|
||||||
|
function findLessColors() {
|
||||||
|
// noinspection JSValidateTypes
|
||||||
|
return [...document.styleSheets].filter(
|
||||||
(s) => s.ownerNode.id.startsWith("less:dist-colors"),
|
(s) => s.ownerNode.id.startsWith("less:dist-colors"),
|
||||||
).map(
|
).map(
|
||||||
(s) => (
|
(s) => (
|
||||||
|
@ -74,9 +108,16 @@ async function enableChanges() {
|
||||||
),
|
),
|
||||||
{},
|
{},
|
||||||
)
|
)
|
||||||
console.debug("Found Less colors:", lessColors)
|
}
|
||||||
|
|
||||||
lessFonts = [...document.styleSheets].filter(
|
/**
|
||||||
|
* Find the `<style>` {@link HTMLElement}s with an id starting with `less:dist-fonts`, and compile them into a {`id`: `element`} object.
|
||||||
|
*
|
||||||
|
* @returns {{string: HTMLElement}}
|
||||||
|
*/
|
||||||
|
function findLessFonts() {
|
||||||
|
// noinspection JSValidateTypes
|
||||||
|
return [...document.styleSheets].filter(
|
||||||
(s) => s.ownerNode.id.startsWith("less:dist-fonts"),
|
(s) => s.ownerNode.id.startsWith("less:dist-fonts"),
|
||||||
).map(
|
).map(
|
||||||
(s) => (
|
(s) => (
|
||||||
|
@ -88,9 +129,41 @@ async function enableChanges() {
|
||||||
),
|
),
|
||||||
{},
|
{},
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find and return the {@link HTMLElement} with the `layout-center-background` class.
|
||||||
|
*
|
||||||
|
* @returns {HTMLElement}
|
||||||
|
*/
|
||||||
|
function findBackground() {
|
||||||
|
return document.getElementsByClassName("layout-center-background")[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows the user to dynamically interact with bluelib via the interactive components available on the page.
|
||||||
|
*
|
||||||
|
* Set the values of {@link lessStyles}, {@link lessColors}, {@link lessFonts} and {@link background}.
|
||||||
|
*
|
||||||
|
* Sets the enabled state of the all {@link lessStyles} depending on their inclusion in the {@link enabledByDefault} array.
|
||||||
|
*
|
||||||
|
* Enables and unfades all input elements with the class `ruleset-toggle`.
|
||||||
|
*
|
||||||
|
* @returns {Promise<void>}
|
||||||
|
*/
|
||||||
|
async function enableChanges() {
|
||||||
|
await sleepUntilLessIsDone()
|
||||||
|
|
||||||
|
lessStyles = findLessStyles()
|
||||||
|
console.debug("Found Less stylesheets:", lessStyles)
|
||||||
|
|
||||||
|
lessColors = findLessColors()
|
||||||
|
console.debug("Found Less colors:", lessColors)
|
||||||
|
|
||||||
|
lessFonts = findLessFonts()
|
||||||
console.debug("Found Less fonts:", lessFonts)
|
console.debug("Found Less fonts:", lessFonts)
|
||||||
|
|
||||||
background = document.querySelector(".layout-center-background")
|
background = findBackground()
|
||||||
console.debug("Found background:", background)
|
console.debug("Found background:", background)
|
||||||
|
|
||||||
for(const [k, v] of Object.entries(lessStyles)) {
|
for(const [k, v] of Object.entries(lessStyles)) {
|
||||||
|
|
Loading…
Reference in a new issue