Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: Task-Dashboard Migration Investigation
description: Investigation report for completing the task-dashboard migration from AngularJS to Angular
---

# Task-Dashboard Migration Investigation

**Date:** January 19, 2026
**Investigator:** Husainuddin Mohammed, 223380186
**Branch:** investigate/task-dashboard-migration
**Location:** Teams Thoth Tech group → OnTrack in main channels → OnTrack Planner Board (top) → Filter by 'Frontend - Angular/Tailwind/Typescript' tag → Task: 'T3 2025: Investigate partial migration - task-dashboard.coffee'

---

## Summary

The task-dashboard has already been migrated to Angular, but the old AngularJS files are still there and being used in some places. We need to finish the cleanup.

---

## What's Done ✅

- TaskDashboardComponent (Angular) - fully working
- All 7 child card components migrated
- Components registered in Angular module
- Already being used successfully in `inbox.component.html`

---

## What's Left ❌

### Old files that need to be deleted:
- `task-dashboard.coffee`
- `task-dashboard.tpl.html`
- `task-dashboard.scss`
- `student-task-list.coffee`
- `student-task-list.tpl.html`
- `student-task-list.scss`
- `dashboard.coffee`
- `dashboard.tpl.html`
- `directives.coffee`

### Files that need updating:
- `dashboard.tpl.html` - still uses `<task-dashboard>` instead of `<f-task-dashboard>`
- `doubtfire-angularjs.module.ts` - still imports the old .coffee files
- `README.md` - migration checklist needs updating

---

## Current Usage

**Old way (AngularJS):**
```html
<task-dashboard task="taskData.selectedTask">
</task-dashboard>
```

**New way (Angular - already working):**
```html
<f-task-dashboard [task]="taskData.selectedTask">
</f-task-dashboard>
```

---

## Key Findings

1. Migration is mostly done - just cleanup needed
2. The Angular components work fine (proven in inbox)
3. Main blocker: dashboard.tpl.html still uses old tags
4. Low risk - just need to update template and delete old files

---

## Next Steps

1. Create a PR plan for how to complete this
2. Update dashboard.tpl.html to use Angular components
3. Migrate the dashboard state fully
4. Delete old files
5. Update README

---

## Notes

- All the hard work is already done
- This is just finishing what someone started
- Should be straightforward
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
---
title: Task-Dashboard Migration PR Plan
description: Detailed plan for completing the task-dashboard migration in 5 separate PRs
---

# Task-Dashboard Migration - PR Plan

**Created:** January 19, 2026
**Created by:** Husainuddin Mohammed, 223380186
**Based on:** Investigation findings
**Location:** Teams Thoth Tech group → OnTrack in main channels → OnTrack Planner Board (top) → Filter by 'Frontend - Angular/Tailwind/Typescript' tag → Task: 'T3 2025: Investigate partial migration - task-dashboard.coffee'

---

## Overview

This plan breaks down the task-dashboard migration completion into 5 separate PRs. Each PR is small, testable, and can be reviewed independently.

---

## PR 1: Investigation & Documentation

**Branch:** `investigate/task-dashboard-migration` ✅ (CURRENT)
**Dependencies:** None
**Status:** Complete

**What:**
- Document current state
- Create investigation report
- Create this PR plan

**Files:**
- `task-dashboard-investigation.md`
- `task-dashboard-pr-plan.md`

**Changes:** Documentation only, no code changes

---

## PR 2: Update dashboard template to use Angular components

**Branch:** `migrate/dashboard-angular-components`
**Dependencies:** None (can start after PR 1)
**Status:** Not Started

**What:**
Update the AngularJS template to use new Angular component tags

**Changes:**
- `dashboard.tpl.html`:
- Change `<task-dashboard>` to `<f-task-dashboard>`
- Change `<student-task-list>` to `<f-student-task-list>`
- Change `<progress-dashboard>` to `<f-progress-dashboard>`

**Testing:**
- Load dashboard and verify it works
- Select different tasks
- Check all cards display correctly

---

## PR 3: Migrate dashboard state to Angular

**Branch:** `migrate/dashboard-state`
**Dependencies:** ⚠️ Requires PR 2 merged
**Status:** Not Started

**What:**
Fully migrate the dashboard state from AngularJS to Angular routing

**Changes:**
- Update `doubtfire.states.ts` - register Angular dashboard route
- Remove old AngularJS state registration
- Verify `project-dashboard.component.ts` handles routing

**Testing:**
- Navigate to dashboard from different routes
- Direct URL navigation
- Browser back/forward buttons
- Page refresh while on dashboard

---

## PR 4: Delete old AngularJS files

**Branch:** `cleanup/remove-old-dashboard-files`
**Dependencies:** ⚠️ Requires PR 3 merged
**Status:** Not Started

**What:**
Remove all old AngularJS files that are no longer needed

**Files to delete:**
- `task-dashboard.coffee`
- `task-dashboard.tpl.html`
- `task-dashboard.scss`
- `student-task-list.coffee`
- `student-task-list.tpl.html`
- `student-task-list.scss`
- `dashboard.coffee`
- `dashboard.tpl.html`
- `directives.coffee`

**Files to update:**
- `doubtfire-angularjs.module.ts` - remove imports of deleted files

**Testing:**
- Full dashboard regression test
- Check console for errors
- Verify build succeeds

---

## PR 5: Update README

**Branch:** `docs/update-migration-checklist`
**Dependencies:** ⚠️ Requires PR 4 merged
**Status:** Not Started

**What:**
Update README migration progress

**Changes to README.md:**
- Change `- [ ]` to `- [x]` for:
- `dashboard.coffee`
- `directives.coffee`
- `task-dashboard.coffee`

---

## Timeline

```
PR 1 (Docs) → Can merge immediately
PR 2 (Template) → Can start after PR 1
PR 3 (State) → Needs PR 2 merged first
PR 4 (Cleanup) → Needs PR 3 merged first
PR 5 (README) → Needs PR 4 merged first
```

---

## Testing Checklist (for each PR)

- [ ] Dashboard loads without errors
- [ ] Can select tasks
- [ ] All cards display correctly
- [ ] Navigation works
- [ ] Browser console clean
- [ ] Build succeeds

---

## Notes

- Each PR is small and reversible
- Low risk approach
- Can stop at any point if issues arise
- Most work already done by previous developer