From 3a15c2202873472cdcef04e66848e68122198751 Mon Sep 17 00:00:00 2001 From: rabuzarus Date: Sat, 2 Feb 2019 03:12:36 +0100 Subject: [PATCH] attachment preview: frio- initialize linkPreview on jot modal open (so we can use the linkPreview for new posts and edit post modal) --- view/theme/frio/js/jot.js | 20 +++++++---- view/theme/frio/js/modal.js | 5 +++ view/theme/frio/js/textedit.js | 42 ++++++++++++------------ view/theme/frio/templates/jot-header.tpl | 3 ++ 4 files changed, 43 insertions(+), 27 deletions(-) diff --git a/view/theme/frio/js/jot.js b/view/theme/frio/js/jot.js index 25db23824..08ed6f221 100644 --- a/view/theme/frio/js/jot.js +++ b/view/theme/frio/js/jot.js @@ -1,10 +1,8 @@ +// We apptend the linkPreview to a global Variable to make linkPreview +// accessable on other places. Note: search on other places before you +// delete or move the variable. var linkPreview; -$(document).ready(function() { - linkPreview = $('#profile-jot-text').linkPreview(); -}); - - /** * Insert a link into friendica jot. * @@ -25,7 +23,17 @@ function jotGetLink() { // We use the linkPreview library to have a preview // of the attachments. - linkPreview.crawlText(reply + noAttachment); + if (typeof linkPreview === 'object') { + linkPreview.crawlText(reply + noAttachment); + + // Fallback: insert the attachment bbcode directly into the textarea + // if the attachment live preview isn't available + } else { + $.get('parse_url?binurl=' + bin2hex(reply) + noAttachment, function(data) { + addeditortext(data); + $('#profile-rotator').hide(); + }); + } autosize.update($("#profile-jot-text")); } } diff --git a/view/theme/frio/js/modal.js b/view/theme/frio/js/modal.js index 80694b64d..1c5314c4b 100644 --- a/view/theme/frio/js/modal.js +++ b/view/theme/frio/js/modal.js @@ -22,6 +22,10 @@ $(document).ready(function(){ $("#jot-content").append(jotcache); // Clear the jotcache. jotcache = ''; + // Destroy the attachment linkPreviw for Jot. + if (typeof linkPreview === 'object') { + linkPreview.destroy(); + } }); // Add Colorbox for viewing Network page images. @@ -292,6 +296,7 @@ function editpost(url) { modal.show(); $("#jot-popup").show(); + linkPreview = $('#profile-jot-text').linkPreview(); } }); } diff --git a/view/theme/frio/js/textedit.js b/view/theme/frio/js/textedit.js index 76a04a32f..e0c06af58 100644 --- a/view/theme/frio/js/textedit.js +++ b/view/theme/frio/js/textedit.js @@ -46,34 +46,34 @@ function commentGetLink(id, prompttext) { } function addCommentText(data, id) { - // get the textfield - var textfield = document.getElementById("comment-edit-text-" + id); - // check if the textfield does have the default-value - commentOpenUI(textfield, id); - // save already existent content - var currentText = $("#comment-edit-text-" + id).val(); - //insert the data as new value - textfield.value = currentText + data; - autosize.update($("#comment-edit-text-" + id)); + // get the textfield + var textfield = document.getElementById("comment-edit-text-" + id); + // check if the textfield does have the default-value + commentOpenUI(textfield, id); + // save already existent content + var currentText = $("#comment-edit-text-" + id).val(); + //insert the data as new value + textfield.value = currentText + data; + autosize.update($("#comment-edit-text-" + id)); } function commentLinkDrop(event, id) { - var reply = event.dataTransfer.getData("text/uri-list"); - event.target.textContent = reply; - event.preventDefault(); - if (reply && reply.length) { - reply = bin2hex(reply); - $.get('parse_url?noAttachment=1&binurl=' + reply, function(data) { + var reply = event.dataTransfer.getData("text/uri-list"); + event.target.textContent = reply; + event.preventDefault(); + if (reply && reply.length) { + reply = bin2hex(reply); + $.get('parse_url?noAttachment=1&binurl=' + reply, function(data) { addCommentText(data, id); - }); - } + }); + } } function commentLinkDropper(event) { - var linkFound = event.dataTransfer.types.contains("text/uri-list"); - if (linkFound) { - event.preventDefault(); - } + var linkFound = event.dataTransfer.types.contains("text/uri-list"); + if (linkFound) { + event.preventDefault(); + } } diff --git a/view/theme/frio/templates/jot-header.tpl b/view/theme/frio/templates/jot-header.tpl index 548ff264a..ac59caed8 100644 --- a/view/theme/frio/templates/jot-header.tpl +++ b/view/theme/frio/templates/jot-header.tpl @@ -273,6 +273,9 @@ .find('#jot-modal-content') .append(jotcache) .modal.show; + + // Jot attachment live preview. + linkPreview = $('#profile-jot-text').linkPreview(); } // Activate the jot text section in the jot modal