diff options
Diffstat (limited to 'view/tpl/jot-header.tpl')
-rwxr-xr-x | view/tpl/jot-header.tpl | 188 |
1 files changed, 119 insertions, 69 deletions
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl index c1dab52d5..fd1c8263a 100755 --- a/view/tpl/jot-header.tpl +++ b/view/tpl/jot-header.tpl @@ -5,12 +5,14 @@ var plaintext = '{{$editselect}}'; var pretext = '{{$pretext}}'; function initEditor(cb){ - if (editor==false){ + if(editor == false){ $("#profile-jot-text-loading").show(); + $("#profile-jot-reset").removeClass('d-none'); {{$geotag}} if(plaintext == 'none') { $("#profile-jot-text-loading").hide(); - $("#profile-jot-text").css({ 'height': 200 }); + $(".jothidden").show(); + $("#profile-jot-text").addClass('jot-expanded'); {{if $bbco_autocomplete}} $("#profile-jot-text").bbco_autocomplete('{{$bbco_autocomplete}}'); // autocomplete bbcode {{/if}} @@ -21,82 +23,21 @@ function initEditor(cb){ $("#profile-jot-text").editor_autocomplete(baseurl+"/acl",[channelId]); // Also gives suggestions from current channel's connections {{/if}} editor = true; - $("a#jot-perms-icon").colorbox({ - 'inline' : true, - 'transition' : 'elastic' - }); - $(".jothidden").show(); - $("#profile-jot-text").addClass('jot-expanded'); if (typeof cb!="undefined") cb(); if(pretext.length) addeditortext(pretext); return; } - tinyMCE.init({ - theme : "advanced", - mode : "specific_textareas", - editor_selector: {{$editselect}}, - auto_focus: "profile-jot-text", - plugins : "bbcode,paste,autoresize, inlinepopups", - theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "center", - theme_advanced_blockformats : "blockquote,code", - gecko_spellcheck : true, - paste_text_sticky : true, - entity_encoding : "raw", - add_unload_trigger : false, - remove_linebreaks : false, - force_p_newlines : false, - force_br_newlines : true, - forced_root_block : '', - convert_urls: false, - content_css: "{{$baseurl}}/view/custom_tinymce.css", - theme_advanced_path : false, - file_browser_callback : "fcFileBrowser", - setup : function(ed) { - cPopup = null; - ed.onKeyDown.add(function(ed,e) { - if(cPopup !== null) - cPopup.onkey(e); - }); - - ed.onKeyUp.add(function(ed, e) { - var txt = tinyMCE.activeEditor.getContent(); - match = txt.match(/@([^ \n]+)$/); - if(match!==null) { - if(cPopup === null) { - cPopup = new ACPopup(this,baseurl+"/acl"); - } - if(cPopup.ready && match[1]!==cPopup.searchText) cPopup.search(match[1]); - if(! cPopup.ready) cPopup = null; - } - else { - if(cPopup !== null) { cPopup.close(); cPopup = null; } - } - }); - - ed.onInit.add(function(ed) { - ed.pasteAsPlainText = true; - $("#profile-jot-text-loading").hide(); - $(".jothidden").show(); - if (typeof cb!="undefined") cb(); - }); - - } - }); - - editor = true; + editor = true; } else { if (typeof cb!="undefined") cb(); } } function enableOnUser(){ - if (editor) return; - $(this).val(""); + if(editor) + return; + initEditor(); } </script> @@ -110,8 +51,7 @@ var activeCommentID = 0; var activeCommentText = ''; $(document).ready(function() { - - /* enable tinymce on focus and click */ + $("#profile-jot-text").focus(enableOnUser); $("#profile-jot-text").click(enableOnUser); @@ -357,6 +297,23 @@ var activeCommentText = ''; } } + function itemCancel() { + $("#jot-title").val(''); + $("#profile-jot-text").val(''); + $("#jot-category").tagsinput('removeAll'); + + postSaveChanges('clean'); + + {{if $reset}} + $(".jothidden").hide(); + $("#profile-jot-text").removeClass('jot-expanded'); + $("#profile-jot-reset").addClass('d-none'); + editor = false; + {{else}} + window.history.back(); + {{/if}} + } + function itemFiler(id) { if($('#item-filer-dialog').length) $('#item-filer-dialog').remove(); @@ -560,3 +517,96 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del } }); </script> + + +<script> + var postSaveTimer = null; + + function postSaveChanges(action) { + if({{$auto_save_draft}}) { + + var doctype = $('#jot-webpage').val(); + var postid = '-' + doctype + '-' + $('#jot-postid').val(); + + if(action != 'clean') { + localStorage.setItem("post_title" + postid, $("#jot-title").val()); + localStorage.setItem("post_body" + postid, $("#profile-jot-text").val()); + if($("#jot-category").length) + localStorage.setItem("post_category" + postid, $("#jot-category").val()); + } + + if(action == 'start') { + postSaveTimer = setTimeout(function () { + postSaveChanges('start'); + },10000); + } + + if(action == 'stop') { + clearTimeout(postSaveTimer); + postSaveTimer = null; + } + + if(action == 'clean') { + clearTimeout(postSaveTimer); + postSaveTimer = null; + localStorage.removeItem("post_title" + postid); + localStorage.removeItem("post_body" + postid); + localStorage.removeItem("post_category" + postid); + } + } + + } + + $(document).ready(function() { + + var cleaned = false; + + if({{$auto_save_draft}}) { + var doctype = $('#jot-webpage').val(); + var postid = '-' + doctype + '-' + $('#jot-postid').val(); + var postTitle = localStorage.getItem("post_title" + postid); + var postBody = localStorage.getItem("post_body" + postid); + var postCategory = (($("#jot-category").length) ? localStorage.getItem("post_category" + postid) : ''); + var openEditor = false; + + if(postTitle) { + $('#jot-title').val(postTitle); + openEditor = true; + } + if(postBody) { + $('#profile-jot-text').val(postBody); + openEditor = true; + } + if(postCategory) { + var categories = postCategory.split(','); + categories.forEach(function(cat) { + $('#jot-category').tagsinput('add', cat); + }); + openEditor = true; + } + if(openEditor) { + initEditor(); + } + } else { + postSaveChanges('clean'); + } + + $(document).on('submit', '#profile-jot-form', function() { + postSaveChanges('clean'); + cleaned = true; + }); + + $(document).on('focusout',"#profile-jot-wrapper",function(e){ + if(! cleaned) + postSaveChanges('stop'); + }); + + $(document).on('focusin',"#profile-jot-wrapper",function(e){ + postSaveTimer = setTimeout(function () { + postSaveChanges('start'); + },10000); + }); + + + }); +</script> |