summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.ace.js
diff options
context:
space:
mode:
authorbth-openerp <bth@tinyerp.com>2013-10-17 18:41:39 +0530
committerbth-openerp <bth@tinyerp.com>2013-10-17 18:41:39 +0530
commitaddc2d5f9cefc4c7cd1eb7f3abcc496f2c8eeabe (patch)
tree9bcb89044f3ca6854b2942206b73653f52859e84 /addons/website/static/src/js/website.ace.js
parente3d3cf674c461b2d39418b98898e21d32c08a20d (diff)
parentd5bbf2501a08dd6b0bab0ea4e2e9ff4b0b03fed7 (diff)
[MERGE]Merge trunk-website-al.
bzr revid: bth@tinyerp.com-20131017131139-whjjmuin6g9cby9r
Diffstat (limited to 'addons/website/static/src/js/website.ace.js')
-rw-r--r--addons/website/static/src/js/website.ace.js35
1 files changed, 30 insertions, 5 deletions
diff --git a/addons/website/static/src/js/website.ace.js b/addons/website/static/src/js/website.ace.js
index 1a0417ff11a..faf3e8f7e04 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 = self.$('.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');
},
});