Promotic
WikipediaLinkedInYoutubeTwitterFacebook

OpenViewModal - metoda obiektu PmPanel

Opis:
Metoda otworzy przeglądarkę innego obiektu w oknie modalnym.

Niniejsza metoda jest przestarzała (lecz funkcjonalna), nie działa w nowoczesnych przeglądarkach internetowych, jest lepiej zastosować metody PmPanel.OpenView. Patrz W jaki sposób pracować z oknami modalnymi.

Składnia:
OpenViewModal(sObjectPath As String, [sOptions As String], [sParams As String], [vArguments As Variant]) As Variant
Wołanie:
val = oPanel.OpenViewModal(sObjectPath, sOptions, sParams, vArguments)
Parametry:
sObjectPath(String) Ścieżka (względna lub bezwzględna) do obiektu lub komponentu, którego przeglądarka ma zostać otwarta.

Szczegółowy opis patrz sObjectPath.

sOptions[opcjonalne] (String) Dane przekazywane własnej przeglądarce. Określają gdzie i w jaki sposób przeglądarka ma zostać wyświetlona.

Dane są tutaj w formacie KeyVal, na przykład "target:_blank;modal:1;".

Szczegółowy opis patrz sOptions.

sParams[opcjonalne] (String) Dane przekazywane obiektowi, który zostanie wyświetlony przez przeglądarkę.

Dane są tutaj w formacie KeyVal, na przykład "nazwa1:wartość1;nazwa2:wartość2;".

Szczegółowy opis patrz sParams.

vArguments[opcjonalne] (Variant) Wartość, która jest automatycznie przeniesiona do właściwości Arguments. Wartość tej właściwości jest typowo odczytywana w zdarzeniu onPanelStartEnd i służy do przekazania danych wejściowych do otwieranego okna bezpośrednio ze skryptu.
Wartość zwrotna:
Metoda zwraca wartość Empty jeżeli w oknie modalnym naciśnięto na przycisk Cofnij (lub klawisz Esc). Można testować metodą Pm.IsValid.

Podczas naciśnięcia przycisku OK zostanie zwrócona wartość ustawiona w tym oknie (patrz notatka poniżej).

Notatka:
Metoda jest synchroniczna, tzn. skrypt jest kontynuowany przez wykonani następującego polecenia dopiero po zakończeniu okna modalnego. Do otwarcia przeglądarki musi być w otwieranym obiekcie spełnione uprawnienie. Na przykład dla obiektu PmPanel uprawnienie PanelOpen lub WebRead, itd.
 
Wejściowe oraz wyjściowe wartości dla modalnego PmPanel:

Dla modalnego otwarcia przeglądarki obiektu PmPanel są ważne dwie właściwości:

- PmiRoot.Arguments: Wartość wejściowa podczas otwarcia okna modalnego. Wartość ta jest zkopiowana z parametru vArguments tej metody.
- PmiRoot.ReturnValue: Wartość wyjściowa podczas zamykania okna modalnego przy pomocy przycisku OK. Czyli wartość, która znajduje się w tej właściwości, zostanie zwrócona jako wartość zwrotna (wyjściowa) tej metody.

Koncepcja ta umożliwia wytworzyć okna (formularze), gdzie zawartość panela nie jest bezpośrednio połączona (powiązaniami, skryptami) z aplikacją, ale cały stan początkowy okna jest przekazany przy pomocy wstępnego parametru a cały stan po edycji zawartości jest przekazany poprzez wartość zwrotną.

Do przekazania kilku wartości poprzez jeden parametr można z powodzeniem zastosować funkcję VBScript.Array.

 
Metodę można wywołać również w zdarzeniach elementów graficznych w Web panelach.
Przykład:
Otworzy panel w nowym oknie modalnym z wprowadzaniem wartości parametru panela nmb oraz również pole 2 wartości w parametrze vArguments. Następuje sprawdzenie, czy okno modalne podczas zakończenia (np. przyciskiem OK) przekazało wartość zwrotną (przy pomocy właściwości PmiRoot.ReturnValue). Jeżeli tak, wtedy zostanie wypisana notatka tej wartości do systemu INFO. Skrypt ten może się znajdować na przykład w zdarzeniu onButtonUp elementu graficznego PmiButton.
 
Kod skryptu wołający okno modalne.
VBScriptWybierz oraz skopiuj do schowka

Dim arr, r
arr = Array("text 0", 5)
r = pMe.PmPanel.OpenViewModal("/Panel3", "", "par:nmb=2;", arr)

If Pm.IsValid(r) Then
  Pm.Debug r, 1
End If
 
Kod skryptu zdarzenia PmiRoot.onPanelStartEnd (parametry zostaną zapisane do 2 elementów PmiText).
VBScriptWybierz oraz skopiuj do schowka

Dim a
a = pMe.Arguments
pMe.Items("/text0").Value = a(0)
pMe.Items("/text1").Value = a(1)
 
Kod skryptu zdarzenia PmiRoot.onPanelStopEnd (wartości 2 elementów PmiText zostana zapisane do wartości zwrotnej).
VBScriptWybierz oraz skopiuj do schowka

Dim r0, r1
r0 = pMe.Items("/text0").Value
r1 = pMe.Items("/text1").Value
pMe.ReturnValue = Array(r0, r1)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice