Promotic

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.
Viz také:
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.Array1("text 0", 5);
var r = pMe.PmPanel.OpenViewModal("/Obraz3", "", "pars:{nmb:2;}", arr);

if (Pm.IsValid(r))
{
Pm.Debug(r, 1);
}
 
Skript v události PmgRoot.onPanelStartEnd (parametry se zapíší do 2 PmgString objektů):
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);
 
Skript v události PmgRoot.onPanelStopEnd (hodnoty 2 objektů PmgString se zapíší do návratové hodnoty):
JavaScriptVBScriptVyber a zkopíruj do schránky

var r0 = pMe.Items("/text0").Value;
var r1 = pMe.Items("/text1").Value;
pMe.ReturnValue = Pm.Array1(r0, r1);

Historie:
Pm8.02.14: Metoda neuměla vracet hodnotu datového typu Date.
© MICROSYS, spol. s r.o.