Versions Compared

Key

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

...

Tip
titlePrzydatne linki
Info
Zakładamy, że projekt wtyczki mamy już utworzony. Opis tworzenia wtyczki systemowej podany jest wyżej.

Wstęp

Kurs opisuje krok po kroku jak zarejestrować i stworzyć własną funkcję która będzie mogła być wykorzystywana w innych komponentach.

...

Code Block
languagexml
titlesuncode-plugin.xml
 <?xml version="1.0" encoding="UTF-8"?>
<plugin key="${project.groupId}-${project.artifactId}" name="Functions Examples">
	<!-- Udostępnianie tłumaczeń -->
	<i18n key="i18n" />
	<!-- Udostępnianie funkcji -->
	<functions key="functions" />
</plugin>

Implementacja Java

Rozpocząć należy od przygotowania definicji funkcji i jej zarejestrowaniu. Funkcje definiujemy w klasie oznaczonej adnotacją 

Javadoc
displayValue@Functions
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.core.function.annotation.Functions
. Dodatkowo musimy zdefiniować adnotację 
Javadoc
displayValue@FunctionsScript
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.core.function.annotation.FunctionsScript
 aby wskazać gdzie znajdować się będzie implementacja naszej funkcji w języku JavaScript.

...

Każda z funkcji musi być oznaczona adnotacją 

Javadoc
displayValue@Function
propertyjavadoc.plusworkflow
classNamecom.suncode.pwfl.core.function.annotation.Function
. Nazwa funkcji domyślnie jest taka sama jak nazwa metody. Każda funkcja musi zwracać wynik typu podstawowego oraz parametry które również muszą być jednym z typów podstawowych. 

Implementacja JavaScript

Aby funkcja mogła być również wykorzystywana np. do  dynamicznych obliczeń na formularzu zadania konieczne jest dostarczenie implementacji takiej funkcji w języku JavaScript. Implementacja powinna znajdować się w pliku invoice-functions.js (w katalogu src/main/resources/functions/) tak jak wskazano w adnotacji @FunctionsScript:

...

Implementacja w JavaScript musi zachowywać taką samą logikę wykonania obliczeń. 

Tłumaczenie funkcji

Funkcje stworzone dotychczas nie posiadają żadnych dodatkowych danych jak np. opis funkcji czy parametrów. Aby dostarczyć więcej informacji należy przygotować tłumaczenie funkcji.

...