diff --git a/plugins/livedesk/gui-resources/scripts/js/providers/edit.js b/plugins/livedesk/gui-resources/scripts/js/providers/edit.js index c1270606e..99fac4d38 100755 --- a/plugins/livedesk/gui-resources/scripts/js/providers/edit.js +++ b/plugins/livedesk/gui-resources/scripts/js/providers/edit.js @@ -223,9 +223,28 @@ define('providers/edit', [ '[ci="save"]': { 'click': 'save'}, '[name="type"]' : {'change': 'changetype'}, '.insert-link' : {'focusout':'populateUrlInfo'}, - 'article.editable': {'htmlOkButtonBefore': 'parseFBEmbed', 'htmlOkButton': 'renderFBEmbed'}, + 'article.editable': {'htmlOkButtonBefore': 'parseContent', 'htmlOkButton': 'renderFBEmbed'}, "[data-toggle='modal-image']": { 'click': 'openUploadScreen' } }, + parseContent: function(evt, parent) { + this.parseTwitter(evt, parent); + this.parseFBEmbed(evt, parent); + }, + parseTwitter: function(evt, parent) { + var self = this, + el = $(parent).find('textarea.editor-code'), + code = el.val(), + embeds = code.match(/]*>(.|\n)*?<\/blockquote>/g); + if(!self.meta.tweets) { + self.meta.tweets = []; + } + for(var i=0, id; i'; + } + } + }, parseFBEmbed: function(evt, parent) { var el = $(parent).find('textarea.editor-code'), code = el.val(); @@ -692,6 +711,16 @@ define('providers/edit', [ text: opt.text() }; }, + formatContent: function(content) { + var self = this; + content = content.replace(/]*>(.|\n)*?<\/iframe>/gi, function(all, id){ + if(self.meta.tweets[id]) { + return self.meta.tweets[id]; + }; + return all; + }); + return content.replace(/\s*$/, ''); + }, savepost: function(evt){ var self = this; self.preSave(); @@ -699,7 +728,7 @@ define('providers/edit', [ evt.preventDefault(); var data = { Meta: JSON.stringify(self.meta), - Content: originalContent.replace(/\s*$/, ''), + Content: self.formatContent(originalContent), Type: this.el.find('[name="type"]').val() }; @@ -725,7 +754,7 @@ define('providers/edit', [ evt.preventDefault(); var data = { Meta: JSON.stringify(self.meta), - Content: originalContent.replace(/\s*$/, ''), + Content: self.formatContent(originalContent), Type: this.el.find('[name="type"]').val() };