4D pro iOS: Vlastní vstupní ovládací prvky

Automaticky přeloženo z Deepl

Vlastní formátovače dosud umožňovaly přiřazovat text nebo obrázky k obsahu pole, například nahrazovat true/false obrázkem nebo 1, 2 textovými popisky. 4D v19 R3 umožňuje vytvářet akční vstupní ovládací prvky dostupné z akčních formulářů, jako je například vytvoření výběrového seznamu s předdefinovaným textem. A co víc, tento seznam lze dynamicky naplnit pomocí datového zdroje, například seznamu zaměstnavatelů. Pojďme se ponořit do podrobností!

PŘIPOMENUTÍ VLASTNÍCH FORMÁTOVAČŮ

Vlastní formátovače umožňují pracovat s výčty pomocí jednoduchého souboru JSON a zobrazovat odpovídající hodnoty v závislosti na hodnotách z databáze.

Zde je příklad souboru manifest.json :

{
    "name": "integerToString",
    "type": [
        "integer"
    ],
    "binding": "localizedText",
    "choiceList": {
        "0":"To Do",
        "1":"In Progress",
        "2":"Done"
     }
}

Tento jednoduchý soubor JSON umožňuje převést celá čísla na řetězce, které se zobrazí v aplikaci pro iOS. Můžete však také vytvořit a používat tyto typy formátovačů pro zobrazení obrázků, celých čísel, emotikonů…

Jejich vhozením do určité složky „formatters“ je můžete přiřadit například textovému poli a získat takový výsledek:

Hodnoty stavových polí „To Do“, „In Progress “ a „Done “ v dolní části obrazovky se správně zobrazí podle celočíselné hodnoty ve vaší databázi.

Jedná se o jednoduchý způsob, jak zobrazovat formátované hodnoty v mobilních aplikacích. Bonusem je, že tyto seznamy voleb jsou automaticky použity ve vašich akčních formulářích, což umožňuje vybrat jednu z hodnot v seznamu a použít ji jako parametr. Jedním z omezení však je, že tyto seznamy jsou statické, protože jsou založeny na souboru JSON.

blank

VSTUPNÍ OVLÁDACÍ PRVKY AKCÍ

Nyní si povíme něco o vstupních ovládacích prvcích! Tato nová funkce vám umožní vytvářet:

  • seznamy voleb pomocí souboru manifest.json stejně jako dříve a
  • seznamy založené na datových zdrojích.

To vám zaručí, že budete mít vždy aktuální seznamy přístupné přímo z mobilní aplikace!

Tyto akční vstupní ovládací prvky se jednoduše vytvářejí a velmi snadno používají. Chcete-li je používat ve svých mobilních projektech, stejně jako v případě formátovačů nebo vlastních formulářů seznamů a detailů, musíte je zahrnout do své databáze do speciální složky „inputControls“ (my base/Resources/mobile/inputControl).

Tyto vstupní ovládací prvky akce pak budou k dispozici a budou se dát vybrat v sekci Akce, ve vlastnostech parametrů, filtrovaných podle typu parametru akce a způsobu, jakým chcete zobrazit seznamy pomocí formátů.

Zaměřme se na formáty, protože jde o poměrně nový koncept. Formáty v podstatě umožňují definovat způsob, jakým chcete zobrazit své seznamy na straně mobilní aplikace:

  • Push: otevře nové zobrazení, které přijde zprava a zobrazí seznam.
  • Segmentovaný: zobrazí váš seznam v podobě položek v liště, které můžete vybírat
  • Popover: otevře nové zobrazení, které přichází zespodu a zobrazuje seznam.
  • List: otevře list zespodu, který zobrazí seznam zespodu.
  • Picker: na rozdíl od ostatních formátů umožňuje posouvat se pro výběr požadované hodnoty, místo abyste hodnotu vybrali kliknutím na ni

Nyní se podívejme na několik příkladů!

STATICKÉ VÝBĚROVÉ SEZNAMY

Zde je příklad souboru manifest.json, který lze použít jako statický seznam voleb:

{
    "name": "choiceListSheet",
    "type": [
        "text"
     ],
    "format": "sheet",
    "choiceList": {
        "1":"Vincent",
        "2":"David",
        "3":"Anass",
        "4":"Eric",
        "5":"Quentin",
        "6":"Houssam"
     }
}

Velmi podobný formátovači celních dat, že? Jak vidíte, je zde definován jednoduchý statický seznam pro tento akční vstupní ovládací prvek s formátem zobrazení „list„.

DYNAMICKÉ VÝBĚROVÉ SEZNAMY ZE ZDROJE DAT

A zde je příklad založený na datové třídě Contact a atributu LastName.

{
    "name": "datasourcePush"
    "type": [
        "text"
    ],
    "format":"push",
    "choiceList": {
        "dataSource": {
            "dataClass": "Contact",
            "field": "LastName",
            "entityFormat": "%FirstName% %LastName% - %Job%",
            "search": "LastName",
            "order": "descending" 
        }
    }
}

Aktualizovaný seznam kontaktů bude přístupný jako seznam v akčním formuláři mobilní aplikace na základě datové třídy Kontakt s formátem zobrazení „push„.

To si ukážeme později, ale skvělé je, že v souboru manifest.json můžete definovat chytré možnosti, například zobrazení vyhledávacího panelu nebo způsob řazení seznamů!

JAK TO VYPADÁ V UŽIVATELSKÉ APLIKACI

blank

V tomto příkladu push, popover a picker zobrazují seznamy na základě datového zdroje. Můžete přidat vyhledávání definující hodnotu „search“ pro formát zobrazení „push“, možnost řazení definující hodnotu „order“ a také formát zobrazení vašich dat (definováním „entityFormat“). Například pro vstupní ovládací prvek picker:

  • sestupné“ řazení umožňuje seřadit seznam sestupně.
  • entityFormat „%FirstName% %LastName% – %Job%“ vám umožní zobrazit „Sophie Adams – UX Designer“, protože jsou k dispozici pole FirstName, LastName a Job.

A co je nejlepší, tyto seznamy jsou dostupné, i když jste offline!

JAK TO VYPADÁ V editoru projektu

V prvním kroku si budete muset ve svém oblíbeném editoru kódu vytvořit vstupní ovládací prvek akce podle příkladů z tohoto příspěvku na blogu nebo z dokumentace a poté je přidat do složky „inputControls“ (moje základna/Resources/mobile/inputControl).

blank

Po návratu do editoru projektu budou vaše vstupní ovládací prvky k dispozici a budou filtrovány podle typu parametru a předem definovaného formátu v souboru JSON.

A jak vidíte na tomto příkladu, je poměrně snadné vytvářet statické seznamy voleb a seznamy založené na datových zdrojích, abyste zaručili co nejlepší zážitek pro vaše mobilní uživatele!

Neváhejte nám poskytnout zpětnou vazbu na fóru 4D a podívejte se do dokumentace, kde najdete další podrobnosti!

David Azancot
• 4D for iOS Product Owner • David Azancot se připojil k týmu 4D Product jako Product Owner v roce 2017. Má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Jeho role také zahrnuje zajištění toho, aby implementace funkcí vyhovovaly potřebám zákazníků. David graduoval jako MBA v marketingu, internetu a mobilitě na Institutu Leonarda Da Vinciho a svou kariéru zahájil v roce 2011 u začínající mobilní společnosti, kterou později získala Madvertise (skupina mobilního marketingu). S nadšením pro mobilní rozhraní byl přirozenou volbou pro vývoj interaktivních mobilních reklamních formátů pro skupinu v roce 2015. Zároveň David od roku 2012 vyvíjí vlastní aplikace pro iOS a Android.