9 changed files with 74 additions and 81 deletions
@ -1,6 +1,6 @@ |
|||
## Module <transliterate_widget> |
|||
|
|||
#### 01.11.2022 |
|||
#### Version 16.0.1.0.0 |
|||
#### 13.04.2023 |
|||
#### Version 16.0.1.0.1 |
|||
##### ADD |
|||
- Initial Commit transliterate_widget |
|||
- Initial Commit Transliterate Widget |
Before Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 135 KiB |
@ -1,51 +1,38 @@ |
|||
odoo.define('transliterate_widget.TransliterateWidgets', function(require) { |
|||
"use strict"; |
|||
var field_registry = require('web.field_registry'); |
|||
var fields = require('web.basic_fields'); |
|||
var rpc = require('web.rpc'); |
|||
console.log("google", google) |
|||
|
|||
google.load("elements", "1", { |
|||
packages: "transliteration" |
|||
}); |
|||
|
|||
var FieldTextTransliterate = fields.FieldChar.extend({ |
|||
template: 'FieldTextTransliterate', |
|||
widget_class: 'oe_form_field_transliterate', |
|||
|
|||
events: _.extend({}, fields.FieldChar.prototype.events, { |
|||
'click': '_onSelectField', |
|||
}), |
|||
|
|||
_onSelectField: function(ev) { |
|||
rpc.query({ |
|||
model: 'res.config.settings', |
|||
method: 'get_config_value', |
|||
args: ['transliterate_widget.dest_lang'], |
|||
}, { |
|||
shadow: true, |
|||
}) |
|||
.then(function (result) { |
|||
console.log("result", result) |
|||
var options = { |
|||
sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, |
|||
destinationLanguage: [result], |
|||
shortcutKey: 'ctrl+g', |
|||
transliterationEnabled: true |
|||
}; |
|||
var control = new google.elements.transliteration.TransliterationControl(options); |
|||
control.makeTransliteratable($('.input_transliterate')); |
|||
}); |
|||
}, |
|||
|
|||
}); |
|||
|
|||
field_registry.add('transliterate', FieldTextTransliterate); |
|||
return { |
|||
FieldTextTransliterate: FieldTextTransliterate |
|||
}; |
|||
|
|||
|
|||
}); |
|||
|
|||
|
|||
/** @odoo-module **/ |
|||
import { registry } from "@web/core/registry"; |
|||
import { CharField } from "@web/views/fields/char/char_field"; |
|||
import time from 'web.time'; |
|||
var translation = require('web.translation'); |
|||
const rpc = require('web.rpc') |
|||
var Dialog = require('web.Dialog'); |
|||
var _t = translation._t; |
|||
const { Component,useRef,onMounted} = owl; |
|||
let x; |
|||
export class transliterate extends Component { |
|||
static template = 'FieldTextTransliterate' |
|||
setup() { |
|||
super.setup(); |
|||
} |
|||
onSelectDateField(ev) { |
|||
ev.preventDefault(); |
|||
ev.stopPropagation(); |
|||
var self = this; |
|||
rpc.query({ |
|||
model: 'res.config.settings', |
|||
method: 'get_config_value', |
|||
args: ['transliterate_widget.dest_lang'], |
|||
}).then(function (result) { |
|||
var options = { |
|||
sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, |
|||
destinationLanguage: [result], |
|||
shortcutKey: 'ctrl+g', |
|||
transliterationEnabled: true |
|||
}; |
|||
var control = new google.elements.transliteration.TransliterationControl(options); |
|||
control.makeTransliteratable($('.input_transliterate')); |
|||
}); |
|||
} |
|||
|
|||
} |
|||
|
|||
registry.category("fields").add("transliterate", transliterate); |
@ -1,9 +1,7 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<templates> |
|||
<t t-name="FieldTextTransliterate"> |
|||
<t t-if="widget.mode !== 'readonly'"> |
|||
<input type="text" class="input_transliterate"/> |
|||
</t> |
|||
<span t-if="widget.mode === 'readonly'"/> |
|||
<t t-name="FieldTextTransliterate" owl="1"> |
|||
<input type="text" |
|||
class="input_transliterate o-autocomplete--input o_input" |
|||
t-on-click="onSelectDateField"/> |
|||
</t> |
|||
</templates> |
|||
|
Loading…
Reference in new issue