Promotic
WikipediaLinkedInYoutubeTwitterFacebook

OpenViewModal - metoda objektu PmPanel

Popis:
Metoda otevře prohlížeč jiného objektu v modálním okně.

Tato metoda je zastaralá (ale funkční), nefunguje v moderních Web prohlížečích a je lepší použít metodu PmPanel.OpenView. Viz Jak pracovat s modálními okny.

Syntaxe:
OpenViewModal(sObjectPath As String, [sOptions As String], [sParams As String], [vArguments As Variant]) As Variant
Volání:
val = oPanel.OpenViewModal(sObjectPath, sOptions, sParams, vArguments)
Parametry:
sObjectPath(String) Cesta (relativní nebo absolutní) k objektu nebo komponentě, jehož prohlížeč má být otevřena.

Podrobný popis viz sObjectPath.

sOptions[nepovinné] (String) Údaje předávané vlastnímu prohlížeči. Určují kde a jak má být prohlížeč zobrazen.

Údaje jsou zde ve formátu KeyVal, například "target:_blank;modal:1;".

Podrobný popis viz sOptions.

sParams[nepovinné] (String) Údaje předávané objektu, který bude zobrazován prohlížečem.

Údaje jsou zde ve formátu KeyVal, například "název1:hodnota1;název2:hodnota2;".

Podrobný popis viz sParams.

vArguments[nepovinné] (Variant) Hodnota, která je automaticky přenesena do vlastnosti Arguments. Hodnota této vlastnosti je typicky čtena v události onPanelStartEnd a slouží k předání vstupních dat otevíranému oknu přímo ze skriptu.
Vrácená hodnota:
Metoda vrací hodnotu Empty pokud je v modálním okně stisknuto tlačítko Storno (nebo klávesa Esc). Lze testovat metodou Pm.IsValid.

Při stisknutí tlačítka OK se vrací hodnota nastavená v tomto okně (viz poznámka dále).

Poznámka:
Metoda je synchronní, tzn. že skript pokračuje následujícím příkazem až po ukončení modálního okna. Pro otevření prohlížeče musí být v otevíraném objektu splněno oprávnění. Například pro objekt PmPanel oprávnění PanelOpen nebo WebRead, atd.
 
Vstupní a výstupní hodnoty pro modální PmPanel:

Pro modální otevření prohlížeče objektu PmPanel jsou důležité dvě vlastnosti:

- PmiRoot.Arguments: Vstupní hodnota při otevření modálního okna. Tato hodnota je zkopírována z parametru vArguments této metody.
- PmiRoot.ReturnValue: Výstupní hodnota při zavírání modálního okna tlačítkem OK. Tehdy hodnota, která je v této vlastnosti, bude vrácena jako návratová (výstupní) hodnota této metody.

Tato koncepce umožňuje vytvořit okna (formuláře), kde obsah obrazu není přímo spojen (vazbami, skriptem) s aplikaci, ale celý počáteční stav okna je předán pomocí vstupního parametru a celý stav po editaci obsahu je předán přes návratovou hodnotu.

K předání několika hodnot přes jediný parametr lze použít funkce VBScript.Array.

 
Metodu lze volat i v událostech grafických prvků pro Web obrazy.
Příklad:
Otevře obraz v novém modálním okně se zadáním hodnoty parametru obrazu nmb a také pole 2 hodnot v parametru vArguments. Následuje ověření, zda modální okno při ukončení (např. tlačítkem OK) předalo návratovou hodnotu (pomocí vlastnosti PmiRoot.ReturnValue). Pokud ano, pak se vypíše ladící zápis této hodnoty do INFO systému. Tento skript může být například v události onButtonUp grafického prvku PmiButton.
 
Kód skriptu volající modální okno.
VBScriptVyber a zkopíruj do schránky

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

If Pm.IsValid(r) Then
  Pm.Debug r, 1
End If
 
Kód skriptu události PmiRoot.onPanelStartEnd (parametry se zapíší do 2 PmiText prvků).
VBScriptVyber a zkopíruj do schránky

Dim a
a = pMe.Arguments
pMe.Items("/text0").Value = a(0)
pMe.Items("/text1").Value = a(1)
 
Kód skriptu události PmiRoot.onPanelStopEnd (hodnoty 2 PmiText prvků se zapíší do návratové hodnoty).
VBScriptVyber a zkopíruj do schránky

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