From 2fdbff069f93a60db19f70d95a8f7c69d826bf53 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 31 Jul 2013 18:58:56 +0400 Subject: [PATCH] add experimental plugin to shorten articles which are too damn long in expanded cdm --- plugins/shorten_expanded/init.css | 9 +++++++ plugins/shorten_expanded/init.js | 45 +++++++++++++++++++++++++++++++ plugins/shorten_expanded/init.php | 29 ++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 plugins/shorten_expanded/init.css create mode 100644 plugins/shorten_expanded/init.js create mode 100644 plugins/shorten_expanded/init.php diff --git a/plugins/shorten_expanded/init.css b/plugins/shorten_expanded/init.css new file mode 100644 index 000000000..5e1bfa8f3 --- /dev/null +++ b/plugins/shorten_expanded/init.css @@ -0,0 +1,9 @@ +div.contentSizeWrapper { + overflow : hidden; + text-overflow: ellipsis; + height : 700px; +} + +button.expandPrompt { + margin-top : 20px; +} 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 = "
" + + content.innerHTML + "
"; + + } + } + } + }, 150); + } + }); +}); diff --git a/plugins/shorten_expanded/init.php b/plugins/shorten_expanded/init.php new file mode 100644 index 000000000..1d0c99eca --- /dev/null +++ b/plugins/shorten_expanded/init.php @@ -0,0 +1,29 @@ +host = $host; + + } + + function get_css() { + return file_get_contents(__DIR__ . "/init.css"); + } + + function get_js() { + return file_get_contents(__DIR__ . "/init.js"); + } + + function api_version() { + return 2; + } + +} +?>