...
Akcja musi być zdefiniowana po stronie serwera. W tym celu należy utworzyć klasę i oznaczyć ją adnotacją
| Javadoc |
|---|
| displayValue | @Action |
|---|
| property | javadoc.plusworkflow |
|---|
| className | com.suncode.pwfl.workflow.form.action.annotation.Action |
|---|
|
. Adnotacja ta sprawia, że system będzie szukał definicji akcji w tej klasie. Dodatkowo należy dodać adnotację
| Javadoc |
|---|
| displayValue | @ActionScript |
|---|
| property | javadoc.plusworkflow |
|---|
| className | com.suncode.pwfl.workflow.form.action.annotation.ActionScript |
|---|
|
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ą
| Javadoc |
|---|
| displayValue | @DefineAction |
|---|
| property | javadoc.plusworkflow |
|---|
| className | com.suncode.pwfl.workflow.form.action.annotation.DefineAction |
|---|
|
. Metoda musi przyjmować jeden parametr typu
| Javadoc |
|---|
| property | javadoc.plusworkflow |
|---|
| className | com.suncode.pwfl.workflow.form.action.ActionDefinitionBuilder |
|---|
|
. W implementacji metody należy za pomocą przekazanego
buildera builder'a zdefiniować wszystkie własności akcji.
| Code Block |
|---|
| language | java |
|---|
| title | Przykład definicji 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();
}
} |