...
Table of Contents |
---|
...
brak blokowania
Nie blokujemy pól. Nikt też w tym sposobie nie będzie ich blokował do zapisu.
...
brak blokowania
...
- pole nie zmieniło wartości od czasu wywołania dc
- pole zmieniło wartość od czasu wywołania
...
brak blokowania
...
brak blokowania
...
brak blokowania
...
Uruchamianie automatycznego podciągania mappingów
- zmienna nagłówkowa
- klawisz ENTER
- klawisz TAB
utrata focusu pola (blur)
Info |
---|
Podciągnięcie mappingów następuje tylko jeżeli:
|
Typ | Blokowanie | Uwagi |
---|---|---|
FormCriteria | ![]() | |
Mapping | ||
Dopasowywanie wyników do wpisanej frazy
Użytkownik wpisuje w pole datachooser'a frazę. Po przejściu do innego pola automatycznie zaczyna się pobieranie mappingów.
Porównywanie wartości
Wartość porównywana jest CaseInsensitive i szukane jest wystąpienie wpisanego ciągu w wartości na dowolnej pozycji np. fraza UEr pasuje do query.
co pustymi frazami które pasowałyby do wartości DC
Algorytm wyboru wiersza z mappingami
Wybór wiersza zależny jest o liczby wyników, które pasują do wpisanej frazy:
- brak wyników - żaden mapping nie zostanie podciągnięty (
czy w takim wypadku wyświetlać jakiś błąd
)
- jeden wynik - podciągane są mappingi z tego unikalnego wyniku
- wiele wyników -
Blokowanie pól???
Scenariusz #1
Datachooser'y
Nazwa | Kryteria | Mapping | Opis |
---|---|---|---|
root | DC zapisuje mapping w zmiennej root_mapping_text_1 |
Spodziewany wynik
Po wpisaniu wartości w root mappingi podciągną się automatycznie, a w trakcie trwania zapytania do DC pole root_mapping_text_1 będzie zablokowane.
|
...
Nie można edytować pola ani ręcznie ani przez API. Wszystkie blokady (do zapisu i do odczytu) będą czekać aż ta operacja zapisu się zakończy.
Niestety są problemy z blokowaniem niektórych typów pól - trzeba będzie poświęcić czas żeby to ogarnąć...
...
blokowanie do zapisu
...
blokowanie do odczytu
...
|
English | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Automatic mapping is a feature that will allow to use DC faster on the form. The datachooser mappings will be automatically pulled up in the background if the user enters the value and proceeds to editing the next field. ConfigurationConfiguration will be possible on two levels: PlusWorkflow.conf Global activation / deactivation of the automatic mapping mechanism: Form.DataChooser.AutoMapping.Enabled=true PWE
Starting up the mappingMapping starts up if it occurs:
Field blockingIf the automatic mapping mechanism works, field blocking will appear in order to:
Graphically blocked fields look like the following screen
The right mapping selectionEach DC should support filtering results based on the given query.
After calling DC in the background, from the results one of them should be chosen. Depending on the configuration in the PWE, the selection of results is based on:
|
Polish | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Automatyczne podciąganie mappingów to funkcjonalność która pozwoli na szybsze korzystanie z DC na formularzu. Mappingi datachooser'a będa automatycznie podciągane w tle, jeżeli użytkownik wpisze wartość i przejdzie do edycji następnego pola. KonfiguracjaKonfiguracja będzie możliwa na 2 poziomach: PlusWorkflow.conf Globalne włączenie/wyłączenie mechanizmu automatycznego podciągania mappingów:
PWE
Uruchomienie podciągania mappingówPodciąganie mappingów uruchamiane jeżeli nastąpi:
Blokowanie pólGdy zadziała mechanizm automatycznego podciągania mappingów następuje blokada pól, aby:
Graficznie zablokowane pola wyglądają tak jak na poniższym screenie:
Wybór właściwego mappingu
Po wywołaniu DC w tle z otrzymanych wyników należy wybrać jeden z nich. W zależności od konfiguracji w PWE wybór wyników bazuje na:
|
Automatyczne podciąganie mappingów to funkcjonalność która pozwoli na szybsze korzystanie z DC na formularzu. Mappingi datachooser'a będa automatycznie podciągane w tle, jeżeli użytkownik wpisze wartość i przejdzie do edycji następnego pola.
Konfiguracja
Konfiguracja będzie możliwa na 2 poziomach:
PlusWorkflow.conf
Globalne włączenie/wyłączenie mechanizmu automatycznego podciągania mappingów:
Code Block |
---|
Form.DataChooser.AutoMapping.Enabled=true |
PWE
Opcja | Opis | Domyślnie |
---|---|---|
| Checkbox To pole włącza lub wyłącza automatyczne podciąganie mappingów w tle. | Odznaczone ![]() |
| Checkbox Tutaj, jeżeli pole DC będzie puste (czyli ktoś usunie wartość) to mają się też wyczyścić wszystkie zamapowane pola | Odznaczone ![]() |
| Checkbox Zaznaczona opcja powoduje uzupełnienie wartości tylko wtedy, gdy w danych znajduje się tylko jeden identyczny bądź pasujący wynik. Gdy opcja jest odznaczona funkcja uzupełnia pole pierwszym pasującym wynikiem. | Zaznaczone ![]() |
| Checkbox Włącza dodatkowe filtrowanie wyników zwróconych przez DC po wartości (root mapping). Czyli jeżeli dostaniemy 20 wyników, to filtrujemy dodatkowo po wartości wpisanej w DC i wybieramy albo unikalny albo pierwszy z listy | Zaznaczone ![]() |
| Checkbox Wyłącza automatyczne podciąganie mappingów dla datachooserów-dzieci na czas działania datachoosera-rodzica. Jeśli ta opcja jest aktywna, to w sytuacji gdy DC1 z automapowaniem mapuje wartości na DC2 (który również ma włączone automapowanie), to po wywołaniu pierwszej listy DC2 nie zamapuje wartości na jakiekolwiek inne pole. | Odznaczone ![]() |
Uruchomienie podciągania mappingów
Podciąganie mappingów uruchamiane jeżeli nastąpi:
- zmiana wartości pola przez użytkownika (od momentu wejścia w pola do momentu wyjścia z tego pola)
- zmiana wartości pola przez API
- naciśniecie klawisza ENTER w polu (wymusi to ponowne podciągnięcie mappingów nawet jak wartość pola się nie zmieniła)
Blokowanie pól
Gdy zadziała mechanizm automatycznego podciągania mappingów następuje blokada pól, aby:
- uniemożliwić użytkownikowi wpisanie wartości w pole, które zaraz dostanie nowe dane wynikające z mappingów DC
- obsłużyć kolejkowanie wykonywania DC
Graficznie zablokowane pola wyglądają tak jak na poniższym screenie:
- pola są wyszarzone
- widoczna jest ikona ładowania danych
- edycja przez użytkownika jest wyłączona (API nadal pozwala zmienić dane)
- pole nadal może otrzymać focus przy przechodzeniu tabulatorem
Pola | Blokowane | Opis |
---|---|---|
kryteria (form criteria) | ![]() | Wszystkie pola kryteriów są blokowane (oprócz samego DC). Blokowane są one ze względu na taki scenariusz: Pole a jest polem mapowanym przez datachooser'a dc1 oraz jest polem kryterium dla datachooser'a dc2. Jeżeli wywołamy najpierw dc1 a następnie dc2, to wywołanie dc2 zostanie wykonane dopiero gdy pole a zostanie uzupełnione przez dc1. Dodatkowym powodem jest chęć zachowania spójności z AutoUpdate gdzie source także są blokowane. |
mappingi | ![]() | Wszystkie pola mappingów są blokowane żeby użytkownik wiedział, że zaraz wartość pola zostanie zmieniona przez dc. |
datachooser | ![]() | Nie blokujemy pola samego DC (chyba że jest on np. mappingiem innego DC) żeby umożliwić zmianę wartości cały czas. |
Wybór właściwego mappingu
Warning |
---|
Każdy DC powinien wspierać filtrowanie wyników na podstawie podanego zapytania. |
Po wywołaniu DC w tle z otrzymanych wyników należy wybrać jeden z nich. W zależności od konfiguracji w PWE wybór wyników bazuje na:
Tylko unikalne | Filtruj | Wybrany wiersz |
---|---|---|
![]() | ![]() | Wybiera pierwszy wiersz który zwróci DC |
![]() | ![]() | Podciąga mappingi tylko jeżeli dc zwrócić 1 wiersz |
![]() | ![]() | Jeżeli dc zwróci tylko 1 wynik to jest on podciągany. Jeźeli wiecej to filtruje otrzymane wyniki na podstawie root mappingu, sprawdzanie jest:
|
![]() | ![]() | Jeżeli dc zwróci tylko 1 wynik to jest on podciągany. Jeżeli wiecej to filtruje te wyniki i jeżeli po przefiltrowaniu jest unikalny to go podciąga |