Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Otevření prohlížeče pro výběr adresáře/souboru (/#glob/filepath)

Okno pro výběr adresáře/souboru se otevírá metodou Pm.CreateView. V parametru sViewPath se zadá globální cesta "/#glob/filepath".

Tento prohlížeč není funkční ve Web obrazech.

Parametry prohlížeče:
initValue[nepovinné] (String) Počáteční výběr souboru/složky, nejlépe v notaci PROMOTIC cesta k souborům nebo složkám.
mode[nepovinné] (Long) (Long) Mód výběru, určuje zda výsledkem bude cesta k souboru nebo složce.
1 (přednastaveno) - Výběr souboru.
2 - Výběr složky.
roots[nepovinné] (PmMap) Seznam nabídky počátků výběrů (root) (logických složek, fyzických disků, ...) v podobě vnořené mapy (Submap). Pro snadné vytvoření/nastavení vnořené mapy (Submap) v položce jiné mapy, lze použít metodu PmMap.mapSetSubmapAt. Tato metoda zajistí, že v dané položce bude vnořená mapa a do této mapy navíc umí hromadně přidat položky z řetězce v syntaxi KeyVal.

Každý počátek výběru (root) je tvořen dvojicí hodnot: popis (titleN) a hodnota (valueN), kde N je index (od 0). Popisy (titleN) jsou nepovinné. Například v originální KeyVal notaci před převedením do objektu PmMap by zápis mohl vypadat takto: "title0:Kotel1;value0:#data:Kotel1/;title1:Kotel2;value1:#data:Kotel2/;" Pokud není nastaveno, pak bude v nabídce jediný počátek výběru a ten se určí z hodnoty initValue. Povolené hodnoty (valueN) počátků výběrů (root) jsou:

#xx - Počátky PROMOTIC cest, např. "value0:#pmres;value1:#appres;"
#xx:yy/zz - PROMOTIC cesty včetně podsložek, např. "value0:#pmres:Img/;value1:#appres:Img/;"
disk: - Zařízení v podobě písmen disků, např. "value0:c:;value1:d:;"
disk:yy/zz - Cesty v podobě písmen disků včetně podsložek, např. "value0:c:\Temp\;value0:d:\Data\;"
$disks - Automaticky se přidají všechna přimapovaná fyzická disková zařízení (písmena disků), např. "value0:$disks;"
hide[nepovinné] (Long) Umožňuje nastavit, co se má skrýt.
0 (přednastaveno) - Zobrazit vše.
1 - Skrýt podsložky.
2 - Skrýt soubory.
existence[nepovinné] (Long) Umožnuje nastavit, zda při výběru souboru/složky testovat na existenci/neexistenci.
0 (přednastaveno) - Netestuje se.
1 - Potvrzení, pokud vybraný soubor/složka už existuje.
10 - Vybraný soubor/složka musí existovat.
11 - Vybraný soubor/složka nesmí existovat.
defaultExt[nepovinné] (String) Implicitní přípona nového souboru, pokud se při výběru neuvede. Například "csv".
filter[nepovinné] (PmMap) Seznam zobrazovaných filtrů souborů v podobě vnořené mapy (Submap). Pro snadné vytvoření/nastavení vnořené mapy (Submap) v položce jiné mapy, lze použít metodu PmMap.mapSetSubmapAt. Tato metoda zajistí, že v dané položce bude vnořená mapa a do této mapy navíc umí hromadně přidat položky z řetězce v syntaxi KeyVal.

Každý filtr je tvořen dvojicí hodnot: popis (titleN) a hodnota (valueN), kde N je index (od 0). Popisy (titleN) jsou nepovinné. Například v originální KeyVal notaci před převedením do objektu PmMap by zápis mohl vypadat takto: "title0:Obrázky;value0:*.jpg,*.png,*.bmp;title1:Všechny soubory;value1:*.*;" Pokud není nastaveno, pak bude v nabídce jediný filtr pro všechny soubory.

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á cesta k souboru/složce.
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ý soubor/složka.
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 souboru umístěného pouze ve složce této aplikace (pouze ini, log, nebo všechny soubory)
JavaScriptVyber a zkopíruj do schránky

var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/filepath", "title:App files;initValue:#app:MyApp.log;mode:1;hide:1;defaultExt:ini;", "target:_blank;modal:1;");
var oView = oCreator.View;
oView.mapSetSubmapAt("filter", "", "title0:Setting log;value0:*.ini,*.log;title1:All files;value1:*.*;");
oView.onClose = function(ev) { Pm.Debug("onClose ReturnValue=" + ev.ReturnValue); };
oCreator.Open();
Příklad2:
Výběr pouze cesty ke složce umístěné v této aplikaci (#app:). Vrácená hodnota po ukončení je zpracována ve funkci onClose.
JavaScriptVyber a zkopíruj do schránky

function onClose(ev)
{
if (ev.CloseReason == "ok")
Pm.Debug("onClose ReturnValue=" + ev.ReturnValue);
}

var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/filepath", "title:PmAppFiles,initValue:#app:;mode:2;", "target:_blank;modal:1;");
oCreator.View.onClose = onClose;
oCreator.Open();
Příklad3:
Uložení stringu do nového nebo vybraného txt souboru ve složce Data (#data:). Vrácená hodnota po ukončení je zpracována ve funkci onClose.

Zpracování přepokládá, že v obraze existuje metoda SaveFile, která převezme parametry a pomocí metody FileTextWrite soubor uloží a výsledek uložení vrátí zpět

JavaScriptVyber a zkopíruj do schránky

function onClose(ev)
{
if (ev.CloseReason == "ok")
{
var sFilePath = ev.ReturnValue;
if (sFilePath != "")
{
var sText = "Hello world!";
var bDone = pMe.PmPanel.Methods.SaveFile(sFilePath, sText);
Pm.Debug("Save text fo file = " + sFilePath " is " + bDone);
}
}
}

var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/filepath", "title:Create File;initValue:#data:;mode:1;defaultExt:txt;", "target:_blank;modal:1;");
oCreator.View.onClose = onClose;
oCreator.Open();

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