{{ taskTitle(t) }}
{{ getRoom(t).desc }} · {{ getRoom(t).floorName }}
{{ grp.label }}
No micro-tasks on this room yet.
{{ t.notes }}
Dubai · Room-based progress · Micro-task tracking
Showing {{ view === 'cards' ? shownTasks.length : visibleTasks.length }} of {{ visibleTasks.length }} matching · {{ rooms.length }} rooms total
{{ getRoom(t).desc }} · {{ getRoom(t).floorName }}
{{ grp.label }}
No micro-tasks on this room yet.
{{ t.notes }}
| Lvl{{ sortDir === 'asc' ? '▲' : '▼' }} | Room{{ sortDir === 'asc' ? '▲' : '▼' }} | Space{{ sortDir === 'asc' ? '▲' : '▼' }} | Status{{ sortDir === 'asc' ? '▲' : '▼' }} | Checks{{ sortDir === 'asc' ? '▲' : '▼' }} | Updated{{ sortDir === 'asc' ? '▲' : '▼' }} | ||
|---|---|---|---|---|---|---|---|
| {{ grp.header }} {{ grp.rows.length }} {{ grp.rows.length === 1 ? 'room' : 'rooms' }} | |||||||
| {{ isRowOpen(row.t.id) ? '▾' : '▸' }} | L{{ row.t.level }} · {{ row.t.zone === 0 ? 'All zones' : 'Zone ' + row.t.zone }} | {{ row.t.spaceCode }} — | {{ row.t.space }} · {{ row.t.spaceNo }} | {{ statuses[row.status].label }} | {{ row.checksDone }}/{{ row.checksTotal }} checks 🔧 {{ row.microsDone }}/{{ row.microsTotal }} | {{ fmtDate(row.t.updated) }} | |
No rooms match the current filter.
{{ allTaskRows.length ? 'No tasks match these filters' : 'No tasks yet' }}
Import a finishes schedule so rooms get finish checks.
{{ row.sn.text }}
{{ fullLabel(row.t) }} · {{ row.t.spaceCode }} · {{ row.sn.trade }} · due {{ row.sn.due }}
Nothing matches.
No download needed: copy this text and paste it into a new file (for example ecit-backup.json) in your editor, or into notes / messages. Restore with More > Restore from pasted text.
1. Data (rooms, micro-tasks, snags, notes) · {{ Math.round(bk.text.length / 1024) }} KB
2. Photos (optional, large)
{{ bk.note }}
If Copy fails, tap Show and use Select all. Paste each part into its own file. Restore any part with "Restore from pasted text".
Paste a data backup or one photo part. Repeat for each part.
{{ recRoom.spaceCode || 'no room code' }} · site record
Saving photo…
Photos are resized, stamped with date/time and room, and stored on this device. Use the backup items in the More menu to keep them.
No photos yet.
{{ sn.text }}
{{ sn.trade }} · {{ sn.code }} · due {{ sn.due }} · raised {{ fmtDT(sn.created) }} · closed {{ fmtDT(sn.closed) }}
No snags logged for this room.
{{ l.text }}
{{ fmtDT(l.ts) }}
No notes yet. Entries are timestamped.
{{ cam.count }} photo(s) taken this session
Covers the {{ visibleTasks.length }} room(s) currently shown (respects the Level / Zone / Space filters). Choose Print, then "Save as PDF".
Building report…
Room: {{ microPickerRoom ? taskTitle(microPickerRoom) : '' }}
This only affects this room. To apply to many rooms at once, use .
Apply a set of micro-tasks to many rooms at once. Nothing is applied automatically.
Micro-tasks for {{ batchForm.code }}
No micro-tasks in library yet — add some in the Micro-tasks panel first.
{{ Object.keys(batchForm.selectedMicros).length }} selected
Rooms ({{ batchRooms.length }} matched)
No rooms match the filter.
{{ batchImpact }} addition(s) — {{ Object.keys(batchForm.selectedMicros).length }} micro × {{ Object.keys(batchForm.selectedRooms).length }} rooms
Room: {{ roomPickerTask ? taskTitle(roomPickerTask) : '' }}
| Room | Description | ||
|---|---|---|---|
| {{ r.code }} | {{ r.desc }} | ||
| No matching rooms | |||
Generate one room per schedule row. Each room gets its finish codes as checks.
Schedule: {{ scheduleInfo.rooms }} rooms · {{ scheduleInfo.meta.drawing }} · {{ scheduleInfo.meta.revision }} · source: {{ scheduleInfo.source || 'none' }}
{{ finishesPreview.totalRooms }} rooms match ({{ finishesPreview.skipped }} skipped)
Global library and per-code templates (suggestions only)
No micro-tasks yet. Add one above.
Templates are suggestions that appear at the top of the picker. They do not auto-apply to any room.
{{ microSelectedCode }} · {{ shortLegend(microSelectedCode) }}
No suggestions.
Pick a code on the left.
Paste RFC 6902 JSON Patch or full rooms JSON.
{{ pendingDiff.adds.length }} additions · {{ pendingDiff.updates.length }} updates
No issues found.