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:
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
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.
Slouží k nastavování vlastností našeptávacích oken všech Smartform instancí.
Metody:
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.
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í.
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í.
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:
Slouží k nastavování vlastností našeptávacích oken jedné Smartform instance.
Slouží k nastavování našeptávání a validace poštovních adres v jedné Smartform instanci.
Slouží k nastavování našeptávání a validace firemních údajů v jedné Smartform instanci.
Slouží k nastavování validace e-mailových adres v jedné Smartform instanci.
Slouží k nastavování validace telefonních čísel v jedné Smartform instanci.
Metody:
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)
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ší).
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
– instanceAddressSuggestion
, 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 poletext
– řetězec, který by měl být vyplněn do textového polefieldType
– textový identifikátor typu políčka – viz AddressControl.getBox(id)suggestion
– instanceAddressSuggestion
, reprezentuje jeden řádek v našeptávacím okně
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í zcontextAreaCodeType
– řetězec s typem adresní entity. Může nabývat těchto hodnotMUNICIPALITY_CODE
– obecDISTRICT_CODE
– okresREGION_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ů.
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.
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 poletext
– řetězec, který by měl být vyplněn do textového polefieldType
– textový identifikátor typu políčka – viz CompanyControl.getBox(id)suggestion
– instanceCompanySuggestion
, reprezentuje jeden řádek v našeptávacím okně
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 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 setDefaultPrefix( String prefix, boolean isStrictMode )
Jedná se o rozšíření metody setDefaultPrefix( String prefix ) o možnost nastavit parametr "strictMode". Tento parametr určuje, jestli je nebo není možné zadat nějaký jiný prefix (jinou zemi). Když se nastaví strict mode na true a uživatel zadá číslo s jiným prefixem, výsledek je nevalidní číslo.
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.
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:
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:
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.
ID formulářové instance, na které k validaci došlo. Podrobnosti k identifikátorům viz smartform.getInstance( instanceId ).
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).
- 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).
- 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.
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ázevsmartform-company-registration-number
– IČOsmartform-company-vat-number
– DIČsmartform-company-address-street
– ulicesmartform-company-address-number
– číslo domusmartform-company-address-street-and-number
– ulice a číslo domusmartform-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:
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.
ID formulářové instance, na které k validaci došlo. Podrobnosti k identifikátorům viz smartform.getInstance( instanceId ).
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).
- 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).
- 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:
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.
ID formulářové instance, na které k validaci došlo. Podrobnosti k identifikátorům viz smartform.getInstance( instanceId ).
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).
- 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.
- 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:
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.
ID formulářové instance, na které k validaci došlo. Podrobnosti k identifikátorům viz smartform.getInstance( instanceId ).
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).
- 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ě.)
- UNKNOWN (Výsledek validace je neznámý nebo během validace došlo k chybě. K tomuto výsledku by mělo docházet jen ve výjimečných případech, doporučujeme v takovém případě považovat telefonní číslo za validní.)
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).
- 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.
- 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).
Ukázky použití skrytých polí: