]> git.mxchange.org Git - friendica.git/commitdiff
Load tinyMCE on post editor only if needed.
authorFabio Comuni <fabrix.xm@gmail.com>
Wed, 20 Jul 2011 09:08:42 +0000 (11:08 +0200)
committerFabio Comuni <fabrix.xm@gmail.com>
Wed, 20 Jul 2011 09:08:42 +0000 (11:08 +0200)
mod/editpost.php
view/jot-header.tpl
view/jot.tpl
view/theme/duepuntozero/style.css
view/theme/loozah/style.css

index cd0bbf2239175a608b4e60bdc0b221b6c1695b6a..c396ee44b04e13d39117b2e1a74abb201391f55b 100644 (file)
@@ -80,7 +80,9 @@ function editpost_content(&$a) {
        call_hooks('jot_tool', $jotplugins);
        call_hooks('jot_networks', $jotnets);
 
-       $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));        
+       
+       //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));      
+       
 
        $o .= replace_macros($tpl,array(
                '$return_path' => $_SESSION['return_url'],
@@ -110,10 +112,10 @@ function editpost_content(&$a) {
                '$lockstate' => $lockstate,
                '$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),
                '$bang' => (($group) ? '!' : ''),
-               '$profile_uid' => $_SESSION['uid']
+               '$profile_uid' => $_SESSION['uid'],
+               '$jotplugins' => $jotplugins,
        ));
 
-
        return $o;
 
 }
index 7e7e393acdb75938b477094adc8e4985d2dd3b77..061f6a71dcae8dc22497bd3fba96fbb0e1888880 100644 (file)
@@ -1,68 +1,79 @@
 
 <script language="javascript" type="text/javascript">
 
-var editor;
+var editor=false;
 var textlen = 0;
 
+function initEditor(){
+       $("#profile-jot-text-loading").show();
+       tinyMCE.init({
+               theme : "advanced",
+               mode : "specific_textareas",
+               editor_selector: /(profile-jot-text|prvmail-text)/,
+               plugins : "bbcode,paste,autoresize",
+               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",
+               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,
+               setup : function(ed) {
+                        //Character count
+                       ed.onKeyUp.add(function(ed, e) {
+                               var txt = tinyMCE.activeEditor.getContent();
+                               textlen = txt.length;
+                               if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) {
+                                       $('#profile-jot-desc').html(ispublic);
+                               }
+                               else {
+                                       $('#profile-jot-desc').html('&nbsp;');
+                               }        
 
-tinyMCE.init({
-       theme : "advanced",
-       mode : "specific_textareas",
-       editor_selector: /(profile-jot-text|prvmail-text)/,
-       plugins : "bbcode,paste,autoresize",
-       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",
-       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,
-       setup : function(ed) {
-                //Character count
-               ed.onKeyUp.add(function(ed, e) {
-                       var txt = tinyMCE.activeEditor.getContent();
-                       textlen = txt.length;
-                       if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) {
-                               $('#profile-jot-desc').html(ispublic);
-                       }
-                       else {
-                               $('#profile-jot-desc').html('&nbsp;');
-                       }        
-
-                       if(textlen <= 140) {
-                               $('#character-counter').removeClass('red');
-                               $('#character-counter').removeClass('orange');
-                               $('#character-counter').addClass('grey');
-                       }
-                       if((textlen > 140) && (textlen <= 420)) {
-                               $('#character-counter').removeClass('grey');
-                               $('#character-counter').removeClass('red');
-                               $('#character-counter').addClass('orange');
-                       }
-                       if(textlen > 420) {
-                               $('#character-counter').removeClass('grey');
-                               $('#character-counter').removeClass('orange');
-                               $('#character-counter').addClass('red');
-                       }
-                       $('#character-counter').text(textlen);
-               });
-
-               ed.onInit.add(function(ed) {
-                       ed.pasteAsPlainText = true;
-               });
+                               if(textlen <= 140) {
+                                       $('#character-counter').removeClass('red');
+                                       $('#character-counter').removeClass('orange');
+                                       $('#character-counter').addClass('grey');
+                               }
+                               if((textlen > 140) && (textlen <= 420)) {
+                                       $('#character-counter').removeClass('grey');
+                                       $('#character-counter').removeClass('red');
+                                       $('#character-counter').addClass('orange');
+                               }
+                               if(textlen > 420) {
+                                       $('#character-counter').removeClass('grey');
+                                       $('#character-counter').removeClass('orange');
+                                       $('#character-counter').addClass('red');
+                               }
+                               $('#character-counter').text(textlen);
+                       });
 
-       }
-});
+                       ed.onInit.add(function(ed) {
+                               ed.pasteAsPlainText = true;
+                               $("#profile-jot-text-loading").hide();
+                               $("#profile-jot-submit-wrapper").show();
+                       });
 
+               }
+       });
+       editor = true;
+       
+       // setup acl popup
+       $("#profile-jot-acl-wrapper").hide();
+       $("a#jot-perms-icon").fancybox({
+               'transitionIn' : 'none',
+               'transitionOut' : 'none'
+       }); 
+}
 
 </script>
 <script type="text/javascript" src="include/ajaxupload.js" ></script>
@@ -70,11 +81,13 @@ tinyMCE.init({
        var ispublic = '$ispublic';
        $(document).ready(function() {
                
-               $("#profile-jot-acl-wrapper").hide();
-               $("a#jot-perms-icon").fancybox({
-                       'transitionIn' : 'none',
-                       'transitionOut' : 'none'
-               }); 
+               /* enable tinymce on focus */
+               $("#profile-jot-text").focus(function(){
+                       if (editor) return;
+                       $(this).val("");
+                       initEditor();
+               });
+               
        
                var uploader = new window.AjaxUpload(
                        'wall-image-upload',
index 43c20b90e1b83d2877eac6e30e3438096ef02e23..aa9892cbbb66ab40909a219b706fa68c443dc9e5 100644 (file)
                <input type="hidden" name="title" id="jot-title" value="" />
                <input type="hidden" name="post_id" value="$post_id" />
 
-               <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >$content</textarea>
+               <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+               <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
 
+               {{ if $content }}<script>initEditor();</script>{{ endif }}
 
-<div id="profile-jot-submit-wrapper" >
+<div id="profile-jot-submit-wrapper" style="display:none">
 <input type="submit" id="profile-jot-submit" name="submit" value="$share" />
        <div id="profile-upload-wrapper" style="display: $visitor;" >
                <div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
index b4feaaa27bf10160050d7aafd293513027bf1aac..90ed2119c7b83ae471d3e1dd937ef56230a53474 100644 (file)
@@ -1483,6 +1483,13 @@ input#dfrn-url {
        width: 180px;
 }
 
+#profile-jot-text {
+       height: 20px;
+       color:#cccccc;
+       border: 1px solid #cccccc;
+}
+
+
 /** acl **/
 
 #profile-jot-acl-wrapper{
index 698f308030d449cb5cfdd58f4a5a56ae5559184e..f46fa006438dd600cb723a6a24d4b84fb8cd6906 100644 (file)
@@ -1561,6 +1561,13 @@ padding: 5px 10px 0px;
        overflow: auto;
 }
 
+#profile-jot-text {
+       height: 20px;
+       color:#cccccc;
+       border: 1px solid #cccccc;
+}
+
+
 /** acl **/
 #profile-jot-acl-wrapper{
        display:block!important;