mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 01:32:38 +00:00
120 lines
2.3 KiB
JavaScript
120 lines
2.3 KiB
JavaScript
EmptyElementWhenMatches = function(selector, text)
|
|
{
|
|
if ($(selector).text() === text)
|
|
{
|
|
$(selector).text('');
|
|
}
|
|
};
|
|
|
|
String.prototype.contains = function(search)
|
|
{
|
|
return this.toLowerCase().indexOf(search.toLowerCase()) !== -1;
|
|
};
|
|
|
|
String.prototype.isEmpty = function()
|
|
{
|
|
return (this.length === 0 || !this.trim());
|
|
};
|
|
|
|
String.prototype.replaceAll = function(search, replacement)
|
|
{
|
|
return this.replace(new RegExp(search, "g"), replacement);
|
|
};
|
|
|
|
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];
|
|
}
|
|
}
|
|
};
|
|
|
|
UpdateUriParam = function(key, value)
|
|
{
|
|
var queryParameters = new URLSearchParams(location.search);
|
|
queryParameters.set(key, value);
|
|
window.history.replaceState({ }, "", decodeURIComponent(`${location.pathname}?${queryParameters}`));
|
|
};
|
|
|
|
IsTouchInputDevice = function()
|
|
{
|
|
if (("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
BoolVal = function(test)
|
|
{
|
|
var anything = test.toString().toLowerCase();
|
|
if (anything === true || anything === "true" || anything === "1" || anything === "on")
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
GetFileNameFromPath = function(path)
|
|
{
|
|
return path.split("/").pop().split("\\").pop();
|
|
}
|
|
|
|
GetFileExtension = function(pathOrFileName)
|
|
{
|
|
return pathOrFileName.split(".").pop();
|
|
}
|
|
|
|
$.extend($.expr[":"],
|
|
{
|
|
"contains_case_insensitive": function(elem, i, match, array)
|
|
{
|
|
return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
|
|
}
|
|
});
|
|
|
|
FindObjectInArrayByPropertyValue = function(array, propertyName, propertyValue)
|
|
{
|
|
for (var i = 0; i < array.length; i++)
|
|
{
|
|
if (array[i][propertyName] == propertyValue)
|
|
{
|
|
return array[i];
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
FindAllObjectsInArrayByPropertyValue = function(array, propertyName, propertyValue)
|
|
{
|
|
var returnArray = [];
|
|
|
|
for (var i = 0; i < array.length; i++)
|
|
{
|
|
if (array[i][propertyName] == propertyValue)
|
|
{
|
|
returnArray.push(array[i]);
|
|
}
|
|
}
|
|
|
|
return returnArray;
|
|
}
|
|
|
|
$.fn.hasAttr = function(name)
|
|
{
|
|
return this.attr(name) !== undefined;
|
|
};
|