mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 17:45:39 +00:00
104 lines
1.7 KiB
JavaScript
104 lines
1.7 KiB
JavaScript
var Grocy = {};
|
|
|
|
$(function()
|
|
{
|
|
var menuItem = $('.nav').find("[data-nav-for-page='" + Grocy.ContentPage + "']");
|
|
menuItem.addClass('active');
|
|
|
|
$.timeago.settings.allowFuture = true;
|
|
$('time.timeago').timeago();
|
|
});
|
|
|
|
Grocy.FetchJson = function(url, success, error)
|
|
{
|
|
var xhr = new XMLHttpRequest();
|
|
|
|
xhr.onreadystatechange = function()
|
|
{
|
|
if (xhr.readyState === XMLHttpRequest.DONE)
|
|
{
|
|
if (xhr.status === 200)
|
|
{
|
|
if (success)
|
|
{
|
|
success(JSON.parse(xhr.responseText));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (error)
|
|
{
|
|
error(xhr);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
xhr.open('GET', url, true);
|
|
xhr.send();
|
|
};
|
|
|
|
Grocy.PostJson = function(url, jsonData, success, error)
|
|
{
|
|
var xhr = new XMLHttpRequest();
|
|
|
|
xhr.onreadystatechange = function()
|
|
{
|
|
if (xhr.readyState === XMLHttpRequest.DONE)
|
|
{
|
|
if (xhr.status === 200)
|
|
{
|
|
if (success)
|
|
{
|
|
success(JSON.parse(xhr.responseText));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (error)
|
|
{
|
|
error(xhr);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
xhr.open('POST', url, true);
|
|
xhr.setRequestHeader('Content-type', 'application/json');
|
|
xhr.send(JSON.stringify(jsonData));
|
|
};
|
|
|
|
Grocy.EmptyElementWhenMatches = function(selector, text)
|
|
{
|
|
if ($(selector).text() === text)
|
|
{
|
|
$(selector).text('');
|
|
}
|
|
};
|
|
|
|
String.prototype.contains = function(search)
|
|
{
|
|
return this.toLowerCase().indexOf(search.toLowerCase()) !== -1;
|
|
};
|
|
|
|
Grocy.GetUriParam = function(key)
|
|
{
|
|
var currentUri = decodeURIComponent(window.location.search.substring(1));
|
|
var vars = currentUri.split('&');
|
|
|
|
for (i = 0; i < vars.length; i++)
|
|
{
|
|
var currentParam = vars[i].split('=');
|
|
|
|
if (currentParam[0] === key)
|
|
{
|
|
return currentParam[1] === undefined ? true : currentParam[1];
|
|
}
|
|
}
|
|
};
|
|
|
|
Grocy.Wait = function(ms)
|
|
{
|
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
}
|