Select Git revision
-
Hahn Axel (hahn) authoredHahn Axel (hahn) authored
functions.js 14.56 KiB
// ----------------------------------------------------------------------
// VARS
// ----------------------------------------------------------------------
// current winbox instances
var aWinBoxes = {};
// default frame border color for winboxes
var WINBOX_data = false;
var WINBOX_lsvariable = "winbox_data";
var WINBOX_defaults = {
background: "#456",
border: 5,
class: ["no-min", "no-max", "no-full", "ciwinboxinfos"],
// viewport
top: 70,
right: 20,
bottom: 20,
left: 20
};
/**
* get data of all winboxes - or of a single winbox only - from localstorage
* @param {string} sId optional: id of a winbox
* @returns
*/
function wb_getdata(sId) {
WINBOX_data = WINBOX_data
? WINBOX_data
: (localStorage.getItem(WINBOX_lsvariable)
? JSON.parse(localStorage.getItem(WINBOX_lsvariable))
: {}
);
return sId
? (WINBOX_data[sId] ? WINBOX_data[sId] : {})
: WINBOX_data;
}
/**
* get data of all winboxes - or of a single winbox only - from localstorage
* @param {string} sId optional: id of a winbox
* @returns
*/
function wb_getdefaults(sId, aOverrides) {
var _aReturn = Object.assign({}, WINBOX_defaults);
for (var key in aOverrides) {
_aReturn[key] = aOverrides[key];
}
var _aData = wb_getdata(sId);
for (var key in _aData) {
_aReturn[key] = _aData[key];
}
if (_aReturn['x']<_aReturn['left']){
_aReturn['x']=_aReturn['left'];
}
if (_aReturn['y']<_aReturn['top']){
_aReturn['y']=_aReturn['top'];
}
return _aReturn;
}
/**
* save data for a given winbox
* @param {string} sId id of a winbox
* @param {array} _aNewvalues properties to store as key+value
*/
function wb_savedata(sId, _aNewvalues) {
WINBOX_data = WINBOX_data ? WINBOX_data : wb_getdata();
if (!WINBOX_data[sId]) {