Files
MyClub/DOCS/ELEMENTOR_REORDER_FEATURE.md
T
Tomáš Dvořák 12cba639b9 upload
2025-10-16 13:32:05 +02:00

234 lines
5.4 KiB
Markdown

# 🎯 Elementor: Reorder & Move Elements
## New Feature: Element Reordering
You can now **move elements up and down** to customize the order they appear on your homepage!
## 🚀 How to Reorder Elements
### Method 1: Using Move Buttons in Popup
1. **Click any element** in edit mode
2. **See position indicator**: "Position X of Y"
3. **Click ↑ button** to move element up
4. **Click ↓ button** to move element down
5. Element **moves instantly** (live preview!)
6. **Click Save** to persist order
### Method 2: Using Header Controls
1. **Click any element**
2. **Look at popup header** (blue bar)
3. **Click ↑ or ↓** arrows next to trash icon
4. Element position updates
5. Save to persist
## 📍 Position Indicator
```
┌────────────────────────────────┐
│ 🔧 GALLERY ↑ ↓ 🗑️ [X]│
├────────────────────────────────┤
│ 📍 Position 3 of 8 ↑ ↓ │ ← New!
├────────────────────────────────┤
│ Choose Style │
│ ... │
```
## 💡 Example Workflow
### Goal: Move Gallery Above News
**Current Order**:
1. Header
2. Hero
3. News
4. Gallery ← Want this higher
5. Matches
**Steps**:
1. Click "Gallery" element
2. See "Position 4 of 5"
3. Click ↑ button
4. Gallery now at position 3
5. Click ↑ again
6. Gallery now at position 2
7. Click Save
8. ✅ Done!
**New Order**:
1. Header
2. Gallery ← Moved up!
3. Hero
4. News
5. Matches
## 🎨 Visual Improvements
### Enhanced Animations
- **Smoother transitions**: Cubic-bezier easing
- **Scale effects**: Buttons scale on hover/click
- **Better shadows**: Depth perception
- **Slide-in popup**: Smoother entry animation
### Better Button Feedback
- **Hover**: Lift + scale effect
- **Click**: Press down effect
- **Disabled**: Grayed out when can't move
- **Tooltips**: Clear action labels
### Position Awareness
- **Up button disabled** at position 1
- **Down button disabled** at last position
- **Position counter** shows current placement
- **Total count** shows how many elements
## 🔧 Technical Details
### Display Order
```typescript
// Elements stored with display_order field
interface PageElementConfig {
...
display_order: number // 0, 1, 2, 3, etc.
}
// Loaded in order
const sorted = configs.sort((a, b) => a.display_order - b.display_order);
```
### Move Functions
```typescript
// Move up: Swap with previous
const handleMoveUp = (elementName) => {
const index = order.indexOf(elementName);
[order[index-1], order[index]] = [order[index], order[index-1]];
setOrder(order);
};
// Move down: Swap with next
const handleMoveDown = (elementName) => {
const index = order.indexOf(elementName);
[order[index], order[index+1]] = [order[index+1], order[index]];
setOrder(order);
};
```
### Live Preview
```typescript
// Dispatch reorder event
window.dispatchEvent(new CustomEvent('elementor-reorder', {
detail: { order: newOrder }
}));
// Components listen and re-render in new order
useEffect(() => {
window.addEventListener('elementor-reorder', handleReorder);
}, []);
```
## 📊 UI Enhancements
### Before
```
┌──────────────────┐
│ 🔧 GALLERY [X] │
├──────────────────┤
│ Choose Style │
│ [Grid] [Masonry] │
```
### After
```
┌──────────────────────┐
│ 🔧 GALLERY ↑↓🗑️[X] │ ← Move controls
├──────────────────────┤
│ 📍 Position 3/8 ↑↓ │ ← Position info
├──────────────────────┤
│ Choose Style │
│ [Grid] [Masonry] │ ← Better animations
```
## 🎁 Benefits
### For Users
- ✅ Full control over element order
- ✅ See position changes instantly
- ✅ Clear visual feedback
- ✅ Can't make mistakes (disabled buttons)
- ✅ Undo-friendly (just move back)
### For Developers
- ✅ Clean state management
- ✅ Event-driven reordering
- ✅ Database-persisted order
- ✅ Live preview support
- ✅ Easy to extend
## 🎨 Animation Improvements
### Popup Entry
```css
/* Before: Simple fade */
from { opacity: 0 }
to { opacity: 1 }
/* After: Slide + scale */
from {
opacity: 0;
transform: translateY(-20px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
```
### Button Hover
```css
/* Before: Simple lift */
transform: translateY(-2px)
/* After: Lift + scale */
transform: translateY(-4px) scale(1.02)
box-shadow: lg
```
### Button Click
```css
/* New: Press down effect */
transform: translateY(-2px) scale(0.98)
```
## 🔥 Pro Tips
### Quick Reordering
1. Open element popup
2. Use ↑↓ buttons repeatedly
3. Watch position counter
4. Save when happy
### Planning Layout
1. Sketch desired order on paper
2. Open each element
3. Move to correct position
4. Save once at end
### Common Patterns
- **Hero first**: Eye-catching start
- **News early**: Fresh content up top
- **Gallery middle**: Visual break
- **Sponsors end**: Footer area
## ✅ Summary
**You can now**:
- ↑ Move elements up
- ↓ Move elements down
- 📍 See current position
- 👁️ Preview changes live
- 💾 Save new order
- 🎨 Enjoy smoother animations
**Complete control over your homepage layout!** 🎨🚀