Komunikat oczekiwania na ścieżce przejścia

Facebooktwitterpinterestlinkedinmail

dotyczy wersji: 8.2.x, autor: Kamil Nędza

W pewnych konkretnych etapach workflow mogą zdarzyć się sytuację, że przejście ścieżką przejścia trwa dłuższy niż zazwyczaj okres czasu. Czasami czas ten jest niemożliwy do skrócenia. Przyczyn może być wiele: duża ilość akcji na ścieżce przejścia, rozbudowane zapytanie SQL lub komunikacja z innym systemem zewnętrznym. Ważne jest, aby dać użytkownikowi jasny komunikat, że czas oczekiwania w danym momencie może być wydłużony. W tym celu z pomocą przychodzi JavaScript.

 

Opis konfiguracji:

Należy przejść do zakładki Zachowanie w konfiguracji obiegu. Umieść w sekcji Javascript do zarejestrowania na stronie poniższą funkcję, która jest odpowiedzialna za zablokowanie formularza i  wyświetlenie komunikatu na stronie:

function DisableRootPanelWithMessage(msg) {

var data = $(window).data();

var isUnblocked = (typeof data["blockUI.onUnblock"] === 'undefined');

if (!isUnblocked ) {

// is blocked

EnableRootPanel();

$.blockUI({ message: '<h1>' + msg + '</h1></br><img src="/_layouts/images/webcon/wait.gif" />', css: { border: 'none', backgroundColor: 'transparent' }, overlayCSS: { opacity: '0.1' } });

}

}

 

1pl

Rys. 1. Dodanie skryptu do zarejestrowania na stronie

 

Następnie na wybranej ścieżce przejścia umieść timeout, wywołujący funkcję, którą przed chwilą zarejestrowałeś:

setTimeout(function(){DisableRootPanelWithMessage(‘Trwa przetwarzanie. Proszę czekać.’)},2500);

W tym celu należy przejść do konfiguracji ścieżki przejścia. W zakładce Parametry w sekcji Skrypt dodatkowej walidacji przy wyborze tej ścieżki i dodać skrypt, ustawiający timeout:

2pl

Rys. 2. Dodanie skryptu przy przejściu ścieżką przejścia

 

Weryfikacja funkcjonalności:

W efekcie kiedy użytkownik przejdzie ścieżką przejścia i akcje będą się wykonywały dłużej niż 2,5 sekundy, użytkownikowi pokaże się komunikat, aby wykazał jeszcze odrobinę cierpliwości 🙂

3pl

Rys. 3. Przykład komunikatu przy przejściu ścieżką przejścia

One thought to “Komunikat oczekiwania na ścieżce przejścia”

  1. Czy jest możliwość zrobić ekran oczekiwania na akcji globalnej przycisku w menu typu odsyłacz zanim się strona otworzy?

Komentarze są zamknięte.