Skrypty dostarczające formularze będą dynamicznie ładowane w PWE: Wstrzykiwanie skryptów Komponent budowałby formularz za pomocą funkcji np.: buildForm( form, options ), gdzie parametr form byłby kontenerem parametrów, a parametr options zawierał dodatkowe informacje, takie jak: - destination - dostępny tylko dla akcji formularza, informuje o tym, do jakiego komponentu formularza akcja jest dodawana, dostępne wartości, to:
- FORM - formularz
- VARIABLE - zmienna
- VARIABLESET - tabela dynamiczna
- BUTTON - przycisk
- DT_BUTTON - przycisk tabeli dynamicznej
- acceptButton - przyjmuje wartość true, jeśli akcja jest dodawana do przycisku akceptacji
- tableId - identyfikator tabeli dynamicznej (posiada wartość, gdy destination przyjmuje wartość VARIABLESET lub DT_BUTTON)
- buttonId - identyfikator przycisku, gdy akcja jest dodawana do przycisk (posiada wartość, gdy destination przyjmuje wartość BUTTON)
Komponent w zależności od typu należy zarejestrować za pomocą metody: - dla akcji formularza - PWE.integrationComponent.registerFormAction( id_komponentu, rejestracja )
- dla walidatora - PWE.integrationComponent.registerValidator( id_komponentu, rejestracja )
- dla klasy ustawiającej zmienne - PWE.integrationComponent.registerVariablesSetter( id_komponentu, rejestracja )
- dla aplikacji systemowej - PWE.integrationComponent.registerApplication( id_komponentu, rejestracja )
- dla data chooser'a - PWE.integrationComponent.registerDataChooser( id_komponentu, rejestracja )
Obiekt rejestracja posiada następujące właściwości: - apiVersion - wersja API
- labelWidth - szerokość etykiety parametrów formularza, przyjmuje wartość liczbową np. 150
- buildForm - funkcja budująca formularz parametrów
- validateForm - funkcja walidująca zapis formularza parametrów
Można rejestrować także dynamiczne formularze dla funkcji systemowych za pomocą metody: PWE.integrationComponent.registerSystemFunction( nazwa_funkcji, parametry_funkcji, rejestracja ) Parametry funkcji są tablicą obiektów o następujących właściwościach: - type: typ parametru
- id: identyfikator parametru
- array: informacja, czy parametr jest tablicowy (domyślnie: false)
Jako parametr parametry_funkcji możliwe jest podanie null, co spowoduje, że dynamiczny formularz zostanie zarejestrowany dla wszystkich funkcji o nazwie podanej w parametrze nazwa_funkcji. Obiekt rejestracja posiada następujące właściwości: - buildForm - funkcja budująca formularz parametrów
- toText - funkcja zwracająca bardziej czytelną reprezentację, przyjmuje ona parametry:
- parameterValues - postaci Object (czyli jak mapa w Java), możemy otrzymywać poszczególne wartości parametrów po ich identyfikatorach, otrzymana wartość parametru może być tabelą, albo bezpośrednią wartością tekstową, liczbową itd.
- parameterTypes - postaci Object (czyli jak mapa w Java), możemy otrzymywać poszczególne typy parametrów po ich identyfikatorach, każdy wpis w mapie jest obiektem, który posiada następujące właściwości:
- type - nazwa typu parametru np. string, integer, date itd.
- array - true lub false, informuje, czy parametr jest typu tablicowego
- apiVersion - wersja API formularza, parametr jest opcjonalny, jeśli nie jest podany, to jest wykorzystywane API formularza w wersji V1
Rejestracja funkcji może wyglądać następująco: PWE.integrationComponent.registerSystemFunction( 'concat', [ {
type: 'string',
id: 'strings',
array: true
} ], {
apiVersion: 2,
buildForm: function( api, options ) {
api.addField( {
id: 'strings'
} );
},
toText: function( parameters ) {
var strings = parameters['strings'];
return 'konkatenacja( ' + strings.join( ', ' ) + ' )';
}
} ); |
Założenia- Możliwość rozmieszczania parametrów w miarę dowolny sposób.
- Możliwość podpinania zdarzeń pod pola parametrów:
- change
- blur
- Grupowanie parametrów (chyba tylko tablicowych) - chodzi o to, żeby mając np 2 parametry tablicowe, które są ze sobą powiązane (np ustawianie zmiennych - jeden parametr ze zmiennymi, a drugi z wartościami do ustawienia) była możliwość przedstawienia ich jako pary dla której byłby tylko jeden przycisk dodawania kolejnego elementu tablicy i ten przycisk jednocześnie dodawałby pola dla wszystkich zgrupowanych parametrów
 - Ukrywanie / pokazywanie parametrów.
- Możliwość zdefiniowania wybieracza z wartościami dla parametru z określeniem czy można wpisać własną wartość lub wybrać funkcję, czy zmienną. Wydaje mi się, że będzie to mieć sens tylko dla parametrów o podstawowych typach.
- Możliwość filtrowania wartości, np.: dla parametru typu VARIABLE, możnaby przefiltrować jakie zmienne miałyby być wyświetlane. Np, gdy chcielibyśmy tylko zmienne typu FLOAT.
- Możliwość dodania zwykłego labela, chyba będzie przydatne do grupowania parametrów.
- Możliwość dodania checkboxa - umożliwiałby pokazywanie i ukrywanie parametrów.
- Możliwość definiowania sekcji, którą możnaby było zwinąć, taki fieldset zwijany.
Definicja formularza mogłaby wyglądać następująco: buildForm: function( form ) {
//dodanie parametru w podstawowej formie
form.addField("parameter_id"); //parameter_id to id parametru zdefiniowanego w komponencie
//dodanie parameteru ze zdarzeniem change
form.addField({
id: "param_id",
onChange: function(value, options) {
if(value) {
form.showField("hiddenParam");
}
else {
form.hideField("hiddenParam");
}
}
});
//dodanie parametru, który jest ukryty podczas inicjalizacji
form.addField({
id: "hiddenParam",
hidden: true //domyślnie false
});
} |
API FORMULARZA V1 (apiVersion=1)- addField(Object / parameterId) - dodaje pole parametru na ostatniej pozycji
- insertField(position, Object / parameterId) - dodaje pole parametru na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition)
- removeField(parameterId) - usuwa pole parametru
- hideField (parameterId) - ukrywa parametr
- showField(parameterId) - pokazuje parametr
- focusField(parameterId) - ustawia kursor w polu parametru
- addLabel("Label text") - dodaje etykietę na ostatniej pozycji
- insertLabel(position, "Label text" ) - dodaje etykietę na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition)
- addCheckbox(Object) - dodaje checkbox na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- name - nazwa pola
- description - opis pola
- insertCheckbox(position, Object) - dodaje checkbox na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition)
- addCombobox(Object) - dodale listę rozwijaną na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- id - identyfikator parametru typu String, który będzie w formie listy rozwijanej, jeśli id nie jest podane, parametr nie istnieje lub zmienna jest innego typu, niż string, to do formularza parametrów jest dodawana niezależna lista rozwijana
- text - etykieta pola
- value - wartość początkowa
- remote - informuje, czy dane listy rozwijanej mają być pobierane z serwera, czy jest to statyczna lista (domyślnie: false), gdy remote ma wartość true, to do serwera podczas pobierania danych przekazywane są następujące parametry:
- sort - nazwa pola, po którym dane są sortowane
- dir - kierunek sortowania (ASC/DESC)
- query - aktualnie wpisana wartość w listę rozwijaną, służy do filtrowania wartości
- start - offset
- limit - rozmiar strony
Serwer musi zwrócić obiekt json z polami:- total - całkowita liczba wyników,
- data - pobrane dane z uwzględnieniem stronnicowania
- values - lista wartości dla statycznej listy rozwijanej, właściwość jest tablicą obiektów, z których każdy posiada następujące własności
- id - identyfikator wartości
- display - nazwa wartości
- description - opis wartości
- url - url zwracający dane z serwera dla dynamnicznej listy rozwijanej, może być także w postaci funkcji zwracającej wartość typu String, która przyjmuje następujące parametry:
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- fields - pola, jakie są zwracane z serwera, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- name - nazwa pola
- type - typ pola (string, boolean, integer, float, date)
- valueField - nazwa pola, którego wartość ma być ustawiana jako wartość parametru
- displayField - nazwa pola, którego wartość jest wyświetlana na liście
- pageSize - rozmiar strony (domyślnie: 20)
- template - szablon opisujący sposób wyświetlania wartości na liście, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- label - etykieta dla pola
- field - nazwa pola
- sort - umozliwia określenie sortowania danych z serwera, właściwość jest obiektem, który posiada następujące własności:
- field - nazwa pola, po którym występuje sortowanie
- direction - kierunek sortowania (ASC/DESC)
- onChange - funkcja wykonywana po wybraniu wartości z listy, przyjmuje następujące parametry:
- value - wartość pola parametru
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- insertCombobox(position, Object) - dodale listę rozwijaną na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), obiekt definicji zawiera następujące właściwości:
- id - identyfikator parametru typu String, który będzie w formie listy rozwijanej, jeśli id nie jest podane, parametr nie istnieje lub zmienna jest innego typu, niż string, to do formularza parametrów jest dodawana niezależna lista rozwijana
- remote - informuje, czy dane listy rozwijanej mają być pobierane z serwera, czy jest to statyczna lista (domyślnie: false), gdy remote ma wartość true, to do serwera podczas pobierania danych przekazywane są następujące parametry:
- sort - nazwa pola, po którym dane są sortowane
- dir - kierunek sortowania (ASC/DESC)
- query - aktualnie wpisana wartość w listę rozwijaną, służy do filtrowania wartości
- start - offset
- limit - rozmiar strony
Serwer musi zwrócić obiekt json z polami:- total - całkowita liczba wyników,
- data - pobrane dane z uwzględnieniem stronnicowania
- values - lista wartości dla statycznej listy rozwijanej, właściwość jest tablicą obiektów, z których każdy posiada następujące własności
- id - identyfikator wartości
- display - nazwa wartości
- description - opis wartości
- url - url zwracający dane z serwera dla dynamnicznej listy rozwijanej, może być także w postaci funkcji zwracającej wartość typu String, która przyjmuje następujące parametry:
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- fields - pola, jakie są zwracane z serwera, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- name - nazwa pola
- type - typ pola (string, boolean, integer, float, date)
- valueField - nazwa pola, którego wartość ma być ustawiana jako wartość parametru
- displayField - nazwa pola, którego wartość jest wyświetlana na liście
- pageSize - rozmiar strony (domyślnie: 20)
- template - szablon opisujący sposób wyświetlania wartości na liście, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- label - etykieta dla pola
- field - nazwa pola
- sort - umozliwia określenie sortowania danych z serwera, właściwość jest obiektem, który posiada następujące własności:
- field - nazwa pola, po którym występuje sortowanie
- direction - kierunek sortowania (ASC/DESC)
- onChange - funkcja wykonywana po wybraniu wartości z listy, przyjmuje następujące parametry:
- value - wartość pola parametru
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- getFieldPosition(parameterId) - zwraca pozycję pola parametru, jeżeli parametr znajduje się w tabeli, to zwracana jest pozycja pola parametru tabeli
- getFieldValue(parameterId, asString) - zwraca wartość pola parametru, wartość może być zwrócona w postaci string (asString=true)
- setFieldValue(parameterId, value) - ustawia wartość pola parametru
- addButton(Object) - dodaje przycisk na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- text - teskt przycisku
- iconCls - systemowa klasa css dla ikony przycisku
- tooltip - tooltip przycisku
- handler - funkcja wykonywana po kliknięciu w przycisk
- scope - scope dla funkcji wykonywanej po kliknięciu w przycisk, domyślnie: window
- insertButton(position, Object) - dodaje przycisk na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), obiekt definicji zawiera następujące właściwości:
- text - teskt przycisku
- iconCls - systemowa klasa css dla ikony przycisku
- tooltip - tooltip przycisku
- handler - funkcja wykonywana po kliknięciu w przycisk
- scope - scope dla funkcji wykonywanej po kliknięciu w przycisk, domyślnie: window
- addFieldToArray(parameterId) - dodaje nowe pole na ostatniej pozycji w parametrze tabelarycznym, pole nie jest dodawane do parametru tabelarycznego, który znajduje się w tabeli
- removeFieldFromArray(parameterId, position) - usuwa pole z danej pozycji z parametru tabelarycznego, pole nie jest usuwane z parametru tabelarycznego, który znajduje się w tabeli
- setFieldValueInArray(parameterId, position, value) - ustawia wartość pola na danej pozycji w parametrze tabelarycznym
- getArraySize(parameterId) - zwraca ilość pól w parametrze tabelarycznym lub 0, jeśli pole nie jest parametrem tabelarycznym
- resetArray(parameterId) - usuwa pola wiersze (poza pierwszym) z parametru tabelarycznego i czyści wartość pierwszego pola, pola nie są usuwane z parametru tabelarycznego, który znajduje się w tabeli
- addTable([ Object / parameterId ], Object) - dodaje tabelę (zbiór pól tabelarycznych) na ostatniej pozycji, obiekt definicji tabeli (drugi parametr) zawiera następujące właściwości:
- tableId - identyfikator tabeli, który pozwala ukrywać/pokazywać/usuwać pole
- name - nazwa tabeli
- description - opis tabeli
- hidden - określa, czy tabela ma zostać ukryta
- insertTable(position, [ Object / parameterId ], Object) - dodaje tabelę (zbiór pól tabelarycznych) na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), obiekt definicji tabeli (drugi parametr) zawiera następujące właściwości:
- tableId - identyfikator tabeli, który pozwala ukrywać/pokazywać/usuwać pole
- name - nazwa tabeli
- description - opis tabeli
- hidden - określa, czy tabela ma zostać ukryta
- addDataChooserMapping(Object) - dodaje mapping data choose'a, ma znaczenie tylko dla komponentu data chooser'a, obiektmappingu zawiera następujące właściwości:
- id - id mappingu
- description - opis mappingu
- variableId - id zmiennej procesu, na którą jest mapowana wybrana wartość w data chooser
- name - tekst wyświetlany dla mappingu podczas prezentacji rezultatów data chooser'a na formularzu zadania
- hidden - informuje, czy mapping ma być ukryty na formularzu zadania
- verify - informuje, czy mapping ma być walidowany na formularzu zadania
- readOnly - informuje, które wartości nie mogą być edytowane w danym mappingu, akceptowane wartości to:
- true/false - zmienna typu boolean, informuje, że żadna z wartości mappingu nie może być edytowana
- string - zmienna typu string, informuje, która z wartości mappingu nie może być edytowana (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- array - zmienna tabelaryczna, informuje, które z wartości mappingu nie mogą być edytowane (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- resetDataChooserMappings() - usuwa wszystkie mappingi data choose'a, ma znaczenie tylko dla komponentu data chooser'a
WŁAŚCIWOŚCI POLA PARAMETRU (FIELD)- id,
- onChange,
- onBlur,
- hidden,
- optional,
- notEmpty,
- value,
- readOnly
- hideLabel
- values - lista obiektów wartości listy rozwijanej, każdy obiekt zawiera właściwości id (identyfikator wartości), display (wartość wyświetlana na liście), description (opis wartości na liście)
- url - url zwracający dane z serwera dla dynamnicznej listy rozwijanej, może być także w postaci funkcji
API FORMULARZA V2 (apiVersion=2)- addField(Object / parameterId, position) - dodaje pole parametru na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji
- removeField(parameterId) - usuwa pole parametru
- hide (parameterId) - ukrywa parametr
- show(parameterId) - pokazuje parametr
- focusField(parameterId) - ustawia kursor w polu parametru
- addLabel("Label text", position) - dodaje etykietę na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji
- addCheckbox(Object, position) - dodaje checkbox na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- id - identyfikator checkbox'a typu String, możliwe jest ustawienie wartości checkbox'a za pomocą identyfikatora
- name - nazwa pola
- description - opis pola
- bindedFieldId - identyfikator parametru typu logicznego, jego wartość odzwierciedla, czy checkbox jest zaznaczony, zmiana zaznaczenia checkbox'a wpływa na wartość powiązanego pola
- addCombobox(Object, position) - dodaje listę rozwijaną na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- id - identyfikator parametru typu String, który będzie w formie listy rozwijanej, jeśli id nie jest podane, parametr nie istnieje lub zmienna jest innego typu, niż string, to do formularza parametrów jest dodawana niezależna lista rozwijana
- name - etykieta pola
- description - opis pola
- value - wartość początkowa
- optional - informuje, czy wymagane jest podanie wartości (domyślnie: false)
- forceSelection - informuje, że parametr może przyjmować tylko wartości znajdujące się na liście (domyślnie: true)
- remote - konfiguracja pobierania danych z serwera, jej brak informuje, że dana lista jest statyczną listą (domyślnie: null), zawiera takie właściwości jak:
- url - url zwracający dane z serwera dla dynamnicznej listy rozwijanej, może być także w postaci funkcji, która przyjmuje następujące parametry:
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- fields - pola, jakie są zwracane z serwera, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- name - nazwa pola
- type - typ pola (string, boolean, integer, float, date)
- remoteSort - informuje, czy sortowanie ma się odbywać po stronie serwera, czy po stronie przeglądarki (domyslnie: false - po stronie przeglądarki)
- pageSize - rozmiar strony (domyślnie: 25)
Serwer musi zwrócić obiekt json z polami:- total - całkowita liczba wyników,
- data - pobrane dane z uwzględnieniem stronnicowania
- values - lista wartości dla statycznej listy rozwijanej, właściwość jest tablicą obiektów, z których każdy posiada następujące własności
- id - identyfikator wartości
- display - nazwa wartości
- description - opis wartości
- valueField - nazwa pola, którego wartość ma być ustawiana jako wartość parametru
- displayField - nazwa pola, którego wartość jest wyświetlana na liście
- template - szablon opisujący sposób wyświetlania wartości na liście, właściwość jest tablicą obiektów, z których każdy posiada następujące własności:
- label - etykieta dla pola
- field - nazwa pola
- sort - umozliwia określenie sortowania danych z serwera, właściwość jest tablicą, który posiada obiekty o następujących własnościach:
- property - nazwa pola, po którym występuje sortowanie
- direction - kierunek sortowania (ASC/DESC)
- listeners - obiekt zawierający zdarzenia, obsługowane są następujące zdarzenia
- change - funkcja wykonywana po wybraniu wartości z listy, przyjmuje następujące parametry:
- value - wartość pola parametru
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- blur - funkcja wywoływana po wyjściu z pola, przyjmuje następujące parametry:
- value - wartość pola parametru
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- getFieldPosition(parameterId) - zwraca pozycję pola parametru, jeżeli parametr znajduje się w tabeli, to zwracana jest pozycja pola parametru tabeli
- getValue(parameterId, asString) - zwraca wartość pola parametru, wartość może być zwrócona w postaci string (asString=true)
- setValue(parameterId, value) - ustawia wartość pola parametru
- addButton(Object, position) - dodaje przycisk na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, obiekt definicji zawiera następujące właściwości:
- id - identyfikator przycisku
- text - teskt przycisku
- iconCls - systemowa klasa css dla ikony przycisku
- tooltip - tooltip przycisku
- handler - funkcja wykonywana po kliknięciu w przycisk
- scope - scope dla funkcji wykonywanej po kliknięciu w przycisk, domyślnie: window
- hideButton(buttonId) - ukrywa przycisk
- showButton(buttonId) - pokazuje przycisk
- addFieldToArray(parameterId) - dodaje nowe pole na ostatniej pozycji w parametrze tabelarycznym, pole nie jest dodawane do parametru tabelarycznego, który znajduje się w tabeli
- removeFieldFromArray(parameterId, position) - usuwa pole z danej pozycji z parametru tabelarycznego, pole nie jest usuwane z parametru tabelarycznego, który znajduje się w tabeli
- setFieldValueInArray(parameterId, position, value) - ustawia wartość pola na danej pozycji w parametrze tabelarycznym
- getArraySize(parameterId) - zwraca ilość pól w parametrze tabelarycznym lub 0, jeśli pole nie jest parametrem tabelarycznym
- resetArray(parameterId) - usuwa pola wiersze (poza pierwszym) z parametru tabelarycznego i czyści wartość pierwszego pola, pola nie są usuwane z parametru tabelarycznego, który znajduje się w tabeli
- removeLastArrayFields(parameterId, amount) - usuwa określoną ilość pól wierszy z parametru tabelarycznego i czyści wartość pierwszego pola, pola nie są usuwane z parametru tabelarycznego, który znajduje się w tabeli
- addDataChooserMapping(Object) - dodaje mapping data choose'a, ma znaczenie tylko dla komponentu data chooser'a, obiekt mappingu zawiera następujące właściwości:
- id - id mappingu
- description - opis mappingu
- variableId - id zmiennej procesu, na którą jest mapowana wybrana wartość w data chooser
- name - tekst wyświetlany dla mappingu podczas prezentacji rezultatów data chooser'a na formularzu zadania
- hidden - informuje, czy mapping ma być ukryty na formularzu zadania
- verify - informuje, czy mapping ma być walidowany na formularzu zadania
- readOnly - informuje, które wartości nie mogą być edytowane w danym mappingu, akceptowane wartości to:
- true/false - zmienna typu boolean, informuje, że żadna z wartości mappingu nie może być edytowana
- string - zmienna typu string, informuje, która z wartości mappingu nie może być edytowana (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- array - zmienna tabelaryczna, informuje, które z wartości mappingu nie mogą być edytowane (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- updateDataChooserMapping(id, Object) - edytuje mapping data choose'a na podstawie id, ma znaczenie tylko dla komponentu data chooser'a, obiekt mappingu może zawierać następujące właściwości:
- description - opis mappingu
- variableId - id zmiennej procesu, na którą jest mapowana wybrana wartość w data chooser
- name - tekst wyświetlany dla mappingu podczas prezentacji rezultatów data chooser'a na formularzu zadania
- hidden - informuje, czy mapping ma być ukryty na formularzu zadania
- verify - informuje, czy mapping ma być walidowany na formularzu zadania
- readOnly - informuje, które wartości nie mogą być edytowane w danym mappingu, akceptowane wartości to:
- true/false - zmienna typu boolean, informuje, że żadna z wartości mappingu nie może być edytowana
- string - zmienna typu string, informuje, która z wartości mappingu nie może być edytowana (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- array - zmienna tabelaryczna, informuje, które z wartości mappingu nie mogą być edytowane (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- removeDataChooserMapping(id) - usuwa mapping data choose'a na podstawie id, ma znaczenie tylko dla komponentu data chooser'a
- changeDataChooserMappingPosition(id, position) - przesuwa mapping data choose'a na podstawie id, position zaczyna się od 0 i nie może być większe niż ilość mappingów - 1, ma znaczenie tylko dla komponentu data chooser'a
- getAllDataChooserMapping() - zwraca wszystkie mappingi data choose'a, ma znaczenie tylko dla komponentu data chooser'a, każdy obiekt mappingu zawiera następujące właściwości:
- id - id mappingu
- description - opis mappingu
- variableId - id zmiennej procesu, na którą jest mapowana wybrana wartość w data chooser
- name - tekst wyświetlany dla mappingu podczas prezentacji rezultatów data chooser'a na formularzu zadania
- hidden - informuje, czy mapping ma być ukryty na formularzu zadania
- verify - informuje, czy mapping ma być walidowany na formularzu zadania
- readOnly - informuje, które wartości nie mogą być edytowane w danym mappingu, akceptowane wartości to:
- true/false - zmienna typu boolean, informuje, że żadna z wartości mappingu nie może być edytowana
- string - zmienna typu string, informuje, która z wartości mappingu nie może być edytowana (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- array - zmienna tabelaryczna, informuje, które z wartości mappingu nie mogą być edytowane (akceptowane wartości to: id, description, variableId, name, hidden, verify)
- resetDataChooserMappings() - usuwa wszystkie mappingi data choose'a, ma znaczenie tylko dla komponentu data chooser'a
- addTable(Object, position) - dodaje tabelę na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, obiekt definicji tabeli zawiera następujące właściwości:
- id - identyfikator tabeli, który pozwala ukrywać/pokazywać/usuwać pole
- name - nazwa tabeli
- description - opis tabeli
- hidden - określa, czy tabela ma zostać ukryta
- blocked - określa, czy pojawią się przyciski dodawania/usuwania wierszy w utworzonej tabeli, domyślnie: false
- notEmpty - określa, czy wszystkie pola w tabeli muszą mieć dodany przynajmniej jeden wiersz
Metoda zwraca API tabeli, które posiada następujące operacje:- addField(Object / parameterId, position) - dodaje pole parametru tabelarycznego na określonej pozycji, parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji
- addCombobox(Object, position) - dodale listę rozwijaną w formie tabeli na określonej pozycji, parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, definicja listy rozwijanej - patrz punkt 8.
- addRow([ Object ], position) - dodaje nowy wiersz do tabeli na określonej pozycji, parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, pierwszy parametr jest opcjonalny i zawiera wartości poszczególnych pól w tabeli, definicja obiektu jednej wartości jest następująca:
- id - identyfikator pola tablicowego
- value - wartość pola
- removeRow(position) - usuwa wiersz tabeli na określonej pozycji, parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest usuwany z ostatniej
- clear - czyści zawartość tabeli
- addRow(position) - dodaje pusty wiersz na pola parametrów ułożone horyzontalnie na określonej pozycji, parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, metoda zwraca API dla wiersza, które jest tożsame z API V2 (dodawanie kolejnych pól realizujemy więc metodą addField z pozycji 1.)
- disable(parameterId) - blokuje pole parametru
- enable(parameterId) - odblokowuje pole parametru
- resetValue(parameterId, silent) - usuwa wartość pola parametru, jeżeli silent ma wartość true, to po zmianie wartości nie jest wykonywana funkcja onChange
- hasVariableValue(parameterId, position) - informuje, czy pole parametru posiada zmienną jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- hasVariableArrayValue(parameterId, position) - informuje, czy pole parametru posiada zmienną tabelaryczną jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- hasFunctionValue(parameterId, position) - informuje, czy pole parametru posiada funkcję jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- setNotEmpty(parameterId, notEmpty) - pozwala ustawić wartość właściwości notEmpty
- setErrorHandling(Object) - pozwala ustawić obsługę błędów aplikacji systemowej, funkcja dostępna tylko dla komponentów aplikacji, obiekt obsługi błedu przyjmuje następujące właściwości:
- type - typu string, doopuszczalne wartości to STOP i CONTINUE
- comment - typu string lub obiekt pobrany bezpośrednio jako wartość innego parametru
- userMessage - typu string lub obiekt pobrany bezpośrednio jako wartość innego parametru
- addErrorToComment - typu boolean lub obiekt pobrany bezpośrednio jako wartość innego parametru
- setters - obiekt zawierający następujące właściwości:
- variables - tablica identyfikatorów zmiennych, wartości typu string lub obiekt pobrany bezpośrednio jako wartość innego parametru
- values - tablica wartości zmiennych, wartości typu string lub obiekt pobrany bezpośrednio jako wartość innego parametru
- block(parameterId) - blokuje możliwość zmiany rozmiaru pola tablicowego i tabelatycznego (ukrywa przyciski dodawania/usuwania pól)
- unblock(parameterId) - odblokowuje możliwość zmiany rozmiaru pola tablicowego i tabelatycznego (pokazuje przyciski dodawania/usuwania pól)
- addEmptyLine(position) - dodaje pustą linię na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji
- addFieldSet(Object, position) - dodaje zgrupowany zestaw pól na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, obiekt definicji zgrupowanego zestawu pól zawiera następujące właściwości:
- id - identyfikator zgrupowanego zestawu pól
- title - tytuł zgrupowanego zestawu pól
- collapsible - określa, czy zgrupowany zestaw pól może być zwijany i rozwijany, domyślnie: false
- collapsed - określa, czy zgrupowany zestaw pól jest początkowo zwinięty, domyślnie: false
- collapseFieldSet(id) - zwija zgrupowany zestaw pól
- expandFieldSet(id) - rozwija zgrupowany zestaw pól
- toggleFieldSet(id) - zmienia stan zgrupowanego zestawu pól w zależności od tego, czy jest on zwinięty/rozwinięty
- addColorPicker(Object / parameterId, position) - dodaje paletę kolorów na określonej pozycji (w celu wyznaczenia position dla pola należy korzystać z funkcji getFieldPosition), parametr position jest opcjonalny, jeśli nie jest podany, to obiekt jest dodawany na ostatniej pozycji, paleta kolorów może zostać jedynie dodana do parametrów typu STRING
- isDataChooserInTable(id) - zwraca true, jeśli zmienna o podanym identyfikatorze jest dynamiczną listą i jest umiejscowiona w tabeli, w przeciwnym razie zwraca false, możliwe jest pominięcie id, jeżeli jesteśmy aktualnie w edycji zmiennej procesu typu dynamiczna lista
- activateRebuildParameters() - aktywuje przebudowanie dynamicznego formularza parametrów po wystąpieniu następujących zdarzeń
- zmiana położenia zmiennej procesu typu dynamiczna lista
- deactivateRebuildParameters() - dezaktywuje przebudowanie dynamicznego formularza parametrów po wystąpieniu następujących zdarzeń
- zmiana położenia zmiennej procesu typu dynamiczna lista
- showMessage(Object) - wyświetla wiadomość w pop-up'ie z przyciskiem OK, obiekt konfiguracji zawiera następujące właściwości:
- message - treść wiadomości
- title - tytuł okna
- getAllTasks - zwraca listę wszystkich zadań, które aktualnie występują w procesie. Obiekt każdego zadania na liście posiada następujące właściwości:
- id - identyfikator definicji zadania
- name - nazwa zadania
- getAllRoles - zwraca listę wszystkich ról, które aktualnie występują w procesie. Obiekt każdej roli na liście posiada następujące właściwości:
- id - identyfikator roli
- name - nazwa roli
- getAllVariables - zwraca listę wszystkich zmiennych, które aktualnie występują w procesie. Obiekt każdej tabeli na liście posiada następujące właściwości:
- id - identyfikator zmiennej
- name - nazwa zmiennej
type - typ zmiennej Typ zmiennej | Wartość przekazywana |
---|
Tekstowy | STRING | Pole tekstowe | TEXTAREA | Data i czas | DATETIME | Datowy | DATE | Całkowity | INTEGER | Zmiennoprzecinkowy | FLOAT | Logiczny | BOOLEAN | Kwotowy | AMOUNT | Przycisk jednokrotnego wyboru | RADIOBUTTON | Przycisk wyboru (checkbox) | CHECKBOX | Lista wartości | LISTBOX | Tabela użytkowników systemu | USERLIST | Lista użytkowników systemu | USERLISTLISTBOX | Filtrowana lista użytkowników o roli | ROLEUSERS | Lista użytkowników o roli | ROLEUSERS_NO_FILTER | Dynamiczna lista | DATA_CHOOSER |
destination - położenie zmiennej Umiejscowienie zmiennej | Wartość przekazywana |
---|
Formularz | form | Tabela | table |
- getAllGlobalTables - zwraca listę wszystkich globalnych tabel dynamicznych, które aktualnie występują w procesie. Obiekt każdej tabeli na liście posiada następujące właściwości:
- id - identyfikator tabeli
- name - nazwa (tytuł) tabeli
- columns - lista identyfikatorów zmiennych procesu, które zostały użyte jako kolumny tabeli
- getGlobalTable(tableId) - zwraca definicję globalnej tabeli dynamicznej lub null, jeśli nie istnieje tabela o podanym identyfikatorze. Obiekt tabeli posiada następujące właściwości:
- id - identyfikator tabeli
- name - nazwa (tytuł) tabeli
- columns - lista identyfikatorów zmiennych procesu, które zostały użyte jako kolumny tabeli
- showHint(parameterId, hint, type) - wyświetla podpowiedź pod danym parametrem/tabelą. Funkcja przyjmuje następujące parametry:
- parameterId - identyfikator parametru, może być też identyfikatorem tabeli
- hint - treść podpowiedzi
- type - typ podpowiedzi (odpowiada za kolor tekstu), dostępne wartości to:
- INFO - czarny
- SUCCESS - zielony
- ERROR - czerwony
- showHintInArray(parameterId, position, hint, type) - wyświetla podpowiedź pod danym polem w parametrze tabelarycznym. Funkcja przyjmuje następujące parametry:
- parameterId - identyfikator parametru, może być też identyfikatorem tabeli
- position - indeks parametru w tabeli
- hint - treść podpowiedzi
- type - typ podpowiedzi (odpowiada za kolor tekstu), dostępne wartości to:
- INFO - czarny
- SUCCESS - zielony
- ERROR - czerwony
- hideHint(parameterId) - ukrywa podpowiedź pod danym parametrem/tabelą
- hideHintInArray(parameterId, position) - ukrywa podpowiedź pod danym polem w parametrze tabelarycznym
Combobox API: - addValues(Object/Array) - dodaje do listy rozwijanej kolejne pozycje (patrz values w metodzie addCombobox), dotyczy tylko tych list rozwijanych, które działają lokalnie
- setValues(Object/Array) - zmienia pozycje na liście rozwijanej (patrz values w metodzie addCombobox), dotyczy tylko tych list rozwijanych, które działają lokalnie
- setUrl(url) - ustawia url zwracający dane z serwera, dotyczy tylko tych list rozwijanych, które pobierają dane z serwera, wartość parametru url musi być typu String
- setForceSelection(forceSelection) - ustawia wartość pola forceSelection
WŁAŚCIWOŚCI POLA PARAMETRU (FIELD)- id
- name
- description
- type
- listeners
- afterrender - funkcja wykonywana po wyrenderowaniu pola (dostępna jest już jego wartość), przyjmuje następujące parametry:
- options - dodatkowe parametry przekazywane do funkcji
- rowIndex - jeśli pole parametru jest typu tabelarycznego, to rowIndex jest pozycją aktualnego pola parametru w tablicy, pierwsza pozycja ma wartość 0
- change
- blur
- select (dla listy rozwijanej)
- addfield (dla pola typu tablicowego, parametrem jest pozycja pola)
- hidden
- disabled
- optional
- notEmpty
- value
- readOnly
- hideLabel
- disableVariableDuplication - dla pola typu tablicowego, informuje, czy zablokować możliwość wyboru tej samej zmiennej w różnych polach parametru tablicowego
- values - lista obiektów wartości listy rozwijanej, każdy obiekt zawiera właściwości id (identyfikator wartości), display (wartość wyświetlana na liście), description (opis wartości na liście)
- arrayMinLength - dotyczy parametrów tablicowych, minimalna ilość pól, jakie muszą zostać dodane w celu pozytywnej walidacji pola, wartość domyślna: 0 (pole jest zawsze walidowane pozytywnie)
WALIDACJA FORMULARZAMożliwe jest przeprowadzenie własnej walidacji formularza. Jeżeli dla danego komponentu zostanie zarejestrowana metoda validateForm( api ), to oprócz standardowej walidacji wymagalności pól, będzie można sprawdzić inne warunki we własnym zakresie. Metoda powinna zwrócić false, jeśli proces zapisu formularza ma zostać przerwany. Dodatkowo można zwrócić obiekt, który w zależności od ustawionej właściwości będzie definiował inne zachowania: - confirm: true - wyświetla okno wymagające potwierdzenia kontynuwacji zapisu, dodatkowe właściwości obiektu to:
- title - tytuł okna potwierdzenia (domyślnie: Uwaga)
- message - wiadomość wyświetlona w oknie potwierdzenia
{
confirm: true,
title: 'Potwierdź zapis',
message: 'Czy chcesz kontynuować zapis?'
} |
API dostarczone jako parametr metody umożliwia korzystanie z następujących funkcji: - getFieldPosition(parameterId) - zwraca pozycję pola parametru, jeżeli parametr znajduje się w tabeli, to zwracana jest pozycja pola parametru tabeli
- getValue(parameterId, asString) - zwraca wartość pola parametru, wartość może być zwrócona w postaci string (asString=true)
- getArraySize(parameterId) - zwraca ilość pól w parametrze tabelarycznym lub 0, jeśli pole nie jest parametrem tabelarycznym
- hasVariableValue(parameterId, position) - informuje, czy pole parametru posiada zmienną jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- hasVariableArrayValue(parameterId, position) - informuje, czy pole parametru posiada zmienną tabalaryczną jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- hasFunctionValue(parameterId, position) - informuje, czy pole parametru posiada funkcję jako wartość, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to sprawdza wartość tylko polu na konkretnej pozycji, w przeciwnym przypadku sprawdzane są wszystkie aktualnie dodane pola
- getFunctionReturnType(parameterId, position) - zwraca typ wartości zwracanej przez funkcję podanej jako wartość danego parametru, parametr position jest uwzględniany dla pól tablicowych, jeżeli jest podany, to zwraca typ tylko dla pola na konkretnej pozycji, w przeciwnym przypadku zwracana jest tablica typów
- getVariableType(parameterId, position) - zwraca typ zmiennej podanej jako wartość danego parametru, parametr position jest uwzględniany dla pól tablicowych, jeżeli jest podany, to zwraca typ tylko dla pola na konkretnej pozycji, w przeciwnym przypadku zwracana jest tablica typów
- markError(parameterId, position) - zaznacza pole jako błędne, parametr position jest uwzględniany dla tabeli i pól tablicowych, jeżeli jest podany, to zaznacza pola na konkretnej pozycji, w przeciwnym przypadku zaznaczane są wszystkie aktualnie dodane pola
- showErrorMessage(errorMessage) - wyświetla komunikat błędu
- showHint(parameterId, hint, type) - wyświetla podpowiedź pod danym parametrem/tabelą. Funkcja przyjmuje następujące parametry:
- parameterId - identyfikator parametru, może być też identyfikatorem tabeli
- hint - treść podpowiedzi
- type - typ podpowiedzi (odpowiada za kolor tekstu), dostępne wartości to:
- INFO - czarny
- SUCCESS - zielony
- ERROR - czerwony
- showHintInArray(parameterId, position, hint, type) - wyświetla podpowiedź pod danym polem w parametrze tabelarycznym. Funkcja przyjmuje następujące parametry:
- parameterId - identyfikator parametru, może być też identyfikatorem tabeli
- position - indeks parametru w tabeli
- hint - treść podpowiedzi
- type - typ podpowiedzi (odpowiada za kolor tekstu), dostępne wartości to:
- INFO - czarny
- SUCCESS - zielony
- ERROR - czerwony
- hideHint(parameterId) - ukrywa podpowiedź pod danym parametrem/tabelą
- hideHintInArray(parameterId, position) - ukrywa podpowiedź pod danym polem w parametrze tabelarycznym
|