Дмитрий
|
f9820460fa
|
feat(pdd): regions multi-select autocomplete + bitmask binding
Реализует Out-of-plan «Region multi-select autocomplete» из parent PDD spec.
Spec: 4f60add. Plan: 159ed3e.
Component (ProjectDetailsDrawer.vue):
- import REGIONS из constants/regions
- selectedRegions: Ref<number[]> + selectableRegions (filter code !== 0
для исключения «Вся РФ» sentinel — fixes latent NewProjectDialog bug)
- maskToCodes(mask): reverse-decompose bits 1..31
- reseedFromProject: +selectedRegions.value = maskToCodes(form.region_mask)
- watch(selectedRegions): forward-encode mask + mode (include при empty, exclude иначе)
- Template: v-autocomplete multi+chips+clearable между Лимитом и Днями
Tests (ProjectDetailsDrawer.spec.ts): 17 passed (14 prior + 3 new):
- renders region chips when project has non-zero region_mask
- selecting regions encodes mask + sets mode=exclude on save
- clearing all regions resets mask=0 + mode=include on save
NB: config.global.plugins = [createVuetify()] добавлен в spec.ts — v-autocomplete
требует Vuetify defaults provide context. Все 17 PDD tests + 8/1sk ProjectsView
integration green (0 regressions).
Backend без изменений (region_mask + region_mode payload уже в Task 5 onSave).
|
2026-05-14 17:51:56 +03:00 |
|
Дмитрий
|
ae6a370b06
|
feat(pdd): Delete button with confirm + archive + close
|
2026-05-14 14:54:55 +03:00 |
|
Дмитрий
|
8aca5b1ba9
|
feat(pdd): Pause/Resume button with toggleActive + dynamic label
|
2026-05-14 14:48:24 +03:00 |
|
Дмитрий
|
86b18fc396
|
feat(pdd): Save action — PATCH /api/projects/{id} + 422 errors
|
2026-05-14 14:41:28 +03:00 |
|
Дмитрий
|
f47ace40f4
|
feat(pdd): reseed form on project.id change
|
2026-05-14 14:35:54 +03:00 |
|
Дмитрий
|
66d0d48adf
|
feat(pdd): emit close on X/Cancel/ESC
|
2026-05-14 14:28:49 +03:00 |
|
Дмитрий
|
fa01951d27
|
feat(pdd): render project name/limit/days form fields
|
2026-05-14 14:21:07 +03:00 |
|
Дмитрий
|
7d77187eb3
|
test(pdd): scaffold ProjectDetailsDrawer + null-project no-open test
|
2026-05-14 14:13:52 +03:00 |
|