Podstawowe informacje

 Formularz zadania udostępnia API, które ułatwia wykonywanie podstawowych operacji na potrzeby dostosowania go do potrzeb klienta.

API zawiera ServiceFactory, który jest zbiorem serwisów odpowiedzialnych za poszczególne komponenty formularza.

ServiceFactory jest dostępny na globalnym scope (window).

 

Serwisy

ServiceFactory daje dostęp do następujących serwisów:

 

var activityInfoService = ServiceFactory.getActivityInfoService();


var commentsService = ServiceFactory.getCommentsService();

 

var formService = ServiceFactory.getFormService();

 

var messageService = ServiceFactory.getMessageService();

 

var variableService = ServiceFactory.getVariableService();

 

var variableSetService = ServiceFactory.getVariableSetService();

SuncodeFormService

API formularza posiada także dodatkowy serwis SuncodeFormService. Jest on również dostępny na globalnym scope (window) i jest obsługiwany niezależnie od pozostałych serwisów.


Zdarzenia gotowości formularza

Funkcja addOnReadyEvent daje możliwość dodania dowolnej ilości akcji, jakie zostaną wykonane po zbudowaniu formularza (wszystkie komponenty na formularzu będą już dostępne). Funkcja ta ma nazwę addOnReadyEvent. Przykładowe wykorzystanie jest następujące:

SuncodeFormService.addOnReadyEvent( function() {
 alert( 'Pierwsza akcja' );
} );

SuncodeFormService.addOnReadyEvent( function() {
 alert( 'Druga akcja' );
} );

Użycie serwisu w powyższy sposób spowoduje, że po zbudowaniu formularza zostaną kolejno wyświetlone wiadomości: 'Pierwsza akcja' i 'Druga akcja'. Kolejność wykonywania akcji jest zależna od ładowania skryptów, a w ramach jednego pliku od kolejności dodawania akcji.

 

Funkcja addOnReadyEvent przyjmuje jeden parametr:

Funkcja ta nie zwraca żadnych rezultatów.

 

Grupowanie akcji obliczania wyglądu formularza

Od wersji 3.1.6 możliwe jest dodatkowe grupowanie akcji zmieniających układ formularza (layout). Takie grupowanie zmian układu jest znacznie szybsze niż wykonywanie tych akcji osobno.

SuncodeFormService.suspendLayouts();
try {
	// wiele akcji
	variableService.hide('a');
	variableSetService.hide('a');
}
finally {
	SuncodeFormService.resumeLayouts();
}

 

Ustawienia konfiguracyjne formularza

W wersji 3.1.10 wprowadzono mechanizm ustawień formularza. Umożliwia on dynamiczne ustawienie danych właściwości poprzez API:

// ustawienie właściwości
SuncodeFormService.setConfig('config.key', 'value');
 
// pobranie właściwości
var conf = SuncodeFormService.getConfig('config.key', 'default value');


Tabela zawiera wszystkie dostępne opcje konfiguracyjne formularza

NazwaTypWartość domyślnaOpis
autoupdate.blurifchange
Boolean
false

Domyślnie AutoUpdate na zdarzeniu blur wykonuje się zawsze, nawet wtedy, gdy nie zmienimy wartości pola.

Aby AutoUpdate był wywoływany po wyjściu z pola, jeżeli jego wartość zmieniła się od ostatniego wyjścia z pola należy wywołać kod:

SuncodeFormService.setConfig('autoupdate.blurifchange', true);