diff options
author | Andrew Dolgov <[email protected]> | 2013-07-31 18:58:56 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-07-31 18:58:56 +0400 |
commit | 2fdbff069f93a60db19f70d95a8f7c69d826bf53 (patch) | |
tree | 705b435528a186bd44ac491e55530b79939e1c83 /plugins/shorten_expanded/init.js | |
parent | a447f4e40aac4210c9b7d3c7a9942a7c798a1695 (diff) |
add experimental plugin to shorten articles which are too damn long in expanded cdm
Diffstat (limited to 'plugins/shorten_expanded/init.js')
-rw-r--r-- | plugins/shorten_expanded/init.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js new file mode 100644 index 000000000..ba82b643b --- /dev/null +++ b/plugins/shorten_expanded/init.js @@ -0,0 +1,45 @@ +var _shorten_expanded_threshold = 900; //px, longer than css height so that we would only clip articles significantly longer than limit + +function expandSizeWrapper(id) { + try { + var row = $(id); + + console.log(row); + + if (row) { + var content = row.select(".contentSizeWrapper")[0]; + var link = row.select(".expandPrompt")[0]; + + if (content) content.removeClassName("contentSizeWrapper"); + if (link) Element.hide(link); + + } + } catch (e) { + exception_error("expandSizeWrapper", e); + } + + return false; + +} + +dojo.addOnLoad(function() { + PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) { + if (getInitParam('cdm_expanded')) { + + window.setTimeout(function() { + if (row) { + if (row.offsetHeight >= _shorten_expanded_threshold) { + var content = row.select(".cdmContentInner")[0]; + + if (content) { + content.innerHTML = "<div class='contentSizeWrapper'>" + + content.innerHTML + "</div><button class='expandPrompt' onclick='return expandSizeWrapper(\""+row.id+"\")' "+ + "href='#'>" + __("Click to expand article") + "</button>"; + + } + } + } + }, 150); + } + }); +}); |