diff options
author | carson <carson@leaddyno.com> | 2020-05-16 14:30:25 -0700 |
---|---|---|
committer | carson <carson@leaddyno.com> | 2020-05-16 14:30:25 -0700 |
commit | 6e06c0df877d0f4792b110e26e961d4cfd2fd96d (patch) | |
tree | 95007106660ff6fd529b06dc2ec4af5e0215139e /src | |
parent | d4b4d462ab577a8e481e07e540bb3bc4343476c6 (diff) | |
download | htmx-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.js | 38 |
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 |