Objevte sílu dynamických formulářů

Automaticky přeloženo z Deepl

Řekli jste nám, jak moc si přejete funkci pro dynamické vytváření formulářů plně přizpůsobených potřebám koncových uživatelů. Nuže, vyslyšeli jsme vás a 4D v16 R6 now otevírá nové možnosti s dynamickými formuláři! Dynamické formuláře, které jsou k dispozici jako náhled na webu 4D v16 R6, umožňují programově sestavovat formuláře v objektu nebo je načítat z textového souboru. Ale to je jen poškrábání povrchu toho, co jsme pro vás připravili…

Dynamické formuláře – příklad databáze

dynamický formulář Výhody

V dynamických formulářích je celý obsah formuláře – stránky, objekty formuláře a vlastnosti jednotlivých objektů – popsán v textovém formátu (formát JSON). Dynamické formuláře tedy mohou být uloženy v objektu nebo v souboru. Pro hladký přechod je možné mít v databázi oba typy formulářů, tj . jak běžné formuláře (uložené v binárním formátu v souboru .4DB), tak dynamické formuláře(uložené jako text kdekoli na disku).

Dynamické formuláře lze použít s kompilovanými nebo samostatnými aplikacemi. Výhodou nových formulářů oproti běžným binárním formulářům je, že je můžete upravovat pouhou aktualizací souboru JSON… bez nutnosti překompilovat aplikaci. To vám dává velkou flexibilitu při nasazení.

Použití dynamických formulářů má i další velké výhody. Už se vám stalo, že zákazník požadoval změnu písma pro všechny objekty formuláře? S dynamickými formuláři je to stejně jednoduché jako provést „Search and Replace“ v textovém souboru!

Řekněme, že nyní chcete poslat e-mailem určitý formulář svému spolupracovníkovi, stačí poslat pouze jeden textový soubor místo celého databázového balíku. Dynamické formuláře také umožňují jednoduché opakované použití formuláře v jiné aplikaci, aniž byste jej museli složitě přesouvat do jiné databáze … stačí zkopírovat/vložit jediný soubor a je hotovo!

příkazy podporující dynamické formuláře

Od nynějška byly všechny příkazy 4D, které používají název formuláře, rozšířeny tak, aby přijímaly také popis formuláře jako objekt nebo cestu k souboru:.

Příklad: „HELLO WORLD“

popis formuláře z textového souboru

Uveďme si jednoduchý příklad s pouhým textem a tlačítkem:

Hello World dialogTextový popis formuláře je následující:

{
    ... list of form parameters ...
    "pages": [  ... list of form pages ...
        null, ... page 0 ...
        {     ... page 1 ...
            "objects": {    ... list of form objects in page 1 ...

                "text": {
                    "type": "text",
                    "text": "Hello World !",
                    "left": 20, "top": 20, "width": 200, "height": 20
                },

                "button": {
                    "type": "button",
                    "text": "OK",
                    "left": 120, "top": 40, "width": 100, "height": 20
                }
            }}]
}

A zde je kód pro načtení tohoto formuláře v dialogovém okně:

DIALOG ("/RESOURCES/helloWorld.json")

Gramatika je definována pomocí schématu JSON. V dokumentaci je rovněž uveden úplný seznam atributů, které lze použít v dynamických formulářích, s podrobnostmi o tom, které atributy jsou podporovány jednotlivými objekty formulářů. Nezapomeňte, že můžete použít JSON Validate příkaz ověřit, zda je JSON v popisu formuláře v souladu se schématem JSON.

Sestavení formuláře v objektu

Nyní vytvořme tento formulář plně dynamický tak, že jej sestavíme pouze pomocí kódu!

// Build form description
$label:=New object("type"; "text"; "text"; "Hello World!";"top";20;"left";20;"width";200;"height";20)
$button :=New object("type";"button";"text";"OK";"top";40;"left";120;"width";100;"height";20)
$page :=New object("objects";New object("label";$label; "button";$button))
$form :=New object("pages";New collection(Null;$page); "windowTitle"; "My first dynamic form"; "rightMargin";20; "bottomMargin";20)

// Load the form in a dialog
$w:=Open form window($form)
DIALOG ($form)

Jak vidíte, poskytuje vám flexibilitu při vytváření formulářů podle vašich potřeb. Po zapsání formulářů do souboru nebo objektu je můžete používat stejně jako běžné formuláře.

A co úpravy formulářů?

Prozatím není k dispozici žádný jiný mechanismus pro úpravu dynamických formulářů než použití textového editoru. To však nebude trvat dlouho! Editor formulářů určený speciálně pro dynamické formuláře je na cestě. Kdy? Zůstaňte naladěni.

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.