Definicja akcji:
Kategorie
Kategorie ułatwiają podział oraz wyszukiwanie akcji. Opisywane są one za pomocą interfejsu . Dostępna jest podstawowa implementacja tego interfejsu
, która udostępnia podstawowe kategorie. Tworząc akcję można skorzystać z tych kategorii. W przypadku braku jakiejś kategorii można ją dodać do tej implementacji bądź stworzyć własną.
Elementy formularza (destination)
Akcja może być zdefiniowana dla konkretnych elementów formularza. Definicji dokonujemy za pomocą klasy . Dostępne są następujące elementy:
Dla wszystkich elementów formularza poza FORM podczas definicji należy podać id parametru akcji (jeżeli akcja posiada parametry). Umożliwia to automatyczne podpięcie danego elementu do tego parametru podczas wyboru akcji w PlusWorkflowEditor.
Parametry akcji
Akcje mogą posiadać parametry.
Definicja parametru:
Jeżeli przekazana zostanie do parametru wartość innego typu niż w definicji, to zostanie ona skonwertowana do tego typu.
Definiowanie akcji
Akcja musi być zdefiniowana po stronie serwera. W tym celu należy utworzyć klasę i oznaczyć ją adnotacją . Adnotacja ta sprawia, że system będzie szukał definicji akcji w tej klasie. Dodatkowo należy dodać adnotację
i jako jej wartość podać relatywną ścieżkę do skryptu z implementacją akcji. W tak przygotowanej klasie należy teraz dodać definicję akcji. W tym celu trzeba dodać metodę i oznaczyć ją adnotacją
. Metoda musi przyjmować jeden parametr typu
. W implementacji metody należy za pomocą przekazanego builder'a zdefiniować wszystkie własności akcji.
@Action
@ActionScript( "resources/actions/test/hiding-variables-action.js" )
public class HidingVariablesAction
{
@DefineAction
public void action( ActionDefinitionBuilder action )
{
action
.id( "hiding-variables-action" )
.name( "action.hiding.variables.name" )
.description( "action.hiding.variables.desc" )
.icon( SilkIconPack.APPLICATION_FORM )
.category( Categories.TEST )
.destination( ActionDestination.form() )
.parameter().id( "variables" ).name( "action.hiding.variables.parameter.name" )
.description( "action.hiding.variables.parameter.desc" ).type( Type.VARIABLE )
.array().create();
}
} |