2025-09-03 15:18:54 +07:00

47 lines
1.1 KiB
JavaScript

// Helper function to retrieve options from element attributes
export const getOptions = function(obj) {
const options = Array.prototype.reduce.call(
obj,
(acc, attribute) => {
const option = attribute.name.match(/data-simplebar-(.+)/);
if (option) {
const key = option[1].replace(/\W+(.)/g, (x, chr) => chr.toUpperCase());
switch (attribute.value) {
case 'true':
acc[key] = true;
break;
case 'false':
acc[key] = false;
break;
case undefined:
acc[key] = true;
break;
default:
acc[key] = attribute.value;
}
}
return acc;
},
{}
);
return options;
};
export function getElementWindow(element) {
if (
!element ||
!element.ownerDocument ||
!element.ownerDocument.defaultView
) {
return window;
}
return element.ownerDocument.defaultView;
}
export function getElementDocument(element) {
if (!element || !element.ownerDocument) {
return document;
}
return element.ownerDocument;
}