Dokumentit: asiakaskohtaiset kansiot

- Dokumentit-tab näyttää ensin asiakaskansioruudukon (jokainen asiakas = oma kansio)
- Klikkaamalla asiakaskansiota → avaa asiakkaan dokumenttilista
- Takaisin-nappi palaa kansionäkymään
- Asiakas-sarake poistettu dokumenttitaulusta (tarpeeton kansiossa)
- Asiakas-dropdown piilotettu dokumentin luonnissa (valitaan automaattisesti)
- Hakukenttä asiakkaiden suodatukseen kansionäkymässä
- Kansiot järjestetty: ensin eniten dokumentteja, sitten aakkosittain
- URL hash tuki: #documents/customerId

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 09:57:56 +02:00
parent de384b5cb9
commit 711193e1ce
3 changed files with 197 additions and 45 deletions

View File

@@ -686,20 +686,37 @@
<!-- Tab: Dokumentit -->
<div class="tab-content" id="tab-content-documents">
<div class="sub-tab-bar" id="doc-sub-tab-bar">
<button class="sub-tab active" data-doc-subtab="docs-all">Kaikki</button>
<button class="sub-tab" data-doc-subtab="docs-kokoukset">Kokoukset</button>
</div>
<div class="main-container">
<!-- Listanäkymä -->
<div id="docs-list-view">
<!-- Asiakaskansionäkymä -->
<div id="docs-customer-folders-view">
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:0.5rem;">
<h3 style="color:var(--primary-dark);margin:0;" id="docs-list-title">📄 Dokumentit</h3>
<h3 style="color:var(--primary-dark);margin:0;">📁 Dokumentit — Asiakaskansiot</h3>
<input type="text" id="doc-folder-search" placeholder="Hae asiakasta..." style="max-width:250px;">
</div>
<div id="doc-customer-folders-grid" class="laitetilat-grid"></div>
<div id="no-doc-folders" class="empty-state" style="display:none;">
<div class="empty-icon">📁</div>
<p>Ei asiakkaita joilla on dokumentteja.</p>
</div>
</div>
<!-- Asiakkaan dokumenttilista -->
<div id="docs-list-view" style="display:none;">
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:0.5rem;">
<div style="display:flex;align-items:center;gap:0.75rem;">
<button class="btn-secondary" id="btn-docs-back-to-folders">← Takaisin</button>
<h3 style="color:var(--primary-dark);margin:0;" id="docs-list-title">📄 Dokumentit</h3>
</div>
<div style="display:flex;gap:0.5rem;">
<button class="btn-primary" id="btn-new-document">+ Uusi dokumentti</button>
<button class="btn-primary" id="btn-new-meeting-note" style="display:none;">+ Uusi kokousmuistio</button>
</div>
</div>
<!-- Sub-tabit asiakkaan sisällä -->
<div class="sub-tab-bar" id="doc-sub-tab-bar">
<button class="sub-tab active" data-doc-subtab="docs-all">Kaikki</button>
<button class="sub-tab" data-doc-subtab="docs-kokoukset">Kokoukset</button>
</div>
<!-- Kansionavigointi -->
<div id="doc-folder-bar" style="display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;flex-wrap:wrap;">
<span id="doc-breadcrumbs" style="font-size:0.9rem;color:#555;"></span>
@@ -708,9 +725,6 @@
<div id="doc-folders-grid" style="display:flex;gap:0.5rem;margin-bottom:0.75rem;flex-wrap:wrap;"></div>
<div style="display:flex;gap:0.5rem;margin-bottom:1rem;flex-wrap:wrap;">
<input type="text" id="doc-search" placeholder="Hae dokumentteja..." style="flex:1;min-width:150px;">
<select id="doc-filter-customer" style="min-width:140px;">
<option value="">Kaikki asiakkaat</option>
</select>
<select id="doc-filter-category" style="min-width:120px;">
<option value="">Kaikki kategoriat</option>
<option value="sopimus">Sopimus</option>
@@ -726,7 +740,6 @@
<thead>
<tr>
<th>Otsikko</th>
<th>Asiakas</th>
<th>Kategoria</th>
<th>Versio</th>
<th>Päivitetty</th>