Moved files from src/htmlcards to iwmlib.

This commit is contained in:
Uwe Oestermeier 2019-07-16 09:21:28 +02:00
parent 9a399ecfe9
commit 54912ad37e
2 changed files with 2605 additions and 0 deletions

2559
lib/card/card.js Normal file

File diff suppressed because it is too large Load Diff

46
lib/card/theme.js Normal file
View File

@ -0,0 +1,46 @@
/* eslint-disable no-unused-vars */
/**
* The Theme class helps manage the card themes.
* Usually it overrides or enhances aspects of the card.js.
*
* @class Theme
*/
class Theme {
/**
* Loads a config file and parses it to JSON.
*
* @static
* @param {string} [path=null] - Optional: A path where the config file is located at (including the filename and extension).
* @returns {Promise} - Returns a promise, that returns the parsed json file when resolved.
* @memberof Theme
*/
static loadConfig(path = null) {
return new Promise((resolve, reject) => {
path = (path) ? path : './config.json'
let xhttp = new XMLHttpRequest()
xhttp.onreadystatechange = function () {
if (this.readyState == 4) {
if (this.status == 200 || Theme._isLocal()) {
try {
const json = JSON.parse(this.responseText)
resolve(json)
} catch (e) {
reject(e)
}
} else reject('Invalid request : ' + this.status)
}
}
xhttp.open('GET', path, true)
xhttp.send()
})
}
static _isLocal() {
return (window.location.protocol == 'file:')
}
}