...
Code Block | ||
---|---|---|
| ||
@Action @ActionScript( "resources/actions/hide-action.js" ) public class HideAction { @DefineAction@Define public void action( ActionDefinitionBuilder action ) { action .id( "hide-action-tutorial" ) .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( TypeTypes.VARIABLE_ARRAY ) .array(). .create(); } } |
Powyżej zdefiniowaliśmy akcję hide-action-tutorial
z jednym parametrem tablicowym, którego elementy są typu VARIABLE, czyli obiekty zmiennych formularza. Implementacja akcji po stronie przeglądarki znajduje się w skrypcie resources/actions/hide-action.js
. Jako nazwy i opisy akcji i jej parametru podaliśmy klucze, gdyż będziemy chcieli, aby te właściwości były tłumaczone w zależności od języka użytkownika.
Tłumaczenia dodajmy w plikach /resources/locale/messages.properties
(domyślne - wersja polska) oraz /resources/locale/messages_en.properties
(wersja angielska).
...
Code Block | ||
---|---|---|
| ||
@Functions
@FunctionsScript( "/resources/functions/functions.js" )
public class BasicFunctions
{
@Function
public Boolean lte( Float a, Float b )
{
return a.floatValue() <= b.floatValue();
}
} |
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <plugin key="${project.groupId}-${project.artifactId}" name="Hide Action Tutorial"> <!-- Udostępnianie tłumaczeń --> <i18n key="i18n"/> <!-- Udostępnianie akcji --> <form-actions key="actions" /> <!-- Udostępnianie funkcji--> <functions key="functions" /> <!-- Lokalizacja do skryptów z funkcjami--> <web-scripts key="formScripts" fragment="form" > <resource>/resources/functions/functions.js</resource> </web-scripts> </plugin> |
Info |
---|
Do wstrzyknięcia skryptu zawierającego implementacje funkcji wykorzystano moduł <webscripts> opisany w rozdziale Wstrzykiwanie skryptów |
Wykorzystanie akcji w zadaniu
...