mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-11-12 13:33:44 +00:00
Unhyphenate CSS property names when rendering to the DOM
Annoyingly, Chrome will happily accept `background-color` and `backgroundColor` interchangeably, so I hadn't noticed that this was broken...
This commit is contained in:
@@ -16,6 +16,7 @@ exports.startup = function() {
|
|||||||
var modules,n,m,f,commander;
|
var modules,n,m,f,commander;
|
||||||
// This should be somewhere else
|
// This should be somewhere else
|
||||||
if($tw.browser) {
|
if($tw.browser) {
|
||||||
|
$tw.browser.unHyphenateCss = document.body.style["background-color"] === undefined;
|
||||||
$tw.browser.prefix = document.body.style.webkitTransform !== undefined ? "webkit" :
|
$tw.browser.prefix = document.body.style.webkitTransform !== undefined ? "webkit" :
|
||||||
document.body.style.MozTransform !== undefined ? "Moz" :
|
document.body.style.MozTransform !== undefined ? "Moz" :
|
||||||
document.body.style.OTransform !== undefined ? "O" : null;
|
document.body.style.OTransform !== undefined ? "O" : null;
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ Element.prototype.renderInDom = function(parentDomNode,insertBefore) {
|
|||||||
element.className = v.join(" ");
|
element.className = v.join(" ");
|
||||||
} else if (typeof v === "object") { // ...or objects other than style?
|
} else if (typeof v === "object") { // ...or objects other than style?
|
||||||
for(var p in v) {
|
for(var p in v) {
|
||||||
element.style[p] = v[p];
|
element.style[$tw.utils.unHyphenateCss(p)] = v[p];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
element.setAttribute(a,v);
|
element.setAttribute(a,v);
|
||||||
|
|||||||
@@ -299,6 +299,19 @@ exports.applyStyleSheet = function(id,css) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Convert a hyphenated CSS property name into a camel case one
|
||||||
|
*/
|
||||||
|
exports.unHyphenateCss = function(propName) {
|
||||||
|
if($tw.browser.unHyphenateCss) {
|
||||||
|
return propName.replace(/-([a-z])/gi, function(match0,match1) {
|
||||||
|
return match1.toUpperCase();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return propName;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Parse a version number string of the form "1.2.3", "1.2.3.a4", or "1.2.3.b4" into:
|
Parse a version number string of the form "1.2.3", "1.2.3.a4", or "1.2.3.b4" into:
|
||||||
{major: <number>, minor: <number>, revision: <number>, alpha: <number>, beta: <number>}
|
{major: <number>, minor: <number>, revision: <number>, alpha: <number>, beta: <number>}
|
||||||
|
|||||||
Reference in New Issue
Block a user