Smartform pro web – Dokumentace API verze 2

Na této stránce popisujeme API verze 2. Tuto verzi jsme spustili v červnu 2022. Starší verze 1 je popsána na stránce Dokumentace API verze 1.

Návod na přechod mezi těmito verzemi najdete na stránce Přechod z API verze 1 na verzi 2.

Obsah

Objekt smartform

Centrální objekt API, stará se o inicializaci, přihlašování uživatele a umožňuje přístup k jednotlivým instancím Smartformu. Tento objekt je singleton a je k dispozici po celou dobu existence stránky.

Atributy:

beforeInit

Sem lze vložit callbackovou funkci, která bude zavolána po načtení stránky - v okamžiku, kdy je možné přistupovat k objektu smartform a procházet instance formulářů a jejich políčka. Využívat služby Smartformu je ale možné až od okamžiku, kdy se spustí callbacková funkce smartform.afterInit

afterInit

Sem lze vložit callbackovou funkci, která bude zavolána po inicializaci a přihlášení k službám Smartformu pomocí ID uživatele nastaveného v smartform.beforeInit. V okamžiku zavolání této funkce je možné využívat všechny služby Smartformu podle typu licence.

all.suggestBox

Slouží k nastavování vlastností našeptávacích oken všech Smartform instancí.

Metody:

void setClientId(clientId)

Nastaví klientské ID - identifikátor klienta, který se přihlašuje k využívaní služeb Smartformu. Pro správné fungování Smartformu musí být klientské ID nastaveno během inicializace - nejlépe v metodě vložené do smartform.beforeInit. Nastavujete-li clientID jinde, pak je potřeba po jeho nastavení vyvolat inicializaci metodou smartform.rebindAllForms.

SmartformInstance getInstance(instanceId)

Vrátí instanci formuláře podle jeho přiděleného identifikátoru - instanceId.

Tento identifikátor musí být uveden jako CSS třída u všech HTML elementů <input>, které mají být součástí tohoto formuláře (musí být v seznamu atributu class). Všechny identifikátory musí povinně začínat řetězcem smartform-instance (výjimkou je implicitní instance s prázdným identifikátorem - viz SmartformInstance).

Pokud instance Smartformu s tímto ID neexistuje, funkce vrací null.

String[] getInstanceIds()

Vrátí pole identifikátorů všech formulářových instancí na stránce. Podrobnosti k identifikátorům viz smartform.getInstance(instanceId).

void rebindAllForms(function doneCallback)

Vynutí reinicializaci všech objektů Smartformu na stránce. Projde znovu celý HTML dokument, najde všechny INPUT elementy určené pro Smartform a sloučí je do nových instancí Smartformu.

Metoda je asynchronní, po jejím zavolání nemusí být Smartform instance hned vytvořené. Pro nastavení nově vytvořených Smartform instancí použijte parametr doneCallback. Tato funkce bude zavolána po vytvoření nových Smartform instancí.

void unbindForm(instanceId)

Ve formuláři se zadaným instanceId zruší napojení na Smartform. U tohoto formuláře přestanou fungovat našeptávače a validace adres.

Identifikátorem instanceId se rozumí název CSS třídy uvedené u všech políček formuláře tvořící instanci Smartformu. Identifikátor vždy začíná řetězcem "smartform-instance".

void enableSetAutocomplete(boolean enable)

Povolí/zakáže Smartformu nastavit hodnotu atributu "autocomplete" u textových políček.

Defaultní chování je takové, že Smartform nastavuje atribut "autocomplete" na hodnotu "off". Metodu můžete použít v situaci, kdy chcete nastavit hodnotu atributu "autocomplete" jinou než je "off". Zavolejte ji v callbacku smartform.beforeInit.

Objekt smartform.all.instance

Slouží k nastavování některých vlastností všech Smartform instancí.

Metody:

void setInitialValidationEnabled( boolean initialValidation )

Umožňuje vypnout počáteční validaci na všech instancích. 

Defaultní chování smartformu je takové, že při svém startu zvaliduje obsah formulářových políček. Např. pokud máte při načtení stránky ve formuláři předvyplněnou adresu, Smartform ji při startu rovnou zkontroluje. Toto chování ale může být nežádoucí, pokud je na stránce hodně předvyplněných formulářů. Touto metodou můžete počáteční validaci zakázat a načtení stránky tak urychlit. Metodu doporučujeme volat ve funkci smartform.afterInit.

Objekt smartform.all.suggestBox

Slouží k nastavování vlastností našeptávacích oken všech Smartform instancí.

Metody:

void setBackgroundColor( color )

Nastaví barvu pozadí okna našeptávače u všech instancí.

void setForegroundColor( color )

Nastaví barvu písma v našeptávači u všech instancí.

void setSelectionBackgroundColor( color )

Nastaví barvu pozadí označené položky našeptávače u všech instancí.

void setBorderColor( color )

Nastaví barvu okraje okna našeptávače u všech instancí.

void setZIndex( int zIndex )

Nastavuje z-index (CSS vlastnost určující prioritu při překrývání) všem našeptávacím oknům. Smartform se snaží určit hodnotu z-indexu automaticky, tato metoda slouží v případech, kdy hodnota nastavená Smartformem nevyhovuje.

Class SmartformInstance

Slouží k nastavování vlastností jedné konkrétní instance Smartform formuláře a k přístupu k jednotlivým vstupním a výstupním elementům formuláře.

Na HTML stránce je totiž možno umístit více adresních formulářů a v takovém případě je potřeba i více instancí Smartformu. HTML elementy určené pro jednotlivé instance Smartformu se pak slučují pomocí identifikátoru instance, kterým je CSS třída (uvedená v atributu class u všech HTML elementů instance Smartformu). Identifikátor musí povinně začínat řetězcem "smartform-instance". Ke každé instanci Smartformu je možné získat přístup voláním metody smartform.getInstance(id), přičemž parametrem je právě identifikátor instance.

Attributy:

all.suggestBox

Slouží k nastavování vlastností našeptávacích oken jedné Smartform instance.

addressControl

Slouží k nastavování našeptávání a validace poštovních adres v jedné Smartform instanci.

companyControl

Slouží k nastavování našeptávání a validace firemních údajů v jedné Smartform instanci.

emailControl

Slouží k nastavování validace e-mailových adres v jedné Smartform instanci.

phoneControl

Slouží k nastavování validace telefonních čísel v jedné Smartform instanci.

Metody:

String getId()

Vrátí identifikátor instance uvedený v atributu class příslušného elementu input.

Objekt SmartformInstance.all.suggestBox

Slouží k nastavování vlastností našeptávacích oken jedné Smartform instance.

Metody:

void setBackgroundColor( color )

Nastaví barvu pozadí okna našeptávače u všech zadávacích políček.

void setForegroundColor( color )

Nastaví barvu písma v našeptávači u všech zadávacích políček.

void setSelectionBackgroundColor( color )

Nastaví barvu pozadí označené položky našeptávače u všech zadávacích políček.

void setBorderColor( color )

Nastaví barvu okraje okna našeptávače u všech zadávacích políček.

Objekt SmartformInstance.addressControl

Slouží k nastavování vlastností jedné konkrétní instance Smartform formuláře pro validaci a našeptávání adres.

Metody:

void setCountry(String countryCode)

Pro daný formulář nastavuje zemi (její kód), z jaké se má našeptávat.

V současnosti je možné zadat tyto kódy:
  • CZ (Česká republika)
  • SK (Slovenská republika)
Defaultně je v každém formuláři nastaveno, že se našeptávájí adresy z České republiky. Příklad použití metody setCountry() najdete na Demo - slovenské adresy.

AddressSuggestBox getBox(id)

Vrátí objekt zadávacího políčka s našeptávačem. id je identifikátor typu políčka, který musí být uveden v atributu class elementu input - možné hodnoty jsou:

  • smartform-address-street – ulice
  • smartform-address-number – číslo domu
  • smartform-address-street-and-number – ulice a číslo domu
  • smartform-address-city – obec – čistý název (např. „Liberec“, „Praha“)
  • smartform-address-city-extended – obec – zformátovaný název (může obsahovat poštu – např. „Liberec 15“ – nebo název městské části – např. „Praha 4 – Podolí“)
  • smartform-address-zip – PSČ
  • smartform-address-whole-address – celá adresa

Pokud políčko s daným ID neexistuje, funkce vrátí null.

void setAllSuggestionsEnabled(value)

Podle hodnoty boolean parametru zapne/vypne našeptávače u všech políček instance.

void addValidationCallback(function)

Přidá funkci, která bude zavolána po dokončení každé průběžné validace adresy. Při volání callbacku mu bude předán jeden parametr – výsledek validace viz Class AddressValidationResult.

Výsledek obsahuje informaci o tom, zdali byla validace zadané adresy úspěšná a pokud ano, tak obsahuje i všechny detailní informace o adrese (např. ulice, obec, část a jejich kódy, souřadnice, parcelní číslo a další).

boolean isAddressValid()

Vrátí výsledek poslední validace - true, pokud byla nalezena právě jedna adresa (HIT).

AddressValidationResult getLastValidationResult()

Vrátí poslední výsledek validace nebo null pokud validace ještě neproběhla.

void setFocusNextFieldEnabled(on)

Nastavení boolean příznaku, jestli se má po výběru celé adresy z našeptávače označit políčko následující za posledním zadávacím políčkem adresy.

void setSuggestionFormatter( function )

Nastaví callback, který umožňuje měnit text zobrazený v našeptáváči. Pokud je callback nastaven, je volán při zobrazení každého řádku v našeptávači.

Návratová hodnota callbacku bude použita jako text v našeptávači. Pokud callback vrátí null, použije se defaultní text našeptávače.

Při volání callbacku mu budou předány tyto parametry

  • suggestion – instance AddressSuggestion, reprezentuje jeden řádek v našeptávacím okně
  • fieldType – textový identifikátor typu políčka – viz AddressControl.getBox(id) ("smartform-address-street-and-number", "smartform-address-city", …)

void setSelectionCallback( function )

Nastaví callback pro vyplnění políček výběrem z našeptávače. Pro každé políčko bude zavolána nastavená funkce s parametry

  • element – DOM element textového pole
  • text – řetězec, který by měl být vyplněn do textového pole
  • fieldType – textový identifikátor typu políčka – viz AddressControl.getBox(id)
  • suggestion – instance AddressSuggestion, reprezentuje jeden řádek v našeptávacím okně
Výchozí chování Smartformu je vyplnit text do políčka, tj. zavolat
element.value = text;
Vybraný text se políčku nastaví automaticky v případě, že callback není nastaven, nebo také když je návratová hodnota callbacku true.

void setSuggestContext( contextType, contextAreaItems )

Nastavení oblasti, ze které se adresy našeptávají.

Parametry:

  • contextType – řetězec s typem omezení oblasti našeptávání. Možné jsou dvě hodnoty:
    • FILTER – adresy se našeptávají pouze ze zadané oblasti.
    • PREFERENCE – adresy se našeptávají přednostně ze zadané oblasti. Adresy mimo zadanou oblast se našeptávají také, za adresami z nastavené oblasti.
  • contextAreaItems – vymezení našeptávací oblasti. Jde o pole ve tvaru [ [contextAreaCodeType, contextAreaCode], … ]. Položky seznamu se skládají z
    • contextAreaCodeType – řetězec s typem adresní entity. Může nabývat těchto hodnot
      • MUNICIPALITY_CODE – obec
      • DISTRICT_CODE – okres
      • REGION_CODE – kraj
    • contextAreaCode – kód entity – obce, okresu nebo kraje.

Pokud budeme chtít, aby našeptávač našeptával jen adresy z obce Ubušínek (kód 549959), okresu Pelhřimov (kód 3304) nebo Zlínského kraje (kód 141), dosáhneme toho následujícím voláním:
smartform.getInstance().setSuggestContext( 'FILTER', [['MUNICIPALITY_CODE', '549959'], ['DISTRICT_CODE', '3304'], ['REGION_CODE', '141']] )

Při nastavování našeptávací oblasti se mohou hodit kódy obcí, okresů a krajů

void clearSuggestContext()

Odstraní nastavený našeptávací kontext. Viz metoda setSuggestContext(contextType, contextAreaItems).

void setInitialValidationEnabled( initialValidation )

Umožňuje vypnout počáteční validaci adresy. 

Defaultní chování smartformu je takové, že při svém startu zvaliduje obsah formulářových políček. Např. pokud máte při načtení stránky ve formuláři předvyplněnou adresu, Smartform ji při startu rovnou zkontroluje. Toto chování ale může být nežádoucí, pokud je na stránce hodně předvyplněných formulářů. Touto metodou můžete počáteční validaci zakázat a načtení stránky tak urychlit. Metodu doporučujeme volat ve funkci smartform.afterInit.

 

Objekt SmartformInstance.companyControl

Slouží k nastavování vlastností jedné konkrétní instance Smartform formuláře pro validaci a našeptávání firem.

Metody:

CompanySuggestBox getBox(id)

Vrátí objekt zadávacího políčka s našeptávačem. id je identifikátor typu políčka, který musí být uveden v atributu class elementu input - možné hodnoty jsou:

  • smartform-company-name – název
  • smartform-company-registration-number – ičo
  • smartform-company-vat-number – dič

Pokud políčko s daným ID neexistuje, funkce vrátí null.

void setAllSuggestionsEnabled(value)

Podle hodnoty boolean parametru zapne/vypne našeptávače u všech políček instance.

void addValidationCallback(function)

Přidá funkci, která bude zavolána po dokončení každé průběžné validace firmy. Při volání callbacku mu bude předán jeden parametr – výsledek validace viz Class CompanyValidationResult

boolean isCompanyValid()

Vrátí výsledek poslední validace - true, pokud byla nalezena právě jedna firma (HIT).

CompanyValidationResult getLastValidationResult()

Vrátí poslední výsledek validace nebo null pokud validace ještě neproběhla.

void setFocusNextFieldEnabled(on)

Nastavení boolean příznaku, jestli se má po výběru celé firmy z našeptávače označit políčko následující za posledním zadávacím políčkem firmy.

void setSelectionCallback( function )

Nastaví callback pro vyplnění políček výběrem z našeptávače. Pro každé políčko bude zavolána nastavená funkce s parametry

  • element – DOM element textového pole
  • text – řetězec, který by měl být vyplněn do textového pole
  • fieldType – textový identifikátor typu políčka – viz CompanyControl.getBox(id)
  • suggestion – instance CompanySuggestion, reprezentuje jeden řádek v našeptávacím okně
Výchozí chování Smartformu je vyplnit text do políčka, tj. zavolat
element.value = text;
Vybraný text se políčku nastaví automaticky v případě, že callback není nastaven, nebo také když je návratová hodnota callbacku true.

void setInitialValidationEnabled( initialValidation )

Umožňuje vypnout počáteční validaci firemních údajů. 

Defaultní chování smartformu je takové, že při svém startu zvaliduje obsah formulářových políček. Např. pokud máte při načtení stránky ve formuláři předvyplněnou firmu, Smartform ji při startu rovnou zkontroluje. Toto chování ale může být nežádoucí, pokud je na stránce hodně předvyplněných formulářů. Touto metodou můžete počáteční validaci zakázat a načtení stránky tak urychlit. Metodu doporučujeme volat ve funkci smartform.afterInit.

 

Objekt SmartformInstance.emailControl

Slouží k nastavování validace e-mailových adres v jedné Smartform instanci.

Metody:

void addValidationCallback( function )

Přidá funkci, která bude zavolána po dokončení každé průběžné validace e-mailové adresy. Při volání callbacku mu bude předán jeden parametr – výsledek validace viz Class EmailValidationResult

EmailValidationResult getLastValidationResult()

Vrátí poslední výsledek validace nebo null pokud validace ještě neproběhla.

void  setShowHintEnabled( boolean enable )

Povolí/zakáže zobrazování nápovědy.

void setInitialValidationEnabled( initialValidation )

Umožňuje vypnout počáteční validaci e-mailů. 

Defaultní chování smartformu je takové, že při svém startu zvaliduje obsah formulářových políček. Např. pokud máte při načtení stránky ve formuláři předvyplněný e-mail, Smartform ji při startu rovnou zkontroluje. Toto chování ale může být nežádoucí, pokud je na stránce hodně předvyplněných formulářů. Touto metodou můžete počáteční validaci zakázat a načtení stránky tak urychlit. Metodu doporučujeme volat ve funkci smartform.afterInit.

 

Objekt SmartformInstance.phoneControl

Slouží k nastavování validace telefonních čísel v jedné Smartform instanci.

Metody:

void addValidationCallback( function )

Přidá funkci, která bude zavolána po dokončení každé průběžné validace telefonního čísla. Při volání callbacku mu bude předán jeden parametr – výsledek validace viz Class PhoneValidationResult

PhoneValidationResult getLastValidationResult()

Vrátí poslední výsledek validace nebo null pokud validace ještě neproběhla.

void setAutomaticFormattingEnabled( boolean enable )

Povolí nebo zakáže automatické formátování telefonního čísla ve vstupním poli.

Defaultní chování Smartformu je takové, že se telefonní číslo se správně zadaným číslem po ztrátě focusu přeformátuje. Touto metodou je možné toto chování vypnout.

void setAutomaticFormattingFormat( String format )

Nastaví typ formátování telefonního čísla ve vstupním poli. Formátovat lze podle možností v enum PhoneNumberFormat. Pokud není nastaveno, žádné formátování uživatelem, použije se defaultní způsob formátování, který funguje následovně:

  • Pokud je nastavena výchozí země a telefonní číslo odpovídá této zemi, použije se formát NATIONAL.
  • Pokud je zadáno celé číslo včetně mezinárodní předvolby, použije se formát INTERNATIONAL.
  • Pokud je číslo rozděleno do dvou políček (předvolba a zbytek čísla), použije se také formát INTERNATIONAL_WITHOUT_PREFIX.

void setDefaultPrefix( String prefix )

Umožňuje nastavit výchozí předvolbu nebo kód země pro validaci telefonních čísel. Uživatel pak nemusí zadávat celé telefonní číslo (např. "+420 777 777 777"), ale jen národní část ("777 777 777").

Jako argument této metody lze použít předvolbu (např. "420" či "+420") nebo kód země (např. "CZ" či "CZE"). Jako kód země lze použít dvoupísmenný i třípísmenný kód dle ISO 3166-1.

void setInitialValidationEnabled( initialValidation )

Umožňuje vypnout počáteční validaci telefonního čísla. 

Defaultní chování smartformu je takové, že při svém startu zvaliduje obsah formulářových políček. Např. pokud máte při načtení stránky ve formuláři předvyplněné telefonní číslo, Smartform ji při startu rovnou zkontroluje. Toto chování ale může být nežádoucí, pokud je na stránce hodně předvyplněných formulářů. Touto metodou můžete počáteční validaci zakázat a načtení stránky tak urychlit. Metodu doporučujeme volat ve funkci smartform.afterInit.

 

Parametr color

Identifikátor barvy pro nastavení vzhledu menu našeptávače. Lze použít jakékoliv identifikátory barev platné v CSS, tedy HTML názvy (green, black, yellow ...) nebo RGB kódy barev (např. #803020), zkrácené RGB kódy (např. #f90), funkci rgb nebo rgba (např. rgb(255,0,0), rgba(100%, 0%, 0%, 0.7)), funkci hsl nebo hsla (např. hsl(240, 100%, 50%)). Některé prohlížeče nemají ještě podporu pro CSS3, takže některé identifikátory nefungují. HTML kódy a názvy a funkce rgb by měly fungovat všude. Více na w3.org.

Class AddressSuggestBox

Zadávací políčko adresy. Vstupní políčko musí být označeno identifikátorem části adresy (viz AddressControl.getBox(id)) v atributu class elementu <input>.

Metody:

void setSuggestionsEnabled(value)

Podle hodnoty boolean parametru zapne/vypne našeptávač u tohoto políčka.

boolean isSuggestionsEnabled()

Zjistí, jestli je našeptávač zapnutý.

void setLimit(limit)

Nastaví maximální počet položek v menu našeptávače.

int getLimit()

Vrátí limit počtu položek v menu našeptávače.

void setPopupContainerId(String id)

Nastaví id prvku, do kterého má být našeptávací popup vložen.

Našeptávací popup okno se standardně vkládá na konec prvku body, touto metodou lze toto chování změnit.

Při volání této metody nejspíš budete potřebovat zavolat i metodu SmartformInstance.setPopupAttributePosition(String position).

void setPopupAttributePosition(String position)

Nastaví hodnotu CSS atributu position našeptávacího popupu.

Našeptávácí popup okno má standardně nastaven atribut position na hodnotu absolute.

Pokud se zavolá tato metoda, nenastavuje Smartform u popupu atributy top a left.

Class AddressSuggestion

Reprezentuje jeden řádek v našeptávacím okně s adresou. Obsahuje texty pro všechny typy vstupních políček, které budou vyplněny do input boxů při potvrzení řádku v našeptávacím okně.

Metody:

boolean isWholeAddress()

Zdali se jedná o celou (konkrétní) adresu.

String getValue( String fieldType )

Vrací text, který bude vyplněn do input boxu daného typu. Parametr fieldType může nabývat následujících hodnot

  • "smartform-address-street" – ulice
  • "smartform-address-number" – číslo domu
  • "smartform-address-street-and-number" – ulice a číslo domu
  • "smartform-address-city" – čistý název obce (např. „Liberec“, „Praha“)
  • "smartform-address-city-extended" – zformátovaný název obce (může obsahovat poštu – např. „Liberec 15“ – nebo název městské části – např. „Praha 4 – Podolí“)
  • "smartform-address-zip" – PSČ
  • "smartform-address-whole-address" – celá adresa

Class AddressValidationResult

Výsledek validace adresy.

Atributy:

result

 Výsledek validace. Skládá se z:

  • type je typu String - typ výsledku validace - viz AddressValidationResultType.
  • addressArray je pole zvalidovaných adres (typicky pole obsahuje žádnou nebo jednu adresu), každá adresa obsahuje atributy z AddressFieldType.

upToDate

boolean příznak, jestli výsledek je aktuální. Příznak bude mít hodnotu false, pokud aktuální hodnota vstupních políček neodpovídá validované adrese – tzn. že uživatel od začátku validace adresy už upravil hodnotu vstupních polí.

Enum AddressValidationResultType

Výčet možných výsledků validace adresy. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.AddressValidationResultType).

Atributy:

  • HIT (právě jedna odpovídající adresa)
  • MANY (více odpovídajících adres)
  • TOOMANY (jako MANY, ale v seznamu adres jsou jen některé)
  • NOTHING (žádná odpovídající adresa nenalezena)
  • INSUFFICIENT_DATA (bylo zadáno malo vstupních parametrů)
  • LOCALITY_HIT (je správně zadána pouze lokalita (ulice, část obce, pošta), zadané číslo neodpovídá žádné adrese)

Enum AddressFieldType

Výčet atributů u každé adresy ve výsledku validace. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.AddressFieldType).

Atributy:

  • CODE (kód adresy)
  • BUILDING_CODE (kód stavebního objektu)
  • STREET_NUMBER (orientační číslo)
  • STREET_NUMBER_CHAR (písmeno orientačního čísla)
  • CONSCRIPTION_NUMBER (popisné číslo)
  • PROVISIONAL_NUMBER (evidenční číslo)
  • WHOLE_NUMBER (celé číslo domu - např. ev.č. 179/or.č. 42)
  • STREET (ulice)
  • STREET_CODE (kód ulice)
  • CITY (obec)
  • CITY_CODE (kód obce)
  • PART (část obce)
  • PART_CODE (kód části obce)
  • ZIP (PSČ)
  • POST (pošta)
  • DISTRICT (okres)
  • DISTRICT_CODE (kód okresu)
  • REGION (kraj)
  • REGION_CODE (kód kraje)
  • CITY_AREA_1 (dělení obcí – v ČR odpovídá městským částím)
  • CITY_AREA_1_CODE (dělení obcí – kód)
  • CITY_AREA_2 (dělení obcí – v ČR odpovídá městským obvodům – v Praze je to "Praha 1" - "Praha 10")
  • CITY_AREA_2_CODE (dělení obcí – kód)
  • CITY_AREA_3 (dělení obcí – v ČR odpovídá správním obvodům – v Praze je to "Praha 1" - "Praha 22")
  • CITY_AREA_3_CODE (dělení obcí – kód)
  • FORMATTED_ADDRESS_FIRST_LINE (první řádka adresy)
  • FORMATTED_ADDRESS_SECOND_LINE (druhá řádka adresy)
  • FORMATTED_ADDRESS_WHOLE (celá adresa na jedné řádce)
  • COORD_JTSK_X (JTSK souřadnice x)
  • COORD_JTSK_Y (JTSK souřadnice y)
  • COORD_WGS84_LATITUDE (GPS souřadnice – šířka)
  • COORD_WGS84_LONGITUDE (GPS souřadnice – délka)
  • COUNTRY (název státu)
  • COUNTRY_CODE (zkratka státu – "CZE" nebo "SVK")
  • BUILDING_PARCEL_NUMBER_1 (Kmenové číslo parcely)
  • BUILDING_PARCEL_NUMBER_2 (Poddělení (pořadové číslo nové parcely v rámci původní parcely))
  • CADASTRAL_UNIT_NAME (Název katastrálního území)
  • CADASTRAL_UNIT_CODE (Číslo katastrálního území)
  • BUILDING_WITH_LIFT (Informace o výtahu (hodnoty "true", "false", null))
  • NUMBER_OF_STOREYS (Počet podlaží v budově)
  • NUMBER_OF_FLATS (Počet bytů v budově)
  • FLOOR_AREA (Podlahová plocha budovy [m2])

Class CompanySuggestBox

Zadávací políčko firmy. Vstupní políčko musí být označeno identifikátorem části firmy (viz CompanyControl.getBox(id)) v atributu class elementu <input>.

Metody:

void setSuggestionsEnabled(value)

Podle hodnoty boolean parametru zapne/vypne našeptávač u tohoto políčka.

boolean isSuggestionsEnabled()

Zjistí, jestli je našeptávač zapnutý.

void setLimit(limit)

Nastaví maximální počet položek v menu našeptávače.

int getLimit()

Vrátí limit počtu položek v menu našeptávače.

void setPopupContainerId(String id)

Nastaví id prvku, do kterého má být našeptávací popup vložen.

Našeptávací popup okno se standardně vkládá na konec prvku body, touto metodou lze toto chování změnit.

Při volání této metody nejspíš budete potřebovat zavolat i metodu SmartformInstance.setPopupAttributePosition(String position).

void setPopupAttributePosition(String position)

Nastaví hodnotu CSS atributu position našeptávacího popupu.

Našeptávácí popup okno má standardně nastaven atribut position na hodnotu absolute.

Pokud se zavolá tato metoda, nenastavuje Smartform u popupu atributy top a left.

Class CompanySuggestion

Reprezentuje jeden řádek v našeptávacím okně s firmou. Obsahuje texty pro všechny typy vstupních políček, které budou vyplněny do input boxů při potvrzení řádku v našeptávacím okně.

Metody:

String getValue( String fieldType )

Vrací text, který bude vyplněn do input boxu daného typu. Parametr fieldType může nabývat následujících hodnot

  • smartform-company-name – název
  • smartform-company-registration-number – IČO
  • smartform-company-vat-number – DIČ
  • smartform-company-address-street – ulice
  • smartform-company-address-number – číslo domu
  • smartform-company-address-street-and-number – ulice a číslo domu
  • smartform-company-address-city – obec – čistý název (např. „Liberec“, „Praha“)
  • smartform-company-address-city-extended – obec – zformátovaný název (může obsahovat poštu – např. „Liberec 15“ – nebo název městské části – např. „Praha 4 – Podolí“)
  • smartform-company-address-zip – PSČ
  • smartform-company-address-whole-address – celá adresa

Class CompanyValidationResult

Výsledek validace firmy.

Atributy:

result

 Výsledek validace. Skládá se z:

  • type je typu String - typ výsledku validace - viz CompanyValidationResultType.
  • companyArray je pole zvalidovaných firem (typicky pole obsahuje žádnou nebo jednu firmu), každá adresa obsahuje atributy z CompanyFieldType.

upToDate

boolean příznak, jestli výsledek je aktuální. Příznak bude mít hodnotu false, pokud aktuální hodnota vstupních políček neodpovídá validované firmě – tzn. že uživatel od začátku validace firmy už upravil hodnotu vstupních polí.

Enum CompanyValidationResultType

Výčet možných výsledků validace firmy. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.CompanyValidationResultType).

Atributy:

  • HIT (právě jedna odpovídající firma)
  • MANY (více odpovídajících firem)
  • TOOMANY (jako MANY, ale v seznamu firem jsou jen některé)
  • NOTHING (žádná odpovídající firma nenalezena)

Enum CompanyFieldType

Výčet atributů u každé firmy ve výsledku validace. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.CompanyFieldType).

Atributy:

  • NAME (název firmy)
  • REGISTRATION_NUMBER (identifikační číslo – IČO)
  • VAT_NUMBER (daňové identifikační číslo – DIČ)
  • CREATION_DATE (datum vzniku)
  • DISSOLUTION_DATE (datum zániku)
  • LEGAL_FORM (právní forma, např. „Akciová společnost“)
  • SIZE (počet zaměstnanců, např. „100 - 199 zaměstnanců“)
  • STATUS (stav – jedno z „ACTIVE“, „LIQUIDATION“ „NOT_ACTIVE“)
  • ADDRESS_STREET (ulice sídla firmy)
  • ADDRESS_NUMBER (číslo domu v sídle firmy)
  • ADDRESS_STREET_AND_NUMBER (ulice a číslo domu)
  • ADDRESS_CITY (obec v sídle firmy)
  • ADDRESS_CITY_EXTENDED (obec v sídle firmy – zformátovaný název)
  • ADDRESS_ZIP (PSČ v sídle firmy)
  • ADDRESS_WHOLE_ADDRESS (sídlo firmy – celá adresa)

Class EmailValidationResult

Výsledek validace e-mailové adresy.

Atributy:

result

 Výsledek e-mailové validace. Skládá se z:

  • inputEmail je typu String - vstupní e-mailová adresa, která byla při validaci kontrolována
  • resultType je typu String - výsledek validace - viz EmailValidationResultType.
  • flags je pole dalších informací o stavu e-mailu - viz EmailValidationResultFlag.
  • hint je typu String - nápověda pro doménovou část e-mailové adresy.

 

upToDate

boolean příznak, jestli výsledek je aktuální. Příznak bude mít hodnotu false, pokud aktuální hodnota vstupního políčka neodpovídá validované e-mailové adrese – tzn. že uživatel od začátku validace adresy už upravil e-mail ve vstupním políčku.

Enum EmailValidationResultType

Výčet možných výsledků e-mailové validace. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.EmailValidationResultType).

Atributy:

  • EXISTS (E-mailová adresa určitě existuje)
  • NOT_EXISTS (E-mailová adresa určitě neexistuje)
  • UNKNOWN (Nelze s jistotou říci, zda e-mailová adresa existuje nebo ne. Doporučujeme takovou e-mailovou adresu považovat za korektní.)

Enum EmailValidationResultFlag

Poskytuje další informace o stavu e-mailové validace. 

Seznam flagů se může časem rozšiřovat. Počítejte prosím s tím, že můžete narazit na flag, který neznáte. Ideální je takový flag v kódu ignorovat.

Atributy:

  • FULL_INBOX (Poštovní schránka je plná, takže e-maily nelze doručit.)
  • BAD_SYNTAX (Špatná syntaxe e-mailové adresy.)
  • BAD_DOMAIN (Špatná nebo neexistující doména e-mailové adresy.)
  • MAILBOX_NOT_FOUND (Poštovní schránka neexistuje.)
  • TEMPORARY (Dočasná chyby e-mailové validace.)
  • ACCEPT_ALL_POLICY (Existence e-mailové adresy není jistá, protože doména nám nedovolí provést úplné ověření kvůli tomu, že přijímá všechny e-maily.)
  • DISABLED_MAILBOX (E-mailová adresa je zadána správně, ale cílový server nedovoluje na tuto adresu doručovat poštu.)

Class PhoneValidationResult

Výsledek validace telefonního čísla.

Atributy:

result

 Výsledek validace telefonního čísla. Skládá se z:

  • countryCode je typu String – dvoupísmenný kód země telefonního čísla, které bylo validováno (např. „CZ“ nebo „SK“).
  • prefix je typu String - předpona telefonního čísla.
  • number je typu String - zvalidované číslo bez předpony.
  • formattedNumber je mapa, která obsahuje různé formáty telefonního čísla. Každý klíč v mapě odpovídá jednomu z formátů definovaných v PhoneNumberFormat, a hodnota je telefonní číslo formátované v tomto stylu.
  • numberType je typu String - definuje různé druhy telefonních čísel, viz PhoneValidationNumberType.
  • resultType je typu String - výsledek validace - viz PhoneValidationResultType.

 

upToDate

boolean příznak, jestli výsledek je aktuální. Příznak bude mít hodnotu false, pokud aktuální hodnota vstupního políčka neodpovídá validovanému telefonnímu číslu – tzn. že uživatel od začátku validace adresy už upravil telefon ve vstupním políčku.

Enum PhoneValidationResultType

Výčet možných výsledků validace telefonního čísla. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.PhoneValidationResultType).

Atributy:

  • VALID (Zadané číslo má správný formát pro telefonní číslo ve zvolené zemi.)
  • INVALID (Vstup vypadá jako telefonní číslo, ale nesplňuje formátová pravidla pro danou zemi.)
  • BAD_SYNTAX (Špatná syntaxe telefonního čísla.)
  • UNKNOWN_COUNTRY (Zadané číslo neobsahuje mezinárodní předvolbu a nebyla zadána platná předvolba nebo výchozí země.)

Enum PhoneValidationNumberType

Výčet možných druhů telefonních čísel. Každá položka objektu má hodnotu stejnou jako název. Objekt je součástí objektu smartform (smartform.PhoneValidationNumberType).

Atributy:

  • FIXED_LINE (Pevná telefonní linka.)
  • MOBILE (Mobilní telefonní číslo.)
  • FIXED_LINE_OR_MOBILE (V některých regionech, jako je např. USA, není možné odlišit pevné linky od mobilních čísel pouze podle vzhledu telefonního čísla.)
  • TOLL_FREE (Telefonní číslo bezplatné linky.)
  • PREMIUM_RATE (Telefonní číslo s vyšším tarifem.)
  • SHARED_COST (Náklady na volání jsou rozděleny mezi volajícího a příjemce, obvykle jsou nižší než u PREMIUM_RATE hovorů.
  • VOIP (Číslo pro Voice over IP. Zahrnuje také TSoIP - telekomunikační služby přes IP.)
  • PERSONAL_NUMBER (Je spojeno s konkrétní osobou a může být přesměrováno na mobilní nebo pevnou linku.
  • PAGER (Pagerové číslo.)
  • UAN (Používáno pro "Univerzální přístupová čísla" nebo "Firemní čísla". Mohou být dále přesměrována na konkrétní kanceláře, ale umožňují použití jednoho čísla pro společnost.)
  • VOICEMAIL (Číslo pro přístup k hlasové schránce.)
  • UNKNOWN (Telefonní číslo je typu UNKNOWN, pokud neodpovídá žádnému známému vzoru pro konkrétní region.)
  • VALID (Zadané číslo má správný formát pro telefonní číslo ve zvolené zemi.)
  • INVALID (Vstup vypadá jako telefonní číslo, ale nesplňuje formátová pravidla pro danou zemi.)
  • BAD_SYNTAX (Špatná syntaxe telefonního čísla.)
  • UNKNOWN_COUNTRY (Zadané číslo neobsahuje mezinárodní předvolbu a nebyla zadána platná předvolba nebo výchozí země.)

Enum PhoneNumberFormat

Výčet různých formátů pro reprezentaci telefonních čísel. Každý člen enumu představuje specifický formát, podle kterého lze telefonní číslo zobrazit nebo uložit.

Atributy:

  • INTERNATIONAL  (Mezinárodní formát s formátovacími znaky, vhodný pro prezentaci čísla v mezinárodním kontextu. Např. „+420 777 777 777“)
  • NATIONAL  (Národní formát pro prezentaci telefonního čísla v lokálním kontextu dané země. Např. „777 777 777“)
  • E164  (Mezinárodní formát bez formátovacích znaků. Např. „+420777777777“)
  • RFC3966  (Formát specifikovaný normou RFC 3966, vhodný pro technické aplikace, například pro voIP a další síťová řešení. Např. „tel:+420-777-777-777“)
  • INTERNATIONAL_WITHOUT_PREFIX  (Mezinárodní formát bez předvolby, vhodný pro prezentaci čísla v mezinárodním kontextu, když chceme předvolbu a samotné číslo prezentovat zvlášť. Např. „777 777 777“)

Skrytá (hidden) vstupní pole formuláře

Skrytá pole jsou vyplněna podle toho, co mají nastaveno v atributu class.

Pro získání částí zvalidované adresy, použijte hidden pole s atributem class složeným z řetězce "smartform-address-field-" a názvu položky z enumu AddressFieldType. Například:

  • smartform-address-field-CODE
  • smartform-address-field-STREET
  • smartform-address-field-STREET_CODE
  • smartform-address-field-STREET_NUMBER
  • smartform-address-field-REGION

Pro získání částí zvalidované firmy, použijte hidden pole s atributem class složeným z řetězce "smartform-company-field-" a názvu položky z enumu CompanyFieldType. Například:

  • smartform-company-field-NAME
  • smartform-company-field-VAT_NUMBER
  • smartform-company-field-LEGAL_FORM
  • smartform-company-field-SIZE
  • smartform-company-field-ADDRESS_WHOLE_ADDRESS

V případě, že ve formuláři je použito vícero Smartformů, je třeba i pro skrytá pole v atributu class použít identifikátor instance (viz SmartformInstance).