summaryrefslogtreecommitdiff
path: root/addons/point_of_sale/static/src/js/Popups/TextInputPopup.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/point_of_sale/static/src/js/Popups/TextInputPopup.js')
-rw-r--r--addons/point_of_sale/static/src/js/Popups/TextInputPopup.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/addons/point_of_sale/static/src/js/Popups/TextInputPopup.js b/addons/point_of_sale/static/src/js/Popups/TextInputPopup.js
new file mode 100644
index 00000000..4a0612d2
--- /dev/null
+++ b/addons/point_of_sale/static/src/js/Popups/TextInputPopup.js
@@ -0,0 +1,34 @@
+odoo.define('point_of_sale.TextInputPopup', function(require) {
+ 'use strict';
+
+ const { useState, useRef } = owl.hooks;
+ const AbstractAwaitablePopup = require('point_of_sale.AbstractAwaitablePopup');
+ const Registries = require('point_of_sale.Registries');
+
+ // formerly TextInputPopupWidget
+ class TextInputPopup extends AbstractAwaitablePopup {
+ constructor() {
+ super(...arguments);
+ this.state = useState({ inputValue: this.props.startingValue });
+ this.inputRef = useRef('input');
+ }
+ mounted() {
+ this.inputRef.el.focus();
+ }
+ getPayload() {
+ return this.state.inputValue;
+ }
+ }
+ TextInputPopup.template = 'TextInputPopup';
+ TextInputPopup.defaultProps = {
+ confirmText: 'Ok',
+ cancelText: 'Cancel',
+ title: '',
+ body: '',
+ startingValue: '',
+ };
+
+ Registries.Component.add(TextInputPopup);
+
+ return TextInputPopup;
+});