blob: 6aad46f12adc79899a8d6cd638c5c8b50280130f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
odoo.define('options.s_google_map_options', function (require) {
'use strict';
const {_t} = require('web.core');
const options = require('web_editor.snippets.options');
options.registry.GoogleMap = options.Class.extend({
//--------------------------------------------------------------------------
// Options
//--------------------------------------------------------------------------
/**
* @see this.selectClass for parameters
*/
resetMapColor(previewMode, widgetValue, params) {
this.$target[0].dataset.mapColor = '';
},
/**
* @see this.selectClass for parameters
*/
setFormattedAddress(previewMode, widgetValue, params) {
this.$target[0].dataset.pinAddress = params.gmapPlace.formatted_address;
},
/**
* @see this.selectClass for parameters
*/
async showDescription(previewMode, widgetValue, params) {
const descriptionEl = this.$target[0].querySelector('.description');
if (widgetValue && !descriptionEl) {
this.$target.append($(`
<div class="description">
<font>${_t('Visit us:')}</font>
<span>${_t('Our office is located in the northeast of Brussels. TEL (555) 432 2365')}</span>
</div>`)
);
} else if (!widgetValue && descriptionEl) {
descriptionEl.remove();
}
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* @override
*/
_computeWidgetState(methodName, params) {
if (methodName === 'showDescription') {
return this.$target[0].querySelector('.description') ? 'true' : '';
}
return this._super(...arguments);
},
});
});
|