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.