summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/basic_fields.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-03-13 11:45:01 +0000
committerChristophe Simonis <chs@odoo.com>2019-03-13 14:24:51 +0000
commit44515bc7beae3b4c46b5bc2959c320695b51439d (patch)
tree5f56871242f7b5bc8a323c51f2749411e555159e /addons/web/static/src/js/fields/basic_fields.js
parentbf69975b54164a21bfe00b2359d972329516a34e (diff)
parentc9f832d9f032b6af51807b387b325b5c2b8aad00 (diff)
[MERGE] forward port branch saas-12.2 up to c9f832d9f03
closes odoo/odoo#31790 Signed-off-by: Christophe Simonis <chs@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/fields/basic_fields.js')
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js47
1 files changed, 20 insertions, 27 deletions
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js
index a87ff3e4436..7439c36037f 100644
--- a/addons/web/static/src/js/fields/basic_fields.js
+++ b/addons/web/static/src/js/fields/basic_fields.js
@@ -1330,7 +1330,9 @@ var CopyClipboard = {
*/
destroy: function () {
this._super.apply(this, arguments);
- this.clipboard.destroy();
+ if (this.clipboard) {
+ this.clipboard.destroy();
+ }
},
//--------------------------------------------------------------------------
@@ -1345,8 +1347,8 @@ var CopyClipboard = {
var $clipboardBtn = this.$('.o_clipboard_button');
$clipboardBtn.tooltip({title: _t('Copied !'), trigger: 'manual', placement: 'right'});
this.clipboard = new ClipboardJS($clipboardBtn[0], {
- text: function (_) {
- return self.value.trim();
+ text: function () {
+ return self.value.trim();
},
// Container added because of Bootstrap modal that give the focus to another element.
// We need to give to correct focus to ClipboardJS (see in ClipboardJS doc)
@@ -1362,40 +1364,31 @@ var CopyClipboard = {
});
});
},
-};
-
-var TextCopyClipboard = FieldText.extend(CopyClipboard, {
-
- //--------------------------------------------------------------------------
- // Private
- //--------------------------------------------------------------------------
-
/**
* @override
*/
- _render: function() {
+ _render: function () {
this._super.apply(this, arguments);
this.$el.addClass('o_field_copy');
- this.$el.append($(qweb.render('CopyClipboardText')));
- this._initClipboard();
- }
-});
-
-var CharCopyClipboard = FieldChar.extend(CopyClipboard, {
-
- //--------------------------------------------------------------------------
- // Private
- //--------------------------------------------------------------------------
-
+ },
/**
* @override
*/
- _render: function() {
+ _renderReadonly: function () {
this._super.apply(this, arguments);
- this.$el.addClass('o_field_copy');
- this.$el.append($(qweb.render('CopyClipboardChar')));
- this._initClipboard();
+ if (this.value) {
+ this.$el.append($(qweb.render(this.clipboardTemplate)));
+ this._initClipboard();
+ }
}
+};
+
+var TextCopyClipboard = FieldText.extend(CopyClipboard, {
+ clipboardTemplate: 'CopyClipboardText',
+});
+
+var CharCopyClipboard = FieldChar.extend(CopyClipboard, {
+ clipboardTemplate: 'CopyClipboardChar',
});
var AbstractFieldBinary = AbstractField.extend({