Související dokumenty
Dokumenty z knihovny související s položkou, mapované přes složku nebo metadata.
Popis widgetu relatedDocuments
Widget zobrazí v tabulce dokumenty z dokumentové knihovny, které patří k aktuální položce, a umožní je otevřít, prohlédnout a nahrát nové. Dokumenty se k položce přiřazují dvěma způsoby: podle složky (pro každou položku vlastní podsložka v knihovně) nebo podle metadat (sloupec knihovny nese klíč položky). Je to virtuální widget: soubory zůstávají v knihovně a do položky se nic neukládá. Pro obecné přílohy položky slouží pole Přílohy, pro vazbu na jiný seznam Související položky.
Přidání do formuláře
- Na kartě Widgety vyberte Související dokumenty (podtitul „Widget · knihovna dokumentů“) a přetáhněte ho do sekce, nebo klikněte na „+“.
- V inspektoru zvolte Cílová dokumentová knihovna. Nabízejí se jen dokumentové knihovny webu.
- Zvolte Režim párování souborů a doplňte jeho nastavení (viz níže).
- Vyberte zobrazené sloupce a nastavte velikost náhledů.
Dokud není vybrána knihovna, widget ve formuláři zobrazí „Widget není nakonfigurován“.
Nastavení v inspektoru
| Volba | Vlastnost | Význam | Výchozí |
|---|---|---|---|
| Cílová dokumentová knihovna | libraryId, libraryTitle | Knihovna s dokumenty. Změna knihovny vynuluje vazební sloupec, zobrazené sloupce a popisky. | nevybráno |
| Zdrojový klíč v tomto formuláři | sourceKeyField | @itemId (ID aktuální položky) nebo interní název pole formuláře. | @itemId |
| Režim párování souborů | mappingMode | folder (Složka dle ID položky) nebo metadata (Sloupec metadat). Viz Režimy párování. | folder |
| Kořenová podsložka (volitelná) | folderPathTemplate | Jen režim složky: podsložka v knihovně, pod kterou jsou složky položek, například Projekty. | prázdná |
| Vazební sloupec metadat v knihovně | foreignKeyField | Jen režim metadat: sloupec knihovny, který nese klíč položky. | nevybráno |
| Zobrazené sloupce dokumentů v tabulce | viewFields | Sloupce tabulky: standardní name (Název souboru), size (Velikost), modified (Datum úpravy), editor (Změnil) a vlastní sloupce knihovny. Sloupec name je odkaz na soubor s náhledem při najetí myší, size je formátovaná velikost. Nativní názvy FileLeafRef se berou jako name a FileSizeDisplay / File_x0020_Size jako size. Blok Dostupné sloupce (s vyhledáváním) slouží k zaškrtnutí. V bloku Zobrazené sloupce nastavíte pořadí (přetažení nebo šipky), vlastní název (columnLabels) a sloupec odeberete křížkem. | ["name", "size"] |
| Povolit tlačítko pro otevření detailu položky (DisplayForm) | allowDisplayView | Přidá ke každému dokumentu tlačítko Vlastnosti, které otevře vlastnosti dokumentu v dialogu. | ano |
| Povolit nahrávání dokumentů (Drag & Drop) | allowUpload | Zobrazí oblast pro přetažení souborů a nahrání kliknutím. | ano |
| Povolit mazání souborů | allowDelete | U každého řádku přidá tlačítko Smazat. Soubor se po potvrzení přesune do koše webu (nesmaže se trvale). Tlačítko se nezobrazuje v režimu Zobrazení, u polí jen pro čtení ani u nové položky bez ID. | ne |
| Okno náhledu dokumentu (po kliknutí): šířka, výška | previewDialogWidth, previewDialogHeight | Velikost dialogu s náhledem po kliknutí na název. Hodnota v px nebo %. Předvolby: výchozí, 80 × 80 %, 92 × 90 %, 1200 × 800 px, 1400 × 900 px. | 1100 px × 88 % |
| Povolit rychlý náhled při najetí myší (Hover) | enableHoverPreview | Při najetí na název souboru zobrazí rychlý náhled. | ano |
| Šířka a výška Hover náhledu | hoverPreviewWidth, hoverPreviewHeight | Velikost rychlého náhledu v px nebo %. Předvolby: malý 360 × 220, střední 480 × 320, velký 640 × 420, 40 × 45 %. | 360 × 220 px |
| Vlastní popisek | customLabel | Titulek widgetu. Když chybí, použije se název knihovny, jinak „Související dokumenty“. | „Související dokumenty“ |
| Šířka v sekci, Viditelné, Jen pro čtení | colSpan, defaultVisible, defaultReadOnly | Společné volby. Jen pro čtení skryje nahrávání. | 12, ano, ne |
Mazání souborů je ve výchozím stavu vypnuté; zapnete ho volbou allowDelete. Soubor se po potvrzení přesune do koše webu a seznam se obnoví. Pokud uživatel nemá v knihovně oprávnění ke smazání, SharePoint akci odmítne a widget zobrazí chybu; viz Omezení a tipy.
Režimy párování
Složka dle ID položky (folder)
Dokumenty položky leží ve složce, jejíž název je hodnota zdrojového klíče: <knihovna>/<podsložka>/<klíč>. Například pro položku s ID 42 a podsložkou Projekty je to Projekty/42. Složku při prvním nahrání widget vytvoří, existující soubor stejného názvu přepíše. Widget čte jen soubory přímo v té složce, ne v podsložkách; sloupce knihovny typu Osoba a Vyhledávání (i vícehodnotové) zobrazí jako text. Neexistující složka se zobrazí jako prázdný seznam.
Režim je nejjednodušší a nevyžaduje žádný sloupec v knihovně. Nepoužívá filtr, takže na něj nemá vliv limit 5 000 položek.
Sloupec metadat (metadata)
Dokumenty leží kdekoli v knihovně a patří k položce podle hodnoty vazebního sloupce (cizího klíče). Při nahrání widget soubor uloží do kořene knihovny a vyplní vazební sloupec: u sloupce typu vyhledávání ID položky, u textového sloupce hodnotu klíče. Typy vazebního sloupce (vyhledávání, číslo, text) se řeší stejně jako u Související položky.
Na režim metadat se vztahuje kontrola neindexovaného sloupce. Bez vybraného vazebního sloupce se při čtení dokumentů režim metadat chová jako režim složky, proto vazební sloupec vždy vyberte.
Neindexovaný vazební sloupec (limit 5 000 položek)
Jen režim metadat. Jestliže je vazební sloupec neindexovaný a knihovna má přes 5 000 položek, SharePoint by dotaz odmítl (List View Threshold). Widget proto:
- V návrháři pod výběrem vazebního sloupce zobrazí varování „Sloupec … není indexovaný“ s tlačítkem Zaindexovat sloupec, které sloupec v knihovně zaindexuje (vyžaduje oprávnění správce knihovny).
- Za běhu dotaz neodešle a ukáže chybu s žádostí o indexaci sloupce. Stejná hláška se zobrazí při chybě prahové hodnoty ze SharePointu.
Podrobnosti a doporučení jsou u Související položky, platí stejně.
Chování za běhu
- Nový: s klíčem
@itemIdpoložka ještě nemá ID, widget zobrazí „Související záznamy budou dostupné po prvním uložení položky“ a nahrávání je vypnuté. S jiným zdrojovým klíčem se dokumenty načtou, jakmile pole klíče obsahuje hodnotu. - Úprava: tabulka dokumentů, počet v záhlaví, tlačítko Obnovit, filtr a oblast pro nahrání.
- Zobrazení: stejná tabulka bez oblasti pro nahrání. Tlačítko Vlastnosti zůstane, pokud je povolené.
- Nahrání: soubory přetáhněte do oblasti „Přetáhněte soubory sem nebo klikněte pro nahrání do knihovny“, nebo na ni klikněte a vyberte je. Nahrávat lze víc souborů najednou. Soubor se ihned uloží do knihovny, nečeká se na uložení formuláře. Názvy s nepovolenými znaky (
~ " # % & * : < > ? / \ { | }) se odmítnou. Soubor stejného názvu se přepíše. - Název souboru: kliknutí otevře dokument v dialogu s náhledem. Najetí myší zobrazí rychlý náhled: u obrázků miniaturu, u Office a PDF vložený náhled, k tomu velikost, datum a autora poslední změny. U typů bez náhledu se zobrazí jen údaje. Po odjetí myši zůstane náhled otevřený ještě asi 1 s, takže do něj stihnete přejet (od 1.32.0).
- Vlastnosti: tlačítko otevře vlastnosti dokumentu (formulář položky knihovny) v dialogu. Dokument bez ID (například ve složce bez položky seznamu) má tlačítko neaktivní. Když vlastnosti v dialogu upravíte a uložíte, dialog se zavře a tabulka se obnoví.
- Filtr („Filtrovat dokumenty…“) hledá v názvu, autorovi, datu a ve vlastních sloupcích a ukazuje „Nalezeno: x z y“. Šířku sloupců měníte tažením okraje záhlaví.
- Velikost se zobrazuje čitelně (KB, MB), datum podle jazyka formuláře.
Změna velikosti rychlého náhledu: v pravém dolním rohu náhledu je úchyt. Tažením myší změníte šířku (240 px až 92 % okna) i výšku obsahu (140 px až 75 % okna); náhled se při tažení nezavře. Úchyt je dostupný i z klávesnice (Tab): šipky mění velikost o 20 px, Shift + šipka o 80 px. Dvojklik na úchyt vrátí výchozí velikost z nastavení widgetu. Zvolená velikost se pamatuje v prohlížeči (společná pro všechny dokumenty). Tlačítko Připnout / zvětšit v záhlaví náhledu otevře dokument ve velkém dialogu.
Překlady textů
Titulek (customLabel) a popisky sloupců (columnLabels, klíčem je name, size, modified, editor nebo interní název vlastního sloupce) se překládají. Bez vlastního popisku se standardní sloupce přepínají podle jazyka formuláře samy, vlastní sloupce se zobrazí interním názvem. Viz Překlady a vícejazyčnost.
Pravidla a skripty
- setVisible: zobrazí nebo skryje widget.
- setReadOnly: vypne nahrávání (oblast pro přetažení zmizí).
- Je-li zdrojovým klíčem jiné pole formuláře, widget po jeho změně dokumenty načte znovu.
Příklad konfigurace (JSON)
Režim složky:
{
"internalName": "widget_related_docs",
"customLabel": "Dokumenty projektu",
"fieldType": "relatedDocuments",
"colSpan": 12,
"defaultVisible": true,
"relatedDocumentsConfig": {
"libraryId": "00000000-0000-0000-0000-000000000000",
"libraryTitle": "Dokumenty projektů",
"mappingMode": "folder",
"sourceKeyField": "@itemId",
"folderPathTemplate": "Projekty",
"viewFields": ["name", "size", "modified", "editor"],
"columnLabels": { "name": "Soubor", "modified": "Změněno", "editor": "Upravil" },
"allowDisplayView": true,
"allowUpload": true,
"enableHoverPreview": true,
"hoverPreviewWidth": "480px",
"hoverPreviewHeight": "320px",
"previewDialogWidth": "92%",
"previewDialogHeight": "90%"
}
}
Režim metadat (jen změněné vlastnosti):
{
"relatedDocumentsConfig": {
"libraryId": "00000000-0000-0000-0000-000000000000",
"mappingMode": "metadata",
"sourceKeyField": "@itemId",
"foreignKeyField": "Projekt",
"viewFields": ["name", "modified"]
}
}
Omezení a tipy
- Mazání (
allowDelete) přesouvá soubor do koše webu. Widget předem neví, zda má uživatel právo mazat; tlačítko se proto zobrazí všem, kdo mohou formulář upravovat, a při nedostatečném oprávnění se zobrazí chyba SharePointu. Smazat lze jen soubor uvnitř nakonfigurované knihovny. - Tabulka dokumentů nemá řazení podle sloupců: pořadí určuje SharePoint. Filtr funguje.
- V režimu složky se čtou jen soubory přímo ve složce položky, ne v jejích podsložkách. Složka se vytvoří až prvním nahráním.
- V režimu složky potřebuje uživatel právo vytvářet složky a přidávat soubory, v režimu metadat právo upravit nově nahraný soubor (vyplnění vazebního sloupce).
- V režimu metadat musí vazební sloupec existovat v knihovně. Nabídka sloupců obsahuje typy text, výběr, číslo, vyhledávání a ano/ne.
- Vlastní sloupce typu Osoba a Vyhledávání (i vícehodnotové) widget načte přes
$expanda zobrazí jako text (jméno, hodnota vyhledávání, u více hodnot oddělené čárkou). Výběr sloupců v inspektoru nabízí i tyto typy a datum. Nelze-li přečíst metadata sloupců knihovny, dotaz proběhne bez rozbalení. Auditní sloupce (Vytvořil, Změnil, Vytvořeno, Změněno, ID, Přílohy) jsou v nabídce na konci pod oddělovačem „Systémové sloupce“. - Náhled Office a PDF využívá vložený prohlížeč SharePointu. Pro jiné typy souborů (například archivy) vložený náhled není, zobrazí se jen údaje a dokument se otevře dialogem.
- Soubory se nahrávají ihned, i když formulář následně zavřete bez uložení.