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.

KdeCo obsahuje
Tlačítko stylu (například Dialog · 960 px) otevře okno Styl zobrazení a chování formulářeTyp 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 JSONVšechna nastavení jako text.
Otevřené okno Styl zobrazení a chování formuláře se všemi částmi: Typ rozložení, Typografie a vzhled polí, přepínače Tisk a Ladicí režim a Po uložení formuláře

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.

HodnotaVolba v návrhářiChování
dialog (výchozí)Centrovaný dialog (Karta)Karta uprostřed stránky o šířce nejvýše dialogMaxWidth.
panelPostranní 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á).
fullPlná šíř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.

{ "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.

{ "displayLayout": "full", "fullWidthMarginHorizontal": 48 }

Pozice popisků labelPosition

Kde stojí popisek vzhledem k poli.

HodnotaVolba v návrhářiChování
top (výchozí)Nahoře nad polem (výchozí)Popisek je nad vstupem.
leftVlevo vedle polePopisek je vlevo od vstupu. Vhodné pro široké formuláře.
{ "labelPosition": "left" }

Hustota formuláře formDensity

Velikost ovládacích prvků a mezery mezi poli.

HodnotaVolba v návrhářiChování
normal (výchozí)Standardní (výchozí)Běžné ovládací prvky a rozestupy.
compactKompaktní (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.

HodnotaVolba v návrhářiChová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é.
noneSkryté (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.

{ "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
enabledZapí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, showPrintZobrazení 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, settingsLabelVlastní 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).

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.

VolbaCo dělá
newInDialogNa 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“.
editInDialogPro 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.
hideDefaultNewSkryje 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í.
hideDefaultEditSkryje 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 sloupceFormátCo vznikne v SharePointu
Volba, více voleb, textŠtítekBarevný štítek podle hodnoty (třídy sp-field-severity--*), volitelná ikona.
Číslo, měnaUkazatelPruh s výplní podle maxima (pevné číslo nebo jiný sloupec řádku), volitelně hodnota s jednotkou.
DatumTermínZvý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)OsobaFotka 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:

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.

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ářiVýznam
actionAkce 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.
messagePotvrzovací hláška po uloženíText, který uživatel uvidí po uložení. Lze použít zástupné znaky [Pole].
redirectUrlCí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.
{
  "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
allowedEditorRolemanageWeb (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.
allowedEditorGroupPř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, configReadGuestsKdo 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, passwordHintZá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
  }
}
Okno Zabezpečení a přístup ke konfiguraci: volba role, název skupiny, stav zámku úložiště s přepínači čtení a část pro heslo

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
defaultLocaleVýchozí jazyk formuláře (výchozí cs). V něm jsou texty zapsané přímo v konfiguraci.
enabledLocalesJazyky nabízené uživateli (cs, en, de, sk).
showLanguageSwitcherZobrazit přepínač jazyka. Zobrazí se i bez toho, má-li formulář víc než jeden povolený jazyk.
translationsPř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
enabledZapnuto (výchozí true). Vypnuté nebo chybějící vlastní rozložení znamená, že režim používá společné rozložení.
tabsZáložky režimu (alespoň jedna). Nahrazují společné záložky.
displayLayout, dialogMaxWidth, fullWidthMarginHorizontalPř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).