dispy theme hide editor if without focus

This commit is contained in:
Tobias Diekershoff 2011-07-24 09:32:20 +02:00
parent 0fbaac59f0
commit a4f7e8e8fe
3 changed files with 113 additions and 80 deletions

View file

@ -2,10 +2,13 @@
<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> <script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
var editor; var editor=false;
var textlen = 0; var textlen = 0;
tinyMCE.init({ function initEditor(cb) {
if (editor==false) {
$("#profile-jot-text-loading").show();
tinyMCE.init({
theme : "advanced", theme : "advanced",
mode : "specific_textareas", mode : "specific_textareas",
editor_selector: /(profile-jot-text|prvmail-text)/, editor_selector: /(profile-jot-text|prvmail-text)/,
@ -57,23 +60,45 @@ tinyMCE.init({
} }
$('#character-counter').text(textlen); $('#character-counter').text(textlen);
}); });
ed.onInit.add(function(ed) { ed.onInit.add(function(ed) {
ed.pasteAsPlainText = true; ed.pasteAsPlainText = true;
$("#profile-jot-text-loading").hide();
$("#profile-jot-submit-wrapper").show();
$("#profile-upload-wrapper").show();
$("#profile-attach-wrapper").show();
$("#profile-link-wrapper").show();
$("#profile-youtube-wrapper").show();
$("#profile-video-wrapper").show();
$("#profile-audio-wrapper").show();
$("#profile-location-wrapper").show();
$("#profile-nolocation-wrapper").show();
$("#profile-title-wrapper").show();
$("#profile-jot-plugin-wrapper").show();
$("#character-counter").show();
if (typeof cb!="undefined") cb();
}); });
} }
}); });
editor = true;
// setup acl popup
$("a#jot-perms-icon").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none'
});
} else {
if (typeof cb!="undefined") cb();
}
} // initEditor
</script> </script>
<script type="text/javascript" src="include/ajaxupload.js" ></script> <script type="text/javascript" src="include/ajaxupload.js" ></script>
<script> <script>
var ispublic = '$ispublic'; var ispublic = '$ispublic';
$(document).ready(function() { $(document).ready(function() {
$("#profile-jot-acl-wrapper").hide(); /* enable tinymce on focus */
$("a#jot-perms-icon").fancybox({ $("#profile-jot-text").focus(function(){
'transitionIn' : 'none', if (editor) return;
'transitionOut' : 'none' $(this).val("");
initEditor();
}); });
var uploader = new window.AjaxUpload( var uploader = new window.AjaxUpload(
'wall-image-upload', 'wall-image-upload',
@ -184,9 +209,11 @@ tinyMCE.init({
function jotShare(id) { function jotShare(id) {
$('#like-rotator-' + id).show(); $('#like-rotator-' + id).show();
$.get('share/' + id, function(data) { $.get('share/' + id, function(data) {
initEditor(function(){
tinyMCE.execCommand('mceInsertRawHTML',false,data); tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#like-rotator-' + id).hide(); $('#like-rotator-' + id).hide();
$(window).scrollTop(0); $(window).scrollTop(0);
})
}); });
} }

View file

@ -2,7 +2,7 @@
<div id="profile-jot-wrapper" > <div id="profile-jot-wrapper" >
<div id="profile-jot-banner-wrapper"> <div id="profile-jot-banner-wrapper">
<div id="profile-jot-desc" >&nbsp;</div> <div id="profile-jot-desc" >&nbsp;</div>
<div id="character-counter" class="grey">0</div> <div id="character-counter" class="grey" style="display: none;">0</div>
<div id="profile-rotator-wrapper" style="display: $visitor;" > <div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display:none;" /> <img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display:none;" />
</div> </div>
@ -17,47 +17,48 @@
<input type="hidden" name="title" id="jot-title" value="" /> <input type="hidden" name="title" id="jot-title" value="" />
<input type="hidden" name="post_id" value="$post_id" /> <input type="hidden" name="post_id" value="$post_id" />
<textarea rows="5" style="width:100%" 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">
<div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" > <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" >
<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang</div> <a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang</div>
<input type="submit" id="profile-jot-submit" name="submit" value="$share" /> <input type="submit" id="profile-jot-submit" name="submit" value="$share" />
</div> </div>
<div id="profile-upload-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-upload-wrapper" class="jot-tool" style="display: none;" >
<div id="wall-image-upload-div" ><a onclick="return false;" id="wall-image-upload" class="icon border camera" title="$upload"></a></div> <div id="wall-image-upload-div" ><a onclick="return false;" id="wall-image-upload" class="icon border camera" title="$upload"></a></div>
</div> </div>
<div id="profile-attach-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-attach-wrapper" class="jot-tool" style="display: none;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon border attach" title="$attach"></a></div> <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon border attach" title="$attach"></a></div>
</div> </div>
<div id="profile-link-wrapper" class="jot-tool" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" > <div id="profile-link-wrapper" class="jot-tool" style="display: none;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="icon border link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a> <a id="profile-link" class="icon border link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div> </div>
<div id="profile-youtube-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-youtube-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-youtube" class="icon border youtube" title="$youtube" onclick="jotGetVideo(); return false;"></a> <a id="profile-youtube" class="icon border youtube" title="$youtube" onclick="jotGetVideo(); return false;"></a>
</div> </div>
<div id="profile-video-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-video-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-video" class="icon border video" title="$video" onclick="jotVideoURL(); return false;"></a> <a id="profile-video" class="icon border video" title="$video" onclick="jotVideoURL(); return false;"></a>
</div> </div>
<div id="profile-audio-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-audio-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-audio" class="icon border audio" title="$audio" onclick="jotAudioURL(); return false;"></a> <a id="profile-audio" class="icon border audio" title="$audio" onclick="jotAudioURL(); return false;"></a>
</div> </div>
<div id="profile-location-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-location-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-location" class="icon border globe" title="$setloc" onclick="jotGetLocation(); return false;"></a> <a id="profile-location" class="icon border globe" title="$setloc" onclick="jotGetLocation(); return false;"></a>
</div> </div>
<div id="profile-nolocation-wrapper" class="jot-tool" style="display: none;" > <div id="profile-nolocation-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-nolocation" class="icon border noglobe" title="$noloc" onclick="jotClearLocation(); return false;"></a> <a id="profile-nolocation" class="icon border noglobe" title="$noloc" onclick="jotClearLocation(); return false;"></a>
</div> </div>
<div id="profile-title-wrapper" class="jot-tool" style="display: $visitor;" > <div id="profile-title-wrapper" class="jot-tool" style="display: none;" >
<a id="profile-title" class="icon border article" title="$title" onclick="jotTitle(); return false;"></a> <a id="profile-title" class="icon border article" title="$title" onclick="jotTitle(); return false;"></a>
</div> </div>
<div id="profile-jot-plugin-wrapper"> <div id="profile-jot-plugin-wrapper" style="display: none;">
$jotplugins $jotplugins
</div> </div>
<div id="profile-jot-tools-end"></div> <div id="profile-jot-tools-end"></div>
<div style="display: none;"> <div style="display: none;">

View file

@ -1112,6 +1112,11 @@ div[id$="wrapper"] br { clear: left; }
.cc-license { margin-top: 100px; font-size: 0.7em; } .cc-license { margin-top: 100px; font-size: 0.7em; }
footer { display: block; margin: 50px 20%; clear: both; } footer { display: block; margin: 50px 20%; clear: both; }
#profile-jot-text {
height: 20px;
color:#cccccc;
border: 1px solid #cccccc;
}
/** acl **/ /** acl **/
#photo-edit-perms-select, #photo-edit-perms-select,
#photos-upload-permissions-wrapper, #photos-upload-permissions-wrapper,