From e375557b844e393d081019adc03cd5530a6f87fc Mon Sep 17 00:00:00 2001 From: ddm Date: Wed, 16 Oct 2013 11:19:47 +0200 Subject: [IMP] Editor flicker+resize (cf. task: [CMS] Source editor) bzr revid: ddm@openerp.com-20131016091947-5aymhkl1we878bdl --- addons/website/static/src/js/website.ace.js | 35 ++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'addons/website/static/src/js/website.ace.js') diff --git a/addons/website/static/src/js/website.ace.js b/addons/website/static/src/js/website.ace.js index 1a0417ff11a..d640839acf9 100644 --- a/addons/website/static/src/js/website.ace.js +++ b/addons/website/static/src/js/website.ace.js @@ -66,6 +66,9 @@ }); website.ace.ViewEditor = openerp.Widget.extend({ + resizing: false, + refX: 0, + minWidth: 40, template: 'website.ace_view_editor', events: { 'change #ace-view-list': 'displaySelectedView', @@ -89,6 +92,32 @@ self.loadViews.call(self, views); self.open.call(self); }); + + var $editor = $('.ace_editor'); + function resizeEditor (target) { + var width = Math.min(document.body.clientWidth, Math.max(parseInt(target, 10), self.minWidth)); + $editor.width(width); + self.aceEditor.resize(); + self.$el.width(width); + } + function startResizing (e) { + self.refX = e.pageX; + self.resizing = true; + } + function stopResizing () { + self.resizing = false; + } + function updateWidth (e) { + if (self.resizing) { + var offset = e.pageX - self.refX; + var width = self.$el.width() - offset; + self.refX = e.pageX; + resizeEditor(width); + } + } + document.body.addEventListener('mouseup', stopResizing, true); + self.$('.ace_gutter').mouseup(stopResizing).mousedown(startResizing).click(stopResizing); + $(document).mousemove(updateWidth); }, loadViews: function (views) { var self = this; @@ -205,11 +234,7 @@ }, close: function () { window.location.hash = ""; - var self = this; - this.$el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function () { - globalEditor = null; - self.destroy.call(self); - }).removeClass('oe_ace_open').addClass('oe_ace_closed'); + this.$el.removeClass('oe_ace_open').addClass('oe_ace_closed'); }, }); -- cgit v1.2.3 From 52ef0032e33e9b13b0c1814e7a8e653860a1a34b Mon Sep 17 00:00:00 2001 From: ddm Date: Wed, 16 Oct 2013 11:28:52 +0200 Subject: [IMP] Ace editor CSS improvements bzr revid: ddm@openerp.com-20131016092852-3myx024u2zn5cnvi --- addons/website/static/src/js/website.ace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/website/static/src/js/website.ace.js') diff --git a/addons/website/static/src/js/website.ace.js b/addons/website/static/src/js/website.ace.js index d640839acf9..faf3e8f7e04 100644 --- a/addons/website/static/src/js/website.ace.js +++ b/addons/website/static/src/js/website.ace.js @@ -93,7 +93,7 @@ self.open.call(self); }); - var $editor = $('.ace_editor'); + var $editor = self.$('.ace_editor'); function resizeEditor (target) { var width = Math.min(document.body.clientWidth, Math.max(parseInt(target, 10), self.minWidth)); $editor.width(width); @@ -108,7 +108,7 @@ self.resizing = false; } function updateWidth (e) { - if (self.resizing) { + if (self.resizing) { var offset = e.pageX - self.refX; var width = self.$el.width() - offset; self.refX = e.pageX; -- cgit v1.2.3