$items[] = ElggMenuItem::factory(array(
'name' => 'tinymce_toggler',
'class' => 'tinymce-toggle-editor elgg-longtext-control',
- 'href' => "javascript:elgg.tinymce.toggleEditor('{$vars['id']}');",
+ 'href' => "#{$vars['id']}",
'text' => elgg_echo('tinymce:remove'),
));
elgg.provide('elgg.tinymce');
-elgg.tinymce.toggleEditor = function(id) {
+/**
+ * Toggles the tinymce editor
+ *
+ * @param {Object} event
+ * @return void
+ */
+elgg.tinymce.toggleEditor = function(event) {
+ event.preventDefault();
+
+ var target = $(this).attr('href');
+ var id = $(target).attr('id');
if (!tinyMCE.get(id)) {
tinyMCE.execCommand('mceAddControl', false, id);
- <?php //FIXME This changes all controls on the page!! ?>
- $("a.tinymce-toggle-editor").html(elgg.echo('tinymce:remove'));
+ $(this).html(elgg.echo('tinymce:remove'));
} else {
tinyMCE.execCommand('mceRemoveControl', false, id);
- $("a.tinymce-toggle-editor").html(elgg.echo('tinymce:add'));
+ $(this).html(elgg.echo('tinymce:add'));
}
}
* http://tinymce.moxiecode.com/wiki.php/Configuration
*/
elgg.tinymce.init = function() {
+
+ $('.tinymce-toggle-editor').live('click', elgg.tinymce.toggleEditor);
+
+ $('.elgg-input-longtext').parents('form').submit(function() {
+ tinyMCE.triggerSave();
+ });
+
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "elgg-input-longtext",
content_css: elgg.config.wwwroot + 'mod/tinymce/tinymce_content.css'
});
- $('.elgg-input-longtext').parents('form').submit(function() {
- tinyMCE.triggerSave();
- });
-
}
elgg.register_event_handler('init', 'system', elgg.tinymce.init);
\ No newline at end of file