summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorcarson <carson@leaddyno.com>2020-05-16 14:30:25 -0700
committercarson <carson@leaddyno.com>2020-05-16 14:30:25 -0700
commit6e06c0df877d0f4792b110e26e961d4cfd2fd96d (patch)
tree95007106660ff6fd529b06dc2ec4af5e0215139e /src
parentd4b4d462ab577a8e481e07e540bb3bc4343476c6 (diff)
downloadhtmx-6e06c0df877d0f4792b110e26e961d4cfd2fd96d.tar.gz
htmx-6e06c0df877d0f4792b110e26e961d4cfd2fd96d.zip
Better style handling:
* inject the style as a stand alone element * support the meta directive to not include the default style fixes https://github.com/bigskysoftware/kutty/issues/13
Diffstat (limited to 'src')
-rw-r--r--src/kutty.js38
1 files changed, 25 insertions, 13 deletions
diff --git a/src/kutty.js b/src/kutty.js
index bf70ee95..dbf16f8f 100644
--- a/src/kutty.js
+++ b/src/kutty.js
@@ -163,11 +163,6 @@ var kutty = kutty || (function () {
return trigger.split(/\s+/);
}
- function addRule(rule) {
- var sheet = getDocument().styleSheets[0];
- sheet.insertRule(rule, sheet.cssRules.length);
- }
-
function mergeObjects(obj1, obj2) {
for (var key in obj2) {
if (obj2.hasOwnProperty(key)) {
@@ -1261,16 +1256,32 @@ var kutty = kutty || (function () {
}
}
- // insert kutty-indicator css rules
- addRule(".kutty-indicator{opacity:0;transition: opacity 200ms ease-in;}");
- addRule(".kutty-request .kutty-indicator{opacity:1}");
- addRule(".kutty-request.kutty-indicator{opacity:1}");
+ // insert kutty-indicator css rules immediate, if not configured otherwise
+ (function() {
+ var metaConfig = getMetaConfig();
+ if (metaConfig === null || metaConfig.includeIndicatorStyles !== false) {
+ getDocument().head.insertAdjacentHTML("beforeend",
+ "<style>\
+ .kutty-indicator{opacity:0;transition: opacity 200ms ease-in;}\
+ .kutty-request .kutty-indicator{opacity:1}\
+ .kutty-request.kutty-indicator{opacity:1}\
+ </style>");
+ }
+ })();
- function mergeMetaConfig() {
+ function getMetaConfig() {
var element = getDocument().querySelector('meta[name="kutty-config"]');
if (element) {
- var source = JSON.parse(element.content);
- kutty.config = mergeObjects(kutty.config , source)
+ return JSON.parse(element.content);
+ } else {
+ return null;
+ }
+ }
+
+ function mergeMetaConfig() {
+ var metaConfig = getMetaConfig();
+ if (metaConfig) {
+ kutty.config = mergeObjects(kutty.config , metaConfig)
}
}
@@ -1307,7 +1318,8 @@ var kutty = kutty || (function () {
historyCacheSize:10,
defaultSwapStyle:'innerHTML',
defaultSwapDelay:0,
- defaultSettleDelay:100
+ defaultSettleDelay:100,
+ includeIndicatorStyles:true
},
version: "0.0.2",
_:internalEval