28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# POS UI Optimization
|
|
|
|
This Odoo 19 module optimizes the Point of Sale (POS) user interface for low-RAM devices (e.g., Android tablets with 2GB RAM).
|
|
|
|
## Features
|
|
|
|
- **Product List Incremental Loading**: Renders products in batches of 40 as you scroll, significantly reducing memory usage in categories with many products.
|
|
- **Order Cart Incremental Loading**: Efficiently handles large orders by rendering order lines incrementally as you scroll through the cart.
|
|
- **Improved Responsiveness**: Keeps the browser DOM light and prevents "white blank" screens caused by memory exhaustion.
|
|
- **Legacy Browser Support**: Designed without modern ES2020 JavaScript syntax (like optional chaining `?.`) to ensure compatibility with older Android browser engines found on specific legacy POS hardware.
|
|
|
|
## Installation
|
|
|
|
1. Place the `pos_ui_optimization` folder in your Odoo custom addons directory.
|
|
2. Restart your Odoo server.
|
|
3. In Odoo, activate **Developer Mode**.
|
|
4. Go to **Apps** -> **Update Apps List**.
|
|
5. Search for `POS UI Optimization`.
|
|
6. Click **Install**.
|
|
|
|
## Technical Details
|
|
|
|
This module uses Odoo's JavaScript patching mechanism (`patch` from `@web/core/utils/patch`) to extend the core POS components:
|
|
- `ProductScreen`: Adds `displayedProductsCount` state via `owl`'s `useEffect` and an overridden `onScroll` hook to the product container.
|
|
- `OrderDisplay`: Adds `displayedCount` state and a scroll listener to the combo sorted order lines container.
|
|
|
|
No core Odoo files are modified.
|