Přeskočit obsah

Form API

Objekt form (přístupný přes tisa.form) poskytuje API pro práci s formulářem jako celkem — přístup k polím, skupinám, režimu formuláře a hodnotám polí.

Přístup k objektu

const { form } = tisa;

Vlastnosti

field

Slovník všech polí formuláře, indexovaný interním názvem pole. Každé pole implementuje Field API.

const { myField1, myField2 } = form.field;
myField1.readOnly = true;
console.log(myField2.value);

group

Slovník skupin formuláře, indexovaný identifikátorem skupiny (Id). Každá skupina implementuje Group API.

const { G_Supplier } = form.group;
G_Supplier.hidden = true;

readOnly

Nastaví celý formulář do režimu pouze pro čtení. Zamkne všechna editovatelná pole.

form.readOnly = true;

isNewForm

true, pokud formulář slouží k vytvoření nové položky.

if (form.isNewForm) {
  form.field.Status.value = "Draft";
}

isEditForm

true, pokud formulář slouží k editaci existující položky.

if (form.isEditForm) {
  form.field.ModifiedBy.readOnly = true;
}

isDisplayForm

true, pokud formulář slouží pouze k zobrazení položky (bez možnosti úprav).

if (form.isDisplayForm) {
  console.log("Formulář je pouze pro čtení.");
}

isEditableForm

true, pokud je formulář editovatelný — tj. isNewForm nebo isEditForm je true.

if (form.isEditableForm) {
  form.field.Priority.required = true;
}

isTaskForm

true, pokud formulář zobrazuje úkol (task) ke zpracování.

if (form.isTaskForm) {
  form.field.Comment.required = true;
}

fieldValues

Slovník aktuálních hodnot všech polí formuláře. Klíčem je interní název pole.

const values = form.fieldValues;
console.log(values.Title);
console.log(values.Status);

Metody

setFormDefinition(name)

Přepne aktivní definici formuláře na alternativní definici zadanou názvem. Název musí odpovídat jedné z definic v poli CustomFormDefinitions v JSON konfiguraci formuláře.

Omezení: Metoda může být volána pouze během události onFormInit. Po dokončení inicializace vyhodí chybu.

async function onFormInit() {
  const { form } = tisa;

  if (form.isDisplayForm) {
    form.setFormDefinition("DisplayForm");
  } else if (form.isNewForm) {
    form.setFormDefinition("ReceivedMessage");
  }
}

Viz Alternativní definice formulářů pro konfiguraci CustomFormDefinitions.