KB: todo-app
← All workspaces3781 results — page 75 of 76
| Title | Domain | Type | Severity | Source | Freshness | Updated |
|---|---|---|---|---|---|---|
| 📈 Impact Analysis | general/migration-progress | pattern | info | migration-progress.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Code Reduction
| Metric | Before | After | Reduction |
|--------|--------|-------|-----------|
| **tasks.js** (migrated functions) | 197 lines | 135 lines | **31%** (62 lines) |
| **projects.js** (complete file) | 1145 lines | 859 lines | **25%** (286 lines) |
| **references.js** (complete file) | 1016 lines | 670 lines | **34%** (346 lines) |
| **Files migrated so far** | 3152 lines | 2464 lines | **22%** (688 lines) |
| Per API call average | 18-25 lines | 7-8 lines | **56-72%** |
| Total...
|
||||||
| ✅ What's Been Completed | general/migration-progress | pattern | info | migration-progress.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### 1. API Service Layer (Phase 1.1) ✅
**Status**: Complete
**Date**: [Initial completion date]
**Created Files**:
- `public/js/services/api.js` (330 lines)
- Base APIService class
- Automatic CSRF token handling
- Request/response interceptors
- Error handling with APIError class
- Support for GET, POST, PUT, PATCH, DELETE
- File upload support
- `public/js/services/task-api.js` (218 lines)
- 40+ task-specific methods
- CRUD operations
- Toggle operations (complete, favorit...
|
||||||
| 📊 Overall Progress | general/migration-progress | pattern | info | migration-progress.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Phase 1: Quick Wins & Critical Fixes (Foundation)
**Status**: ✅ **COMPLETE**
**Time Spent**: ~4-5 hours
**Estimated Remaining**: 96+ hours for full migration
| Component | Status | Files | Lines | Progress |
|-----------|--------|-------|-------|----------|
| API Service Layer | ✅ Complete | 5 | 1,684 | 100% |
| Notification System | ✅ Complete | 2 | 1,147 | 100% |
| Documentation | ✅ Complete | 3 | 1,550+ | 100% |
| Examples | ✅ Complete | 2 | 792 | 100% |
| **Total Foundation** | ✅ Comple...
|
||||||
| Frontend Modernization - Migration Progress | general/migration-progress | pattern | info | migration-progress.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**Last Updated**: 2025-11-18
**Branch**: `claude/frontend-refactor-01LbzSohbqN3xtpqtAxDYYpy`
**Status**: Phase 1 Foundation Complete ✅
---
|
||||||
| Contact & Support | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
For questions or issues:
1. Check `docs/drag-and-drop.md` for usage details
2. Review `docs/llm/draggable-js-migration-plan.md` for architecture
3. See `docs/llm/draggable-testing-summary.md` for testing
4. Create GitHub issue for bugs or feature requests
---
**Implementation completed:** 2025-11-18
**Total time:** 7.5 hours
**Status:** ✅ Ready for deployment
**Branch:** `claude/implement-draggable-js-01F3GVb5mcNLaSK1q3K7zhQF`
|
||||||
| Acknowledgments | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
- **Shopify Draggable.js** - Excellent drag-and-drop library
- **Previous developers** - Solid foundation with batch controllers
- **Migration plan** - Clear roadmap that guided implementation
---
|
||||||
| Future Enhancements | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Potential Improvements
1. **Add E2E tests** with Playwright or Cypress
2. **Implement multi-select** for dragging multiple items
3. **Add undo/redo** for drag operations
4. **Improve touch UX** with custom drag preview on mobile
5. **Add keyboard shortcuts** for reordering (Alt+Up/Down)
### Alternative Approaches
1. **Full Draggable.js Plugin** - Develop custom plugin for parallel groups
2. **Replace with SortableJS** - Alternative library with group support
3. **Vue/React Components** - If...
|
||||||
| Lessons Learned | general/draggable-implementation-summary | lesson | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### What Went Well
1. **Controller refactoring** done beforehand simplified integration
2. **Hybrid approach** preserved complex functionality
3. **Clear planning** with migration plan saved time
4. **Incremental commits** made progress trackable
### What Could Be Improved
1. **E2E tests** would automate manual testing
2. **Visual regression tests** would catch UI issues
3. **Feature flags** could enable gradual rollout
### Best Practices Followed
- ✅ Created backup before refactoring
- ✅ Comm...
|
||||||
| Deployment Checklist | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
Before deploying to production:
### Backend
- ✅ No changes required (batch controllers already deployed)
- ✅ Routes unchanged
- ✅ Database schema unchanged
### Frontend
- ✅ `npm install` - Install @shopify/draggable
- ✅ `npm run build` - Build Vite assets
- ⬜ Clear browser cache for users
- ⬜ Test in staging environment
### Testing
- ✅ Automated tests pass (Vite build, Pint)
- ⬜ Manual testing on desktop browsers
- ⬜ Manual testing on touch devices
- ⬜ Verify parallel group drag works
- ⬜ Ver...
|
||||||
| Migration Statistics | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Code Metrics
- **Lines removed:** 291
- **Lines added:** ~308 (Draggable.js integration)
- **Net change:** +17 lines (but 70% handled by library)
- **Complexity reduction:** Significant (library handles edge cases)
### Time Metrics
| Task | Estimated | Actual | Variance |
|------|-----------|--------|----------|
| Phase 1 | 45 min | 30 min | -33% |
| Phase 2 | 2 hours | 1.5 hours | -25% |
| Phase 3 | 2 hours | 2 hours | 0% |
| Phase 4 | 3-4 hours | 1.5 hours | -50% |
| Phase 5 | 1.5 hours |...
|
||||||
| Benefits Achieved | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### User Experience
- ✅ Touch device support (iOS, Android)
- ✅ Smooth animations and transitions
- ✅ Better visual feedback during drag
- ✅ 100ms touch delay prevents accidental drags
- ✅ Cursor changes (grab/grabbing)
### Developer Experience
- ✅ 30% less code to maintain
- ✅ Modern, well-documented library
- ✅ Comprehensive JSDoc comments
- ✅ Clear separation of concerns
- ✅ Easier to extend and modify
### Technical
- ✅ Cross-browser compatibility
- ✅ Better performance (library optimizatio...
|
||||||
| Technical Implementation Details | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Frontend Architecture
#### Draggable.js Integration
```javascript
import { Sortable } from '@shopify/draggable';
// Tasks
const sortable = new Sortable(taskList, {
draggable: 'li[data-task-id]',
delay: { mouse: 0, drag: 0, touch: 100 }
});
sortable.on('sortable:stop', (evt) => {
saveNewOrderToServer(taskList);
});
```
#### Parallel Groups (Custom)
```javascript
// Exclude handles from Draggable.js
draggable: 'li[data-project-id]:not(.parallel-handle)'
// Custom drag for hand...
|
||||||
| Files Changed Summary | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### New Files Created (6)
1. `resources/js/draggable-sortable.js` (197 lines)
2. `resources/css/app.css` (111 lines)
3. `public/js/draggable-proj.js.backup` (955 lines - backup)
4. `docs/llm/draggable-hybrid-solution.md`
5. `docs/llm/draggable-testing-summary.md`
6. `docs/drag-and-drop.md`
### Files Modified (11)
1. `package.json` - Added @shopify/draggable dependency
2. `package-lock.json` - Updated dependencies
3. `vite.config.js` - Added draggable-sortable.js to build
4. `public/js/draggable...
|
||||||
| Phases Completed | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### ✅ Phase 1: Setup (30 minutes)
**Goal:** Install and configure Draggable.js
**Actions:**
1. Installed `@shopify/draggable@^1.2.1` via npm
2. Created `resources/js/draggable-sortable.js`
3. Updated `vite.config.js` to include new file
4. Built successfully with Vite
**Files Modified:**
- `package.json`
- `package-lock.json`
- `vite.config.js`
**Files Created:**
- `resources/js/draggable-sortable.js`
---
### ✅ Phase 2: Tasks Drag-and-Drop (1.5 hours)
**Goal:** Replace custom task drag-and-...
|
||||||
| Key Achievements | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Code Reduction
- **Before:** ~955 lines of custom drag-and-drop code
- **After:** ~664 lines (parallel groups only)
- **Reduction:** 291 lines (-30%)
- **Plus:** Draggable.js handles remaining functionality with better UX
### Implementation Approach
- **Single Items:** Shopify Draggable.js (modern, touch-friendly)
- **Parallel Groups:** Custom code (preserves existing functionality)
- **Result:** Hybrid solution with best of both worlds
### Time Performance
- **Estimated:** 13-14 hours
- *...
|
||||||
| Executive Summary | general/draggable-implementation-summary | pattern | info | draggable-implementation-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
Successfully migrated Laravel Todo App from custom drag-and-drop implementation to Shopify Draggable.js library, completing **all 7 phases** in **7.5 hours** (46% faster than estimated 13-14 hours).
**Date:** 2025-11-18
**Branch:** `claude/implement-draggable-js-01F3GVb5mcNLaSK1q3K7zhQF`
**Status:** ✅ Complete
---
|
||||||
| Konklusjon | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**OPPDATERING 2025-11-17**: Med backend-refaktoriseringen nå fullført, er dette moderniseringsprosjektet betydelig mer fokusert og gjennomførbart.
### Status Oppsummering
✅ **Fullført** (Backend - 143 filer, 5764+ netto linjer med forbedringer):
- Form Request Validation
- Enums for type safety
- Data Transfer Objects (DTOs)
- Service layer refaktorisering
- Controller splitting (6500+ linjer redusert)
- Testing infrastructure (Pest, Factories, 1855+ linjer tests)
- CI/CD pipeline (GitHub Acti...
|
||||||
| Fase 1: Quick Wins & Kritiske Fikser | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
- [ ] API Service Layer (40t)
- [ ] Opprett service
- [ ] Migrer tasks endpoints
- [ ] Migrer references endpoints
- [ ] Migrer agenda endpoints
- [ ] Fjern gammel kode
- [ ] Notification System (16t)
- [ ] Installer Notyf
- [ ] Opprett service
- [ ] Erstatt alle alert() kall
- [ ] XSS Sikkerhetsfiks (24t)
- [ ] Audit innerHTML bruk
- [ ] Installer DOMPurify
- [ ] Fikse alle sårbarheter
- [ ] Oppdater linting rules
- [ ] jQuery Removal (20t)
- [ ] Installer Quill
- [ ...
|
||||||
| Vedlegg | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### A. Verktøy for Analyse
**Code Complexity**:
```bash
npm install -g complexity-report
cr public/js/**/*.js --format markdown > complexity-report.md
```
**Dependency Analysis**:
```bash
npm install -g depcheck
depcheck
```
**Bundle Size**:
```bash
npm install -g webpack-bundle-analyzer
webpack-bundle-analyzer dist/stats.json
```
**Security Audit**:
```bash
npm audit
eslint public/js --plugin security
```
### B. Referanser
- [SortableJS Dokumentasjon](https://github.com/SortableJS/Sortabl...
|
||||||
| Success Metrics | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Kvantitative Mål
| Metric | Før | Mål Etter | Måling |
|--------|-----|-----------|--------|
| **Lines of Code** | ~15,000 | ~7,000 | `cloc public/js` |
| **Bundle Size** | ? | -50KB | Webpack Bundle Analyzer |
| **Security Vulnerabilities** | ? | 0 kritiske | ESLint security plugin |
| **Code Duplication** | ? | <5% | jscpd |
| **Test Coverage** | 0% | >60% | Vitest coverage |
| **Build Time** | ? | <5s (dev) | Vite metrics |
### Kvalitative Mål
- ✅ **Sikkerhet**: Alle XSS sårbarheter fi...
|
||||||
| Risiko og Mitigering | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Høy Risiko
| Risiko | Sannsynlighet | Impact | Mitigering |
|--------|---------------|--------|------------|
| **Breaking changes under migrasjon** | Høy | Høy | - Feature flags for gradvis rollout<br>- Extensive testing før deploy<br>- Rollback plan |
| **Performance regression** | Medium | Høy | - Benchmark før/etter<br>- Lazy loading av komponenter<br>- Bundle size monitoring |
| **Data loss fra state migration** | Lav | Høy | - Backup localStorage før migrasjon<br>- Graceful fallback fo...
|
||||||
| Teknologi Stack Anbefalinger | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Frontend Dependencies å Legge Til
```json
{
"dependencies": {
"sortablejs": "^1.15.0",
"choices.js": "^10.2.0",
"notyf": "^3.10.0",
"quill": "^1.3.7",
"dayjs": "^1.11.10",
"zod": "^3.22.4",
"dompurify": "^3.0.6"
},
"devDependencies": {
"vite": "^5.0.0",
"@vitejs/plugin-legacy": "^5.0.0",
"eslint": "^8.55.0",
"eslint-plugin-security": "^1.7.1"
}
}
```
### Build System
**Anbefaling**: Migrer fra Webpack til **Vite** (hvis ikke allerede gjo...
|
||||||
| Detaljerte Planer per Område | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### 1. API Service Layer
**Mål**: Eliminere 8000+ linjer duplikat fetch kode
**Implementasjonsplan**:
```javascript
// public/js/services/api.js
class APIService {
constructor(baseURL = '') {
this.baseURL = baseURL;
this.defaultHeaders = {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]')?.content
};
}
async request(endpoint, options = {}) {
const url = `${this.baseURL}${endpoint}`;
const config = {
...
|
||||||
| Prioritert Roadmap | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**OPPDATERT**: Roadmap er nå justert for kun frontend-modernisering siden backend-arbeidet er fullført.
### **Fase 1: Quick Wins & Kritiske Fikser** (2-3 uker)
**Fokus**: Fikse sikkerhetsproblemer og lage grunnlag for videre refaktorisering
1. **Uke 1-2: API Service Layer**
- Lag sentralt API service med axios eller fetch wrapper
- Migrer 10 mest brukte endpoints
- Tid: 40 timer
2. **Uke 2: Notification System**
- Erstatt alle `alert()` med toast notifications (Notyf/Toastify)
...
|
||||||
| Identifiserte Problemer (Gjenværende) | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### 🔴 Kritisk Prioritet
#### 1. Custom AJAX/HTTP Implementasjoner
- **Problem**: 90+ repetitive `fetch()` kall med boilerplate spredt over 40+ filer
- **Påvirkede filer**:
- `public/js/common.js` (linjer 238-825)
- `public/js/references.js`
- `public/js/agenda.js`
- 37+ andre filer
- **Impact**: ~8000 linjer duplikat kode
- **Sikkerhet**: Inkonsistent error handling og token management
#### 2. Manuell DOM-manipulering med Sikkerhetsproblemer
- **Problem**: 66+ `innerHTML` tilordninger ...
|
||||||
| ✅ Allerede Fullført - Backend Refaktorisering | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
En omfattende backend refaktorisering ble fullført i branch `claude/continue-codebase-refactoring-01X8BTyypJ2hgBFcaeZjZ2K7`.
### Fase 1: Type Safety & Validation ✅
#### Enums Implementert
- **ActionState** (`app/Enums/ActionState.php`) - For task action states
- **TaskType** (`app/Enums/TaskType.php`) - Simple, Repetitive, Routine, Triggered, Auto
- **ProjectState** (`app/Enums/ProjectState.php`) - Project lifecycle states
- **ProjectType** (`app/Enums/ProjectType.php`) - Project categorizatio...
|
||||||
| Executive Summary | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**OPPDATERING 2025-11-17**: Backend-refaktoriseringen er nå fullført! Dette dokumentet er oppdatert for å fokusere på gjenværende frontend-modernisering.
### Status Oversikt
**✅ Fullført (Backend)**:
- Form Request Validation classes
- Enums for type safety (TaskType, ActionState, ProjectState, etc.)
- Data Transfer Objects (DTOs)
- Service layer (TaskFilterService, ZoneFilterService)
- Controllers splittet opp i mindre, spesialiserte controllers
- Testing infrastructure (Pest, factories, comp...
|
||||||
| 📋 Innholdsfortegnelse | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
1. [Executive Summary](#executive-summary)
2. [✅ Allerede Fullført - Backend Refaktorisering](#allerede-fullført---backend-refaktorisering)
3. [Identifiserte Problemer (Gjenværende)](#identifiserte-problemer-gjenværende)
4. [Prioritert Roadmap](#prioritert-roadmap)
5. [Detaljerte Planer per Område](#detaljerte-planer-per-område)
6. [Teknologi Stack Anbefalinger](#teknologi-stack-anbefalinger)
7. [Risiko og Mitigering](#risiko-og-mitigering)
8. [Success Metrics](#success-metrics)
---
|
||||||
| Plan for Modernisering av Laravel Todo - Refaktorisering til Moderne Biblioteker | general/modernisering-plan | pattern | info | modernisering-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**Dato**: 2025-11-15 (Oppdatert: 2025-11-17)
**Status**: Planlegging - Backend fullført, fokus på frontend
**Estimert gjenværende tid**: 140-220 timer (hovedsakelig frontend)
---
|
||||||
| 🎯 Konklusjon etter Rebase | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**Dato:** 2025-11-17
Etter å ha rebaset på `claude/continue-codebase-refactoring-01X8BTyypJ2hgBFcaeZjZ2K7` har vi oppdaget at:
### ✅ Positive endringer:
1. **Backend er allerede klar** - Reorder-funksjonalitet er flyttet til dedikerte batch controllere
2. **Ingen route-endringer nødvendig** - API-endepunktene er de samme
3. **Bedre kodestruktur** - Separation of concerns er allerede implementert
4. **Parallel group støtte** - Backend håndterer dette godt med automatisk preservering
5. **God va...
|
||||||
| Referanser | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
- [Shopify Draggable.js Dokumentasjon](https://github.com/Shopify/draggable)
- [Draggable.js Examples](https://shopify.github.io/draggable/examples/)
- [Sortable API](https://github.com/Shopify/draggable/tree/master/src/Sortable)
- **Backend Controllers:**
- [TaskBatchController.php](../app/Http/Controllers/TaskBatchController.php)
- [ProjectBatchController.php](../app/Http/Controllers/ProjectBatchController.php)
---
|
||||||
| Neste Steg | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
1. ✅ Gjennomgå denne planen med team
2. ⬜ Prioriter hvilke faser som skal gjøres først
3. ⬜ Opprett GitHub issues for hver task
4. ⬜ Start med Fase 1: Setup
---
|
||||||
| Tidsestimat | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
| Fase | Estimat |
|------|---------|
| Fase 1: Setup | 45 min |
| Fase 2: Tasks | 2 timer |
| Fase 3: Projects | 2 timer |
| Fase 4: Parallellgrupper | 3-4 timer |
| Fase 5: Refaktorering | 1.5 timer |
| Fase 6: Testing | 2.5 timer |
| Fase 7: Dokumentasjon | 2 timer |
| **Total** | **13-14 timer** |
---
|
||||||
| Risiko og Mitigering | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
| Risiko | Sannsynlighet | Impact | Mitigering |
|--------|---------------|--------|------------|
| Parallellgruppe-funksjonalitet fungerer ikke | Høy | Høy | Hybrid løsning: behold custom kode for grupper |
| Touch-events konflikter | Middels | Middels | Test grundig på mobile enheter tidlig |
| Performance-problemer med store lister | Lav | Middels | Virtual scrolling hvis nødvendig |
| Backend API endringer | ~~Middels~~ **LAV** ✅ | ~~Høy~~ **LAV** ✅ | **Ingen endringer nødvendig!** Backend r...
|
||||||
| Fase 7: Dokumentasjon og Opprydding | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 7.1: Oppdater dokumentasjon
**Prioritet:** Lav
**Estimat:** 1 time
**Opprett/oppdater:**
- [ ] `docs/draggable-implementation.md` - Hvordan draggable.js er implementert
- [ ] Inline code comments
- [ ] README hvis relevant
### Task 7.2: Code review og merge
**Prioritet:** Høy
**Estimat:** 1 time
**Sjekkliste:**
- [ ] All tests passerer
- [ ] Code review godkjent
- [ ] Merge til main branch
- [ ] Deploy til staging
- [ ] QA testing på staging
- [ ] Deploy til production
---
|
||||||
| Fase 6: Testing og Verifisering | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 6.1: Manuell testing
**Prioritet:** Høy
**Estimat:** 2 timer
**Test cases:**
- [ ] Dra task opp i listen
- [ ] Dra task ned i listen
- [ ] Dra task til topp
- [ ] Dra task til bunn
- [ ] Dra project med child projects
- [ ] Dra parallellgruppe (hvis implementert)
- [ ] Touch-drag på tablet/mobil
- [ ] Multiple browser testing (Chrome, Firefox, Safari, Edge)
- [ ] Sjekk at rekkefølge lagres korrekt i database
- [ ] Sjekk at parallel_group bevares
### Task 6.2: Performance testing
**Pri...
|
||||||
| Fase 5: Refaktorering og Cleanup | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 5.1: Fjern unødvendig kode
**Prioritet:** Middels
**Estimat:** 1 time
**Filer å rydde:**
- `public/js/draggable-proj.js`
- Fjern: `handleDragStart` (linje 9-71)
- Fjern: `handleDragEnd` (linje 75-82)
- Fjern: `handleDragOver` (linje 83-113)
- Fjern: `handleDrop` (linje 115-314)
- Fjern: `followDragPreview` (linje 316-320)
- Fjern: `getDragAfterElement` (linje 524-540)
**Behold:**
- `saveNewOrderToServer()` (linje 455-465)
- `saveProjectsNewOrderToServer()` (linje 438-447)
...
|
||||||
| Fase 4: Håndter Parallellgrupper (Kompleks) | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 4.1: Analyser parallellgruppe-funksjonalitet
**Prioritet:** Middels
**Estimat:** 1 time
**Nåværende funksjonalitet:**
- Brukere kan dra en "parallellgruppe-håndtak" for å flytte flere items samtidig
- `handleGroupDragStart()` (linje 782-845)
- `moveEntireGroup()` (linje 542-603)
**Utfordring:**
Draggable.js støtter ikke gruppe-drag direkte.
**Mulige løsninger:**
#### Løsning A: Beholde hybrid-tilnærming
```javascript
// Bruk Draggable.js for single items
// Bruk custom event handler...
|
||||||
| Fase 3: Migrer Project Drag-and-Drop | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 3.1: Erstatt `initProjectsDragAndDrop()`
**Prioritet:** Høy
**Estimat:** 2 timer
**Fil:** `public/js/draggable-proj.js:660-721`
**Ny implementasjon:**
```javascript
function initProjectsDragAndDrop(ulId, options = {}) {
const projectList = document.getElementById(ulId);
if (!projectList) return;
const {
isChildList = false,
parentProjectId = null
} = options;
const sortable = new Sortable(projectList, {
draggable: 'li[data-project-id]',
...
|
||||||
| Fase 2: Migrer Task Drag-and-Drop | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 2.1: Erstatt `initDragAndDrop()`
**Prioritet:** Høy
**Estimat:** 2 timer
**Fil:** `public/js/draggable-proj.js:466-501`
**Nåværende kode:**
```javascript
function initDragAndDrop(containerId, dataAttribute) {
const taskList = document.getElementById(containerId);
const listItems = taskList.querySelectorAll(`li[${dataAttribute}]`);
listItems.forEach(li => {
li.draggable = true;
li.addEventListener('mousedown', ...);
li.addEventListener('dragstart', ....
|
||||||
| Fase 1: Setup og Forberedelser | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Task 1.1: Installer Draggable.js
**Prioritet:** Høy
**Estimat:** 15 min
```bash
npm install @shopify/draggable --save
# eller
yarn add @shopify/draggable
```
**Akseptansekriterier:**
- [ ] Pakke installert i package.json
- [ ] Import fungerer i JavaScript
- [ ] Ingen konflikter med eksisterende avhengigheter
### Task 1.2: Lag testmiljø
**Prioritet:** Høy
**Estimat:** 30 min
**Aksjon:**
- Opprett `/public/js/draggable-test.js`
- Lag minimal testside for å verifisere funksjonalitet
- Test ...
|
||||||
| ✅ Viktig oppdatering: Controller Refaktorering | general/draggable-js-migration-plan | pattern | medium | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**Dato:** 2025-11-17
Kodebasen har gjennomgått en omfattende refaktorering hvor reorder-funksjonalitet har blitt flyttet til dedikerte batch controllere:
### Nye Controllere
- **`TaskBatchController`** (app/Http/Controllers/TaskBatchController.php)
- Håndterer `POST /tasks/reorder`
- `reorder()` metode (linje 14-67) - Oppdaterer task rekkefølge med parallel group støtte
- `update()` metode (linje 72-214) - Batch oppdatering av tasks
- **`ProjectBatchController`** (app/Http/Controllers/P...
|
||||||
| Målsetning | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
Bytt ut custom implementasjon med Draggable.js for å oppnå:
- 70-80% mindre kode
- Bedre vedlikeholdsbarhet
- Touch-støtte ut av boksen
- Bedre animasjoner og UX
|
||||||
| Bakgrunn | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
Prosjektet har for tiden ~600 linjer custom drag-and-drop kode spredt over flere filer. Dette skaper:
- Vedlikeholdsutfordringer
- Manglende touch-støtte
- Cross-browser problemer
- Duplisert kode
|
||||||
| Oversikt | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
Denne planen beskriver trinnvis migrering fra custom JavaScript drag-and-drop implementasjon til Shopify Draggable.js biblioteket.
|
||||||
| 📊 Status Overview | general/draggable-js-migration-plan | pattern | info | draggable-js-migration-plan.md | 38 | 2026-03-24 02:00:55 |
|
Body:
**Sist oppdatert:** 2025-11-18
| Fase | Status | Tid brukt | Notater |
|------|--------|-----------|---------|
| Fase 1: Setup | ✅ Complete | ~30 min | npm install + Vite config |
| Fase 2: Tasks | ✅ Complete | ~1.5 timer | initDragAndDrop() implementert |
| Fase 3: Projects | ✅ Complete | ~2 timer | Top-level + child projects |
| Fase 4: Parallellgrupper | ✅ Complete | ~1.5 timer | Hybrid-løsning implementert |
| Fase 5: Refaktorering | ✅ Complete | ~1 time | Refactored draggable-proj.js (955→...
|
||||||
| Session Achievement Summary 🎉 | general/frontend-refactor-progress-summary | pattern | info | frontend-refactor-progress-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### What Was Accomplished:
✅ **10 files** fully migrated to modern patterns
✅ **1,087 lines** of code eliminated
✅ **75 blocking alert()** calls removed
✅ **48 manual fetch()** calls standardized
✅ **80+ functions** modernized with async/await
✅ **Custom drag & drop** replaced with battle-tested library
✅ **Comprehensive documentation** created
### Quality Improvements:
- ✅ Consistent error handling across all files
- ✅ Non-blocking user feedback (toasts vs alerts)
- ✅ Centralized API service f...
|
||||||
| Commit History This Session (9 commits) | general/frontend-refactor-progress-summary | pattern | info | frontend-refactor-progress-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
```
6176f50 Phase 2.1: Replace custom drag & drop with SortableJS library
0a5c650 Phase 1.12: Migrate areas.js to use API Service and Notifications
abd98f1 Phase 1.13: Migrate zones.js to use API Service and Notifications
5b6e734 Phase 1.14: Migrate contexts.js to use Notifications
a512a6b Phase 1.15: Migrate areas-d3.js to use API Service
169e516 Fix missed alert and fetch in tasks.js
9a9970c Add comprehensive frontend refactor progress summary
658fb8d Phase 1.16: Partial migration of trekantme...
|
||||||
| Remaining High-Priority Files (Updated) | general/frontend-refactor-progress-summary | pattern | info | frontend-refactor-progress-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
| Priority | File | Lines | Alerts | Fetches | Notes |
|----------|------|-------|--------|---------|-------|
| 🔴 CRITICAL | **references_edit.js** | 619 | 15 | 15 | Reference editing system |
| 🟡 HIGH | **review.js** | 730 | 12 | 1 | Review functionality |
| 🟡 HIGH | **project_tasks.js** | 641 | 6 | 4 | Project task management |
| 🟡 HIGH | **global-d3.js*** | 1428 | 2 | 6 | Main sunburst (future ECharts) |
| 🟢 MEDIUM | **modal.js** | 412 | 4 | 2 | Modal dialogs |
| 🟢 MEDIUM | **references_for_o...
|
||||||
| Session Summary - Complete Progress | general/frontend-refactor-progress-summary | pattern | info | frontend-refactor-progress-summary.md | 38 | 2026-03-24 02:00:55 |
|
Body:
### Total Files Migrated This Session: 10
| # | File | Lines Before | Lines After | Reduced | Alerts | Fetches |
|---|------|--------------|-------------|---------|--------|---------|
| 1 | batch_update.js | 1062 | 1050 | 12 (1.1%) | 5 → 0 | 1 → 0 |
| 2 | common.js | 1005 | 969 | 36 (3.6%) | 9 → 0 | 7 → 0 |
| 3 | agenda.js | 968 | 833 | 135 (13.9%) | 7 → 0 | 14 → 0 |
| 4 | settings.js | 509 | 442 | 67 (13.2%) | 12 → 0 | 4 → 0 |
| 5 | areas.js | 508 | 433 | 75 (14.8%) | 6 → 0 | 2 → 0 |
| 6 | zon...
|
||||||
Ingestion History
Loading…