summaryrefslogtreecommitdiff
path: root/plugins/shorten_expanded/init.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-07-31 18:58:56 +0400
committerAndrew Dolgov <[email protected]>2013-07-31 18:58:56 +0400
commit2fdbff069f93a60db19f70d95a8f7c69d826bf53 (patch)
tree705b435528a186bd44ac491e55530b79939e1c83 /plugins/shorten_expanded/init.js
parenta447f4e40aac4210c9b7d3c7a9942a7c798a1695 (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.js45
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);
+ }
+ });
+});