OpenViewModal - metoda objektu PmaPanel
Popis:
Metoda otevře prohlížeč jiného objektu v modálním okně.
Tato metoda je zastaralá (ale funkční), není funkční v moderních Web prohlížečích a je lepší použít metodu
Pm.CreateView. Viz
Jak pracovat s modálními okny.
Syntaxe:
Variant OpenViewModal(String sObjectPath, [String sOptions], [String sParams], [Variant 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) Parametry 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) Data 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 obvykle čtena v události onPanelStartEnd a slouží k předání vstupních dat otevíranému oknu přímo ve skriptu. |
---|
Vrácená hodnota:
Po stisknutí tlačítka
OK se vrací hodnota nastavená v tomto okně (viz poznámka dále).
Pokud je v modálním okně stisknuto tlačítko "
Storno" (nebo klávesa
Esc), pak metoda vrací:
null pro
JavaScript nebo
Empty pro
VBScript (lze testovat metodou
Pm.IsValid).
Poznámka:
Metoda je synchronní, to znamená, ž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
PmaPanel: oprávnění
PanelOpen nebo
WebRead, atd.
Vstupní a výstupní hodnoty pro modální PmaPanel:
Pro modální otevření prohlížeče objektu
PmaPanel jsou důležité dvě vlastnosti:
-
PmgRoot.Arguments: Vstupní hodnota při otevření modálního okna. Tato hodnota je zkopírována z parametru
vArguments této metody.
-
PmgRoot.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 okno (formulář), 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.
Tato metoda je funkční i ve
Web obrazech.
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
PmgRoot.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 objektu
PmgButton.
Skript volající modální okno:
JavaScriptVBScriptVyber a zkopíruj do schránky
var arr = Pm.CreatePmArray().Array1("text 0", 5);
var r = pMe.PmPanel.OpenViewModal("/Obraz3", "", "pars:{nmb:2;}", arr);
if (Pm.IsValid(r))
{
Pm.Debug(r, 1);
}
Dim arr, r
arr = Array("text 0", 5)
r = pMe.PmPanel.OpenViewModal("/Obraz3", "", "pars:{nmb:2;}", arr)
If Pm.IsValid(r) Then
Pm.Debug r, 1
End If
JavaScriptVBScriptVyber a zkopíruj do schránky
var a = pMe.Arguments;
pMe.Items("/text0").Value = a.GetItem(0);
pMe.Items("/text1").Value = a.GetItem(1);
Dim a
a = pMe.Arguments
pMe.Items("/text0").Value = a(0)
pMe.Items("/text1").Value = a(1)
JavaScriptVBScriptVyber a zkopíruj do schránky
var r0 = pMe.Items("/text0").Value;
var r1 = pMe.Items("/text1").Value;
pMe.ReturnValue = Pm.CreatePmArray().Array1(r0, r1);
Dim r0, r1
r0 = pMe.Items("/text0").Value
r1 = pMe.Items("/text1").Value
pMe.ReturnValue = Array(r0, r1)
Historie:
Pm8.02.14: Metoda neuměla vracet hodnotu datového typu
Date.