Přeskočit obsah

Akční tlačítka

Akční tlačítka (Action Buttons) jsou vlastní tlačítka zobrazená v hlavičce formuláře. Každé tlačítko má ikonu, popisek a odkazuje na JavaScript funkci v CustomScript, která se zavolá při kliknutí.

Konfigurace

Akční tlačítka se definují v poli ActionButtons v JSON konfiguraci formuláře.

Vlastnost Popis
ID Jedinečný identifikátor tlačítka. [Povinné]
Title Zobrazovaný název tlačítka. Podporuje lokalizaci pomocí Resources. [Povinné]
ToolTipDescription Text zobrazený při najetí myší na tlačítko. Podporuje lokalizaci.
Icon Ikona tlačítka. Objekt s vlastností Icon (cesta k Font Awesome ikoně, formát typ/názevIkony) a volitelnou vlastností Color (barva ikony, např. primary, danger, success). [Povinné]
CommandFunction Název funkce v CustomScript, která se zavolá při kliknutí na tlačítko. [Povinné]
EnabledFunction Název funkce v CustomScript, která určuje, zda je tlačítko aktivní. Pokud není zadáno, tlačítko je vždy aktivní.
VisibleFunction Název funkce v CustomScript, která určuje, zda je tlačítko viditelné. Pokud není zadáno, tlačítko je vždy viditelné.

Příklady

Příklad: Tlačítko pro tisk

{
  "ActionButtons": [
    {
      "Title": "Action.Print.Title",
      "ToolTipDescription": "Action.Print.Tooltip",
      "ID": "PrintInvoice",
      "CommandFunction": "btnPrintInvoice",
      "Icon": {
        "Icon": "regular/fileInvoice"
      }
    }
  ],
  "CustomScript": "async function btnPrintInvoice() {\n  await tisa.utils.showPrintTemplate('InvoiceTemplate');\n}",
  "Resources": [
    {
      "LCID": "1029",
      "Action": {
        "Print": {
          "Title": "Tisk faktury",
          "Tooltip": "Otevře tiskový náhled faktury"
        }
      }
    }
  ],
  "Groups": []
}

Příklad: Podmíněně aktivní tlačítko

{
  "ActionButtons": [
    {
      "Title": "Vytvořit dodatek",
      "ID": "Addendum",
      "CommandFunction": "btnAddendum",
      "EnabledFunction": "isAddendumEnabled",
      "VisibleFunction": "isAddendumVisible",
      "Icon": {
        "Icon": "regular/folderPlus"
      }
    }
  ]
}

Custom Script:

function isAddendumEnabled() {
  const { form } = tisa;
  return form.field.Status.value === "Approved";
}

function isAddendumVisible() {
  const { form } = tisa;
  return form.isEditForm;
}

async function btnAddendum() {
  // Logika vytvoření dodatku
}

Ikony

Ikony používají Font Awesome knihovnu. Formát cesty: typ/názevIkony, kde typ je light, regular nebo solid.

Dostupné ikony:

Typ Ikony
light bookOpenCover, boxArchive, penRuler, receipt, userGroup, userPlus
regular alarmClock, alarmExclamation, arrowsRotate, briefcase, calendarXmark, cars, chalkboardUser, check, circleExclamation, envelope, envelopeOpenText, fileInvoice, fileSignature, folderPlus, icons, laptop, magnifyingGlass, memo, messagesQuestion, personWalkingLuggage, question, rectangleXmark, share, triangleExclamation, userCheck, userGear, userMinus, userPen, userPlus, userXmark
solid bookOpenCover, inbox, listCheck

Pokud zadaná ikona neodpovídá žádné z dostupných, zobrazí se výchozí ikona.