Commit graph

14 commits

Author SHA1 Message Date
snt
813c8071d9 [I18N] website_sale_aplicoop: remove legacy week draft strings 2026-03-31 19:07:43 +02:00
snt
7e13ffef07 [FIX] website_sale_aplicoop: evitar x2 en carrito y mostrar /Kg en granel 2026-03-30 19:07:57 +02:00
snt
c345699bf4 [FIX] website_sale_aplicoop: invalidate stale carts on closed group orders 2026-03-30 17:39:15 +02:00
snt
9c14e1dc1a [FIX] website_sale_aplicoop: ensure add-to-cart on infinite scroll 2026-03-05 18:57:10 +01:00
snt
eaedf0b421 [FIX] website_sale_aplicoop: hard block out-of-stock button 2026-03-03 15:49:19 +01:00
snt
33c148e6a1 [FIX] website_sale_aplicoop: block out-of-stock add 2026-03-03 15:30:43 +01:00
snt
62a1c4e1e9 [FIX] website_sale_aplicoop: force enable cart buttons 2026-03-03 15:09:16 +01:00
snt
a9c1f1f609 [FIX] website_sale_aplicoop: align pricing and drafts 2026-02-27 19:39:25 +01:00
snt
6935d8fc83 [FIX] website_sale_aplicoop: save draft on checkout button 2026-02-27 14:58:20 +01:00
snt
92b35ccd6d [FIX] website_sale_aplicoop: step de cantidad correcto tras filtrar categoría. El JS ahora usa data-quantity-step generado por backend, evitando sobrescribir el step correcto en inputs de productos a peso/unidad. 2026-02-25 17:17:06 +01:00
snt
267059fa1b [FIX] website_sale_aplicoop: save-cart-btn listener was never attached
The save-cart-btn event listener was placed after a return statement in
_attachEventListeners(), so it was never executed. Moved it to the correct
location inside the _cartCheckoutListenersAttached block alongside the
other cart/checkout buttons (reload-cart-btn, confirm-order-btn, etc.).
2026-02-18 17:00:57 +01:00
snt
b07b7dc671 [FIX] website_sale_aplicoop: prevent grid destruction on event listener attachment
The _attachEventListeners() function was cloning the products-grid element
without its children (cloneNode(false)) to remove duplicate event listeners.
This destroyed all loaded products every time the function was called.

Solution: Use a flag (_delegationListenersAttached) to prevent adding
duplicate event listeners instead of cloning and replacing the grid node.

This fixes the issue where products would disappear ~1-2 seconds after
page load.
2026-02-18 16:53:27 +01:00
snt
9000e92324 [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature
- Add LAZY_LOADING.md with complete technical documentation (600+ lines)
- Add LAZY_LOADING_QUICK_START.md for quick reference (5 min)
- Add LAZY_LOADING_DOCS_INDEX.md as navigation guide
- Add UPGRADE_INSTRUCTIONS_v18.0.1.3.0.md with step-by-step installation
- Create DOCUMENTATION.md as main documentation index
- Update README.md with lazy loading reference
- Update docs/README.md with new docs section
- Update website_sale_aplicoop/README.md with features and changelog
- Create website_sale_aplicoop/CHANGELOG.md with version history

Lazy Loading Implementation (v18.0.1.3.0):
- Reduces initial store load from 10-20s to 500-800ms (20x faster)
- Add pagination configuration to res_config_settings
- Add _get_products_paginated() method to group_order model
- Implement AJAX endpoint for product loading
- Create 'Load More' button in website templates
- Add JavaScript listener for lazy loading behavior
- Backward compatible: can be disabled in settings

Performance Improvements:
- Initial load: 500-800ms (vs 10-20s before)
- Subsequent pages: 200-400ms via AJAX
- DOM optimization: 20 products initial vs 1000+ before
- Configurable: enable/disable and items per page

Documentation Coverage:
- Technical architecture and design
- Installation and upgrade instructions
- Configuration options and best practices
- Troubleshooting and common issues
- Performance metrics and validation
- Rollback procedures
- Future improvements roadmap
2026-02-16 18:39:39 +01:00
snt
7cff89e418 Aplicoop desde el repo de kidekoop 2026-02-11 15:32:11 +01:00