Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Otevření prohlížeče pro výběr volby z nabídky (/#glob/list)

Okno pro výběr volby z nabídky se otevírá metodou Pm.CreateView. V parametru sViewPath se zadá globální cesta "/#glob/list".
Parametry prohlížeče:
initValue[nepovinné] (String) Počáteční vyběr (Identifikátor).
list(Array) 2-rozměrné pole s volbami, kde řádky představují jednotlivé volby a sloupce představují položky volby. Viz (Col,Row) - 2-rozměrné pole s významem pole řádků.
První sloupec (index 0) není nabídkou zobrazen (je neviditelný) a obsahuje identifikátory jednotlivých voleb. Další sloupce jsou již v nabídce zobrazeny. Nabídka je zobrazena v tabulkové podobě a má o jeden sloupec méně, než dodaná 2-rozměrná data.
První řádek může (ale nemusí) obsahovat záhlaví s nadpisy sloupců (lokalizované uživatelské názvy) v nabídce. Pokud má první řádek obsahovat záhlaví, pak v prvním sloupci (neviditelný, vyhrazený pro identifikátory) musí být uveden řetězec s hodnotou $title.
autoselect[nepovinné] (Long) (Long) Umožňuje režim, kdy se nečeká na výběr uživatelem v těch případech, kdy to není nutné. Nedojde tak ani k zobrazení okna.
0 (přednastaveno) - okno bude zobrazeno vždy.
1 - Okno bude zobrazeno pouze pokud jsou k zobrazení alespoň dvě volby.
Pokud je k dispozici pouze jediná volba, pak je tato automaticky zvolena a metoda vrací hodnotu typu String (identifikátor vybrané volby).
Pokud není k dispozici žádná volba, pak metoda vrací: null pro JavaScript nebo Empty pro VBScript (lze testovat metodou Pm.IsValid).
grid[nepovinné] (Long) Určuje, zda buňky zobrazené tabulky budou s ohraničením.
0 (přednastaveno) - nebudou s ohraničením.
1 - budou s ohraničením.
title[nepovinné] (String) Záhlaví okna, pokud je okno se záhlavím vůbec zobrazeno (pro target:_blank;)
onChange[nepovinné] (Function) Událostní funkce pro obsloužení události změny v prohlížeči.

Pro JavaScript se zde zadává function.

Pro VBScript se zde zadává objekt PmAction.

Funkce má jeden parametr ev obsahující informace o dané události.

ev.value - (String) Právě vybraná volba (Identifikátor).
onClose[nepovinné] (Function) Událostní funkce pro obsloužení události zavření prohlížeče.

Pro JavaScript se zde zadává function.

Pro VBScript se zde zadává objekt PmAction.

Funkce má jeden parametr ev obsahující informace o dané události.

ev.CloseReason - (String) Identifikátor typu zavření okna. Hodnota "ok" znamená platný výběr. Hodnoty "cancel" nebo "" znamenají zrušený výběr.
ev.ReturnValue - (String) Výsledná vybraná volba (Identifikátor).
Parametry prohlížeče jsou v podobě objektu PmMap, který je naplněn z hodnoty parametru sView (typu KeyVal) v metodě Pm.CreateView.

Naplněním z KeyVal hodnoty jsou všechny parametry na počátku uložené jako řetězec. Obsah objektu PmMap však může být libovolně měněn, položky lze přidávat, mazat nebo měnit jejich hodnotu.

Objekt PmMap může obsahovat jiné vnořené objekty PmMap. Ke zpřístupnění existující nebo založení nové položky typu PmMap lze využít metodu PmMap.mapSetSubmapAt.

Příklad1:
Výběr z pole hodnot
JavaScriptVyber a zkopíruj do schránky

var arr = Pm.CreatePmArray().Create(2,3);
arr.SetItem("id1", 0, 0);
arr.SetItem("Test 1", 1, 0);
arr.SetItem("id2", 0, 1);
arr.SetItem("Test 2", 1, 1);
arr.SetItem("id3", 0, 2);
arr.SetItem("Test 3", 1, 2);

function onViewClose(ev)
{
if (ev.CloseReason == "ok")
{
switch (ev.ReturnValue)
{
case "id1":
Pm.Debug("Run test 1");
break;
case "id2":
Pm.Debug("Run test 2");
break;
case "id3":
Pm.Debug("Run test 3");
break;
}
}
}

var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/list", "autoselect:0;grid:1;title:Selection;", "target:_blank;modal:1;pos:view," + pMe.ViewX + "," + pMe.ViewY + ";");
oCreator.View.list = arr;
oCreator.View.initValue = "id2";
oCreator.View.onClose = onViewClose;
oCreator.Open();
Příklad2:
Výběr ze seznamu obrazů. (Pole výběru vrátí metoda FindViewers)
JavaScriptVyber a zkopíruj do schránky

function onViewClose(ev)
{
if (ev.CloseReason == "ok")
{
var sViewer = ev.ReturnValue;
if (Pm.IsValid(sViewer))
Pm.CreateView(pMe, sViewer, "", "target:main;").Open();
}
}

var aList = Pm.FindViewers("groups:menu;viewers:panel;","", "columns:path,title;");
var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/list", "autoselect:0;grid:1;title:Selection;", "target:_blank;modal:1;pos:view," + pMe.ViewX + "," + pMe.ViewY + ";");
oCreator.View.list = aList;
oCreator.View.onClose = onViewClose;
oCreator.Open();

Historie:
Pm9.00.09: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice