side by side preview

v1.18.x
barisusakli 11 years ago
parent a3d01aea58
commit 9151040250

@ -2,7 +2,17 @@
/* globals define, socket, app, config, ajaxify, utils, translator, templates, bootbox */ /* globals define, socket, app, config, ajaxify, utils, translator, templates, bootbox */
define('composer', ['taskbar', 'composer/controls', 'composer/uploads', 'composer/formatting', 'composer/drafts', 'composer/tags'], function(taskbar, controls, uploads, formatting, drafts, tags) { var dependencies = [
'taskbar',
'composer/controls',
'composer/uploads',
'composer/formatting',
'composer/drafts',
'composer/tags',
'composer/preview'
];
define('composer', dependencies, function(taskbar, controls, uploads, formatting, drafts, tags, preview) {
var composer = { var composer = {
active: undefined, active: undefined,
posts: {}, posts: {},
@ -214,7 +224,7 @@ define('composer', ['taskbar', 'composer/controls', 'composer/uploads', 'compose
uploads.toggleThumbEls(postContainer, composer.posts[post_uuid].topic_thumb || ''); uploads.toggleThumbEls(postContainer, composer.posts[post_uuid].topic_thumb || '');
} }
bodyEl.val(draft ? draft : postData.body);
postContainer.on('change', 'input, textarea', function() { postContainer.on('change', 'input, textarea', function() {
composer.posts[post_uuid].modified = true; composer.posts[post_uuid].modified = true;
@ -249,14 +259,12 @@ define('composer', ['taskbar', 'composer/controls', 'composer/uploads', 'compose
return false; return false;
}); });
bodyEl.on('blur', function() { bodyEl.on('input propertychange', function() {
socket.emit('modules.composer.renderPreview', bodyEl.val(), function(err, preview) { preview.render(postContainer);
preview = $(preview);
preview.find('img').addClass('img-responsive');
postContainer.find('.preview').html(preview);
});
}); });
bodyEl.val(draft ? draft : postData.body);
preview.render(postContainer);
drafts.init(postContainer, postData); drafts.init(postContainer, postData);
handleResize(postContainer); handleResize(postContainer);
@ -274,7 +282,6 @@ define('composer', ['taskbar', 'composer/controls', 'composer/uploads', 'compose
formatting.addComposerButtons(); formatting.addComposerButtons();
}); });
}); });
} }

@ -2,7 +2,7 @@
/* globals define */ /* globals define */
define('composer/formatting', ['composer/controls'], function(controls) { define('composer/formatting', ['composer/controls', 'composer/preview'], function(controls, preview) {
var formatting = {}; var formatting = {};
@ -86,6 +86,7 @@ define('composer/formatting', ['composer/controls'], function(controls) {
if(formattingDispatchTable.hasOwnProperty(iconClass)){ if(formattingDispatchTable.hasOwnProperty(iconClass)){
formattingDispatchTable[iconClass](textarea, textarea.selectionStart, textarea.selectionEnd); formattingDispatchTable[iconClass](textarea, textarea.selectionStart, textarea.selectionEnd);
preview.render(postContainer);
} }
}); });
}; };

@ -0,0 +1,22 @@
'use strict';
/* globals define, socket*/
define('composer/preview', function() {
var preview = {};
preview.render = function(postContainer) {
var textarea = postContainer.find('textarea');
socket.emit('modules.composer.renderPreview', textarea.val(), function(err, preview) {
if (err) {
return;
}
preview = $(preview);
preview.find('img').addClass('img-responsive');
postContainer.find('.preview').html(preview);
});
};
return preview;
});
Loading…
Cancel
Save