Versions Compared

Key

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

...

Table of Contents

...

brak blokowania

...

brak blokowania

...

brak blokowania

...

 

 

 

 

 

Uruchamianie automatycznego podciągania mappingów

  • zmienna nagłówkowa
    1. klawisz ENTER
    2. klawisz TAB
    3. utrata focusu pola (blur)

 

 

 

Info

Podciągnięcie mappingów następuje tylko jeżeli:

  • zmieniła się wartość pola od ostatniego podciągnięcia mappingów
  • zmieniła się wartość jakiegokolwiek pola wchodzącego w skład kryteriów (question)
  • zmieniła się wartość jakiegokolwiek pola do którego jest przypisany mapping (question)
TypBlokowanieUwagi
FormCriteria(error) 
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.

(question) co pustymi frazami które pasowałyby do wartości DC (question)

Algorytm wyboru wiersza z mappingami

Wybór wiersza zależny jest o liczby wyników, które pasują do wpisanej frazy:

Fitlrowanie po wszystkich kryteriach??

  • brak wyników - żaden mapping nie zostanie podciągnięty ((question) czy w takim wypadku wyświetlać jakiś błąd (question))
  • jeden wynik - podciągane są mappingi z tego unikalnego wyniku
  • wiele wyników (question)(question)

 

Blokowanie pól???

 

outline

...

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

...

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

true

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.

Testy

Podczas testowania sprawdzić należy:

  •  Logikę uruchamiania automatycznego podciągania mappingów
  •  Logikę wyboru wartości do wpisania w pola mappingów
  •  Kolejkowanie zapytań DC jeżeli jakiś dc zależy od innego
  •  Sprawdzić regresję PWFL-2790PWFL-2351
  •  Sprawdzić, w przypadku gdy szybko filtrujemy listę i pierwsze zapytanie wróci później niż drugie (jeżeli żadanie dla pierwszego wpisanego zapytania wróci później niż kolejne, to na liście nie powinny pojawić sie wyniki tego zapytania)
  •  Sprawdzić AutoUpdate (kolejkowanie powinno działać również z polami AutoUpdate) – 
    1. PWFL-2898
    2. PWFL-2706

...

 

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:

  1. uniemożliwić użytkownikowi wpisanie wartości w pole, które zaraz dostanie nowe dane wynikające z mappingów DC
  2. 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

Image Added

 

PolaBlokowaneOpis
kryteria (form criteria)(tick)

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(tick)Wszystkie pola mappingów są blokowane żeby użytkownik wiedział, że zaraz wartość pola zostanie zmieniona przez dc.
datachooser(error)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. Tabela przedstawia logikę wyboru wiersza:

Tryb0 wyników1 wynik2+ wyników
prosty (domyślny)?? kasowanie ??
1 wynik na liście
    

 

Scenariusze testowe

Scenariusz #1

 

Datachooser'y

NazwaKryteriaMappingOpis
root  DC zapisuje mapping w zmiennej root_mapping_text_1

...