mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
949 B
45 lines
949 B
const elProt = window.Element.prototype;
|
|
const matches = elProt.matches || elProt.webkitMatchesSelector || elProt.mozMatchesSelector || elProt.msMatchesSelector;
|
|
|
|
const on = (el, ev, fn) => {
|
|
ev = ev.split(/\s+/);
|
|
el = el instanceof Array ? el : [el];
|
|
|
|
for (let i = 0; i < ev.length; ++i) {
|
|
el.forEach(elem => elem.addEventListener(ev[i], fn));
|
|
}
|
|
}
|
|
|
|
|
|
const off = (el, ev, fn) => {
|
|
ev = ev.split(/\s+/);
|
|
el = el instanceof Array ? el : [el];
|
|
|
|
for (let i = 0; i < ev.length; ++i) {
|
|
el.forEach(elem => elem.removeEventListener(ev[i], fn));
|
|
}
|
|
}
|
|
|
|
|
|
const getUnitFromValue = (value) => {
|
|
return value.replace(parseFloat(value), '');
|
|
}
|
|
|
|
|
|
const upFirst = value => value[0].toUpperCase() + value.toLowerCase().slice(1);
|
|
|
|
|
|
const camelCase = value => {
|
|
const values = value.split('-');
|
|
return values[0].toLowerCase() + values.slice(1).map(upFirst);
|
|
}
|
|
|
|
|
|
export {
|
|
on,
|
|
off,
|
|
upFirst,
|
|
matches,
|
|
camelCase,
|
|
getUnitFromValue
|
|
}
|
|
|