[WIP] #8374: Limit post content by rendered height instead of number of characters #968
|
@ -11,6 +11,7 @@
|
|||
left: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wall-item-body-toggle-text {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
|
@ -25,17 +26,18 @@
|
|||
padding: 0 !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.wall-item-body-toggle-text:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.wall-item-body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.wall-item-body-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -28,13 +28,20 @@ function handleNewWallItemBodies() {
|
|||
var limited = processHeightLimit($el);
|
||||
|
||||
if (!limited) {
|
||||
var mutationObserver = new MutationObserver(function(mutations) {
|
||||
var mutationObserver = new MutationObserver(function() {
|
||||
var limited = processHeightLimit($el);
|
||||
if (limited) {
|
||||
mutationObserver.disconnect()
|
||||
}
|
||||
});
|
||||
mutationObserver.observe($el[0], { attributes: true, characterData: true, childList: true, subtree: true, attributeOldValue: true, characterDataOldValue: true });
|
||||
mutationObserver.observe($el[0], {
|
||||
attributes: true,
|
||||
characterData: true,
|
||||
childList: true,
|
||||
subtree: true,
|
||||
attributeOldValue: true,
|
||||
characterDataOldValue: true
|
||||
});
|
||||
|
||||
$el.imagesLoaded().then(function() {
|
||||
processHeightLimit($el);
|
||||
|
@ -79,5 +86,3 @@ function processHeightLimit($item) {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,21 +15,13 @@ use Friendica\Core\Renderer;
|
|||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
|
||||
function showmore_dyn_install() {
|
||||
Hook::register('page_end', 'addon/showmore_dyn.php/showmore_dyn.php', 'showmore_dyn_script');
|
||||
function showmore_dyn_install()
|
||||
{
|
||||
Hook::register('page_end', __FILE__, 'showmore_dyn_script');
|
||||
Hook::register('head', __FILE__, 'showmore_dyn_head');
|
||||
Hook::register('footer', __FILE__, 'showmore_dyn_footer');
|
||||
Hook::register('addon_settings', 'addon/showmore_dyn/showmore_dyn.php', 'showmore_dyn_settings');
|
||||
Hook::register('addon_settings_post', 'addon/showmore_dyn/showmore_dyn.php', 'showmore_dyn_settings_post');
|
||||
}
|
||||
|
||||
function showmore_dyn_uninstall()
|
||||
{
|
||||
Hook::unregister('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script');
|
||||
Hook::unregister('head' , __FILE__, 'showmore_dyn_head');
|
||||
Hook::unregister('footer', __FILE__, 'showmore_dyn_footer');
|
||||
Hook::unregister('addon_settings', 'addon/showmore_dyn/showmore_dyn.php', 'showmore_dyn_settings');
|
||||
Hook::unregister('addon_settings_post', 'addon/showmore_dyn/showmore_dyn.php', 'showmore_dyn_settings_post');
|
||||
Hook::register('addon_settings', __FILE__, 'showmore_dyn_settings');
|
||||
Hook::register('addon_settings_post', __FILE__, 'showmore_dyn_settings_post');
|
||||
}
|
||||
|
||||
function showmore_dyn_head(App $a, &$b)
|
||||
|
@ -42,35 +34,47 @@ function showmore_dyn_footer(App $a, &$b)
|
|||
DI::page()->registerFooterScript(__DIR__ . '/showmore_dyn.js');
|
||||
}
|
||||
|
||||
function showmore_dyn_settings_post(){
|
||||
if(! local_user())
|
||||
function showmore_dyn_settings_post()
|
||||
{
|
||||
if(!local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isset($_POST['showmore_dyn-submit'])) {
|
||||
$limitHeight = $_POST['showmore_dyn_height'];
|
||||
if ($limitHeight && is_numeric($limitHeight)) {
|
||||
DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showmore_dyn_settings(&$a,&$o) {
|
||||
if(! local_user())
|
||||
function showmore_dyn_settings(&$a, &$o)
|
||||
{
|
||||
if(!local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250);
|
||||
DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight);
|
||||
|
||||
$limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight' );
|
||||
if ($limitHeight=='') { $limitHeight = 250; DI::pConfig()->set(local_user(), 'showmore_dyn', 'limitHeight', $limitHeight); }
|
||||
|
||||
$t = Renderer::getMarkupTemplate("settings.tpl", "addon/showmore_dyn/");
|
||||
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/showmore_dyn/');
|
||||
$o .= Renderer::replaceMacros($t, [
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$title' => "Showmore Dynamic",
|
||||
'$title' => 'Showmore Dynamic',
|
||||
'$label' => DI::l10n()->t('Limit Height'),
|
||||
'$limitHeight' => $limitHeight,
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
function showmore_dyn_script() {
|
||||
$limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight' );
|
||||
function showmore_dyn_script()
|
||||
{
|
||||
$limitHeight = DI::pConfig()->get(local_user(), 'showmore_dyn', 'limitHeight', 250);
|
||||
$showmore_dyn_showmore_linktext = DI::l10n()->t('Show more ...');
|
||||
DI::page()['htmlhead'] .= '<script>var postLimitHeight = ' . intval($limitHeight) . '; var showmore_dyn_showmore_linktext = "' . $showmore_dyn_showmore_linktext . '"</script>';
|
||||
DI::page()['htmlhead'] .= <<<EOT
|
||||
<script>
|
||||
var postLimitHeight = $limitHeight;
|
||||
var showmore_dyn_showmore_linktext = "$showmore_dyn_showmore_linktext";
|
||||
</script>
|
||||
EOT;
|
||||
}
|
||||
|
|
|
@ -9,4 +9,3 @@
|
|||
<input type="submit" value="{{$submit}}" class="settings-submit" name="showmore_dyn-submit" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Reference in a new issue