summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/framework/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/framework/utils.js')
-rw-r--r--addons/web/static/src/js/framework/utils.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js
index 087d4c73d65..a0ab37a7dfb 100644
--- a/addons/web/static/src/js/framework/utils.js
+++ b/addons/web/static/src/js/framework/utils.js
@@ -411,6 +411,13 @@ var DropMisordered = Class.extend({
},
});
+function swap(array, elem1, elem2) {
+ var i1 = array.indexOf(elem1);
+ var i2 = array.indexOf(elem2);
+ array[i2] = elem1;
+ array[i1] = elem2;
+}
+
return {
divmod: divmod,
@@ -437,6 +444,7 @@ return {
assert: assert,
xor: xor,
DropMisordered: DropMisordered,
+ swap: swap,
};
});
@@ -467,10 +475,16 @@ function autoresize ($textarea, options) {
top: -10000,
left: -10000,
});
- $fixed_text_area.addClass($fixed_text_area[0].classList);
+ $fixed_text_area.addClass($textarea[0].className);
$fixed_text_area.insertAfter($textarea);
}
+ var style = window.getComputedStyle($textarea[0], null);
+ if (style.resize === 'vertical') {
+ $textarea[0].style.resize = 'none';
+ } else if (style.resize === 'both') {
+ $textarea[0].style.resize = 'horizontal';
+ }
resize();
if ($textarea.__auto_resized) {
return;
@@ -491,7 +505,7 @@ function autoresize ($textarea, options) {
} else {
heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
}
- $fixed_text_area.width($textarea.outerWidth());
+ $fixed_text_area.width($textarea.width());
$fixed_text_area.val($textarea.val());
var height = $fixed_text_area[0].scrollHeight;
$textarea.css({height: Math.max(height + heightOffset, min_height)});