From 97bfa68dfb724dfa935c4404ce78c942ef93928a Mon Sep 17 00:00:00 2001 From: Samuel Degueldre Date: Thu, 1 Jun 2023 13:42:45 +0000 Subject: [PATCH 1/2] [MOV] point_of_sale: reorganize static/src folder for easier navigation Previously, the pos followed the convention established in Odoo for a very long time to organize its static source files, one folder for js, one for css and one for xml. In a component-based workflow this makes it hard to work with as the template of a component is very far in the file tree from the component itself. This commit adopts the new convention from the web module, and locates the js and xml of components in the same folder. It also renames all files to follow the convention of the rest of odoo that file names should be snake_case. Some files had additionally been renamed to more accurately reflect their purpose. The imports and some renaming will be done in a following commit to allow git to track changes to the files better. Part-of: odoo/odoo#123498 --- addons/point_of_sale/__manifest__.py | 5 +++-- .../app/{ => barcode}/barcode_reader_hook.js | 0 .../app/{ => barcode}/barcode_reader_service.js | 0 .../barcode/error_popup/barcode_error_popup.js} | 0 .../error_popup/barcode_error_popup.xml} | 0 .../app/{pos_bus.js => bus/pos_bus_service.js} | 0 .../customer_display_service.js | 0 .../customer_display_template.xml} | 0 .../order_import_popup/order_import_popup.js} | 0 .../order_import_popup/order_import_popup.xml} | 0 .../error_handlers.js | 0 .../errors/popups/error_popup.js} | 0 .../errors/popups/error_popup.xml} | 0 .../errors/popups/error_traceback_popup.js} | 0 .../errors/popups/error_traceback_popup.xml} | 0 .../errors/popups/offline_error_popup.js} | 0 .../errors/popups/offline_error_popup.xml} | 0 ...dware_proxy.js => hardware_proxy_service.js} | 0 .../static/src/{entry => app}/main.js | 0 .../back_button.js} | 0 .../navbar/back_button/back_button.xml} | 0 .../cash_move_receipt_template.xml} | 0 .../navbar/cashier_name/cashier_name.js} | 0 .../navbar/cashier_name/cashier_name.xml} | 0 .../navbar/closing_popup/closing_popup.js} | 0 .../navbar/closing_popup/closing_popup.xml} | 0 .../customer_facing_display_button.js} | 0 .../customer_facing_display_button.xml} | 0 .../navbar/proxy_status/proxy_status.js} | 0 .../navbar/proxy_status/proxy_status.xml} | 0 .../sale_details_button/sale_details_button.js} | 0 .../sale_details_button.xml} | 0 .../sales_detail_report.xml} | 0 .../sync_notification/sync_notification.js} | 0 .../sync_notification/sync_notification.xml} | 0 .../payment/payment_interface.js} | 0 .../popup/abstract_awaitable_popup.js} | 0 .../static/src/{js/Chrome.js => app/pos_app.js} | 0 .../src/{xml/Chrome.xml => app/pos_app.xml} | 0 .../partner_editor/partner_editor.js} | 0 .../partner_editor/partner_editor.xml} | 0 .../partner_list/partner_line/partner_line.js} | 0 .../partner_list/partner_line/partner_line.xml} | 0 .../screens/partner_list/partner_list.js} | 0 .../screens/partner_list/partner_list.xml} | 0 .../screens/payment_screen/numpad/numpad.js} | 0 .../screens/payment_screen/numpad/numpad.xml} | 0 .../numpad/numpad_button/numpad_button.js} | 0 .../numpad/numpad_button/numpad_button.xml} | 0 .../payment_lines/payment_lines.js} | 0 .../payment_lines/payment_lines.xml} | 0 .../screens/payment_screen/payment_screen.js} | 0 .../screens/payment_screen/payment_screen.xml} | 0 .../payment_status/payment_status.js} | 0 .../payment_status/payment_status.xml} | 0 .../product_screen/action_pad/action_pad.js} | 0 .../product_screen/action_pad/action_pad.xml} | 0 .../category_button/category_button.js} | 0 .../category_button/category_button.xml} | 0 .../control_buttons/control_buttons_popup.js} | 0 .../control_buttons/control_buttons_popup.xml} | 0 .../customer_button/customer_button.js} | 0 .../customer_button/customer_button.xml} | 0 .../customer_note_button.js} | 0 .../customer_note_button.xml} | 0 .../fiscal_position_button.js} | 0 .../fiscal_position_button.xml} | 0 .../pricelist_button/pricelist_button.js} | 0 .../pricelist_button/pricelist_button.xml} | 0 .../product_info_button/product_info_button.js} | 0 .../product_info_button.xml} | 0 .../refund_button/refund_button.js} | 0 .../refund_button/refund_button.xml} | 0 .../control_buttons/save_button/save_button.js} | 0 .../save_button/save_button.xml} | 0 .../screens/product_screen/numpad/numpad.js} | 0 .../screens/product_screen/numpad/numpad.xml} | 0 .../screens/product_screen/order/order.js} | 0 .../screens/product_screen/order/order.xml} | 0 .../order_summary/order_summary.js} | 0 .../order_summary/order_summary.xml} | 0 .../product_screen/orderline/orderline.js} | 0 .../product_screen/orderline/orderline.xml} | 0 .../screens/product_screen/product/product.js} | 0 .../screens/product_screen/product/product.xml} | 0 .../product_info_popup/product_info_popup.js} | 0 .../product_info_popup/product_info_popup.xml} | 0 .../control_panel/control_panel.js} | 0 .../control_panel/control_panel.xml} | 0 .../product_list/product_list.js} | 0 .../product_list/product_list.xml} | 0 .../screens/product_screen/product_screen.js} | 0 .../screens/product_screen/product_screen.xml} | 0 .../receipt_screen/abstract_receipt_screen.js} | 0 .../screens/receipt_screen/receipt/receipt.js} | 0 .../screens/receipt_screen/receipt/receipt.xml} | 0 .../receipt/wrapped_product_name.js} | 0 .../receipt/wrapped_product_name.xml} | 0 .../screens/receipt_screen/receipt_screen.js} | 0 .../screens/receipt_screen/receipt_screen.xml} | 0 .../receipt_screen/reprint_receipt_screen.js} | 0 .../receipt_screen/reprint_receipt_screen.xml} | 0 .../screens/scale_screen/scale_screen.js} | 0 .../screens/scale_screen/scale_screen.xml} | 0 .../invoice_button/invoice_button.js} | 0 .../invoice_button/invoice_button.xml} | 0 .../order_details/order_details.js} | 0 .../order_details/order_details.xml} | 0 .../order_details/orderline_details.js} | 0 .../order_details/orderline_details.xml} | 0 .../reprint_receipt_button.js} | 0 .../reprint_receipt_button.xml} | 0 .../ticket_screen/search_bar/search_bar.js} | 0 .../ticket_screen/search_bar/search_bar.xml} | 0 .../screens/ticket_screen/ticket_screen.js} | 0 .../screens/ticket_screen/ticket_screen.xml} | 0 .../cash_opening_popup/cash_opening_popup.js} | 0 .../cash_opening_popup/cash_opening_popup.xml} | 0 .../static/src/{js => app/store}/db.js | 0 .../static/src/{js => app/store}/models.js | 0 .../store/order_change_receipt_template.xml} | 0 .../static/src/app/{ => store}/pos_hook.js | 0 .../static/src/app/{ => store}/pos_store.js | 0 .../product_configurator_popup.js} | 0 .../product_configurator_popup.xml} | 0 .../edit_list_input/edit_list_input.js} | 0 .../edit_list_input/edit_list_input.xml} | 0 .../store/select_lot_popup/select_lot_popup.js} | 0 .../select_lot_popup/select_lot_popup.xml} | 0 .../utils/alert_popup/alert_popup.js} | 0 .../utils/alert_popup/alert_popup.xml} | 0 .../utils/confirm_popup/confirm_popup.js} | 0 .../utils/confirm_popup/confirm_popup.xml} | 0 .../app/{ => utils}/contextual_utils_service.js | 0 .../utils/control_buttons_mixin.js} | 0 .../date_picker_popup/date_picker_popup.js} | 0 .../date_picker_popup/date_picker_popup.xml} | 0 .../{js/custom_hooks.js => app/utils/hooks.js} | 0 .../utils/input_popups/number_popup.js} | 0 .../utils/input_popups/number_popup.xml} | 0 .../utils/input_popups/selection_popup.js} | 0 .../utils/input_popups/selection_popup.xml} | 0 .../utils/input_popups/text_input_popup.js} | 0 .../utils/input_popups/text_input_popup.xml} | 0 .../utils/input_popups/textarea_popup.js} | 0 .../utils/input_popups/textarea_popup.xml} | 0 .../money_details_popup/money_details_popup.js} | 0 .../money_details_popup.xml} | 0 .../static/src/app/{ => utils}/movable_hook.js | 0 .../app/{ => utils}/number_buffer_service.js | 0 .../src/app/{ => utils}/report_service.js | 0 .../point_of_sale/static/src/img/bc-arrow.png | Bin 361 -> 0 bytes .../static/src/img/blocks/block_simple_text.png | Bin 329 -> 0 bytes .../static/src/img/default_category_photo.png | Bin 1362 -> 0 bytes addons/point_of_sale/static/src/img/home.png | Bin 2924 -> 0 bytes .../static/src/img/ios-share-icon.png | Bin 522 -> 0 bytes .../static/src/img/pos_screenshot.jpg | Bin 77204 -> 0 bytes .../static/src/{js/utils.js => legacy_utils.js} | 0 158 files changed, 3 insertions(+), 2 deletions(-) rename addons/point_of_sale/static/src/app/{ => barcode}/barcode_reader_hook.js (100%) rename addons/point_of_sale/static/src/app/{ => barcode}/barcode_reader_service.js (100%) rename addons/point_of_sale/static/src/{js/Popups/ErrorBarcodePopup.js => app/barcode/error_popup/barcode_error_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ErrorBarcodePopup.xml => app/barcode/error_popup/barcode_error_popup.xml} (100%) rename addons/point_of_sale/static/src/app/{pos_bus.js => bus/pos_bus_service.js} (100%) rename addons/point_of_sale/static/src/app/{ => customer_display}/customer_display_service.js (100%) rename addons/point_of_sale/static/src/{xml/CustomerFacingDisplay/CustomerFacingDisplayOrder.xml => app/customer_display/customer_display_template.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/OrderImportPopup.js => app/debug/order_import_popup/order_import_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/OrderImportPopup.xml => app/debug/order_import_popup/order_import_popup.xml} (100%) rename addons/point_of_sale/static/src/app/{error_handlers => errors}/error_handlers.js (100%) rename addons/point_of_sale/static/src/{js/Popups/ErrorPopup.js => app/errors/popups/error_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ErrorPopup.xml => app/errors/popups/error_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/ErrorTracebackPopup.js => app/errors/popups/error_traceback_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ErrorTracebackPopup.xml => app/errors/popups/error_traceback_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/OfflineErrorPopup.js => app/errors/popups/offline_error_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/OfflineErrorPopup.xml => app/errors/popups/offline_error_popup.xml} (100%) rename addons/point_of_sale/static/src/app/hardware_proxy/{hardware_proxy.js => hardware_proxy_service.js} (100%) rename addons/point_of_sale/static/src/{entry => app}/main.js (100%) rename addons/point_of_sale/static/src/app/navbar/{BackButton.js => back_button/back_button.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/BackButton.xml => app/navbar/back_button/back_button.xml} (100%) rename addons/point_of_sale/static/src/{xml/Popups/CashMoveReceipt.xml => app/navbar/cash_move_popup/cash_move_receipt_template.xml} (100%) rename addons/point_of_sale/static/src/{js/ChromeWidgets/CashierName.js => app/navbar/cashier_name/cashier_name.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/CashierName.xml => app/navbar/cashier_name/cashier_name.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/ClosePosPopup.js => app/navbar/closing_popup/closing_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ClosePosPopup.xml => app/navbar/closing_popup/closing_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/ChromeWidgets/CustomerFacingDisplayButton.js => app/navbar/customer_facing_display_button/customer_facing_display_button.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/CustomerFacingDisplayButton.xml => app/navbar/customer_facing_display_button/customer_facing_display_button.xml} (100%) rename addons/point_of_sale/static/src/{js/ChromeWidgets/ProxyStatus.js => app/navbar/proxy_status/proxy_status.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/ProxyStatus.xml => app/navbar/proxy_status/proxy_status.xml} (100%) rename addons/point_of_sale/static/src/{js/ChromeWidgets/SaleDetailsButton.js => app/navbar/sale_details_button/sale_details_button.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/SaleDetailsButton.xml => app/navbar/sale_details_button/sale_details_button.xml} (100%) rename addons/point_of_sale/static/src/{xml/SaleDetailsReport.xml => app/navbar/sale_details_button/sales_detail_report.xml} (100%) rename addons/point_of_sale/static/src/{js/ChromeWidgets/SyncNotification.js => app/navbar/sync_notification/sync_notification.js} (100%) rename addons/point_of_sale/static/src/{xml/ChromeWidgets/SyncNotification.xml => app/navbar/sync_notification/sync_notification.xml} (100%) rename addons/point_of_sale/static/src/{js/payment.js => app/payment/payment_interface.js} (100%) rename addons/point_of_sale/static/src/{js/Popups/AbstractAwaitablePopup.js => app/popup/abstract_awaitable_popup.js} (100%) rename addons/point_of_sale/static/src/{js/Chrome.js => app/pos_app.js} (100%) rename addons/point_of_sale/static/src/{xml/Chrome.xml => app/pos_app.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PartnerListScreen/PartnerDetailsEdit.js => app/screens/partner_list/partner_editor/partner_editor.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PartnerListScreen/PartnerDetailsEdit.xml => app/screens/partner_list/partner_editor/partner_editor.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PartnerListScreen/PartnerLine.js => app/screens/partner_list/partner_line/partner_line.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PartnerListScreen/PartnerLine.xml => app/screens/partner_list/partner_line/partner_line.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PartnerListScreen/PartnerListScreen.js => app/screens/partner_list/partner_list.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PartnerListScreen/PartnerListScreen.xml => app/screens/partner_list/partner_list.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PaymentScreen/PaymentScreenNumpad.js => app/screens/payment_screen/numpad/numpad.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PaymentScreen/PaymentScreenNumpad.xml => app/screens/payment_screen/numpad/numpad.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PaymentScreen/PSNumpadInputButton.js => app/screens/payment_screen/numpad/numpad_button/numpad_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PaymentScreen/PSNumpadInputButton.xml => app/screens/payment_screen/numpad/numpad_button/numpad_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PaymentScreen/PaymentScreenPaymentLines.js => app/screens/payment_screen/payment_lines/payment_lines.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PaymentScreen/PaymentScreenPaymentLines.xml => app/screens/payment_screen/payment_lines/payment_lines.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PaymentScreen/PaymentScreen.js => app/screens/payment_screen/payment_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PaymentScreen/PaymentScreen.xml => app/screens/payment_screen/payment_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/PaymentScreen/PaymentScreenStatus.js => app/screens/payment_screen/payment_status/payment_status.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/PaymentScreen/PaymentScreenStatus.xml => app/screens/payment_screen/payment_status/payment_status.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ActionpadWidget.js => app/screens/product_screen/action_pad/action_pad.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ActionpadWidget.xml => app/screens/product_screen/action_pad/action_pad.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/CategoryButton.js => app/screens/product_screen/category_button/category_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/CategoryButton.xml => app/screens/product_screen/category_button/category_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/ControlButtonPopup.js => app/screens/product_screen/control_buttons/control_buttons_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ControlButtonPopup.xml => app/screens/product_screen/control_buttons/control_buttons_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/CustomerButton.js => app/screens/product_screen/control_buttons/customer_button/customer_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/CustomerButton.xml => app/screens/product_screen/control_buttons/customer_button/customer_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.js => app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.xml => app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.js => app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.xml => app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/SetPricelistButton.js => app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/SetPricelistButton.xml => app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js => app/screens/product_screen/control_buttons/product_info_button/product_info_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/ProductInfoButton.xml => app/screens/product_screen/control_buttons/product_info_button/product_info_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/RefundButton.js => app/screens/product_screen/control_buttons/refund_button/refund_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/RefundButton.xml => app/screens/product_screen/control_buttons/refund_button/refund_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ControlButtons/SaveButton.js => app/screens/product_screen/control_buttons/save_button/save_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ControlButtons/SaveButton.xml => app/screens/product_screen/control_buttons/save_button/save_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/NumpadWidget.js => app/screens/product_screen/numpad/numpad.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/NumpadWidget.xml => app/screens/product_screen/numpad/numpad.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/OrderWidget.js => app/screens/product_screen/order/order.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/OrderWidget.xml => app/screens/product_screen/order/order.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/OrderSummary.js => app/screens/product_screen/order_summary/order_summary.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/OrderSummary.xml => app/screens/product_screen/order_summary/order_summary.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/Orderline.js => app/screens/product_screen/orderline/orderline.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/Orderline.xml => app/screens/product_screen/orderline/orderline.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ProductItem.js => app/screens/product_screen/product/product.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ProductItem.xml => app/screens/product_screen/product/product.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/ProductInfoPopup.js => app/screens/product_screen/product_info_popup/product_info_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ProductInfoPopup.xml => app/screens/product_screen/product_info_popup/product_info_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ProductsWidgetControlPanel.js => app/screens/product_screen/product_list/control_panel/control_panel.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ProductsWidgetControlPanel.xml => app/screens/product_screen/product_list/control_panel/control_panel.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ProductsWidget.js => app/screens/product_screen/product_list/product_list.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ProductsWidget.xml => app/screens/product_screen/product_list/product_list.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ProductScreen/ProductScreen.js => app/screens/product_screen/product_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ProductScreen/ProductScreen.xml => app/screens/product_screen/product_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Misc/AbstractReceiptScreen.js => app/screens/receipt_screen/abstract_receipt_screen.js} (100%) rename addons/point_of_sale/static/src/{js/Screens/ReceiptScreen/OrderReceipt.js => app/screens/receipt_screen/receipt/receipt.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ReceiptScreen/OrderReceipt.xml => app/screens/receipt_screen/receipt/receipt.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ReceiptScreen/WrappedProductNameLines.js => app/screens/receipt_screen/receipt/wrapped_product_name.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ReceiptScreen/WrappedProductNameLines.xml => app/screens/receipt_screen/receipt/wrapped_product_name.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ReceiptScreen/ReceiptScreen.js => app/screens/receipt_screen/receipt_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ReceiptScreen/ReceiptScreen.xml => app/screens/receipt_screen/receipt_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/ReprintReceiptScreen.js => app/screens/receipt_screen/reprint_receipt_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/ReprintReceiptScreen.xml => app/screens/receipt_screen/reprint_receipt_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/ScaleScreen/ScaleScreen.js => app/screens/scale_screen/scale_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/ScaleScreen/ScaleScreen.xml => app/screens/scale_screen/scale_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/ControlButtons/InvoiceButton.js => app/screens/ticket_screen/invoice_button/invoice_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/ControlButtons/InvoiceButton.xml => app/screens/ticket_screen/invoice_button/invoice_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/OrderDetails.js => app/screens/ticket_screen/order_details/order_details.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/OrderDetails.xml => app/screens/ticket_screen/order_details/order_details.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/OrderlineDetails.js => app/screens/ticket_screen/order_details/orderline_details.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/OrderlineDetails.xml => app/screens/ticket_screen/order_details/orderline_details.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.js => app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.xml => app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.xml} (100%) rename addons/point_of_sale/static/src/{js/Misc/SearchBar.js => app/screens/ticket_screen/search_bar/search_bar.js} (100%) rename addons/point_of_sale/static/src/{xml/Misc/SearchBar.xml => app/screens/ticket_screen/search_bar/search_bar.xml} (100%) rename addons/point_of_sale/static/src/{js/Screens/TicketScreen/TicketScreen.js => app/screens/ticket_screen/ticket_screen.js} (100%) rename addons/point_of_sale/static/src/{xml/Screens/TicketScreen/TicketScreen.xml => app/screens/ticket_screen/ticket_screen.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/CashOpeningPopup.js => app/store/cash_opening_popup/cash_opening_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/CashOpeningPopup.xml => app/store/cash_opening_popup/cash_opening_popup.xml} (100%) rename addons/point_of_sale/static/src/{js => app/store}/db.js (100%) rename addons/point_of_sale/static/src/{js => app/store}/models.js (100%) rename addons/point_of_sale/static/src/{xml/multiprint.xml => app/store/order_change_receipt_template.xml} (100%) rename addons/point_of_sale/static/src/app/{ => store}/pos_hook.js (100%) rename addons/point_of_sale/static/src/app/{ => store}/pos_store.js (100%) rename addons/point_of_sale/static/src/{js/Popups/ProductConfiguratorPopup.js => app/store/product_configurator_popup/product_configurator_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ProductConfiguratorPopup.xml => app/store/product_configurator_popup/product_configurator_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/EditListInput.js => app/store/select_lot_popup/edit_list_input/edit_list_input.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/EditListInput.xml => app/store/select_lot_popup/edit_list_input/edit_list_input.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/EditListPopup.js => app/store/select_lot_popup/select_lot_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/EditListPopup.xml => app/store/select_lot_popup/select_lot_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/AlertPopup.js => app/utils/alert_popup/alert_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/AlertPopup.xml => app/utils/alert_popup/alert_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/ConfirmPopup.js => app/utils/confirm_popup/confirm_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/ConfirmPopup.xml => app/utils/confirm_popup/confirm_popup.xml} (100%) rename addons/point_of_sale/static/src/app/{ => utils}/contextual_utils_service.js (100%) rename addons/point_of_sale/static/src/{js/ControlButtonsMixin.js => app/utils/control_buttons_mixin.js} (100%) rename addons/point_of_sale/static/src/{js/Popups/DatePickerPopup.js => app/utils/date_picker_popup/date_picker_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/DatePickerPopup.xml => app/utils/date_picker_popup/date_picker_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/custom_hooks.js => app/utils/hooks.js} (100%) rename addons/point_of_sale/static/src/{js/Popups/NumberPopup.js => app/utils/input_popups/number_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/NumberPopup.xml => app/utils/input_popups/number_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/SelectionPopup.js => app/utils/input_popups/selection_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/SelectionPopup.xml => app/utils/input_popups/selection_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/TextInputPopup.js => app/utils/input_popups/text_input_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/TextInputPopup.xml => app/utils/input_popups/text_input_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/TextAreaPopup.js => app/utils/input_popups/textarea_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/TextAreaPopup.xml => app/utils/input_popups/textarea_popup.xml} (100%) rename addons/point_of_sale/static/src/{js/Popups/MoneyDetailsPopup.js => app/utils/money_details_popup/money_details_popup.js} (100%) rename addons/point_of_sale/static/src/{xml/Popups/MoneyDetailsPopup.xml => app/utils/money_details_popup/money_details_popup.xml} (100%) rename addons/point_of_sale/static/src/app/{ => utils}/movable_hook.js (100%) rename addons/point_of_sale/static/src/app/{ => utils}/number_buffer_service.js (100%) rename addons/point_of_sale/static/src/app/{ => utils}/report_service.js (100%) delete mode 100644 addons/point_of_sale/static/src/img/bc-arrow.png delete mode 100644 addons/point_of_sale/static/src/img/blocks/block_simple_text.png delete mode 100644 addons/point_of_sale/static/src/img/default_category_photo.png delete mode 100644 addons/point_of_sale/static/src/img/home.png delete mode 100644 addons/point_of_sale/static/src/img/ios-share-icon.png delete mode 100644 addons/point_of_sale/static/src/img/pos_screenshot.jpg rename addons/point_of_sale/static/src/{js/utils.js => legacy_utils.js} (100%) diff --git a/addons/point_of_sale/__manifest__.py b/addons/point_of_sale/__manifest__.py index 0295d6928f4..e9d8d3b7c60 100644 --- a/addons/point_of_sale/__manifest__.py +++ b/addons/point_of_sale/__manifest__.py @@ -120,7 +120,8 @@ # PoS files 'point_of_sale/static/src/**/*', ('remove', 'point_of_sale/static/src/backend/**/*'), - ('remove', 'point_of_sale/static/src/entry/**/*'), # entry is only included in the prod bundle + # main.js boots the pos app, it is only included in the prod bundle as tests mount the app themselves + ('remove', 'point_of_sale/static/src/app/main.js'), # tour system FIXME: can this be added only in test mode? Are there any onboarding tours in PoS? 'web/static/lib/jquery/jquery.js', 'web_tour/static/src/tour_pointer/**/*', @@ -137,7 +138,7 @@ # Bundle that starts the pos, loaded on /pos/ui 'point_of_sale.assets_prod': [ ('include', 'point_of_sale._assets_pos'), - 'point_of_sale/static/src/entry/main.js', + 'point_of_sale/static/src/app/main.js', ], # Bundle for the unit tests at /pos/ui/tests 'point_of_sale.assets_qunit_tests': [ diff --git a/addons/point_of_sale/static/src/app/barcode_reader_hook.js b/addons/point_of_sale/static/src/app/barcode/barcode_reader_hook.js similarity index 100% rename from addons/point_of_sale/static/src/app/barcode_reader_hook.js rename to addons/point_of_sale/static/src/app/barcode/barcode_reader_hook.js diff --git a/addons/point_of_sale/static/src/app/barcode_reader_service.js b/addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/barcode_reader_service.js rename to addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js diff --git a/addons/point_of_sale/static/src/js/Popups/ErrorBarcodePopup.js b/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ErrorBarcodePopup.js rename to addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ErrorBarcodePopup.xml b/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ErrorBarcodePopup.xml rename to addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.xml diff --git a/addons/point_of_sale/static/src/app/pos_bus.js b/addons/point_of_sale/static/src/app/bus/pos_bus_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/pos_bus.js rename to addons/point_of_sale/static/src/app/bus/pos_bus_service.js diff --git a/addons/point_of_sale/static/src/app/customer_display_service.js b/addons/point_of_sale/static/src/app/customer_display/customer_display_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/customer_display_service.js rename to addons/point_of_sale/static/src/app/customer_display/customer_display_service.js diff --git a/addons/point_of_sale/static/src/xml/CustomerFacingDisplay/CustomerFacingDisplayOrder.xml b/addons/point_of_sale/static/src/app/customer_display/customer_display_template.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/CustomerFacingDisplay/CustomerFacingDisplayOrder.xml rename to addons/point_of_sale/static/src/app/customer_display/customer_display_template.xml diff --git a/addons/point_of_sale/static/src/js/Popups/OrderImportPopup.js b/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/OrderImportPopup.js rename to addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/OrderImportPopup.xml b/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/OrderImportPopup.xml rename to addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.xml diff --git a/addons/point_of_sale/static/src/app/error_handlers/error_handlers.js b/addons/point_of_sale/static/src/app/errors/error_handlers.js similarity index 100% rename from addons/point_of_sale/static/src/app/error_handlers/error_handlers.js rename to addons/point_of_sale/static/src/app/errors/error_handlers.js diff --git a/addons/point_of_sale/static/src/js/Popups/ErrorPopup.js b/addons/point_of_sale/static/src/app/errors/popups/error_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ErrorPopup.js rename to addons/point_of_sale/static/src/app/errors/popups/error_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ErrorPopup.xml b/addons/point_of_sale/static/src/app/errors/popups/error_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ErrorPopup.xml rename to addons/point_of_sale/static/src/app/errors/popups/error_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/ErrorTracebackPopup.js b/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ErrorTracebackPopup.js rename to addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ErrorTracebackPopup.xml b/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ErrorTracebackPopup.xml rename to addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/OfflineErrorPopup.js b/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/OfflineErrorPopup.js rename to addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/OfflineErrorPopup.xml b/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/OfflineErrorPopup.xml rename to addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.xml diff --git a/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy.js b/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy.js rename to addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js diff --git a/addons/point_of_sale/static/src/entry/main.js b/addons/point_of_sale/static/src/app/main.js similarity index 100% rename from addons/point_of_sale/static/src/entry/main.js rename to addons/point_of_sale/static/src/app/main.js diff --git a/addons/point_of_sale/static/src/app/navbar/BackButton.js b/addons/point_of_sale/static/src/app/navbar/back_button/back_button.js similarity index 100% rename from addons/point_of_sale/static/src/app/navbar/BackButton.js rename to addons/point_of_sale/static/src/app/navbar/back_button/back_button.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/BackButton.xml b/addons/point_of_sale/static/src/app/navbar/back_button/back_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/BackButton.xml rename to addons/point_of_sale/static/src/app/navbar/back_button/back_button.xml diff --git a/addons/point_of_sale/static/src/xml/Popups/CashMoveReceipt.xml b/addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_receipt_template.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/CashMoveReceipt.xml rename to addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_receipt_template.xml diff --git a/addons/point_of_sale/static/src/js/ChromeWidgets/CashierName.js b/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js similarity index 100% rename from addons/point_of_sale/static/src/js/ChromeWidgets/CashierName.js rename to addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/CashierName.xml b/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/CashierName.xml rename to addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.xml diff --git a/addons/point_of_sale/static/src/js/Popups/ClosePosPopup.js b/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ClosePosPopup.js rename to addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ClosePosPopup.xml b/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ClosePosPopup.xml rename to addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.xml diff --git a/addons/point_of_sale/static/src/js/ChromeWidgets/CustomerFacingDisplayButton.js b/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/ChromeWidgets/CustomerFacingDisplayButton.js rename to addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/CustomerFacingDisplayButton.xml b/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/CustomerFacingDisplayButton.xml rename to addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.xml diff --git a/addons/point_of_sale/static/src/js/ChromeWidgets/ProxyStatus.js b/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js similarity index 100% rename from addons/point_of_sale/static/src/js/ChromeWidgets/ProxyStatus.js rename to addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/ProxyStatus.xml b/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/ProxyStatus.xml rename to addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.xml diff --git a/addons/point_of_sale/static/src/js/ChromeWidgets/SaleDetailsButton.js b/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/ChromeWidgets/SaleDetailsButton.js rename to addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/SaleDetailsButton.xml b/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/SaleDetailsButton.xml rename to addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.xml diff --git a/addons/point_of_sale/static/src/xml/SaleDetailsReport.xml b/addons/point_of_sale/static/src/app/navbar/sale_details_button/sales_detail_report.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/SaleDetailsReport.xml rename to addons/point_of_sale/static/src/app/navbar/sale_details_button/sales_detail_report.xml diff --git a/addons/point_of_sale/static/src/js/ChromeWidgets/SyncNotification.js b/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js similarity index 100% rename from addons/point_of_sale/static/src/js/ChromeWidgets/SyncNotification.js rename to addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js diff --git a/addons/point_of_sale/static/src/xml/ChromeWidgets/SyncNotification.xml b/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/ChromeWidgets/SyncNotification.xml rename to addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.xml diff --git a/addons/point_of_sale/static/src/js/payment.js b/addons/point_of_sale/static/src/app/payment/payment_interface.js similarity index 100% rename from addons/point_of_sale/static/src/js/payment.js rename to addons/point_of_sale/static/src/app/payment/payment_interface.js diff --git a/addons/point_of_sale/static/src/js/Popups/AbstractAwaitablePopup.js b/addons/point_of_sale/static/src/app/popup/abstract_awaitable_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/AbstractAwaitablePopup.js rename to addons/point_of_sale/static/src/app/popup/abstract_awaitable_popup.js diff --git a/addons/point_of_sale/static/src/js/Chrome.js b/addons/point_of_sale/static/src/app/pos_app.js similarity index 100% rename from addons/point_of_sale/static/src/js/Chrome.js rename to addons/point_of_sale/static/src/app/pos_app.js diff --git a/addons/point_of_sale/static/src/xml/Chrome.xml b/addons/point_of_sale/static/src/app/pos_app.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Chrome.xml rename to addons/point_of_sale/static/src/app/pos_app.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerDetailsEdit.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerDetailsEdit.js rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerDetailsEdit.xml b/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerDetailsEdit.xml rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerLine.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_line/partner_line.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerLine.js rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_line/partner_line.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerLine.xml b/addons/point_of_sale/static/src/app/screens/partner_list/partner_line/partner_line.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerLine.xml rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_line/partner_line.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerListScreen.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PartnerListScreen/PartnerListScreen.js rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerListScreen.xml b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PartnerListScreen/PartnerListScreen.xml rename to addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenNumpad.js b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenNumpad.js rename to addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenNumpad.xml b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenNumpad.xml rename to addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PSNumpadInputButton.js b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad_button/numpad_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PaymentScreen/PSNumpadInputButton.js rename to addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad_button/numpad_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PSNumpadInputButton.xml b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad_button/numpad_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PSNumpadInputButton.xml rename to addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad_button/numpad_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenPaymentLines.js b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenPaymentLines.js rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenPaymentLines.xml b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenPaymentLines.xml rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreen.js rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreen.xml rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.xml diff --git a/addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenStatus.js b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_status/payment_status.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/PaymentScreen/PaymentScreenStatus.js rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_status/payment_status.js diff --git a/addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenStatus.xml b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_status/payment_status.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/PaymentScreen/PaymentScreenStatus.xml rename to addons/point_of_sale/static/src/app/screens/payment_screen/payment_status/payment_status.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ActionpadWidget.js b/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ActionpadWidget.js rename to addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ActionpadWidget.xml b/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ActionpadWidget.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/CategoryButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/category_button/category_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/CategoryButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/category_button/category_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/CategoryButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/category_button/category_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/CategoryButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/category_button/category_button.xml diff --git a/addons/point_of_sale/static/src/js/Popups/ControlButtonPopup.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ControlButtonPopup.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ControlButtonPopup.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ControlButtonPopup.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/CustomerButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/CustomerButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/CustomerButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/CustomerButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/OrderlineCustomerNoteButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SetFiscalPositionButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SetPricelistButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SetPricelistButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SetPricelistButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SetPricelistButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/ProductInfoButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/ProductInfoButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/RefundButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/RefundButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/RefundButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/RefundButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SaveButton.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ControlButtons/SaveButton.js rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SaveButton.xml b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ControlButtons/SaveButton.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/NumpadWidget.js b/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/NumpadWidget.js rename to addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/NumpadWidget.xml b/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/NumpadWidget.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/OrderWidget.js b/addons/point_of_sale/static/src/app/screens/product_screen/order/order.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/OrderWidget.js rename to addons/point_of_sale/static/src/app/screens/product_screen/order/order.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/OrderWidget.xml b/addons/point_of_sale/static/src/app/screens/product_screen/order/order.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/OrderWidget.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/order/order.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/OrderSummary.js b/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/OrderSummary.js rename to addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/OrderSummary.xml b/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/OrderSummary.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/Orderline.js b/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/Orderline.js rename to addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/Orderline.xml b/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/Orderline.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductItem.js b/addons/point_of_sale/static/src/app/screens/product_screen/product/product.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductItem.js rename to addons/point_of_sale/static/src/app/screens/product_screen/product/product.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductItem.xml b/addons/point_of_sale/static/src/app/screens/product_screen/product/product.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductItem.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/product/product.xml diff --git a/addons/point_of_sale/static/src/js/Popups/ProductInfoPopup.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ProductInfoPopup.js rename to addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ProductInfoPopup.xml b/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ProductInfoPopup.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductsWidgetControlPanel.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductsWidgetControlPanel.js rename to addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductsWidgetControlPanel.xml b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductsWidgetControlPanel.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductsWidget.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductsWidget.js rename to addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductsWidget.xml b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductsWidget.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js rename to addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductScreen.xml b/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ProductScreen/ProductScreen.xml rename to addons/point_of_sale/static/src/app/screens/product_screen/product_screen.xml diff --git a/addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js rename to addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js diff --git a/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/OrderReceipt.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ReceiptScreen/OrderReceipt.js rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/OrderReceipt.xml b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/OrderReceipt.xml rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/WrappedProductNameLines.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/wrapped_product_name.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ReceiptScreen/WrappedProductNameLines.js rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/wrapped_product_name.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/WrappedProductNameLines.xml b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/wrapped_product_name.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/WrappedProductNameLines.xml rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/wrapped_product_name.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/ReceiptScreen.xml b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ReceiptScreen/ReceiptScreen.xml rename to addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/ReprintReceiptScreen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/ReprintReceiptScreen.js rename to addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/ReprintReceiptScreen.xml b/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/ReprintReceiptScreen.xml rename to addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.xml diff --git a/addons/point_of_sale/static/src/js/Screens/ScaleScreen/ScaleScreen.js b/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/ScaleScreen/ScaleScreen.js rename to addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/ScaleScreen/ScaleScreen.xml b/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/ScaleScreen/ScaleScreen.xml rename to addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/ControlButtons/InvoiceButton.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/ControlButtons/InvoiceButton.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/ControlButtons/InvoiceButton.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/ControlButtons/InvoiceButton.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/OrderDetails.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/OrderDetails.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/OrderDetails.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/OrderDetails.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/OrderlineDetails.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/OrderlineDetails.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/OrderlineDetails.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/OrderlineDetails.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/ControlButtons/ReprintReceiptButton.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.xml diff --git a/addons/point_of_sale/static/src/js/Misc/SearchBar.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/search_bar/search_bar.js similarity index 100% rename from addons/point_of_sale/static/src/js/Misc/SearchBar.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/search_bar/search_bar.js diff --git a/addons/point_of_sale/static/src/xml/Misc/SearchBar.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/search_bar/search_bar.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Misc/SearchBar.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/search_bar/search_bar.xml diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js similarity index 100% rename from addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js rename to addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml rename to addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml diff --git a/addons/point_of_sale/static/src/js/Popups/CashOpeningPopup.js b/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/CashOpeningPopup.js rename to addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/CashOpeningPopup.xml b/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/CashOpeningPopup.xml rename to addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.xml diff --git a/addons/point_of_sale/static/src/js/db.js b/addons/point_of_sale/static/src/app/store/db.js similarity index 100% rename from addons/point_of_sale/static/src/js/db.js rename to addons/point_of_sale/static/src/app/store/db.js diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/app/store/models.js similarity index 100% rename from addons/point_of_sale/static/src/js/models.js rename to addons/point_of_sale/static/src/app/store/models.js diff --git a/addons/point_of_sale/static/src/xml/multiprint.xml b/addons/point_of_sale/static/src/app/store/order_change_receipt_template.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/multiprint.xml rename to addons/point_of_sale/static/src/app/store/order_change_receipt_template.xml diff --git a/addons/point_of_sale/static/src/app/pos_hook.js b/addons/point_of_sale/static/src/app/store/pos_hook.js similarity index 100% rename from addons/point_of_sale/static/src/app/pos_hook.js rename to addons/point_of_sale/static/src/app/store/pos_hook.js diff --git a/addons/point_of_sale/static/src/app/pos_store.js b/addons/point_of_sale/static/src/app/store/pos_store.js similarity index 100% rename from addons/point_of_sale/static/src/app/pos_store.js rename to addons/point_of_sale/static/src/app/store/pos_store.js diff --git a/addons/point_of_sale/static/src/js/Popups/ProductConfiguratorPopup.js b/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ProductConfiguratorPopup.js rename to addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ProductConfiguratorPopup.xml b/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ProductConfiguratorPopup.xml rename to addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/EditListInput.js b/addons/point_of_sale/static/src/app/store/select_lot_popup/edit_list_input/edit_list_input.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/EditListInput.js rename to addons/point_of_sale/static/src/app/store/select_lot_popup/edit_list_input/edit_list_input.js diff --git a/addons/point_of_sale/static/src/xml/Popups/EditListInput.xml b/addons/point_of_sale/static/src/app/store/select_lot_popup/edit_list_input/edit_list_input.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/EditListInput.xml rename to addons/point_of_sale/static/src/app/store/select_lot_popup/edit_list_input/edit_list_input.xml diff --git a/addons/point_of_sale/static/src/js/Popups/EditListPopup.js b/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/EditListPopup.js rename to addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/EditListPopup.xml b/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/EditListPopup.xml rename to addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/AlertPopup.js b/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/AlertPopup.js rename to addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/AlertPopup.xml b/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/AlertPopup.xml rename to addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/ConfirmPopup.js b/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/ConfirmPopup.js rename to addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/ConfirmPopup.xml b/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/ConfirmPopup.xml rename to addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.xml diff --git a/addons/point_of_sale/static/src/app/contextual_utils_service.js b/addons/point_of_sale/static/src/app/utils/contextual_utils_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/contextual_utils_service.js rename to addons/point_of_sale/static/src/app/utils/contextual_utils_service.js diff --git a/addons/point_of_sale/static/src/js/ControlButtonsMixin.js b/addons/point_of_sale/static/src/app/utils/control_buttons_mixin.js similarity index 100% rename from addons/point_of_sale/static/src/js/ControlButtonsMixin.js rename to addons/point_of_sale/static/src/app/utils/control_buttons_mixin.js diff --git a/addons/point_of_sale/static/src/js/Popups/DatePickerPopup.js b/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/DatePickerPopup.js rename to addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/DatePickerPopup.xml b/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/DatePickerPopup.xml rename to addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.xml diff --git a/addons/point_of_sale/static/src/js/custom_hooks.js b/addons/point_of_sale/static/src/app/utils/hooks.js similarity index 100% rename from addons/point_of_sale/static/src/js/custom_hooks.js rename to addons/point_of_sale/static/src/app/utils/hooks.js diff --git a/addons/point_of_sale/static/src/js/Popups/NumberPopup.js b/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/NumberPopup.js rename to addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/NumberPopup.xml b/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/NumberPopup.xml rename to addons/point_of_sale/static/src/app/utils/input_popups/number_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/SelectionPopup.js b/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/SelectionPopup.js rename to addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml b/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml rename to addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/TextInputPopup.js b/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/TextInputPopup.js rename to addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/TextInputPopup.xml b/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/TextInputPopup.xml rename to addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/TextAreaPopup.js b/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/TextAreaPopup.js rename to addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/TextAreaPopup.xml b/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/TextAreaPopup.xml rename to addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.xml diff --git a/addons/point_of_sale/static/src/js/Popups/MoneyDetailsPopup.js b/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js similarity index 100% rename from addons/point_of_sale/static/src/js/Popups/MoneyDetailsPopup.js rename to addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js diff --git a/addons/point_of_sale/static/src/xml/Popups/MoneyDetailsPopup.xml b/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.xml similarity index 100% rename from addons/point_of_sale/static/src/xml/Popups/MoneyDetailsPopup.xml rename to addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.xml diff --git a/addons/point_of_sale/static/src/app/movable_hook.js b/addons/point_of_sale/static/src/app/utils/movable_hook.js similarity index 100% rename from addons/point_of_sale/static/src/app/movable_hook.js rename to addons/point_of_sale/static/src/app/utils/movable_hook.js diff --git a/addons/point_of_sale/static/src/app/number_buffer_service.js b/addons/point_of_sale/static/src/app/utils/number_buffer_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/number_buffer_service.js rename to addons/point_of_sale/static/src/app/utils/number_buffer_service.js diff --git a/addons/point_of_sale/static/src/app/report_service.js b/addons/point_of_sale/static/src/app/utils/report_service.js similarity index 100% rename from addons/point_of_sale/static/src/app/report_service.js rename to addons/point_of_sale/static/src/app/utils/report_service.js diff --git a/addons/point_of_sale/static/src/img/bc-arrow.png b/addons/point_of_sale/static/src/img/bc-arrow.png deleted file mode 100644 index 0485c5977aae6958836ae99d72d9ba2818160426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361 zcmV-v0ha!WP)_t;do04Ndo6H4JQ4`9vT zFcS@cI2MTY2xTr%A}vGr0J_2`D0>;90>BuEa|tCOfB*vk*6b~$Z7;Cn00000NkvXX Hu0mjfDb{|8 diff --git a/addons/point_of_sale/static/src/img/blocks/block_simple_text.png b/addons/point_of_sale/static/src/img/blocks/block_simple_text.png deleted file mode 100644 index 7099744d742ae680790f1740f83f2ae131411bcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^DM0Mc!3HE{I};W%Ffa;ux;TbZ+aw zCuQ{~JR2AofjV_h-{L+pF|`fMS(vw?Tle%tRu-VC+jN{|fwDkO$1`R|rENM2eLBV< z2?w6i=xH}L$wUGzWK243bfu9&P{D!a#Qvro70-0mo7R0iW6-hedy~sTrpPy%%$w9Z zeha4G-O0hy!P2xtO^jp0MRDg&?g?`ptLm0K6P>`i>h--ipe6q6e~GQDIVn6L`O>{a TmW6YGLB!zc>gTe~DWM4f&1ZQQ diff --git a/addons/point_of_sale/static/src/img/default_category_photo.png b/addons/point_of_sale/static/src/img/default_category_photo.png deleted file mode 100644 index 25af75ee81514d49e225c877f3c7f726b588e44b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1362 zcmV-Y1+DstP)v{x$HznTp(FF)lAVo?_`zJf&u|yFc7JFe=>HnuFzcrw%%RI~SvTpwa zpv?of%Y6eQOo+jR5a1YI+C2#95*s5}%l2o2**9cH?IVE9LKxmh z*mV3LjN>Tq9TU@MfJp8F8lS&<&ZX_zBCx;~fOV?dfZPD(F>y)3FgS_2eoaz?Zs4y0=z3z6{S9dxP+~%m01;hpRDE}g(D{^bUIJtg zIB){*=6aAb?1SQKKurS<7|6XxI3b9t;tJqm13LlL?=Hbb2DZ8xAOS3?`iBUOiH*^j z9MIBdG1zZL=s>OsIW<=`0Yspc!#>FbzP1yrk>Dc(on%03f(7$_M(Fy+J06_{$JW$g zwFCeQU|0Ma90vlN=dj(X+b=FJCKTd>UHS?Jk7G&%y%LA4np ztAE$vWkvuc%PcRd(^rkH2Ne$E8C)n(4F^yYTr%`srEd?XFwbES1V#Cc6ZFHlPXLZ9 zIG~UsQvi1Q51N~H1QKNVlRgK4=TXW5)FAN;uvh9pM1!3k6(fOs?DQFc zmY|#ipq%h>Gy#0gt1t+|&><`@^eNzkhWt_FxSjy^+84jBilS;PFvCE&06H5JmOl!Q z>x&!SMCR;u^%c7=dEY@^Fal(wNTw3={84yVifroopMU7uAW#lAAX`oSVGM-riM# zPUtM%n_xl%XA*$c$XVxclRy>VRag;$Nu;v4O5isRyBv7|5SObjUoH0tr|}}Z0BU-f z1P>A501#Q_48Wd(XS;g@hQE z!00w0rR#~*3d((AZBl}FBcQr7?S$p^(@wRqkzpVsS+fH)^03~Vw4&2qx%F5#Y%k6h zxr3;N&Q!yByB`tO?OV|-EbG{2%{mTd?5lyJa)*I|I6+#}P1`ngnT0MHp4!Fy{e_Vy zv+0aO=OoOACjJTjSqs)#8oIiSZb;a;MP-0sXVJJTV_zM)1|7LDW|J2-oNy&q*9XtG zNP?5+x}G1z#d>V~-m~*V@-NH}O^6S}Fya6J03~!qSaf7zbY(hYa%Ew3WdJfTF)=ML zF)cAUR4_9-H90ykFe@-IIxsM3TJq@t001R)MObuXVRU6WZEs|0W_bWIFflMKF)}SO zF;p=$Ix{djG&CzPF*-0XY)*Us0000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oe Ud2z{QJOBUy07*qoM6N<$f_D>3qyPW_ diff --git a/addons/point_of_sale/static/src/img/home.png b/addons/point_of_sale/static/src/img/home.png deleted file mode 100644 index 53d0b22d50d5ddffcc192384b36d001eaa8a6529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2924 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 M07*qoM6N<$g1Pr4*Z=?k diff --git a/addons/point_of_sale/static/src/img/pos_screenshot.jpg b/addons/point_of_sale/static/src/img/pos_screenshot.jpg deleted file mode 100644 index 1e884eb8281c1919a13b561262c9169dfafc8c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77204 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 Date: Fri, 2 Jun 2023 08:12:23 +0000 Subject: [PATCH 2/2] [REF] point_of_sale, pos*: adapt import to moved files pos*: l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos, l10n_in_pos, l10n_sa_pos, pos_adyen, pos_discount, pos_epson_printer, pos_hr, pos_hr_restaurant, pos_loyalty, pos_mercury, pos_restaurant, pos_sale, pos_sale_loyalty, pos_sale_product_configurator, pos_six, pos_stripe The previous commit reorganizes the files in the pos, this commit renames all of the imports of those files to match their new location. This is done in a separate commit to allow git to better keep track of the changes and apply forward-ports more seamlessly. Part-of: odoo/odoo#123498 --- .../static/src/js/PaymentScreen.js | 2 +- addons/l10n_co_pos/static/src/js/pos.js | 2 +- .../l10n_fr_pos_cert/static/src/js/Chrome.js | 4 +- .../static/src/js/PaymentScreen.js | 2 +- .../static/src/js/Popups/ClosePosPopup.js | 2 +- addons/l10n_fr_pos_cert/static/src/js/pos.js | 4 +- .../static/src/js/OrderReceipt.js | 6 +- addons/l10n_in_pos/static/src/js/receipt.js | 2 +- addons/l10n_sa_pos/static/src/js/models.js | 2 +- .../static/src/@types/services.d.ts | 25 +++++++++ .../src/app/barcode/barcode_reader_service.js | 4 +- .../error_popup/barcode_error_popup.js | 2 +- .../customer_display_service.js | 3 +- .../static/src/app/debug/debug_service.js | 4 +- .../static/src/app/debug/debug_widget.js | 8 +-- .../order_import_popup/order_import_popup.js | 2 +- .../static/src/app/errors/error_handlers.js | 6 +- .../src/app/errors/popups/error_popup.js | 5 +- .../errors/popups/error_traceback_popup.js | 4 +- .../app/errors/popups/offline_error_popup.js | 4 +- .../hardware_proxy/hardware_proxy_service.js | 5 +- addons/point_of_sale/static/src/app/main.js | 2 +- .../src/app/navbar/back_button/back_button.js | 2 +- .../navbar/cash_move_popup/cash_move_popup.js | 6 +- .../app/navbar/cashier_name/cashier_name.js | 2 +- .../app/navbar/closing_popup/closing_popup.js | 16 +++--- .../customer_facing_display_button.js | 2 +- .../static/src/app/navbar/navbar.js | 20 +++---- .../app/navbar/proxy_status/proxy_status.js | 2 +- .../sale_details_button.js | 4 +- .../sync_notification/sync_notification.js | 2 +- .../src/app/payment/payment_interface.js | 4 +- .../point_of_sale/static/src/app/pos_app.js | 2 +- .../partner_editor/partner_editor.js | 4 +- .../app/screens/partner_list/partner_list.js | 6 +- .../screens/payment_screen/numpad/numpad.js | 2 +- .../payment_lines/payment_lines.js | 4 +- .../screens/payment_screen/payment_screen.js | 18 +++--- .../product_screen/action_pad/action_pad.js | 2 +- .../control_buttons/control_buttons_popup.js | 2 +- .../customer_button/customer_button.js | 4 +- .../customer_note_button.js | 6 +- .../fiscal_position_button.js | 6 +- .../pricelist_button/pricelist_button.js | 6 +- .../product_info_button.js | 6 +- .../refund_button/refund_button.js | 4 +- .../save_button/save_button.js | 4 +- .../screens/product_screen/numpad/numpad.js | 2 +- .../app/screens/product_screen/order/order.js | 8 +-- .../order_summary/order_summary.js | 2 +- .../product_screen/orderline/orderline.js | 2 +- .../screens/product_screen/product/product.js | 2 +- .../product_info_popup/product_info_popup.js | 4 +- .../control_panel/control_panel.js | 4 +- .../product_list/product_list.js | 10 ++-- .../screens/product_screen/product_screen.js | 22 ++++---- .../receipt_screen/abstract_receipt_screen.js | 4 +- .../screens/receipt_screen/receipt/receipt.js | 4 +- .../screens/receipt_screen/receipt_screen.js | 10 ++-- .../receipt_screen/reprint_receipt_screen.js | 6 +- .../app/screens/scale_screen/scale_screen.js | 2 +- .../invoice_button/invoice_button.js | 6 +- .../order_details/order_details.js | 2 +- .../order_details/orderline_details.js | 2 +- .../reprint_receipt_button.js | 2 +- .../screens/ticket_screen/ticket_screen.js | 20 +++---- .../cash_opening_popup/cash_opening_popup.js | 6 +- .../static/src/app/store/models.js | 12 ++-- .../static/src/app/store/pos_hook.js | 2 +- .../static/src/app/store/pos_store.js | 12 ++-- .../product_configurator_popup.js | 2 +- .../select_lot_popup/select_lot_popup.js | 6 +- .../src/app/utils/alert_popup/alert_popup.js | 2 +- .../app/utils/confirm_popup/confirm_popup.js | 2 +- .../date_picker_popup/date_picker_popup.js | 2 +- .../static/src/app/utils/hooks.js | 8 +-- .../app/utils/input_popups/number_popup.js | 2 +- .../app/utils/input_popups/selection_popup.js | 2 +- .../utils/input_popups/text_input_popup.js | 2 +- .../app/utils/input_popups/textarea_popup.js | 2 +- .../money_details_popup.js | 4 +- .../point_of_sale/static/src/legacy_utils.js | 56 ------------------- addons/point_of_sale/static/src/utils.js | 55 ++++++++++++++++++ .../static/tests/tours/helpers/utils.js | 2 +- .../tests/unit/number_buffer_service_tests.js | 2 +- .../tests/unit/popup_controller_tests.js | 2 +- .../static/tests/unit/pos_app_tests.js | 8 +-- .../pos_adyen/static/src/js/PaymentScreen.js | 6 +- addons/pos_adyen/static/src/js/models.js | 2 +- .../pos_adyen/static/src/js/payment_adyen.js | 4 +- .../static/src/js/DiscountButton.js | 8 +-- .../pos_epson_printer/static/src/js/models.js | 2 +- addons/pos_hr/static/src/app/navbar.js | 2 +- addons/pos_hr/static/src/app/pos_store.js | 2 +- addons/pos_hr/static/src/js/CashierName.js | 2 +- addons/pos_hr/static/src/js/Chrome.js | 2 +- .../pos_hr/static/src/js/HeaderLockButton.js | 2 +- addons/pos_hr/static/src/js/LoginScreen.js | 2 +- addons/pos_hr/static/src/js/PaymentScreen.js | 2 +- .../static/src/js/SelectCashierMixin.js | 10 ++-- addons/pos_hr/static/src/js/models.js | 2 +- .../static/src/app/pos_store.js | 2 +- .../pos_loyalty/static/src/app/pos_store.js | 8 +-- .../src/js/ControlButtons/PromoCodeButton.js | 6 +- .../js/ControlButtons/ResetProgramsButton.js | 4 +- .../src/js/ControlButtons/RewardButton.js | 6 +- .../src/js/ControlButtons/eWalletButton.js | 8 +-- addons/pos_loyalty/static/src/js/Loyalty.js | 6 +- .../pos_loyalty/static/src/js/OrderSummary.js | 2 +- addons/pos_loyalty/static/src/js/Orderline.js | 2 +- .../pos_loyalty/static/src/js/PartnerLine.js | 4 +- .../static/src/js/PartnerListScreen.js | 2 +- .../static/src/js/PaymentScreen.js | 4 +- .../static/src/js/ProductScreen.js | 6 +- .../pos_loyalty/static/src/js/TicketScreen.js | 2 +- .../pos_mercury/static/src/js/OrderReceipt.js | 2 +- .../static/src/js/PaymentScreen.js | 10 ++-- .../src/js/PaymentScreenPaymentLines.js | 2 +- .../static/src/js/PaymentTransactionPopup.js | 2 +- .../static/src/js/ProductScreen.js | 6 +- .../pos_mercury/static/src/js/pos_mercury.js | 2 +- .../src/app/floor_screen/editable_table.js | 6 +- .../src/app/floor_screen/floor_screen.js | 16 +++--- .../static/src/app/floor_screen/table.js | 2 +- .../static/src/app/navbar/BackButton.js | 4 +- .../pos_restaurant/static/src/app/pos_bus.js | 2 +- .../static/src/app/pos_store.js | 6 +- .../static/src/js/Screens/BillScreen.js | 2 +- .../static/src/js/Screens/PaymentScreen.js | 2 +- .../Screens/ProductScreen/ActionpadWidget.js | 2 +- .../ControlButtons/OrderlineNoteButton.js | 6 +- .../ControlButtons/PrintBillButton.js | 4 +- .../ControlButtons/SplitBillButton.js | 4 +- .../ControlButtons/TableGuestsButton.js | 8 +-- .../ControlButtons/TransferOrderButton.js | 4 +- .../js/Screens/ProductScreen/ProductScreen.js | 2 +- .../js/Screens/ReceiptScreen/ReceiptScreen.js | 2 +- .../SplitBillScreen/SplitBillScreen.js | 6 +- .../static/src/js/Screens/TicketScreen.js | 4 +- .../static/src/js/Screens/TipScreen.js | 6 +- addons/pos_restaurant/static/src/js/models.js | 2 +- .../pos_restaurant/static/src/js/payment.js | 2 +- addons/pos_sale/static/src/app/pos_store.js | 2 +- .../js/OrderManagementScreen/SaleOrderList.js | 2 +- .../SaleOrderManagementControlPanel.js | 2 +- .../SaleOrderManagementScreen.js | 18 +++--- .../static/src/js/SetSaleOrderButton.js | 4 +- addons/pos_sale/static/src/js/models.js | 2 +- .../pos_sale_loyalty/static/src/js/models.js | 2 +- .../ControlButtons/ProductInfoButton.js | 2 +- addons/pos_six/static/src/js/BalanceButton.js | 2 +- addons/pos_six/static/src/js/models.js | 2 +- addons/pos_six/static/src/js/payment_six.js | 4 +- addons/pos_stripe/static/src/js/models.js | 2 +- .../static/src/js/payment_stripe.js | 4 +- 155 files changed, 419 insertions(+), 396 deletions(-) create mode 100644 addons/point_of_sale/static/src/@types/services.d.ts delete mode 100644 addons/point_of_sale/static/src/legacy_utils.js diff --git a/addons/l10n_co_pos/static/src/js/PaymentScreen.js b/addons/l10n_co_pos/static/src/js/PaymentScreen.js index d091c625a55..0d177cc47a4 100644 --- a/addons/l10n_co_pos/static/src/js/PaymentScreen.js +++ b/addons/l10n_co_pos/static/src/js/PaymentScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; patch(PaymentScreen.prototype, "l10n_co_pos.PaymentScreen", { diff --git a/addons/l10n_co_pos/static/src/js/pos.js b/addons/l10n_co_pos/static/src/js/pos.js index 2abfbe8dc2c..2105bab8c0c 100644 --- a/addons/l10n_co_pos/static/src/js/pos.js +++ b/addons/l10n_co_pos/static/src/js/pos.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosGlobalState, Order } from "@point_of_sale/js/models"; +import { PosGlobalState, Order } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(PosGlobalState.prototype, "l10n_co_pos.PosGlobalState", { diff --git a/addons/l10n_fr_pos_cert/static/src/js/Chrome.js b/addons/l10n_fr_pos_cert/static/src/js/Chrome.js index 8785c136e80..6e812191e5d 100644 --- a/addons/l10n_fr_pos_cert/static/src/js/Chrome.js +++ b/addons/l10n_fr_pos_cert/static/src/js/Chrome.js @@ -1,8 +1,8 @@ /** @odoo-module */ -import { Chrome } from "@point_of_sale/js/Chrome"; +import { Chrome } from "@point_of_sale/app/pos_app"; import { patch } from "@web/core/utils/patch"; -import { ClosePosPopup } from "@point_of_sale/js/Popups/ClosePosPopup"; +import { ClosePosPopup } from "@point_of_sale/app/navbar/closing_popup/closing_popup"; import { onMounted } from "@odoo/owl"; patch(Chrome.prototype, "l10n_fr_pos_cert.Chrome", { diff --git a/addons/l10n_fr_pos_cert/static/src/js/PaymentScreen.js b/addons/l10n_fr_pos_cert/static/src/js/PaymentScreen.js index a78e3847276..5f73feb7d72 100644 --- a/addons/l10n_fr_pos_cert/static/src/js/PaymentScreen.js +++ b/addons/l10n_fr_pos_cert/static/src/js/PaymentScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; patch(PaymentScreen.prototype, "l10n_fr_pos_cert.PaymentScreen", { diff --git a/addons/l10n_fr_pos_cert/static/src/js/Popups/ClosePosPopup.js b/addons/l10n_fr_pos_cert/static/src/js/Popups/ClosePosPopup.js index 2b6af668273..0ddc1ddc8fa 100644 --- a/addons/l10n_fr_pos_cert/static/src/js/Popups/ClosePosPopup.js +++ b/addons/l10n_fr_pos_cert/static/src/js/Popups/ClosePosPopup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ClosePosPopup } from "@point_of_sale/js/Popups/ClosePosPopup"; +import { ClosePosPopup } from "@point_of_sale/app/navbar/closing_popup/closing_popup"; import { patch } from "@web/core/utils/patch"; patch(ClosePosPopup.prototype, "l10n_fr_pos_cert.ClosePosPopup", { diff --git a/addons/l10n_fr_pos_cert/static/src/js/pos.js b/addons/l10n_fr_pos_cert/static/src/js/pos.js index 34a1752fd68..66fb77ee64f 100644 --- a/addons/l10n_fr_pos_cert/static/src/js/pos.js +++ b/addons/l10n_fr_pos_cert/static/src/js/pos.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { PosGlobalState, Order, Orderline } from "@point_of_sale/js/models"; +import { PosGlobalState, Order, Orderline } from "@point_of_sale/app/store/models"; import { _t } from "@web/core/l10n/translation"; import { patch } from "@web/core/utils/patch"; import { sprintf } from "@web/core/utils/strings"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; patch(PosGlobalState.prototype, "l10n_fr_pos_cert.PosGlobalState", { is_french_country() { diff --git a/addons/l10n_gcc_pos/static/src/js/OrderReceipt.js b/addons/l10n_gcc_pos/static/src/js/OrderReceipt.js index 678414bc295..a59d713d5a2 100644 --- a/addons/l10n_gcc_pos/static/src/js/OrderReceipt.js +++ b/addons/l10n_gcc_pos/static/src/js/OrderReceipt.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { OrderReceipt } from "@point_of_sale/js/Screens/ReceiptScreen/OrderReceipt"; +import { OrderReceipt } from "@point_of_sale/app/screens/receipt_screen/receipt/receipt"; import { patch } from "@web/core/utils/patch"; patch(OrderReceipt.prototype, "l10n_gcc_pos.OrderReceipt", { @@ -8,7 +8,9 @@ patch(OrderReceipt.prototype, "l10n_gcc_pos.OrderReceipt", { const receipt_render_env = this._super(...arguments); const receipt = receipt_render_env.receipt; const country = receipt_render_env.order.pos.company.country; - receipt.is_gcc_country = country ? ["SA", "AE", "BH", "OM", "QA", "KW"].includes(country && country.code) : false; + receipt.is_gcc_country = country + ? ["SA", "AE", "BH", "OM", "QA", "KW"].includes(country && country.code) + : false; return receipt_render_env; }, }); diff --git a/addons/l10n_in_pos/static/src/js/receipt.js b/addons/l10n_in_pos/static/src/js/receipt.js index 5203eae852f..4a8f14762aa 100644 --- a/addons/l10n_in_pos/static/src/js/receipt.js +++ b/addons/l10n_in_pos/static/src/js/receipt.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { Orderline } from "@point_of_sale/js/models"; +import { Orderline } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(Orderline.prototype, "l10n_in_pos.Orderline", { diff --git a/addons/l10n_sa_pos/static/src/js/models.js b/addons/l10n_sa_pos/static/src/js/models.js index 76db2b64407..c95a7734598 100644 --- a/addons/l10n_sa_pos/static/src/js/models.js +++ b/addons/l10n_sa_pos/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { Order } from "@point_of_sale/js/models"; +import { Order } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(Order.prototype, "l10n_sa_pos.Order", { diff --git a/addons/point_of_sale/static/src/@types/services.d.ts b/addons/point_of_sale/static/src/@types/services.d.ts new file mode 100644 index 00000000000..57d675e9190 --- /dev/null +++ b/addons/point_of_sale/static/src/@types/services.d.ts @@ -0,0 +1,25 @@ +declare module "services" { + import { barcodeReaderService } from "@point_of_sale/app/barcode/barcode_reader_service"; + import { debugService } from "@point_of_sale/app/debug/debug_service"; + import { hardwareProxyService } from "@point_of_sale/app/hardware_proxy/hardware_proxy_service"; + import { popupService } from "@point_of_sale/app/popup/popup_service"; + import { numberBufferService } from "@point_of_sale/app/utils/number_buffer_service"; + import { notificationService } from "@point_of_sale/app/notification/notification_service"; + import { posBusService } from "@point_of_sale/app/bus/pos_bus_service"; + import { customerDisplayService } from "@point_of_sale/app/customer_display/customer_display_service"; + import { reportService } from "@point_of_sale/app/utils/report_service"; + import { soundService } from "@point_of_sale/app/sound/sound_service"; + + export interface Services { + barcode_reader: Resolved>; + debug: ReturnType; + hardware_proxy: ReturnType; + popup: ReturnType; + number_buffer: ReturnType; + pos_notification: ReturnType; + pos_bus: ReturnType; + customer_display: ReturnType; + report: ReturnType; + sound: ReturnType; + } +} diff --git a/addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js b/addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js index e361bb158b6..ff01a4411fe 100644 --- a/addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js +++ b/addons/point_of_sale/static/src/app/barcode/barcode_reader_service.js @@ -3,8 +3,8 @@ import { registry } from "@web/core/registry"; import { Mutex } from "@web/core/utils/concurrency"; import { session } from "@web/session"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ErrorBarcodePopup } from "@point_of_sale/js/Popups/ErrorBarcodePopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ErrorBarcodePopup } from "@point_of_sale/app/barcode/error_popup/barcode_error_popup"; import { BarcodeParser } from "@barcodes/js/barcode_parser"; export class BarcodeReader { diff --git a/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js b/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js index bbf942133b8..57a8a52d905 100644 --- a/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js +++ b/addons/point_of_sale/static/src/app/barcode/error_popup/barcode_error_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { _lt } from "@web/core/l10n/translation"; export class ErrorBarcodePopup extends ErrorPopup { diff --git a/addons/point_of_sale/static/src/app/customer_display/customer_display_service.js b/addons/point_of_sale/static/src/app/customer_display/customer_display_service.js index 3bef83b4521..f5487508ab6 100644 --- a/addons/point_of_sale/static/src/app/customer_display/customer_display_service.js +++ b/addons/point_of_sale/static/src/app/customer_display/customer_display_service.js @@ -1,7 +1,6 @@ /** @odoo-module */ -import { batched } from "@point_of_sale/js/utils"; -import { effect, Reactive } from "@point_of_sale/utils"; +import { batched, effect, Reactive } from "@point_of_sale/utils"; import { registry } from "@web/core/registry"; import { pick } from "@web/core/utils/objects"; diff --git a/addons/point_of_sale/static/src/app/debug/debug_service.js b/addons/point_of_sale/static/src/app/debug/debug_service.js index 7034872824d..33e5b70e402 100644 --- a/addons/point_of_sale/static/src/app/debug/debug_service.js +++ b/addons/point_of_sale/static/src/app/debug/debug_service.js @@ -2,10 +2,10 @@ import { reactive } from "@odoo/owl"; import { registry } from "@web/core/registry"; -import { DebugWidget } from "./debug_widget"; import { withComputedProperties } from "@point_of_sale/utils"; +import { DebugWidget } from "@point_of_sale/app/debug/debug_widget"; -const debugService = { +export const debugService = { /** * @param {{ debug: string }} env */ diff --git a/addons/point_of_sale/static/src/app/debug/debug_widget.js b/addons/point_of_sale/static/src/app/debug/debug_widget.js index bcada4e2630..053cbc1c2ef 100644 --- a/addons/point_of_sale/static/src/app/debug/debug_widget.js +++ b/addons/point_of_sale/static/src/app/debug/debug_widget.js @@ -2,13 +2,13 @@ import { parseFloat } from "@web/views/fields/parsers"; import { Transition } from "@web/core/transition"; -import { constrain, getLimits, useMovable } from "@point_of_sale/app/movable_hook"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; -import { OrderImportPopup } from "@point_of_sale/js/Popups/OrderImportPopup"; +import { constrain, getLimits, useMovable } from "@point_of_sale/app/utils/movable_hook"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { OrderImportPopup } from "@point_of_sale/app/debug/order_import_popup/order_import_popup"; import { useBus, useService } from "@web/core/utils/hooks"; import { useEffect, useRef, useState, Component } from "@odoo/owl"; -import { usePos } from "../pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class DebugWidget extends Component { static components = { Transition }; diff --git a/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js b/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js index 1759e807191..32e1b0d248f 100644 --- a/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js +++ b/addons/point_of_sale/static/src/app/debug/order_import_popup/order_import_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; export class OrderImportPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/app/errors/error_handlers.js b/addons/point_of_sale/static/src/app/errors/error_handlers.js index 31672bf9935..6866a453750 100644 --- a/addons/point_of_sale/static/src/app/errors/error_handlers.js +++ b/addons/point_of_sale/static/src/app/errors/error_handlers.js @@ -3,9 +3,9 @@ import { registry } from "@web/core/registry"; import { odooExceptionTitleMap } from "@web/core/errors/error_dialogs"; import { ConnectionLostError, RPCError } from "@web/core/network/rpc_service"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ErrorTracebackPopup } from "@point_of_sale/js/Popups/ErrorTracebackPopup"; -import { OfflineErrorPopup } from "@point_of_sale/js/Popups/OfflineErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ErrorTracebackPopup } from "@point_of_sale/app/errors/popups/error_traceback_popup"; +import { OfflineErrorPopup } from "@point_of_sale/app/errors/popups/offline_error_popup"; import { _t } from "@web/core/l10n/translation"; export function identifyError(error) { diff --git a/addons/point_of_sale/static/src/app/errors/popups/error_popup.js b/addons/point_of_sale/static/src/app/errors/popups/error_popup.js index 3b0d930a21f..d55dc25c79d 100644 --- a/addons/point_of_sale/static/src/app/errors/popups/error_popup.js +++ b/addons/point_of_sale/static/src/app/errors/popups/error_popup.js @@ -1,8 +1,9 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { useService } from "@web/core/utils/hooks"; +import { onMounted } from "@odoo/owl"; // formerly ErrorPopupWidget export class ErrorPopup extends AbstractAwaitablePopup { @@ -16,7 +17,7 @@ export class ErrorPopup extends AbstractAwaitablePopup { setup() { super.setup(); - owl.onMounted(this.onMounted); + onMounted(this.onMounted); this.sound = useService("sound"); } onMounted() { diff --git a/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js b/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js index a23dc6b977a..6d7d741436a 100644 --- a/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js +++ b/addons/point_of_sale/static/src/app/errors/popups/error_traceback_popup.js @@ -1,8 +1,8 @@ /** @odoo-module */ -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { _lt } from "@web/core/l10n/translation"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; // formerly ErrorTracebackPopupWidget export class ErrorTracebackPopup extends ErrorPopup { diff --git a/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js b/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js index d0f95e0bada..534af260ad5 100644 --- a/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js +++ b/addons/point_of_sale/static/src/app/errors/popups/offline_error_popup.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { _lt } from "@web/core/l10n/translation"; /** diff --git a/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js b/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js index 46f7f9247f6..0b98dd6a7fb 100644 --- a/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js +++ b/addons/point_of_sale/static/src/app/hardware_proxy/hardware_proxy_service.js @@ -1,11 +1,10 @@ /** @odoo-module */ -import { HWPrinter } from "../printer/hw_printer"; +import { HWPrinter } from "@point_of_sale/app/printer/hw_printer"; import { EventBus, reactive } from "@odoo/owl"; import { browser } from "@web/core/browser/browser"; import { registry } from "@web/core/registry"; -import { effect } from "@point_of_sale/utils"; -import { deduceUrl } from "@point_of_sale/js/utils"; +import { effect, deduceUrl } from "@point_of_sale/utils"; /** * This object interfaces with the local proxy to communicate to the various hardware devices diff --git a/addons/point_of_sale/static/src/app/main.js b/addons/point_of_sale/static/src/app/main.js index 8f8a01bf5be..e3a74fbc67c 100644 --- a/addons/point_of_sale/static/src/app/main.js +++ b/addons/point_of_sale/static/src/app/main.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { Chrome } from "@point_of_sale/js/Chrome"; +import { Chrome } from "@point_of_sale/app/pos_app"; import { Loader } from "@point_of_sale/app/loader/loader"; import { setLoadXmlDefaultApp, templates } from "@web/core/assets"; import { App, mount, reactive, whenReady } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/navbar/back_button/back_button.js b/addons/point_of_sale/static/src/app/navbar/back_button/back_button.js index 3f67cb88677..e59cb91d1d0 100644 --- a/addons/point_of_sale/static/src/app/navbar/back_button/back_button.js +++ b/addons/point_of_sale/static/src/app/navbar/back_button/back_button.js @@ -2,7 +2,7 @@ import { Component, useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class BackButton extends Component { static template = "BackButton"; diff --git a/addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_popup.js b/addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_popup.js index 7393e7eaf53..50a4622a633 100644 --- a/addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_popup.js +++ b/addons/point_of_sale/static/src/app/navbar/cash_move_popup/cash_move_popup.js @@ -6,10 +6,10 @@ import { renderToElement } from "@web/core/utils/render"; import { useAutofocus, useService } from "@web/core/utils/hooks"; import { parseFloat, InvalidNumberError } from "@web/views/fields/parsers"; import { useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; export class CashMovePopup extends AbstractAwaitablePopup { static template = "point_of_sale.CashMovePopup"; diff --git a/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js b/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js index 8c5fedac5cd..a82a1c235d3 100644 --- a/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js +++ b/addons/point_of_sale/static/src/app/navbar/cashier_name/cashier_name.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component, useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; // Previously UsernameWidget diff --git a/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js b/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js index c36d8e6f6e1..286626b4e72 100644 --- a/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js +++ b/addons/point_of_sale/static/src/app/navbar/closing_popup/closing_popup.js @@ -1,17 +1,17 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; -import { SaleDetailsButton } from "../ChromeWidgets/SaleDetailsButton"; -import { ConfirmPopup } from "./ConfirmPopup"; -import { MoneyDetailsPopup } from "./MoneyDetailsPopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; +import { SaleDetailsButton } from "@point_of_sale/app/navbar/sale_details_button/sale_details_button"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { MoneyDetailsPopup } from "@point_of_sale/app/utils/money_details_popup/money_details_popup"; import { useService } from "@web/core/utils/hooks"; -import { AlertPopup } from "./AlertPopup"; -import { ErrorPopup } from "./ErrorPopup"; +import { AlertPopup } from "@point_of_sale/app/utils/alert_popup/alert_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { useState } from "@odoo/owl"; import { ConnectionLostError } from "@web/core/network/rpc_service"; -import { identifyError } from "@point_of_sale/app/error_handlers/error_handlers"; +import { identifyError } from "@point_of_sale/app/errors/error_handlers"; import { _t } from "@web/core/l10n/translation"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { sprintf } from "@web/core/utils/strings"; export class ClosePosPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js b/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js index bc9f998011c..aeca4ba03ae 100644 --- a/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js +++ b/addons/point_of_sale/static/src/app/navbar/customer_facing_display_button/customer_facing_display_button.js @@ -2,7 +2,7 @@ import { Component, useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { _t } from "@web/core/l10n/translation"; export class CustomerFacingDisplayButton extends Component { diff --git a/addons/point_of_sale/static/src/app/navbar/navbar.js b/addons/point_of_sale/static/src/app/navbar/navbar.js index 1a9466728d7..4200ecc56e0 100644 --- a/addons/point_of_sale/static/src/app/navbar/navbar.js +++ b/addons/point_of_sale/static/src/app/navbar/navbar.js @@ -1,18 +1,18 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; -import { CashierName } from "@point_of_sale/js/ChromeWidgets/CashierName"; -import { CustomerFacingDisplayButton } from "@point_of_sale/js/ChromeWidgets/CustomerFacingDisplayButton"; -import { ProxyStatus } from "@point_of_sale/js/ChromeWidgets/ProxyStatus"; -import { SaleDetailsButton } from "@point_of_sale/js/ChromeWidgets/SaleDetailsButton"; -import { SyncNotification } from "@point_of_sale/js/ChromeWidgets/SyncNotification"; -import { CashMovePopup } from "./cash_move_popup/cash_move_popup"; -import { TicketScreen } from "@point_of_sale/js/Screens/TicketScreen/TicketScreen"; -import { BackButton } from "@point_of_sale/app/navbar/BackButton"; +import { CashierName } from "@point_of_sale/app/navbar/cashier_name/cashier_name"; +import { CustomerFacingDisplayButton } from "@point_of_sale/app/navbar/customer_facing_display_button/customer_facing_display_button"; +import { ProxyStatus } from "@point_of_sale/app/navbar/proxy_status/proxy_status"; +import { SaleDetailsButton } from "@point_of_sale/app/navbar/sale_details_button/sale_details_button"; +import { SyncNotification } from "@point_of_sale/app/navbar/sync_notification/sync_notification"; +import { CashMovePopup } from "@point_of_sale/app/navbar/cash_move_popup/cash_move_popup"; +import { TicketScreen } from "@point_of_sale/app/screens/ticket_screen/ticket_screen"; +import { BackButton } from "@point_of_sale/app/navbar/back_button/back_button"; import { Component, useState, useExternalListener } from "@odoo/owl"; -import { ClosePosPopup } from "@point_of_sale/js/Popups/ClosePosPopup"; +import { ClosePosPopup } from "@point_of_sale/app/navbar/closing_popup/closing_popup"; import { _t } from "@web/core/l10n/translation"; export class Navbar extends Component { diff --git a/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js b/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js index 9e7c1586db1..ca1641b866a 100644 --- a/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js +++ b/addons/point_of_sale/static/src/app/navbar/proxy_status/proxy_status.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component, useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; import { _t } from "@web/core/l10n/translation"; diff --git a/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js b/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js index fa7c571b149..5e2f5a22a0c 100644 --- a/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js +++ b/addons/point_of_sale/static/src/app/navbar/sale_details_button/sale_details_button.js @@ -2,9 +2,9 @@ import { useService } from "@web/core/utils/hooks"; import { renderToElement } from "@web/core/utils/render"; -import { ErrorPopup } from "../Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class SaleDetailsButton extends Component { static template = "SaleDetailsButton"; diff --git a/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js b/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js index 2f9c0258387..4ffddab8ea0 100644 --- a/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js +++ b/addons/point_of_sale/static/src/app/navbar/sync_notification/sync_notification.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class SyncNotification extends Component { static template = "SyncNotification"; diff --git a/addons/point_of_sale/static/src/app/payment/payment_interface.js b/addons/point_of_sale/static/src/app/payment/payment_interface.js index d2e48c2601f..28910fa25f9 100644 --- a/addons/point_of_sale/static/src/app/payment/payment_interface.js +++ b/addons/point_of_sale/static/src/app/payment/payment_interface.js @@ -3,12 +3,12 @@ /** * Implement this interface to support a new payment method in the POS: * - * import { PaymentInterface } from "@point_of_sale/js/payment"; + * import { PaymentInterface } from "@point_of_sale/app/payment/payment_interface"; * class MyPayment extends PaymentInterface {} * * To connect the interface to the right payment methods register it: * - * import { register_payment_method } models from "@point_of_sale/js/models"; + * import { register_payment_method } models from "@point_of_sale/app/store/models"; * register_payment_method('my_payment', MyPayment); * * my_payment is the technical name of the added selection in diff --git a/addons/point_of_sale/static/src/app/pos_app.js b/addons/point_of_sale/static/src/app/pos_app.js index 511d74a9fb1..57bd131a4dc 100644 --- a/addons/point_of_sale/static/src/app/pos_app.js +++ b/addons/point_of_sale/static/src/app/pos_app.js @@ -5,7 +5,7 @@ import { Transition } from "@web/core/transition"; import { MainComponentsContainer } from "@web/core/main_components_container"; import { ErrorHandler } from "@web/core/utils/components"; import { Navbar } from "@point_of_sale/app/navbar/navbar"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { reactive, Component, onMounted } from "@odoo/owl"; /** diff --git a/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js index c06106c8b88..221a2e50796 100644 --- a/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js +++ b/addons/point_of_sale/static/src/app/screens/partner_list/partner_editor/partner_editor.js @@ -2,10 +2,10 @@ import { _t } from "@web/core/l10n/translation"; import { getDataURLFromFile } from "@web/core/utils/urls"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { useService } from "@web/core/utils/hooks"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class PartnerDetailsEdit extends Component { static template = "PartnerDetailsEdit"; diff --git a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js index d125ef0d4b5..826203e226e 100644 --- a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js +++ b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js @@ -4,9 +4,9 @@ import { registry } from "@web/core/registry"; import { debounce } from "@web/core/utils/timing"; import { useService } from "@web/core/utils/hooks"; -import { PartnerLine } from "./PartnerLine"; -import { PartnerDetailsEdit } from "./PartnerDetailsEdit"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { PartnerLine } from "@point_of_sale/app/screens/partner_list/partner_line/partner_line"; +import { PartnerDetailsEdit } from "@point_of_sale/app/screens/partner_list/partner_editor/partner_editor"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, onWillUnmount, useRef, useState } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; diff --git a/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js index 62715e4421e..95b045ac153 100644 --- a/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js +++ b/addons/point_of_sale/static/src/app/screens/payment_screen/numpad/numpad.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PSNumpadInputButton } from "./PSNumpadInputButton"; +import { PSNumpadInputButton } from "@point_of_sale/app/screens/payment_screen/numpad/numpad_button/numpad_button"; import { Component } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; diff --git a/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js index d8f24df7f0d..1b9688a340e 100644 --- a/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js +++ b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_lines/payment_lines.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; import { useService } from "@web/core/utils/hooks"; import { Component, useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class PaymentScreenPaymentLines extends Component { static template = "PaymentScreenPaymentLines"; diff --git a/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js index 789aaf7e729..86ebf0dc73a 100644 --- a/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js +++ b/addons/point_of_sale/static/src/app/screens/payment_screen/payment_screen.js @@ -1,20 +1,20 @@ /** @odoo-module */ import { parseFloat } from "@web/views/fields/parsers"; -import { useErrorHandlers } from "@point_of_sale/js/custom_hooks"; +import { useErrorHandlers } from "@point_of_sale/app/utils/hooks"; import { registry } from "@web/core/registry"; import { useService } from "@web/core/utils/hooks"; import { floatIsZero } from "@web/core/utils/numbers"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { DatePickerPopup } from "@point_of_sale/js/Popups/DatePickerPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { DatePickerPopup } from "@point_of_sale/app/utils/date_picker_popup/date_picker_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; -import { PaymentScreenNumpad } from "./PaymentScreenNumpad"; -import { PaymentScreenPaymentLines } from "./PaymentScreenPaymentLines"; -import { PaymentScreenStatus } from "./PaymentScreenStatus"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { PaymentScreenNumpad } from "@point_of_sale/app/screens/payment_screen/numpad/numpad"; +import { PaymentScreenPaymentLines } from "@point_of_sale/app/screens/payment_screen/payment_lines/payment_lines"; +import { PaymentScreenStatus } from "@point_of_sale/app/screens/payment_screen/payment_status/payment_status"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, useState } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js b/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js index 760885d7564..bcaf222fde1 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/action_pad/action_pad.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js index 26fb5d678dc..2484712b446 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/control_buttons_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; export class ControlButtonPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js index 634575b6640..8f510889225 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_button/customer_button.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; export class CustomerButton extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js index b5473e84ab2..5eab9320043 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/customer_note_button/customer_note_button.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { TextAreaPopup } from "@point_of_sale/js/Popups/TextAreaPopup"; +import { TextAreaPopup } from "@point_of_sale/app/utils/input_popups/textarea_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class OrderlineCustomerNoteButton extends Component { static template = "OrderlineCustomerNoteButton"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js index ccd69d8cbc1..bfbd55dd5d1 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/fiscal_position_button/fiscal_position_button.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class SetFiscalPositionButton extends Component { static template = "SetFiscalPositionButton"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js index 212aad7af0c..c5261a402fc 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/pricelist_button/pricelist_button.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class SetPricelistButton extends Component { static template = "SetPricelistButton"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js index cea11f368b4..7f951e1ea6e 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/product_info_button/product_info_button.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { ProductInfoPopup } from "@point_of_sale/js/Popups/ProductInfoPopup"; +import { ProductInfoPopup } from "@point_of_sale/app/screens/product_screen/product_info_popup/product_info_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class ProductInfoButton extends Component { static template = "ProductInfoButton"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js index 45a42ffcd0d..bda50a683d4 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/refund_button/refund_button.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; export class RefundButton extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js index 72efd32fc22..c4ece5787f4 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/control_buttons/save_button/save_button.js @@ -1,8 +1,8 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; export class SaveButton extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js b/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js index 91c72b7653f..af2c08a3aab 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/numpad/numpad.js @@ -2,7 +2,7 @@ import { useService } from "@web/core/utils/hooks"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; /** * @prop {'quantity' | 'price' | 'discount'} activeMode diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/order/order.js b/addons/point_of_sale/static/src/app/screens/product_screen/order/order.js index 6cefca19bb6..2148611d01c 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/order/order.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/order/order.js @@ -1,12 +1,12 @@ /** @odoo-module */ import { useService } from "@web/core/utils/hooks"; -import { EditListPopup } from "@point_of_sale/js/Popups/EditListPopup"; +import { EditListPopup } from "@point_of_sale/app/store/select_lot_popup/select_lot_popup"; -import { Orderline } from "./Orderline"; -import { OrderSummary } from "./OrderSummary"; +import { Orderline } from "@point_of_sale/app/screens/product_screen/orderline/orderline"; +import { OrderSummary } from "@point_of_sale/app/screens/product_screen/order_summary/order_summary"; import { Component, useEffect, useRef } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class OrderWidget extends Component { static components = { Orderline, OrderSummary }; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js b/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js index 2fb46ee7a38..13cfc48f370 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/order_summary/order_summary.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { floatIsZero } from "@web/core/utils/numbers"; export class OrderSummary extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js b/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js index fe9b763024d..966a6f0831b 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/orderline/orderline.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class Orderline extends Component { static template = "Orderline"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/product/product.js b/addons/point_of_sale/static/src/app/screens/product_screen/product/product.js index 74fcee1645f..8548fd7ec93 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/product/product.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/product/product.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class ProductItem extends Component { static template = "ProductItem"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js index e5674a77141..f8e69bc2903 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/product_info_popup/product_info_popup.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; /** * Props: diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js index 50dd4bd1bb6..45d5ef646f5 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/control_panel/control_panel.js @@ -1,9 +1,9 @@ /** @odoo-module */ import { debounce } from "@web/core/utils/timing"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; -import { CategoryButton } from "./CategoryButton"; +import { CategoryButton } from "@point_of_sale/app/screens/product_screen/category_button/category_button"; import { Component, onMounted, onWillUnmount, useRef, useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js index 04319154e9e..717f4e8fd47 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/product_list/product_list.js @@ -1,15 +1,15 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; -import { identifyError } from "@point_of_sale/app/error_handlers/error_handlers"; +import { identifyError } from "@point_of_sale/app/errors/error_handlers"; import { ConnectionLostError, ConnectionAbortedError } from "@web/core/network/rpc_service"; -import { ProductItem } from "./ProductItem"; -import { ProductsWidgetControlPanel } from "./ProductsWidgetControlPanel"; +import { ProductItem } from "@point_of_sale/app/screens/product_screen/product/product"; +import { ProductsWidgetControlPanel } from "@point_of_sale/app/screens/product_screen/product_list/control_panel/control_panel"; import { Component, useState } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; -import { OfflineErrorPopup } from "@point_of_sale/js/Popups/OfflineErrorPopup"; +import { OfflineErrorPopup } from "@point_of_sale/app/errors/popups/offline_error_popup"; export class ProductsWidget extends Component { static components = { ProductItem, ProductsWidgetControlPanel }; diff --git a/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js b/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js index db63d02dada..86527dc6d58 100644 --- a/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js +++ b/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js @@ -1,25 +1,25 @@ /** @odoo-module */ -import { ControlButtonsMixin } from "@point_of_sale/js/ControlButtonsMixin"; +import { ControlButtonsMixin } from "@point_of_sale/app/utils/control_buttons_mixin"; import { registry } from "@web/core/registry"; import { useService } from "@web/core/utils/hooks"; -import { useBarcodeReader } from "@point_of_sale/app/barcode_reader_hook"; +import { useBarcodeReader } from "@point_of_sale/app/barcode/barcode_reader_hook"; import { parseFloat } from "@web/views/fields/parsers"; import { _lt } from "@web/core/l10n/translation"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ControlButtonPopup } from "@point_of_sale/js/Popups/ControlButtonPopup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ControlButtonPopup } from "@point_of_sale/app/screens/product_screen/control_buttons/control_buttons_popup"; import { ConnectionLostError } from "@web/core/network/rpc_service"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, onMounted, useState, useRef } from "@odoo/owl"; -import { ErrorBarcodePopup } from "@point_of_sale/js/Popups/ErrorBarcodePopup"; +import { ErrorBarcodePopup } from "@point_of_sale/app/barcode/error_popup/barcode_error_popup"; -import { NumpadWidget } from "./NumpadWidget"; -import { OrderWidget } from "./OrderWidget"; -import { ProductsWidget } from "./ProductsWidget"; -import { ActionpadWidget } from "./ActionpadWidget"; +import { NumpadWidget } from "@point_of_sale/app/screens/product_screen/numpad/numpad"; +import { OrderWidget } from "@point_of_sale/app/screens/product_screen/order/order"; +import { ProductsWidget } from "@point_of_sale/app/screens/product_screen/product_list/product_list"; +import { ActionpadWidget } from "@point_of_sale/app/screens/product_screen/action_pad/action_pad"; export class ProductScreen extends ControlButtonsMixin(Component) { static template = "ProductScreen"; diff --git a/addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js index 4806556d125..6ca4a0cb5fe 100644 --- a/addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js +++ b/addons/point_of_sale/static/src/app/screens/receipt_screen/abstract_receipt_screen.js @@ -1,8 +1,8 @@ /** @odoo-module */ import { useService } from "@web/core/utils/hooks"; -import { ConfirmPopup } from "../Popups/ConfirmPopup"; -import { ErrorPopup } from "../Popups/ErrorPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { Component, useRef } from "@odoo/owl"; /** diff --git a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js index c84efd8f570..720b6b5ea21 100644 --- a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js +++ b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { WrappedProductNameLines } from "./WrappedProductNameLines"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { WrappedProductNameLines } from "@point_of_sale/app/screens/receipt_screen/receipt/wrapped_product_name"; import { Component, onWillUpdateProps } from "@odoo/owl"; export class OrderReceipt extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js index 0d3063009f3..252c729ada8 100644 --- a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js +++ b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt_screen.js @@ -1,12 +1,12 @@ /** @odoo-module */ -import { useErrorHandlers } from "@point_of_sale/js/custom_hooks"; -import { AbstractReceiptScreen } from "@point_of_sale/js/Misc/AbstractReceiptScreen"; -import { OfflineErrorPopup } from "@point_of_sale/js/Popups/OfflineErrorPopup"; +import { useErrorHandlers } from "@point_of_sale/app/utils/hooks"; +import { AbstractReceiptScreen } from "@point_of_sale/app/screens/receipt_screen/abstract_receipt_screen"; +import { OfflineErrorPopup } from "@point_of_sale/app/errors/popups/offline_error_popup"; import { registry } from "@web/core/registry"; -import { OrderReceipt } from "./OrderReceipt"; +import { OrderReceipt } from "@point_of_sale/app/screens/receipt_screen/receipt/receipt"; import { onMounted, useRef, status, useState, onWillStart } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; import { BasePrinter } from "@point_of_sale/app/printer/base_printer"; diff --git a/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js index 7d7d7d27d72..ca64b48b0c8 100644 --- a/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js +++ b/addons/point_of_sale/static/src/app/screens/receipt_screen/reprint_receipt_screen.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { AbstractReceiptScreen } from "@point_of_sale/js/Misc/AbstractReceiptScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { AbstractReceiptScreen } from "@point_of_sale/app/screens/receipt_screen/abstract_receipt_screen"; import { registry } from "@web/core/registry"; -import { OrderReceipt } from "../ReceiptScreen/OrderReceipt"; +import { OrderReceipt } from "@point_of_sale/app/screens/receipt_screen/receipt/receipt"; export class ReprintReceiptScreen extends AbstractReceiptScreen { static template = "ReprintReceiptScreen"; diff --git a/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js b/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js index de57faf59b9..018c744c618 100644 --- a/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js +++ b/addons/point_of_sale/static/src/app/screens/scale_screen/scale_screen.js @@ -2,7 +2,7 @@ import { roundPrecision as round_pr } from "@web/core/utils/numbers"; import { registry } from "@web/core/registry"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, onMounted, onWillUnmount, useExternalListener, useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js index ab2af422bd8..ba3101e946f 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/invoice_button/invoice_button.js @@ -1,9 +1,9 @@ /** @odoo-module */ import { useService } from "@web/core/utils/hooks"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, useRef } from "@odoo/owl"; export class InvoiceButton extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js index d99a817ae15..4ffb08c7663 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/order_details.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { OrderlineDetails } from "./OrderlineDetails"; +import { OrderlineDetails } from "@point_of_sale/app/screens/ticket_screen/order_details/orderline_details"; import { Component } from "@odoo/owl"; /** diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js index b4125297e3e..aa19f567550 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/order_details/orderline_details.js @@ -4,7 +4,7 @@ import { Component } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; import { formatFloat } from "@web/views/fields/formatters"; import { roundPrecision as round_pr } from "@web/core/utils/numbers"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; /** * @props {pos.order.line} line diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js index 68fb68bc0ae..58da250304b 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component } from "@odoo/owl"; export class ReprintReceiptButton extends Component { diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js index 6c5c901fb8e..af2cf895614 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js @@ -1,22 +1,22 @@ /** @odoo-module */ -import { Order } from "@point_of_sale/js/models"; +import { Order } from "@point_of_sale/app/store/models"; import { registry } from "@web/core/registry"; import { useService } from "@web/core/utils/hooks"; import { deserializeDateTime } from "@web/core/l10n/dates"; import { parseFloat } from "@web/views/fields/parsers"; import { _lt } from "@web/core/l10n/translation"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; -import { ActionpadWidget } from "../ProductScreen/ActionpadWidget"; -import { InvoiceButton } from "../TicketScreen/ControlButtons/InvoiceButton"; -import { NumpadWidget } from "../ProductScreen/NumpadWidget"; -import { OrderDetails } from "../TicketScreen/OrderDetails"; -import { ReprintReceiptButton } from "./ControlButtons/ReprintReceiptButton"; -import { SearchBar } from "../../Misc/SearchBar"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { ActionpadWidget } from "@point_of_sale/app/screens/product_screen/action_pad/action_pad"; +import { InvoiceButton } from "@point_of_sale/app/screens/ticket_screen/invoice_button/invoice_button"; +import { NumpadWidget } from "@point_of_sale/app/screens/product_screen/numpad/numpad"; +import { OrderDetails } from "@point_of_sale/app/screens/ticket_screen/order_details/order_details"; +import { ReprintReceiptButton } from "@point_of_sale/app/screens/ticket_screen/reprint_receipt_button/reprint_receipt_button"; +import { SearchBar } from "@point_of_sale/app/screens/ticket_screen/search_bar/search_bar"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, onMounted, useState } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; diff --git a/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js b/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js index 758f69f66ea..01b2025c19e 100644 --- a/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js +++ b/addons/point_of_sale/static/src/app/store/cash_opening_popup/cash_opening_popup.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { useAutofocus, useService } from "@web/core/utils/hooks"; -import { usePos } from "@point_of_sale/app/pos_hook"; -import { MoneyDetailsPopup } from "./MoneyDetailsPopup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { MoneyDetailsPopup } from "@point_of_sale/app/utils/money_details_popup/money_details_popup"; import { useState } from "@odoo/owl"; import { _t } from "@web/core/l10n/translation"; diff --git a/addons/point_of_sale/static/src/app/store/models.js b/addons/point_of_sale/static/src/app/store/models.js index 8b533dce7e7..9d9c3b536fc 100644 --- a/addons/point_of_sale/static/src/app/store/models.js +++ b/addons/point_of_sale/static/src/app/store/models.js @@ -1,9 +1,9 @@ /** @odoo-module */ /* global waitForWebfonts */ -import { PosDB } from "@point_of_sale/js/db"; +import { PosDB } from "@point_of_sale/app/store/db"; import { formatFloat } from "@web/views/fields/formatters"; -import { uuidv4, batched, deduceUrl } from "@point_of_sale/js/utils"; +import { uuidv4, batched, deduceUrl } from "@point_of_sale/utils"; import { HWPrinter } from "@point_of_sale/app/printer/hw_printer"; // FIXME POSREF - unify use of native parseFloat and web's parseFloat. We probably don't need the native version. import { parseFloat as oParseFloat } from "@web/views/fields/parsers"; @@ -13,11 +13,11 @@ import { roundPrecision as round_pr, floatIsZero, } from "@web/core/utils/numbers"; -import { ErrorPopup } from "./Popups/ErrorPopup"; -import { ProductConfiguratorPopup } from "@point_of_sale/js/Popups/ProductConfiguratorPopup"; -import { EditListPopup } from "@point_of_sale/js/Popups/EditListPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ProductConfiguratorPopup } from "@point_of_sale/app/store/product_configurator_popup/product_configurator_popup"; +import { EditListPopup } from "@point_of_sale/app/store/select_lot_popup/select_lot_popup"; import { markRaw, reactive } from "@odoo/owl"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; import { sprintf } from "@web/core/utils/strings"; import { Mutex } from "@web/core/utils/concurrency"; import { memoize } from "@web/core/utils/functions"; diff --git a/addons/point_of_sale/static/src/app/store/pos_hook.js b/addons/point_of_sale/static/src/app/store/pos_hook.js index 73c1ad3778e..cc2fef306b0 100644 --- a/addons/point_of_sale/static/src/app/store/pos_hook.js +++ b/addons/point_of_sale/static/src/app/store/pos_hook.js @@ -4,7 +4,7 @@ import { useState } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; /** - * @returns {import("./pos_store").PosStore} + * @returns {import("@point_of_sale/app/store/pos_store").PosStore} */ export function usePos() { return useState(useService("pos")); diff --git a/addons/point_of_sale/static/src/app/store/pos_store.js b/addons/point_of_sale/static/src/app/store/pos_store.js index 21ba4f59e3e..7abfd1518dc 100644 --- a/addons/point_of_sale/static/src/app/store/pos_store.js +++ b/addons/point_of_sale/static/src/app/store/pos_store.js @@ -1,16 +1,16 @@ /** @odoo-module */ -import { PosGlobalState } from "@point_of_sale/js/models"; +import { PosGlobalState } from "@point_of_sale/app/store/models"; import { registry } from "@web/core/registry"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; import { Reactive } from "@point_of_sale/utils"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { _t } from "@web/core/l10n/translation"; -import { CashOpeningPopup } from "@point_of_sale/js/Popups/CashOpeningPopup"; +import { CashOpeningPopup } from "@point_of_sale/app/store/cash_opening_popup/cash_opening_popup"; import { sprintf } from "@web/core/utils/strings"; -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; export class PosStore extends Reactive { hasBigScrollBars = false; diff --git a/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js b/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js index 2f01b335932..f5abeaa82fd 100644 --- a/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js +++ b/addons/point_of_sale/static/src/app/store/product_configurator_popup/product_configurator_popup.js @@ -1,5 +1,5 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { Component, useRef, useState, useSubEnv } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; diff --git a/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js b/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js index b69bf90a56d..63c644fbf62 100644 --- a/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js +++ b/addons/point_of_sale/static/src/app/store/select_lot_popup/select_lot_popup.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; -import { useAutoFocusToLast } from "@point_of_sale/js/custom_hooks"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; +import { useAutoFocusToLast } from "@point_of_sale/app/utils/hooks"; import { _lt } from "@web/core/l10n/translation"; import { useState } from "@odoo/owl"; -import { EditListInput } from "./EditListInput"; +import { EditListInput } from "@point_of_sale/app/store/select_lot_popup/edit_list_input/edit_list_input"; /** * Given a array of { id, text }, we show the user this popup to be able to modify this given array. diff --git a/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js b/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js index df5ac2126e7..bdceae2559b 100644 --- a/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js +++ b/addons/point_of_sale/static/src/app/utils/alert_popup/alert_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; export class AlertPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js b/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js index ab143b7e21d..353ee7757d6 100644 --- a/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js +++ b/addons/point_of_sale/static/src/app/utils/confirm_popup/confirm_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; export class ConfirmPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js b/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js index e2a32a87db8..3291d149a87 100644 --- a/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js +++ b/addons/point_of_sale/static/src/app/utils/date_picker_popup/date_picker_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { onMounted, useRef, useState } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/utils/hooks.js b/addons/point_of_sale/static/src/app/utils/hooks.js index b31b8f4688e..b34090f7811 100644 --- a/addons/point_of_sale/static/src/app/utils/hooks.js +++ b/addons/point_of_sale/static/src/app/utils/hooks.js @@ -1,8 +1,8 @@ /** @odoo-module */ -import { OfflineErrorPopup } from "./Popups/OfflineErrorPopup"; -import { ConfirmPopup } from "./Popups/ConfirmPopup"; -import { ErrorTracebackPopup } from "./Popups/ErrorTracebackPopup"; -import { ErrorPopup } from "./Popups/ErrorPopup"; +import { OfflineErrorPopup } from "@point_of_sale/app/errors/popups/offline_error_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { ErrorTracebackPopup } from "@point_of_sale/app/errors/popups/error_traceback_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { useEnv, onMounted, onPatched, useComponent, useRef } from "@odoo/owl"; /** diff --git a/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js b/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js index 0c48e37162b..515674a5eef 100644 --- a/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js +++ b/addons/point_of_sale/static/src/app/utils/input_popups/number_popup.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { _t } from "@web/core/l10n/translation"; -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { useService } from "@web/core/utils/hooks"; import { useState, useRef, onMounted } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js b/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js index d6e055e16b3..e3631ae0b8c 100644 --- a/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js +++ b/addons/point_of_sale/static/src/app/utils/input_popups/selection_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { useState } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js b/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js index 455f7e264a5..37b2882ad34 100644 --- a/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js +++ b/addons/point_of_sale/static/src/app/utils/input_popups/text_input_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { onMounted, useRef, useState } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js b/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js index ff72c604770..12d5464dd3c 100644 --- a/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js +++ b/addons/point_of_sale/static/src/app/utils/input_popups/textarea_popup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { onMounted, useRef, useState } from "@odoo/owl"; diff --git a/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js b/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js index b78b5f3ea46..42682bb3b56 100644 --- a/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js +++ b/addons/point_of_sale/static/src/app/utils/money_details_popup/money_details_popup.js @@ -1,8 +1,8 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { floatIsZero } from "@web/core/utils/numbers"; export class MoneyDetailsPopup extends AbstractAwaitablePopup { diff --git a/addons/point_of_sale/static/src/legacy_utils.js b/addons/point_of_sale/static/src/legacy_utils.js deleted file mode 100644 index 8a0473ad674..00000000000 --- a/addons/point_of_sale/static/src/legacy_utils.js +++ /dev/null @@ -1,56 +0,0 @@ -/** @odoo-module */ - -/** - * Creates a batched version of a callback so that all calls to it in the same - * microtick will only call the original callback once. - * - * @param callback the callback to batch - * @returns a batched version of the original callback - */ -export function batched(callback) { - let called = false; - return async (...args) => { - // This await blocks all calls to the callback here, then releases them sequentially - // in the next microtick. This line decides the granularity of the batch. - await Promise.resolve(); - if (!called) { - called = true; - // so that only the first call to the batched function calls the original callback. - // Schedule this before calling the callback so that calls to the batched function - // within the callback will proceed only after resetting called to false, and have - // a chance to execute the callback again - Promise.resolve().then(() => (called = false)); - callback(...args); - } - }; -} - -/* - * comes from o_spreadsheet.js - * https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript - * */ -export function uuidv4() { - // mainly for jest and other browsers that do not have the crypto functionality - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { - const r = (Math.random() * 16) | 0, - v = c == "x" ? r : (r & 0x3) | 0x8; - return v.toString(16); - }); -} - -/** - * Formats the given `url` with correct protocol and port. - * Useful for communicating to local iot box instance. - * @param {string} url - * @returns {string} - */ -export function deduceUrl(url) { - const { protocol } = window.location; - if (!url.includes("//")) { - url = `${protocol}//${url}`; - } - if (url.indexOf(":", 6) < 0) { - url += ":" + (protocol === "https:" ? 443 : 8069); - } - return url; -} diff --git a/addons/point_of_sale/static/src/utils.js b/addons/point_of_sale/static/src/utils.js index 2ec4e530f29..887ce13bcba 100644 --- a/addons/point_of_sale/static/src/utils.js +++ b/addons/point_of_sale/static/src/utils.js @@ -47,3 +47,58 @@ export class Reactive { return reactive(this); } } + +/** + * Creates a batched version of a callback so that all calls to it in the same + * microtick will only call the original callback once. + * + * @param callback the callback to batch + * @returns a batched version of the original callback + */ +export function batched(callback) { + let called = false; + return async (...args) => { + // This await blocks all calls to the callback here, then releases them sequentially + // in the next microtick. This line decides the granularity of the batch. + await Promise.resolve(); + if (!called) { + called = true; + // so that only the first call to the batched function calls the original callback. + // Schedule this before calling the callback so that calls to the batched function + // within the callback will proceed only after resetting called to false, and have + // a chance to execute the callback again + Promise.resolve().then(() => (called = false)); + callback(...args); + } + }; +} + +/* + * comes from o_spreadsheet.js + * https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript + * */ +export function uuidv4() { + // mainly for jest and other browsers that do not have the crypto functionality + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { + const r = (Math.random() * 16) | 0, + v = c == "x" ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} + +/** + * Formats the given `url` with correct protocol and port. + * Useful for communicating to local iot box instance. + * @param {string} url + * @returns {string} + */ +export function deduceUrl(url) { + const { protocol } = window.location; + if (!url.includes("//")) { + url = `${protocol}//${url}`; + } + if (url.indexOf(":", 6) < 0) { + url += ":" + (protocol === "https:" ? 443 : 8069); + } + return url; +} diff --git a/addons/point_of_sale/static/tests/tours/helpers/utils.js b/addons/point_of_sale/static/tests/tours/helpers/utils.js index 80a9d6fcab5..36af8efb16e 100644 --- a/addons/point_of_sale/static/tests/tours/helpers/utils.js +++ b/addons/point_of_sale/static/tests/tours/helpers/utils.js @@ -5,7 +5,7 @@ * ----- * * ``` - * import const { startSteps, getSteps, createTourMethods } from "@point_of_sale/js/utils"; + * import const { startSteps, getSteps, createTourMethods } from "@point_of_sale/utils"; * import const { Other } from "@point_of_sale/../tests/OtherMethods"; * * // 1. Define classes Do, Check and Execute having methods that diff --git a/addons/point_of_sale/static/tests/unit/number_buffer_service_tests.js b/addons/point_of_sale/static/tests/unit/number_buffer_service_tests.js index 82c542fe779..437a2fb8a0a 100644 --- a/addons/point_of_sale/static/tests/unit/number_buffer_service_tests.js +++ b/addons/point_of_sale/static/tests/unit/number_buffer_service_tests.js @@ -3,7 +3,7 @@ import testUtils from "web.test_utils"; import { mount } from "@web/../tests/helpers/utils"; import { useService } from "@web/core/utils/hooks"; -import { numberBufferService } from "@point_of_sale/app/number_buffer_service"; +import { numberBufferService } from "@point_of_sale/app/utils/number_buffer_service"; import { registry } from "@web/core/registry"; import { makeTestEnv } from "@web/../tests/helpers/mock_env"; diff --git a/addons/point_of_sale/static/tests/unit/popup_controller_tests.js b/addons/point_of_sale/static/tests/unit/popup_controller_tests.js index d1714a51be6..2cc90067bf7 100644 --- a/addons/point_of_sale/static/tests/unit/popup_controller_tests.js +++ b/addons/point_of_sale/static/tests/unit/popup_controller_tests.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import makeTestEnvironment from "web.test_env"; import { click, getFixture, mount, nextTick, triggerEvent } from "@web/../tests/helpers/utils"; import { clearRegistryWithCleanup, makeTestEnv } from "@web/../tests/helpers/mock_env"; diff --git a/addons/point_of_sale/static/tests/unit/pos_app_tests.js b/addons/point_of_sale/static/tests/unit/pos_app_tests.js index 4d071efdce7..a99764bdef2 100644 --- a/addons/point_of_sale/static/tests/unit/pos_app_tests.js +++ b/addons/point_of_sale/static/tests/unit/pos_app_tests.js @@ -1,11 +1,11 @@ /** @odoo-module */ -import { Chrome } from "@point_of_sale/js/Chrome"; +import { Chrome } from "@point_of_sale/app/pos_app"; import { getFixture, mount } from "@web/../tests/helpers/utils"; import { makeTestEnv } from "@web/../tests/helpers/mock_env"; import { registry } from "@web/core/registry"; -import { posService } from "@point_of_sale/app/pos_store"; -import { numberBufferService } from "@point_of_sale/app/number_buffer_service"; -import { barcodeReaderService } from "@point_of_sale/app/barcode_reader_service"; +import { posService } from "@point_of_sale/app/store/pos_store"; +import { numberBufferService } from "@point_of_sale/app/utils/number_buffer_service"; +import { barcodeReaderService } from "@point_of_sale/app/barcode/barcode_reader_service"; import { EventBus } from "@odoo/owl"; import { uiService } from "@web/core/ui/ui_service"; diff --git a/addons/pos_adyen/static/src/js/PaymentScreen.js b/addons/pos_adyen/static/src/js/PaymentScreen.js index 5dd7ecb281d..ed469eeea7f 100644 --- a/addons/pos_adyen/static/src/js/PaymentScreen.js +++ b/addons/pos_adyen/static/src/js/PaymentScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; import { onMounted } from "@odoo/owl"; @@ -16,9 +16,7 @@ patch(PaymentScreen.prototype, "pos_adyen.PaymentScreen", { ); if (pendingPaymentLine) { const paymentTerminal = pendingPaymentLine.payment_method.payment_terminal; - paymentTerminal.set_most_recent_service_id( - pendingPaymentLine.terminalServiceId - ); + paymentTerminal.set_most_recent_service_id(pendingPaymentLine.terminalServiceId); pendingPaymentLine.set_payment_status("waiting"); paymentTerminal.start_get_status_polling().then((isPaymentSuccessful) => { if (isPaymentSuccessful) { diff --git a/addons/pos_adyen/static/src/js/models.js b/addons/pos_adyen/static/src/js/models.js index f625742d560..f06be3e79c7 100644 --- a/addons/pos_adyen/static/src/js/models.js +++ b/addons/pos_adyen/static/src/js/models.js @@ -1,5 +1,5 @@ /** @odoo-module */ -import { register_payment_method, Payment } from "@point_of_sale/js/models"; +import { register_payment_method, Payment } from "@point_of_sale/app/store/models"; import { PaymentAdyen } from "@pos_adyen/js/payment_adyen"; import { patch } from "@web/core/utils/patch"; diff --git a/addons/pos_adyen/static/src/js/payment_adyen.js b/addons/pos_adyen/static/src/js/payment_adyen.js index ac25a5d3353..f30b9da911a 100644 --- a/addons/pos_adyen/static/src/js/payment_adyen.js +++ b/addons/pos_adyen/static/src/js/payment_adyen.js @@ -1,8 +1,8 @@ /** @odoo-module */ import { _t } from "@web/core/l10n/translation"; -import { PaymentInterface } from "@point_of_sale/js/payment"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { PaymentInterface } from "@point_of_sale/app/payment/payment_interface"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { sprintf } from "@web/core/utils/strings"; export class PaymentAdyen extends PaymentInterface { diff --git a/addons/pos_discount/static/src/js/DiscountButton.js b/addons/pos_discount/static/src/js/DiscountButton.js index 5b58cf95ec4..ba20793889b 100644 --- a/addons/pos_discount/static/src/js/DiscountButton.js +++ b/addons/pos_discount/static/src/js/DiscountButton.js @@ -1,12 +1,12 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { Component } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class DiscountButton extends Component { static template = "DiscountButton"; diff --git a/addons/pos_epson_printer/static/src/js/models.js b/addons/pos_epson_printer/static/src/js/models.js index ca4c270a513..9fa92851851 100644 --- a/addons/pos_epson_printer/static/src/js/models.js +++ b/addons/pos_epson_printer/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosGlobalState } from "@point_of_sale/js/models"; +import { PosGlobalState } from "@point_of_sale/app/store/models"; import { EpsonPrinter } from "@pos_epson_printer/js/epson_printer"; import { patch } from "@web/core/utils/patch"; diff --git a/addons/pos_hr/static/src/app/navbar.js b/addons/pos_hr/static/src/app/navbar.js index 045c5ce7535..458099b0580 100644 --- a/addons/pos_hr/static/src/app/navbar.js +++ b/addons/pos_hr/static/src/app/navbar.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Navbar } from "@point_of_sale/app/navbar/navbar"; -import { HeaderLockButton } from "../js/HeaderLockButton"; +import { HeaderLockButton } from "@pos_hr/js/HeaderLockButton"; import { patch } from "@web/core/utils/patch"; patch(Navbar, "pos_hr.Navbar", { diff --git a/addons/pos_hr/static/src/app/pos_store.js b/addons/pos_hr/static/src/app/pos_store.js index c97f7a5e68a..2fcf53ef6ba 100644 --- a/addons/pos_hr/static/src/app/pos_store.js +++ b/addons/pos_hr/static/src/app/pos_store.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { patch } from "@web/core/utils/patch"; -import { PosStore } from "@point_of_sale/app/pos_store"; +import { PosStore } from "@point_of_sale/app/store/pos_store"; patch(PosStore.prototype, "pos_hr.PosStore", { async setup() { diff --git a/addons/pos_hr/static/src/js/CashierName.js b/addons/pos_hr/static/src/js/CashierName.js index 3767338cd12..e6732c7c2c5 100644 --- a/addons/pos_hr/static/src/js/CashierName.js +++ b/addons/pos_hr/static/src/js/CashierName.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { CashierName } from "@point_of_sale/js/ChromeWidgets/CashierName"; +import { CashierName } from "@point_of_sale/app/navbar/cashier_name/cashier_name"; import { patch } from "@web/core/utils/patch"; import { useCashierSelector } from "@pos_hr/js/SelectCashierMixin"; diff --git a/addons/pos_hr/static/src/js/Chrome.js b/addons/pos_hr/static/src/js/Chrome.js index b26ba2191d2..7a602646977 100644 --- a/addons/pos_hr/static/src/js/Chrome.js +++ b/addons/pos_hr/static/src/js/Chrome.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { Chrome } from "@point_of_sale/js/Chrome"; +import { Chrome } from "@point_of_sale/app/pos_app"; import { patch } from "@web/core/utils/patch"; patch(Chrome.prototype, "pos_hr.Chrome", { diff --git a/addons/pos_hr/static/src/js/HeaderLockButton.js b/addons/pos_hr/static/src/js/HeaderLockButton.js index 5a947f53b68..69d7abcf865 100644 --- a/addons/pos_hr/static/src/js/HeaderLockButton.js +++ b/addons/pos_hr/static/src/js/HeaderLockButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class HeaderLockButton extends Component { static template = "HeaderLockButton"; diff --git a/addons/pos_hr/static/src/js/LoginScreen.js b/addons/pos_hr/static/src/js/LoginScreen.js index 4f29ad8aa15..515ea3def78 100644 --- a/addons/pos_hr/static/src/js/LoginScreen.js +++ b/addons/pos_hr/static/src/js/LoginScreen.js @@ -2,7 +2,7 @@ import { useCashierSelector } from "@pos_hr/js/SelectCashierMixin"; import { registry } from "@web/core/registry"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component } from "@odoo/owl"; export class LoginScreen extends Component { diff --git a/addons/pos_hr/static/src/js/PaymentScreen.js b/addons/pos_hr/static/src/js/PaymentScreen.js index 1c30569a260..ca7ee153e78 100644 --- a/addons/pos_hr/static/src/js/PaymentScreen.js +++ b/addons/pos_hr/static/src/js/PaymentScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; patch(PaymentScreen.prototype, "pos_hr.PaymentScreen", { diff --git a/addons/pos_hr/static/src/js/SelectCashierMixin.js b/addons/pos_hr/static/src/js/SelectCashierMixin.js index 8c15498ad09..393813b7ce9 100644 --- a/addons/pos_hr/static/src/js/SelectCashierMixin.js +++ b/addons/pos_hr/static/src/js/SelectCashierMixin.js @@ -3,12 +3,12 @@ import { _t } from "@web/core/l10n/translation"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { useService } from "@web/core/utils/hooks"; -import { useBarcodeReader } from "@point_of_sale/app/barcode_reader_hook"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { useBarcodeReader } from "@point_of_sale/app/barcode/barcode_reader_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export function useCashierSelector( { onCashierChanged, exclusive } = { onCashierChanged: () => {}, exclusive: false } diff --git a/addons/pos_hr/static/src/js/models.js b/addons/pos_hr/static/src/js/models.js index 27ac6f2663c..0f56a277d8e 100644 --- a/addons/pos_hr/static/src/js/models.js +++ b/addons/pos_hr/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosGlobalState, Order } from "@point_of_sale/js/models"; +import { PosGlobalState, Order } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(PosGlobalState.prototype, "pos_hr.PosGlobalState", { diff --git a/addons/pos_hr_restaurant/static/src/app/pos_store.js b/addons/pos_hr_restaurant/static/src/app/pos_store.js index bc5e603dbf5..1dc7b6ea822 100644 --- a/addons/pos_hr_restaurant/static/src/app/pos_store.js +++ b/addons/pos_hr_restaurant/static/src/app/pos_store.js @@ -2,7 +2,7 @@ import { patch } from "@web/core/utils/patch"; import "@pos_restaurant/app/pos_store"; -import { PosStore } from "@point_of_sale/app/pos_store"; +import { PosStore } from "@point_of_sale/app/store/pos_store"; patch(PosStore.prototype, "pos_hr_restaurant.PosStore", { shouldResetIdleTimer() { diff --git a/addons/pos_loyalty/static/src/app/pos_store.js b/addons/pos_loyalty/static/src/app/pos_store.js index 830b115a0fa..78294d33b34 100644 --- a/addons/pos_loyalty/static/src/app/pos_store.js +++ b/addons/pos_loyalty/static/src/app/pos_store.js @@ -1,11 +1,11 @@ /** @odoo-module */ import { patch } from "@web/core/utils/patch"; -import { PosStore } from "@point_of_sale/app/pos_store"; +import { PosStore } from "@point_of_sale/app/store/pos_store"; import { _t } from "@web/core/l10n/translation"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { TextInputPopup } from "@point_of_sale/js/Popups/TextInputPopup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { TextInputPopup } from "@point_of_sale/app/utils/input_popups/text_input_popup"; patch(PosStore.prototype, "pos_loyalty.PosStore", { async addProductFromUi(product, options) { diff --git a/addons/pos_loyalty/static/src/js/ControlButtons/PromoCodeButton.js b/addons/pos_loyalty/static/src/js/ControlButtons/PromoCodeButton.js index e33e38cbed2..39c0bcaf0c6 100644 --- a/addons/pos_loyalty/static/src/js/ControlButtons/PromoCodeButton.js +++ b/addons/pos_loyalty/static/src/js/ControlButtons/PromoCodeButton.js @@ -1,10 +1,10 @@ /** @odoo-module **/ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { TextInputPopup } from "@point_of_sale/js/Popups/TextInputPopup"; +import { TextInputPopup } from "@point_of_sale/app/utils/input_popups/text_input_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class PromoCodeButton extends Component { static template = "PromoCodeButton"; diff --git a/addons/pos_loyalty/static/src/js/ControlButtons/ResetProgramsButton.js b/addons/pos_loyalty/static/src/js/ControlButtons/ResetProgramsButton.js index 5d67469dc82..871a6fea277 100644 --- a/addons/pos_loyalty/static/src/js/ControlButtons/ResetProgramsButton.js +++ b/addons/pos_loyalty/static/src/js/ControlButtons/ResetProgramsButton.js @@ -1,8 +1,8 @@ /** @odoo-module **/ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class ResetProgramsButton extends Component { static template = "ResetProgramsButton"; diff --git a/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js b/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js index 70faf91e5e6..47c23dfd8df 100644 --- a/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js +++ b/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js @@ -1,9 +1,9 @@ /** @odoo-module **/ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component } from "@odoo/owl"; export class RewardButton extends Component { diff --git a/addons/pos_loyalty/static/src/js/ControlButtons/eWalletButton.js b/addons/pos_loyalty/static/src/js/ControlButtons/eWalletButton.js index 2e2e823bc3d..4fc640d56fd 100644 --- a/addons/pos_loyalty/static/src/js/ControlButtons/eWalletButton.js +++ b/addons/pos_loyalty/static/src/js/ControlButtons/eWalletButton.js @@ -1,10 +1,10 @@ /** @odoo-module **/ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { useService } from "@web/core/utils/hooks"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component } from "@odoo/owl"; export class eWalletButton extends Component { diff --git a/addons/pos_loyalty/static/src/js/Loyalty.js b/addons/pos_loyalty/static/src/js/Loyalty.js index a98c5d073d4..f531aac26b1 100644 --- a/addons/pos_loyalty/static/src/js/Loyalty.js +++ b/addons/pos_loyalty/static/src/js/Loyalty.js @@ -1,15 +1,15 @@ /** @odoo-module **/ -import { Order, Orderline, PosGlobalState } from "@point_of_sale/js/models"; +import { Order, Orderline, PosGlobalState } from "@point_of_sale/app/store/models"; import { Mutex } from "@web/core/utils/concurrency"; import concurrency from "web.concurrency"; import { roundDecimals, roundPrecision } from "@web/core/utils/numbers"; import { _t } from "@web/core/l10n/translation"; import { patch } from "@web/core/utils/patch"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; import { Domain, InvalidDomainError } from "@web/core/domain"; import { sprintf } from "@web/core/utils/strings"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; // FIXME: Perhaps MutexedDropPrevious can be replaced by the new KeepLast. // > This might require thorough investigation on how _updateRewards work. diff --git a/addons/pos_loyalty/static/src/js/OrderSummary.js b/addons/pos_loyalty/static/src/js/OrderSummary.js index eaca8e3685b..9fb1bb9c8a0 100644 --- a/addons/pos_loyalty/static/src/js/OrderSummary.js +++ b/addons/pos_loyalty/static/src/js/OrderSummary.js @@ -1,6 +1,6 @@ /** @odoo-module **/ -import { OrderSummary } from "@point_of_sale/js/Screens/ProductScreen/OrderSummary"; +import { OrderSummary } from "@point_of_sale/app/screens/product_screen/order_summary/order_summary"; import { patch } from "@web/core/utils/patch"; patch(OrderSummary.prototype, "pos_loyalty.OrderSummary", { diff --git a/addons/pos_loyalty/static/src/js/Orderline.js b/addons/pos_loyalty/static/src/js/Orderline.js index 6bac2acbd3f..7665d7d2c63 100644 --- a/addons/pos_loyalty/static/src/js/Orderline.js +++ b/addons/pos_loyalty/static/src/js/Orderline.js @@ -1,6 +1,6 @@ /** @odoo-module **/ -import { Orderline } from "@point_of_sale/js/Screens/ProductScreen/Orderline"; +import { Orderline } from "@point_of_sale/app/screens/product_screen/orderline/orderline"; import { patch } from "@web/core/utils/patch"; patch(Orderline.prototype, "pos_loyalty.Orderline", { diff --git a/addons/pos_loyalty/static/src/js/PartnerLine.js b/addons/pos_loyalty/static/src/js/PartnerLine.js index 5f27d8edde8..177d002cc86 100644 --- a/addons/pos_loyalty/static/src/js/PartnerLine.js +++ b/addons/pos_loyalty/static/src/js/PartnerLine.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { PartnerLine } from "@point_of_sale/js/Screens/PartnerListScreen/PartnerLine"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { PartnerLine } from "@point_of_sale/app/screens/partner_list/partner_line/partner_line"; import { patch } from "@web/core/utils/patch"; import { sprintf } from "@web/core/utils/strings"; import { formatFloat } from "@web/views/fields/formatters"; diff --git a/addons/pos_loyalty/static/src/js/PartnerListScreen.js b/addons/pos_loyalty/static/src/js/PartnerListScreen.js index 5ab7d96da10..5ce54a0d79e 100644 --- a/addons/pos_loyalty/static/src/js/PartnerListScreen.js +++ b/addons/pos_loyalty/static/src/js/PartnerListScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PartnerListScreen } from "@point_of_sale/js/Screens/PartnerListScreen/PartnerListScreen"; +import { PartnerListScreen } from "@point_of_sale/app/screens/partner_list/partner_list"; import { patch } from "@web/core/utils/patch"; patch(PartnerListScreen.prototype, "pos_loyalty.PartnerListScreen", { diff --git a/addons/pos_loyalty/static/src/js/PaymentScreen.js b/addons/pos_loyalty/static/src/js/PaymentScreen.js index 17e9d353e05..d141303a227 100644 --- a/addons/pos_loyalty/static/src/js/PaymentScreen.js +++ b/addons/pos_loyalty/static/src/js/PaymentScreen.js @@ -1,9 +1,9 @@ /** @odoo-module **/ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; import { PosLoyaltyCard } from "@pos_loyalty/js/Loyalty"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; patch(PaymentScreen.prototype, "pos_loyalty.PaymentScreen", { //@override diff --git a/addons/pos_loyalty/static/src/js/ProductScreen.js b/addons/pos_loyalty/static/src/js/ProductScreen.js index 5e6c45986cf..192d9983c8f 100644 --- a/addons/pos_loyalty/static/src/js/ProductScreen.js +++ b/addons/pos_loyalty/static/src/js/ProductScreen.js @@ -1,9 +1,9 @@ /** @odoo-module **/ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; -import { useBarcodeReader } from "@point_of_sale/app/barcode_reader_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; +import { useBarcodeReader } from "@point_of_sale/app/barcode/barcode_reader_hook"; import { patch } from "@web/core/utils/patch"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; import { useService } from "@web/core/utils/hooks"; import { sprintf } from "@web/core/utils/strings"; diff --git a/addons/pos_loyalty/static/src/js/TicketScreen.js b/addons/pos_loyalty/static/src/js/TicketScreen.js index 3648ff462e8..b707589f62c 100644 --- a/addons/pos_loyalty/static/src/js/TicketScreen.js +++ b/addons/pos_loyalty/static/src/js/TicketScreen.js @@ -1,6 +1,6 @@ /** @odoo-module **/ -import { TicketScreen } from "@point_of_sale/js/Screens/TicketScreen/TicketScreen"; +import { TicketScreen } from "@point_of_sale/app/screens/ticket_screen/ticket_screen"; import { useService } from "@web/core/utils/hooks"; import { patch } from "@web/core/utils/patch"; diff --git a/addons/pos_mercury/static/src/js/OrderReceipt.js b/addons/pos_mercury/static/src/js/OrderReceipt.js index e35c4baddb5..3cd0b2d732d 100644 --- a/addons/pos_mercury/static/src/js/OrderReceipt.js +++ b/addons/pos_mercury/static/src/js/OrderReceipt.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { OrderReceipt } from "@point_of_sale/js/Screens/ReceiptScreen/OrderReceipt"; +import { OrderReceipt } from "@point_of_sale/app/screens/receipt_screen/receipt/receipt"; import { patch } from "@web/core/utils/patch"; patch(OrderReceipt.prototype, "pos_mercury.OrderReceipt", { diff --git a/addons/pos_mercury/static/src/js/PaymentScreen.js b/addons/pos_mercury/static/src/js/PaymentScreen.js index 9d364dbf7c2..0b9125cab1e 100644 --- a/addons/pos_mercury/static/src/js/PaymentScreen.js +++ b/addons/pos_mercury/static/src/js/PaymentScreen.js @@ -2,11 +2,11 @@ import { _t } from "@web/core/l10n/translation"; import { patch } from "@web/core/utils/patch"; -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; -import { useBarcodeReader } from "@point_of_sale/app/barcode_reader_hook"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { PaymentTransactionPopup } from "./PaymentTransactionPopup"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; +import { useBarcodeReader } from "@point_of_sale/app/barcode/barcode_reader_hook"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { PaymentTransactionPopup } from "@pos_mercury/js/PaymentTransactionPopup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; // Lookup table to store status and error messages const lookUpCodeTransaction = { diff --git a/addons/pos_mercury/static/src/js/PaymentScreenPaymentLines.js b/addons/pos_mercury/static/src/js/PaymentScreenPaymentLines.js index 1f7a532ba90..8965f4bd115 100644 --- a/addons/pos_mercury/static/src/js/PaymentScreenPaymentLines.js +++ b/addons/pos_mercury/static/src/js/PaymentScreenPaymentLines.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreenPaymentLines } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreenPaymentLines"; +import { PaymentScreenPaymentLines } from "@point_of_sale/app/screens/payment_screen/payment_lines/payment_lines"; import { patch } from "@web/core/utils/patch"; patch(PaymentScreenPaymentLines.prototype, "pos_mercury.PaymentScreenPaymentLines", { diff --git a/addons/pos_mercury/static/src/js/PaymentTransactionPopup.js b/addons/pos_mercury/static/src/js/PaymentTransactionPopup.js index 250ee5e7472..275252c63b3 100644 --- a/addons/pos_mercury/static/src/js/PaymentTransactionPopup.js +++ b/addons/pos_mercury/static/src/js/PaymentTransactionPopup.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { AbstractAwaitablePopup } from "@point_of_sale/js/Popups/AbstractAwaitablePopup"; +import { AbstractAwaitablePopup } from "@point_of_sale/app/popup/abstract_awaitable_popup"; import { _lt } from "@web/core/l10n/translation"; import { useState } from "@odoo/owl"; diff --git a/addons/pos_mercury/static/src/js/ProductScreen.js b/addons/pos_mercury/static/src/js/ProductScreen.js index 97afa2b9d74..5cf2a641c23 100644 --- a/addons/pos_mercury/static/src/js/ProductScreen.js +++ b/addons/pos_mercury/static/src/js/ProductScreen.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; -import { useBarcodeReader } from "@point_of_sale/app/barcode_reader_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; +import { useBarcodeReader } from "@point_of_sale/app/barcode/barcode_reader_hook"; import { patch } from "@web/core/utils/patch"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; patch(ProductScreen.prototype, "pos_mercury.ProductScreen", { setup() { diff --git a/addons/pos_mercury/static/src/js/pos_mercury.js b/addons/pos_mercury/static/src/js/pos_mercury.js index 563c7aff0aa..80bea0c8273 100644 --- a/addons/pos_mercury/static/src/js/pos_mercury.js +++ b/addons/pos_mercury/static/src/js/pos_mercury.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosGlobalState, Order, Payment } from "@point_of_sale/js/models"; +import { PosGlobalState, Order, Payment } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(PosGlobalState.prototype, "pos_mercury.PosGlobalState", { diff --git a/addons/pos_restaurant/static/src/app/floor_screen/editable_table.js b/addons/pos_restaurant/static/src/app/floor_screen/editable_table.js index fd3dded8c86..79af8a263ce 100644 --- a/addons/pos_restaurant/static/src/app/floor_screen/editable_table.js +++ b/addons/pos_restaurant/static/src/app/floor_screen/editable_table.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { getLimits, useMovable, constrain } from "@point_of_sale/app/movable_hook"; +import { getLimits, useMovable, constrain } from "@point_of_sale/app/utils/movable_hook"; import { onWillUnmount, useEffect, useRef, Component } from "@odoo/owl"; -import { Table } from "./table"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { Table } from "@pos_restaurant/app/floor_screen/table"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; const MIN_TABLE_SIZE = 30; // px diff --git a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js index 19b31a2ee5c..daab70f2e60 100644 --- a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js +++ b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js @@ -4,15 +4,15 @@ import { ConnectionLostError } from "@web/core/network/rpc_service"; import { debounce } from "@web/core/utils/timing"; import { registry } from "@web/core/registry"; -import { TextInputPopup } from "@point_of_sale/js/Popups/TextInputPopup"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { TextInputPopup } from "@point_of_sale/app/utils/input_popups/text_input_popup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; -import { EditableTable } from "./editable_table"; -import { EditBar } from "./edit_bar"; -import { Table } from "./table"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { EditableTable } from "@pos_restaurant/app/floor_screen/editable_table"; +import { EditBar } from "@pos_restaurant/app/floor_screen/edit_bar"; +import { Table } from "@pos_restaurant/app/floor_screen/table"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; import { Component, diff --git a/addons/pos_restaurant/static/src/app/floor_screen/table.js b/addons/pos_restaurant/static/src/app/floor_screen/table.js index 2d71cc21500..ca5acaf4c9b 100644 --- a/addons/pos_restaurant/static/src/app/floor_screen/table.js +++ b/addons/pos_restaurant/static/src/app/floor_screen/table.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class Table extends Component { static template = "pos_restaurant.Table"; diff --git a/addons/pos_restaurant/static/src/app/navbar/BackButton.js b/addons/pos_restaurant/static/src/app/navbar/BackButton.js index 3f0013a3338..7847e2a40c5 100644 --- a/addons/pos_restaurant/static/src/app/navbar/BackButton.js +++ b/addons/pos_restaurant/static/src/app/navbar/BackButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { BackButton } from "@point_of_sale/app/navbar/BackButton"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { BackButton } from "@point_of_sale/app/navbar/back_button/back_button"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { TipScreen } from "@pos_restaurant/js/Screens/TipScreen"; import { patch } from "@web/core/utils/patch"; diff --git a/addons/pos_restaurant/static/src/app/pos_bus.js b/addons/pos_restaurant/static/src/app/pos_bus.js index 022d36415c8..c9ffc029cb4 100644 --- a/addons/pos_restaurant/static/src/app/pos_bus.js +++ b/addons/pos_restaurant/static/src/app/pos_bus.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { patch } from "@web/core/utils/patch"; -import { PosBus } from "@point_of_sale/app/pos_bus"; +import { PosBus } from "@point_of_sale/app/bus/pos_bus_service"; patch(PosBus.prototype, "pos_restaurant.PosBus", { // Override diff --git a/addons/pos_restaurant/static/src/app/pos_store.js b/addons/pos_restaurant/static/src/app/pos_store.js index 1e6a8c1525b..6891c7e06c0 100644 --- a/addons/pos_restaurant/static/src/app/pos_store.js +++ b/addons/pos_restaurant/static/src/app/pos_store.js @@ -1,9 +1,9 @@ /** @odoo-module */ import { patch } from "@web/core/utils/patch"; -import { PosStore } from "@point_of_sale/app/pos_store"; -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { PosStore } from "@point_of_sale/app/store/pos_store"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { FloorScreen } from "@pos_restaurant/app/floor_screen/floor_screen"; import { TipScreen } from "@pos_restaurant/js/Screens/TipScreen"; diff --git a/addons/pos_restaurant/static/src/js/Screens/BillScreen.js b/addons/pos_restaurant/static/src/js/Screens/BillScreen.js index ec92e6f0a53..f1e3b7cc091 100644 --- a/addons/pos_restaurant/static/src/js/Screens/BillScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/BillScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ReceiptScreen } from "@point_of_sale/js/Screens/ReceiptScreen/ReceiptScreen"; +import { ReceiptScreen } from "@point_of_sale/app/screens/receipt_screen/receipt_screen"; import { registry } from "@web/core/registry"; export class BillScreen extends ReceiptScreen { diff --git a/addons/pos_restaurant/static/src/js/Screens/PaymentScreen.js b/addons/pos_restaurant/static/src/js/Screens/PaymentScreen.js index 01c667d736a..38ba7965375 100644 --- a/addons/pos_restaurant/static/src/js/Screens/PaymentScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/PaymentScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentScreen } from "@point_of_sale/js/Screens/PaymentScreen/PaymentScreen"; +import { PaymentScreen } from "@point_of_sale/app/screens/payment_screen/payment_screen"; import { patch } from "@web/core/utils/patch"; patch(PaymentScreen.prototype, "pos_restaurant.PaymentScreen", { diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ActionpadWidget.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ActionpadWidget.js index 8e57b77d7f3..8b630bed07c 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ActionpadWidget.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ActionpadWidget.js @@ -1,6 +1,6 @@ /** @odoo-module */ import { patch } from "@web/core/utils/patch"; -import { ActionpadWidget } from "@point_of_sale/js/Screens/ProductScreen/ActionpadWidget"; +import { ActionpadWidget } from "@point_of_sale/app/screens/product_screen/action_pad/action_pad"; import { nbsp } from "@web/core/utils/strings"; /** * @props partner diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineNoteButton.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineNoteButton.js index 64f9bb7bcf3..071c559544d 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineNoteButton.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/OrderlineNoteButton.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { TextAreaPopup } from "@point_of_sale/js/Popups/TextAreaPopup"; +import { TextAreaPopup } from "@point_of_sale/app/utils/input_popups/textarea_popup"; import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class OrderlineNoteButton extends Component { static template = "OrderlineNoteButton"; diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/PrintBillButton.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/PrintBillButton.js index 07c739f5996..49c9aeeb191 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/PrintBillButton.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/PrintBillButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; export class PrintBillButton extends Component { diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/SplitBillButton.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/SplitBillButton.js index 90bdb93b9f4..b5283ef5c03 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/SplitBillButton.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/SplitBillButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; export class SplitBillButton extends Component { diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TableGuestsButton.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TableGuestsButton.js index cf4279cc258..22b32e3d445 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TableGuestsButton.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TableGuestsButton.js @@ -1,12 +1,12 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { useService } from "@web/core/utils/hooks"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { Component } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class TableGuestsButton extends Component { static template = "TableGuestsButton"; diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TransferOrderButton.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TransferOrderButton.js index 960896763a7..7320f9b0665 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TransferOrderButton.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ControlButtons/TransferOrderButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { usePos } from "@point_of_sale/app/pos_hook"; -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { Component } from "@odoo/owl"; export class TransferOrderButton extends Component { diff --git a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ProductScreen.js b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ProductScreen.js index 312f472bc1c..d8a5f624960 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ProductScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/ProductScreen/ProductScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { patch } from "@web/core/utils/patch"; patch(ProductScreen.prototype, "pos_restaurant.ProductScreen", { diff --git a/addons/pos_restaurant/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js b/addons/pos_restaurant/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js index 582eec03229..55f4e6d6d74 100644 --- a/addons/pos_restaurant/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ReceiptScreen } from "@point_of_sale/js/Screens/ReceiptScreen/ReceiptScreen"; +import { ReceiptScreen } from "@point_of_sale/app/screens/receipt_screen/receipt_screen"; import { patch } from "@web/core/utils/patch"; import { onWillUnmount } from "@odoo/owl"; import { FloorScreen } from "@pos_restaurant/app/floor_screen/floor_screen"; diff --git a/addons/pos_restaurant/static/src/js/Screens/SplitBillScreen/SplitBillScreen.js b/addons/pos_restaurant/static/src/js/Screens/SplitBillScreen/SplitBillScreen.js index 159d3232258..9a59be09038 100644 --- a/addons/pos_restaurant/static/src/js/Screens/SplitBillScreen/SplitBillScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/SplitBillScreen/SplitBillScreen.js @@ -1,10 +1,10 @@ /** @odoo-module */ -import { Order } from "@point_of_sale/js/models"; +import { Order } from "@point_of_sale/app/store/models"; -import { SplitOrderline } from "./SplitOrderline"; +import { SplitOrderline } from "@pos_restaurant/js/Screens/SplitBillScreen/SplitOrderline"; import { registry } from "@web/core/registry"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component, useState } from "@odoo/owl"; import { groupBy } from "@web/core/utils/arrays"; diff --git a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js index e8c9bf7140b..a67cbe2b93f 100644 --- a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js @@ -1,9 +1,9 @@ /** @odoo-module */ -import { TicketScreen } from "@point_of_sale/js/Screens/TicketScreen/TicketScreen"; +import { TicketScreen } from "@point_of_sale/app/screens/ticket_screen/ticket_screen"; import { useAutofocus } from "@web/core/utils/hooks"; import { patch } from "@web/core/utils/patch"; import { parseFloat } from "@web/views/fields/parsers"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; import { Component, useState } from "@odoo/owl"; patch(TicketScreen.prototype, "pos_restaurant.TicketScreen", { diff --git a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js index f6e1eff1b1c..80e9479f95d 100644 --- a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js @@ -3,9 +3,9 @@ import { parseFloat } from "@web/views/fields/parsers"; import { renderToElement } from "@web/core/utils/render"; import { registry } from "@web/core/registry"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { useService } from "@web/core/utils/hooks"; import { Component, useRef, onMounted } from "@odoo/owl"; diff --git a/addons/pos_restaurant/static/src/js/models.js b/addons/pos_restaurant/static/src/js/models.js index cb0992dadce..668f3a21230 100644 --- a/addons/pos_restaurant/static/src/js/models.js +++ b/addons/pos_restaurant/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosGlobalState, Order, Orderline, Payment } from "@point_of_sale/js/models"; +import { PosGlobalState, Order, Orderline, Payment } from "@point_of_sale/app/store/models"; import { ConnectionLostError } from "@web/core/network/rpc_service"; import { patch } from "@web/core/utils/patch"; diff --git a/addons/pos_restaurant/static/src/js/payment.js b/addons/pos_restaurant/static/src/js/payment.js index e95fa9ef959..47a38d0193b 100644 --- a/addons/pos_restaurant/static/src/js/payment.js +++ b/addons/pos_restaurant/static/src/js/payment.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PaymentInterface } from "@point_of_sale/js/payment"; +import { PaymentInterface } from "@point_of_sale/app/payment/payment_interface"; import { patch } from "@web/core/utils/patch"; patch(PaymentInterface.prototype, "pos_restaurant.PaymentInterface", { diff --git a/addons/pos_sale/static/src/app/pos_store.js b/addons/pos_sale/static/src/app/pos_store.js index 8cd3b1d53fd..18791f18c7f 100644 --- a/addons/pos_sale/static/src/app/pos_store.js +++ b/addons/pos_sale/static/src/app/pos_store.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { PosStore } from "@point_of_sale/app/pos_store"; +import { PosStore } from "@point_of_sale/app/store/pos_store"; import { patch } from "@web/core/utils/patch"; patch(PosStore.prototype, "pos_sale.PosStore", { diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderList.js b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderList.js index 8b7dc5cd3f8..6a40a69a318 100644 --- a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderList.js +++ b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderList.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component, useState } from "@odoo/owl"; -import { SaleOrderRow } from "./SaleOrderRow"; +import { SaleOrderRow } from "@pos_sale/js/OrderManagementScreen/SaleOrderRow"; import { useService } from "@web/core/utils/hooks"; /** diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementControlPanel.js b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementControlPanel.js index 6e79a09dac4..371e73b41ac 100644 --- a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementControlPanel.js +++ b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementControlPanel.js @@ -2,7 +2,7 @@ import { useAutofocus, useService } from "@web/core/utils/hooks"; import { Component, useState } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; // NOTE: These are constants so that they are only instantiated once // and they can be used efficiently by the OrderManagementControlPanel. diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js index 6c7a05a6fce..087e3bcde4e 100644 --- a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js +++ b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js @@ -4,18 +4,18 @@ import { sprintf } from "@web/core/utils/strings"; import { parseFloat } from "@web/views/fields/parsers"; import { useBus, useService } from "@web/core/utils/hooks"; import { registry } from "@web/core/registry"; -import { ControlButtonsMixin } from "@point_of_sale/js/ControlButtonsMixin"; -import { Orderline } from "@point_of_sale/js/models"; +import { ControlButtonsMixin } from "@point_of_sale/app/utils/control_buttons_mixin"; +import { Orderline } from "@point_of_sale/app/store/models"; -import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; -import { ConfirmPopup } from "@point_of_sale/js/Popups/ConfirmPopup"; -import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; +import { SelectionPopup } from "@point_of_sale/app/utils/input_popups/selection_popup"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; +import { ConfirmPopup } from "@point_of_sale/app/utils/confirm_popup/confirm_popup"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; -import { SaleOrderList } from "./SaleOrderList"; -import { SaleOrderManagementControlPanel } from "./SaleOrderManagementControlPanel"; +import { SaleOrderList } from "@pos_sale/js/OrderManagementScreen/SaleOrderList"; +import { SaleOrderManagementControlPanel } from "@pos_sale/js/OrderManagementScreen/SaleOrderManagementControlPanel"; import { Component, onMounted, useRef } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; /** * ID getter to take into account falsy many2one value. diff --git a/addons/pos_sale/static/src/js/SetSaleOrderButton.js b/addons/pos_sale/static/src/js/SetSaleOrderButton.js index c1600336b11..b034dc2a0c5 100644 --- a/addons/pos_sale/static/src/js/SetSaleOrderButton.js +++ b/addons/pos_sale/static/src/js/SetSaleOrderButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ -import { ProductScreen } from "@point_of_sale/js/Screens/ProductScreen/ProductScreen"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; import { Component } from "@odoo/owl"; export class SetSaleOrderButton extends Component { diff --git a/addons/pos_sale/static/src/js/models.js b/addons/pos_sale/static/src/js/models.js index e42680dfa33..5a1afcc8d70 100644 --- a/addons/pos_sale/static/src/js/models.js +++ b/addons/pos_sale/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { Order, Orderline } from "@point_of_sale/js/models"; +import { Order, Orderline } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(Order.prototype, "pos_sale.Order", { diff --git a/addons/pos_sale_loyalty/static/src/js/models.js b/addons/pos_sale_loyalty/static/src/js/models.js index 306b1090653..78d741a48df 100644 --- a/addons/pos_sale_loyalty/static/src/js/models.js +++ b/addons/pos_sale_loyalty/static/src/js/models.js @@ -1,7 +1,7 @@ /** @odoo-module alias=pos_sale_loyalty.models **/ -import { Orderline } from '@point_of_sale/js/models'; +import { Orderline } from "@point_of_sale/app/store/models"; import { patch } from "@web/core/utils/patch"; patch(Orderline.prototype, "pos_sale_loyalty.Orderline", { diff --git a/addons/pos_sale_product_configurator/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js b/addons/pos_sale_product_configurator/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js index 75975912ad6..eabef2f5951 100644 --- a/addons/pos_sale_product_configurator/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js +++ b/addons/pos_sale_product_configurator/static/src/js/Screens/ProductScreen/ControlButtons/ProductInfoButton.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { ProductInfoButton } from "@point_of_sale/js/Screens/ProductScreen/ControlButtons/ProductInfoButton"; +import { ProductInfoButton } from "@point_of_sale/app/screens/product_screen/control_buttons/product_info_button/product_info_button"; import { patch } from "@web/core/utils/patch"; patch(ProductInfoButton.prototype, "pos_sale_product_configurator.ProductInfoButton", { diff --git a/addons/pos_six/static/src/js/BalanceButton.js b/addons/pos_six/static/src/js/BalanceButton.js index 4949de911a2..6e47bb95044 100644 --- a/addons/pos_six/static/src/js/BalanceButton.js +++ b/addons/pos_six/static/src/js/BalanceButton.js @@ -1,7 +1,7 @@ /** @odoo-module */ import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; export class BalanceButton extends Component { static template = "BalanceButton"; diff --git a/addons/pos_six/static/src/js/models.js b/addons/pos_six/static/src/js/models.js index 41103ac55b8..7a064b18343 100644 --- a/addons/pos_six/static/src/js/models.js +++ b/addons/pos_six/static/src/js/models.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import { register_payment_method } from "@point_of_sale/js/models"; +import { register_payment_method } from "@point_of_sale/app/store/models"; import { PaymentSix } from "@pos_six/js/payment_six"; register_payment_method("six", PaymentSix); diff --git a/addons/pos_six/static/src/js/payment_six.js b/addons/pos_six/static/src/js/payment_six.js index 5d0bb038dee..d998eaa9d0d 100644 --- a/addons/pos_six/static/src/js/payment_six.js +++ b/addons/pos_six/static/src/js/payment_six.js @@ -2,8 +2,8 @@ /* global timapi */ import { _t } from "@web/core/l10n/translation"; -import { PaymentInterface } from "@point_of_sale/js/payment"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { PaymentInterface } from "@point_of_sale/app/payment/payment_interface"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { escape } from "@web/core/utils/strings"; window.onTimApiReady = function () {}; diff --git a/addons/pos_stripe/static/src/js/models.js b/addons/pos_stripe/static/src/js/models.js index 840199dfba8..f4c5f0867c6 100644 --- a/addons/pos_stripe/static/src/js/models.js +++ b/addons/pos_stripe/static/src/js/models.js @@ -1,5 +1,5 @@ /** @odoo-module */ -import { register_payment_method } from "@point_of_sale/js/models"; +import { register_payment_method } from "@point_of_sale/app/store/models"; import { PaymentStripe } from "@pos_stripe/js/payment_stripe"; register_payment_method("stripe", PaymentStripe); diff --git a/addons/pos_stripe/static/src/js/payment_stripe.js b/addons/pos_stripe/static/src/js/payment_stripe.js index d25a39db060..4509953d865 100644 --- a/addons/pos_stripe/static/src/js/payment_stripe.js +++ b/addons/pos_stripe/static/src/js/payment_stripe.js @@ -2,8 +2,8 @@ /* global StripeTerminal */ import { _t } from "@web/core/l10n/translation"; -import { PaymentInterface } from "@point_of_sale/js/payment"; -import { ErrorPopup } from "@point_of_sale/js/Popups/ErrorPopup"; +import { PaymentInterface } from "@point_of_sale/app/payment/payment_interface"; +import { ErrorPopup } from "@point_of_sale/app/errors/popups/error_popup"; import { sprintf } from "@web/core/utils/strings"; export class PaymentStripe extends PaymentInterface {