Nastavení formuláře
Globální nastavení formuláře: zobrazení, vzhled, chování po uložení, zabezpečení a vícejazyčnost.
Kde se nastavení mění
Nastavení celého formuláře (na rozdíl od nastavení jednotlivých polí) je v horní liště návrháře, vpravo.
| Kde | Co obsahuje |
|---|---|
| Tlačítko stylu (například Dialog · 960 px) otevře okno Styl zobrazení a chování formuláře | Typ zobrazení, šířka, popisky, hustota, indikátor povinnosti, Tisk, ladicí režim a chování po uložení. |
| Tlačítko Zabezpečení (po zapnutí zámku Zámek editoru aktivní) | Kdo smí otevřít nastavení, zámek úložiště, politika skriptů a heslo editoru. |
| Karta Překlady (i18n) | Jazyky a překlady textů. |
| Karta Rozvržení, tlačítka Nový, Editace, Zobrazení | Vlastní rozložení režimu. |
| Karta JSON | Všechna nastavení jako text. |
Barvy a písmo formuláře se řídí motivem webu SharePoint, včetně tmavého režimu. Nelze je v nastavení formuláře přepsat. Barvy záložek a sekcí se nastavují v rozložení.
Všechna nastavení jsou volitelná. Co v konfiguraci chybí, má výchozí hodnotu uvedenou níže. Nastavení se ukládá spolu s celou konfigurací tlačítkem Uložit formulář.
Nastavení formuláře
Způsob zobrazení (dialog, panel, celá stránka) displayLayout
Určuje, jak se formulář vykreslí, když se otevře jako samostatná stránka formuláře. V návrháři ho zvolíte v poli Typ rozložení v SharePointu.
| Hodnota | Volba v návrháři | Chování |
|---|---|---|
dialog (výchozí) | Centrovaný dialog (Karta) | Karta uprostřed stránky o šířce nejvýše dialogMaxWidth. |
panel | Postranní panel (Zprava) | Panel vyjíždí zprava, šířka je pevných 640 px. Kliknutí na pozadí formulář zavře (při neuložených změnách se zeptá). |
full | Plná šířka (Full width) | Formulář vyplní stránku. Okraje určuje fullWidthMarginHorizontal. |
Když SharePoint otevře formulář ve vlastním panelu nebo dialogu seznamu (například Nový z pohledu seznamu), vyplní formulář tento panel a displayLayout se neuplatní. Nastavení platí pro samostatnou stránku (NewForm.aspx, EditForm.aspx, DispForm.aspx, SPListForm.aspx).
Tlačítko stylu ukazuje aktuální volbu (Dialog · 960 px, Panel · 640 px, Plná šířka). V režimu s vlastním rozložením se mění jen nastavení tohoto režimu, viz modeLayouts.
{ "displayLayout": "panel" }
Maximální šířka dialogu dialogMaxWidth
Největší šířka karty v pixelech při displayLayout: "dialog". Pole Maximální šířka dialogu (px) se zobrazí jen pro typ Dialog.
- Výchozí hodnota 960. Návrhář hodnotu při opuštění pole omezí na rozsah 480 až 2560.
- Na užším okně je karta užší než nastavení (zmenšuje se s oknem).
{ "displayLayout": "dialog", "dialogMaxWidth": 1200 }
Vodorovné okraje na celou šířku fullWidthMarginHorizontal
Okraj zleva a zprava v pixelech při displayLayout: "full". Pole Okraj zleva a zprava (px) se zobrazí jen pro Plnou šířku.
- Výchozí hodnota 24. Návrhář hodnotu omezí na 0 až 300.
{ "displayLayout": "full", "fullWidthMarginHorizontal": 48 }
Pozice popisků labelPosition
Kde stojí popisek vzhledem k poli.
| Hodnota | Volba v návrháři | Chování |
|---|---|---|
top (výchozí) | Nahoře nad polem (výchozí) | Popisek je nad vstupem. |
left | Vlevo vedle pole | Popisek je vlevo od vstupu. Vhodné pro široké formuláře. |
{ "labelPosition": "left" }
Hustota formuláře formDensity
Velikost ovládacích prvků a mezery mezi poli.
| Hodnota | Volba v návrháři | Chování |
|---|---|---|
normal (výchozí) | Standardní (výchozí) | Běžné ovládací prvky a rozestupy. |
compact | Kompaktní (menší rozestupy) | Menší prvky, těsnější rozestupy a nižší víceřádkové pole. Vhodné pro formuláře s mnoha poli. |
{ "formDensity": "compact" }
Indikátor povinnosti requiredIndicator
Jak se u pole označí, že je povinné. Označení se zobrazuje jen u polí, která jsou právě viditelná, povinná a ne jen pro čtení, takže reaguje i na pravidla.
| Hodnota | Volba v návrháři | Chování |
|---|---|---|
asterisk (výchozí) | Hvězdička (*) – výchozí | Červená hvězdička u popisku. |
badge | Štítek (Povinné) | Za popiskem se zobrazí štítek Povinné. |
none | Skryté (bez označení) | Bez označení. Povinnost se projeví až chybou při uložení. |
{ "requiredIndicator": "badge" }
Tlačítko Tisk showPrintButton
Zobrazí na liště formuláře tlačítko Tisk, které otevře tiskový dialog prohlížeče.
- Výchozí hodnota zapnuto: tlačítko je vidět, dokud nenastavíte
false. V návrháři ho vypíná přepínač Zobrazit tlačítko Tisk na liště formuláře. - Při tisku se skryje lišta s tlačítky. Vytisknou se všechny viditelné záložky pod sebou a sbalené sekce se rozbalí. Záložky, sekce a pole skryté pravidly se nevytisknou. Upozornění na nenačtená pole se tiskne, aby prázdná pole nevypadala jako prázdné hodnoty. Jazyk je aktuální jazyk formuláře.
- Nastavení platí i v SPFx formuláři a doplňuje
commandBarConfig.showPrint: tlačítko se zobrazí jen tehdy, když ho nevypíná ani jedno z nich. V náhledu návrháře tlačítko Tisk není (vytisklo by celý návrhář).
{ "showPrintButton": false }
Příkazová lišta commandBarConfig
Horní lišta formuláře (Fluent v9 Toolbar) sdružuje tlačítka Zpět, Upravit, Uložit, Zrušit, Tisk, vlastní tlačítka s umístěním Lišta formuláře a pro správce seznamu Nastavení formuláře. Od 1.18.0 ji nastavíte v kartě Lišta a tlačítka (s živým náhledem); v okně Styl zobrazení a chování formuláře zůstal jen odkaz na tuto kartu.
Vzhled (od 1.17.1, styl SharePointu): Zpět není tlačítko lišty, ale drobečková navigace nad ní ve tvaru Název seznamu › Název položky. Název seznamu je odkaz, který provede akci Zpět; název položky se bere z pole Title (v novém záznamu se zobrazí „Nová položka“, dlouhé názvy se zkrátí třemi tečkami). Lišta pod ní je jeden řádek tlačítek stejné výšky (32 px) s ikonou a textem: jediné vyplněné tlačítko je hlavní akce (Upravit v zobrazení, Uložit v úpravách a novém záznamu), Zrušit je nenápadné. Svislý oddělovač odděluje systémové akce od vlastních tlačítek, která mají stejnou velikost a ikonu blesku; vzhled primary zůstává vyplněný, subtle nenápadný a secondary/outline mají obrys. Tisk a Nastavení formuláře jsou vpravo. Na úzké obrazovce se tlačítka zalamují na další řádek.
| Klíč | Význam |
|---|---|
enabled | Zapíná lištu (výchozí zapnuto). Při vypnutí zmizí akce formuláře, ale Nastavení formuláře a Zpět zůstanou dostupné, aby se konfigurace dala vždy opravit. Totéž platí, když se formulář kvůli chybě nevykreslí: správce vidí tlačítka Nastavení formuláře a Zpět nad chybovým hlášením. |
showBack, showEdit, showSave, showCancel, showPrint | Zobrazení jednotlivých tlačítek (výchozí zapnuto). Tlačítka se zobrazí jen v režimech, kde dávají smysl (Upravit v zobrazení, Uložit a Zrušit v úpravách a novém záznamu). |
backLabel, editLabel, saveLabel, cancelLabel, printLabel, settingsLabel | Vlastní popisky tlačítek. Prázdné = výchozí přeložený text. Během ukládání se vždy zobrazí „Ukládání…“ i při vlastním popisku saveLabel. Překlady do dalších jazyků zadáte v kartě Překlady (řádky commandBarConfig.*Label, ukládají se do i18nConfig.translations[jazyk].commandBar). |
{ "commandBarConfig": { "enabled": true, "showPrint": false, "saveLabel": "Odeslat" } }
Tlačítka a akce seznamu listActions
Umožňuje přidat vlastní tlačítka přímo do lišty seznamu (Command Bar, označení „Lišta seznamu“) a do kontextového menu položek (až 10 slotů v edici Pro; 1 tlačítko v horní liště v edici Community). Každá akce definuje umístění (commandBar, contextMenu, both), podmínku výběru (none, single, multiple), volitelnou datovou podmínku viditelnosti v edici Pro (např. item.Status === 'New'), volitelné potvrzení a typ akce (updateItem, openForm, print, openUrl, triggerFlow, runScript).
Akce se upravují ve vlastní záložce návrháře Akce seznamu (do verze 1.26 byly na konci záložky Lišta a tlačítka). Je-li zapnuté potvrzení, lze vedle titulku a textu dialogu nastavit i text potvrzovacího tlačítka (confirmation.confirmLabel) a tlačítka Zrušit (confirmation.cancelLabel); prázdná pole znamenají výchozí texty „Spustit“ a „Zrušit“ v jazyce formuláře. Všechny texty potvrzení lze přeložit v záložce Překlady.
Po uložení konfigurace v návrháři otevřeném z lišty seznamu se stránka po jeho zavření automaticky znovu načte, aby se změněné akce projevily na liště i v kontextovém menu.
Akce openForm a print otevírají formulář ve vlastním dialogu. V titulku je název vybrané položky (sloupec Title, jinak název akce), dialog se zavírá křížkem v titulku nebo tlačítky Zavřít/Uložit formuláře (od 1.32.0).
updateValues(akceupdateItem): od verze 1.37.0 se hodnoty zadávají graficky – řádky pole + hodnota, vstup hodnoty podle typu pole (volba, ano/ne, číslo, datum, osoba, text) jako v editoru pravidel. Výběr Token… vloží@today/@now(aktuální čas),@me(jméno přihlášeného uživatele),@meId(jeho ID) nebo zástupce{Title}/{ID}; obecně{Pole}doplní hodnotu sloupce každé vybrané položky (sloupec musí být ve výpisu). Tokeny nerozlišují velikost písmen (@Today,@Me). Přepínač JSON ukáže původní textový zápis; hodnoty, které mřížka neumí zobrazit (objekty, pole), se upravují jen v JSON. Uložený formátupdateValuesje stejný jako dřív.triggerFlowFields: pro akcitriggerFlowurčuje seznam interních názvů polí, která se mají kromě povinnéhoIDposlat v těle HTTP požadavku do Power Automate. Ve výchozím stavu se posílá pouzeID(a volitelněTitle).- Povolené hostitele pro
triggerFlow: adresa webhooku musí používathttps://a doménu Power Automate / Azure Logic Apps (*.logic.azure.com,*.powerplatform.com,*.api.powerplatform.com).
Konfigurace formuláře (včetně adresy webhooku s parametrem sig=) je v čistě klientském SPFx uložena v souboru přístupném čtenářům seznamu. Flow proto nesmí věřit datům z prohlížeče a musí si položku vždy znovu načíst ze SharePointu podle ID a ověřit její stav i oprávnění.
Otevírání formuláře v dialogu listViewDialog
SharePoint u vlastních formulářů (Form Customizer) ignoruje nastavení panelu (chyba Microsoftu sp-dev-docs#10996), takže Nový a Upravit ze seznamu otevírají celou stránku formuláře. Od verze 1.32.0 lze v záložce návrháře Akce seznamu (sekce Otevírání formuláře v dialogu) zapnout vlastní příkazy, které formulář otevřou v dialogu nad seznamem. Až Microsoft chybu opraví, přejdeme na nativní panel.
| Volba | Co dělá |
|---|---|
newInDialog | Na liště seznamu přibude tlačítko Nový (jen pro uživatele s právem přidávat položky). Otevře nový formulář (výchozí typ obsahu, aktuální složka) v dialogu s titulkem „Nová položka“. |
editInDialog | Pro právě jednu vybranou položku přibudou na liště i v kontextovém menu příkazy Otevřít v dialogu a Upravit v dialogu (úprava jen s právem upravovat). Titulek dialogu je název položky. |
hideDefaultNew | Skryje vestavěné tlačítko Nový přes formátování zobrazení (commandBarProps, příkaz new) ve všech veřejných zobrazeních. Stávající formátování zobrazení zůstane; do hiddenNewViewIds se zapíší zobrazení, kam jsme položku přidali, a při vypnutí se odebere jen ta. Změna zobrazení se zapíše hned po přepnutí. |
hideDefaultEdit | Skryje vestavěný příkaz Upravit (otevře editační formulář vybrané položky; klíč edit, Rychlé úpravy v mřížce zůstanou) stejným způsobem jako Nový; vlastní zobrazení se evidují v hiddenEditViewIds. Zapněte spolu s editInDialog, jinak z výpisu nepůjde položku upravit. |
Po uložení formuláře v dialogu se dialog zavře a výpis seznamu se obnoví (není-li obnovení k dispozici, stránka se znovu načte).
Omezení: dialog načítá v iframe celou stránku formuláře, proto je pomalejší než nativní panel. Klik na název položky ve výpisu dál otevírá stránku (zachycení kliknutí není součástí této verze). Skrýt vestavěné Nový lze jen u seznamu vyřazeného z offline synchronizace (Microsoft Lists sync): u seznamu dostupného offline se příkazy formuláře nemusí načíst a Nový by chyběl úplně. Návrhář v takovém případě přepínač zakáže a ukáže důvod; vyřazení z offline synchronizace nabízí varování na téže záložce.
Formát sloupců v pohledech seznamu listColumnFormatting
Od verze 1.37.0 lze v záložce návrháře Akce seznamu (sekce Formát sloupců v pohledech seznamu) nastavit vizuální formát sloupců i pro běžná zobrazení SharePoint seznamu. Editor je stejný jako u Souvisejících položek (štítky, ukazatel, termín, osoba). FormCraft formát zkompiluje do nativního formátování sloupce SharePointu (JSON ve vlastnosti sloupce CustomFormatter), takže funguje v každém zobrazení, v mobilní aplikaci i se synchronizací Microsoft Lists, a to i bez načteného FormCraftu.
| Typ sloupce | Formát | Co vznikne v SharePointu |
|---|---|---|
| Volba, více voleb, text | Štítek | Barevný štítek podle hodnoty (třídy sp-field-severity--*), volitelná ikona. |
| Číslo, měna | Ukazatel | Pruh s výplní podle maxima (pevné číslo nebo jiný sloupec řádku), volitelně hodnota s jednotkou. |
| Datum | Termín | Zvýraznění prošlého termínu a varování X dní předem (podle @now); stav z jiného sloupce může varování potlačit. |
| Osoba (jedna) | Osoba | Fotka a jméno, volitelně odkaz na e-mail. |
U každého sloupce s formátem návrhář ukáže stav formátování v SharePointu (Bez formátování, Formát FormCraftu, Změněno mimo FormCraft, Vlastní formátování), náhled, generovaný i aktuální JSON a akce:
- Použít na sloupec v SharePointu – zapíše JSON hned (vyžaduje oprávnění Spravovat seznamy). Má-li sloupec formátování, které nevytvořil FormCraft, nebo bylo náš JSON mezitím změněno, zápis vyžaduje potvrzení a cizí formátování se nejdřív uloží jako záloha do konfigurace.
- Obnovit výchozí – odebere formátování sloupce (prázdný
CustomFormatter). - Obnovit původní – vrátí zálohované formátování, které bylo na sloupci před prvním zápisem FormCraftu.
Pravidlo, hash zapsaného JSON (podle něj se poznají změny mimo FormCraft) a záloha se ukládají do listColumnFormatting v konfiguraci formuláře – po zápisu formulář uložte. Funkce vyžaduje licenci Pro; bez ní je sekce jen informativní.
Omezení: texty v JSON (např. „Po termínu“) jsou statické ve výchozím jazyce formuláře. Zapisuje se na sloupec konkrétního seznamu, ne na sloupec webu ani typ obsahu. Vzhled náhledu v návrháři se od vykreslení v SharePointu mírně liší; ověřte výsledek v seznamu. Při importu konfigurace na jiné prostředí se formát nepoužije sám – otevřete sekci a zapište ho znovu.
Ladicí režim debugMode
Do konzole prohlížeče (F12) vypisuje, jak se vyhodnocují pravidla, skripty a vynucené hodnoty a které pole se kdy stalo „změněným“. Hodí se při hledání, proč pravidlo nefunguje.
- Výchozí hodnota vypnuto. V návrháři přepínač Ladicí režim (debug) pravidel a skriptů.
- Bez uložení konfigurace ho zapnete i parametrem
?fcdebug=1v adrese formuláře, nebo v konzoli příkazemlocalStorage["fc.debug"] = "1". - Výpisy začínají předponou
[FC debug]. Zapnutý režim navíc počítá překreslení komponent v objektuwindow.__fcRenderCounts.
Ladicí režim vypisuje hodnoty polí do konzole a mírně zpomaluje formulář. Po vyřešení potíží ho vypněte.
{ "debugMode": true }
Chování po uložení afterSaveConfig
Co se stane po úspěšném uložení položky.
| Klíč | Volba v návrháři | Význam |
|---|---|---|
action | Akce po úspěšném uložení | close (výchozí): formulář se zavře a vrátí se na seznam. stay: formulář zůstane otevřený. redirect: přesměruje na adresu redirectUrl. |
message | Potvrzovací hláška po uložení | Text, který uživatel uvidí po uložení. Lze použít zástupné znaky [Pole]. |
redirectUrl | Cílová URL pro přesměrování | Jen pro redirect. Zástupné znaky [ID] (ID uložené položky) a [Pole]. Hodnoty polí za znakem ? nebo # se kódují (&, # a mezery tak nerozbijí adresu). Výsledek musí být http, https nebo relativní cesta; jinak se přesměrování zablokuje (varování v konzoli) a formulář se zavře jako při akci close. |
- Zástupné znaky:
[Title]se nahradí hodnotou pole, u osoby nebo lookupu jejím jménem. Neexistující pole se nahradí prázdným textem. - Zavřít a Přesměrovat: je-li nastavena hláška, zobrazí se zeleným pruhem Uloženo nad formulářem (ne jako okno prohlížeče). Formulář se zavře, resp. přesměruje po krátké prodlevě (asi 1,5 s) nebo hned po kliknutí na Pokračovat v pruhu. Bez hlášky se zavře či přesměruje okamžitě. Při přesměrování bez zadané adresy se chová jako zavření.
- Zůstat: hláška se zobrazí zeleným pruhem Uloženo nad formulářem. Bez vlastní hlášky se použije Záznam byl úspěšně uložen. Nový záznam se při dalším uložení neduplikuje, ukládá se do už vytvořené položky.
{
"afterSaveConfig": {
"action": "redirect",
"message": "Požadavek [Title] byl uložen.",
"redirectUrl": "/sites/portal/SitePages/Dekujeme.aspx?id=[ID]"
}
}
Zabezpečení konfigurace securityConfig
Kdo smí otevřít návrháře a zda je editor chráněný heslem. Podrobný popis včetně postupů je na stránce Zabezpečení konfigurace, oprávnění v SharePointu popisuje Správa: Oprávnění.
| Klíč | Význam |
|---|---|
allowedEditorRole | manageWeb (výchozí pro nové formuláře): tlačítko Nastavení formuláře vidí jen vlastníci webu. group: vlastníci webu a členové skupiny allowedEditorGroup. Starší hodnota manageLists se chová jako manageWeb. |
allowedEditorGroup | Přesný název skupiny SharePointu pro roli group. Nesmí to být skupina Členové, Návštěvníci ani skupina zahrnující všechny uživatele. |
configReadAllUsers, configReadGuests | Kdo smí číst zamčené úložiště konfigurace: celá organizace a externí uživatelé (hosté). Výchozí je obojí povoleno. Jinak uvidí uživatel formulář bez vlastní konfigurace. |
passwordHash, passwordSalt, passwordHint | Zámek editoru: heslo se ukládá jen jako otisk (PBKDF2). Heslo má alespoň 3 znaky a můžete k němu uložit nápovědu. |
Zámek editoru není bezpečnostní hranice. Brání jen nechtěné úpravě formuláře, neomezuje přístup k datům ani ke konfiguračnímu souboru.
Změnu zámku editoru nebo role oprávněných editorů nelze uložit, dokud je editor zamčený a neodemčený heslem.
{
"securityConfig": {
"allowedEditorRole": "group",
"allowedEditorGroup": "Správci formulářů",
"configReadAllUsers": true,
"configReadGuests": false
}
}
Vícejazyčnost a překlady i18nConfig
Výchozí a povolené jazyky, přepínač jazyka a překlady textů konfigurace. Spravuje se na kartě Překlady (i18n), podrobně na stránce Překlady a vícejazyčnost.
| Klíč | Význam |
|---|---|
defaultLocale | Výchozí jazyk formuláře (výchozí cs). V něm jsou texty zapsané přímo v konfiguraci. |
enabledLocales | Jazyky nabízené uživateli (cs, en, de, sk). |
showLanguageSwitcher | Zobrazit přepínač jazyka. Zobrazí se i bez toho, má-li formulář víc než jeden povolený jazyk. |
translations | Překlady podle jazyka: názvy záložek a sekcí, popisky, nápovědy, hlášky, texty widgetů a tlačítek. |
{
"i18nConfig": {
"defaultLocale": "cs",
"enabledLocales": ["cs", "en"],
"showLanguageSwitcher": true,
"translations": {
"en": {
"formTitle": "Order",
"fields": { "Status": { "customLabel": "Status" } }
}
}
}
}
Rozložení podle režimu formuláře modeLayouts
Vlastní rozložení pro režim new, edit nebo display. Pro každý režim lze nastavit:
| Klíč | Význam |
|---|---|
enabled | Zapnuto (výchozí true). Vypnuté nebo chybějící vlastní rozložení znamená, že režim používá společné rozložení. |
tabs | Záložky režimu (alespoň jedna). Nahrazují společné záložky. |
displayLayout, dialogMaxWidth, fullWidthMarginHorizontal | Přepis typu zobrazení a rozměrů jen pro tento režim. Co není uvedeno, platí ze společného nastavení. |
Postup vytvoření a zrušení vlastního rozložení je na stránce Rozložení formuláře. Pravidla, skripty, tlačítka, překlady a zabezpečení jsou společné pro všechny režimy.
{
"modeLayouts": {
"display": {
"enabled": true,
"displayLayout": "full",
"tabs": [
{
"id": "tab-prehled",
"title": "Přehled",
"sections": [
{ "id": "sec-prehled", "title": "Souhrn", "columns": 2, "fields": [
{ "internalName": "Title", "fieldType": "text", "defaultReadOnly": true }
] }
]
}
]
}
}
}
AI asistent aiAssistant
Volitelná konfigurace AI asistenta v builderu. Vlastnost relatedSources je seznam seznamů a knihoven, ve kterých asistent hledá související položky. Každý zdroj má listId a kind (list nebo documentLibrary). Vlastnost mode (modify nebo new) je výchozí režim záložky. Obě vlastnosti nastavuje tlačítko Uložit jako výchozí na kartě AI asistent. Starší konfigurace tyto vlastnosti nemají a fungují beze změny. Používání asistenta vyžaduje licenci Pro (Licence).