Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
@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
languagejava
@Functions
@FunctionsScript( "/resources/functions/functions.js" )
public class BasicFunctions
{
    @Function
    public Boolean lte( Float a, Float b )
    {
        return a.floatValue() <= b.floatValue();
    }
} 

...

Code Block
languagexml
<?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

...