Otwarcie przeglądarki do wyboru opcji z menu (/#glob/list)
Okno do wyboru opcji z menu można otworzyć przy pomocy metody przy pomocy metody
Pm.CreateView. W parametrze
sViewPath należy wprowadzić ścieżkę globalną
"/#glob/list".
Parametry przeglądarki:
oFrom | (Object) Obiekt, który pośredniczy w otwarciu przeglądarki.
Obiekt określa z kąd szukać ścieżki, wobec kogo pozycjonować okno, kto będzie rodzic, itd..
- Wartość null oznacza, że zostanie zastosowany:
- Jeżeli tutaj zostanie określony obiekt PmgFrame (w skrypcie Pmg obiektu), wtedy przeglądarka zostanie otwarta w tej ramce.
- Jeżeli tutaj zostanie określony obiekt PmaPanel (w skrypcie Pma obiektu), wtedy przeglądarka zostanie otwarta w tym wybranym obiekcie.
Patrz właściwość PmViewCreator.From. |
sViewPars | (String) Parametry przeglądarki (różnią się w zależności od pojedyńczych typów przeglądarek)
Dane są tutaj w formacie KeyVal, na przykład "nazwa1:wartość1;nazwa2:wartość2;".
Patrz właściwość PmViewCreator.View.
Parametry przeglądarki:
initValue | [opcjonalne] (String) Wybór początkowy (Identyfikator). |
list | (Array) tablica 2-wymiarowa z opcjami, gdzie wiersze przedstawiają poszczególne opcje a kolumny przedstawiają pozycje wyboru. Patrz (Col,Row) - tablica 2-wymiarowa mniemana jako tablica wierszy.
Pierwsza kolumna (indeksowane od 0) nie jest wyświetlona w ofercie (jest ukryta) oraz zawiera identyfikatory poszczególnych opcji. Następne kolumny już będą widoczne w ofercie. Oferta jest wyświetlana w formie tabeli i posiada o jedną kolumnę mniej niż dane dostarczone w 2-wymiarowej tablicy.
Pierwszy wiersz może (lecz nie musi) zawieraś nagłówek z nazwami kolumn (lokalizowane nazwy użytkownika) w ofercie. Jeżeli pierwszy wiersz powinien zawierać nagłówek, wtedy w pierwszej kolumnie (nie widzialnej, zarezerwowanej dla indetyfikatorów) musi być wprowadzony łańcuch o wartości $title. |
autoselect | [opcjonalne] (Long) (Long) Umożliwia tryb, kiedy system nie oczekuje na dokonanie wyboru przez użytkownika w tych przypadkach, kiedy nie jest to konieczne. W takim przypadku nie dojdzie nawet do wyświetlenia okna.
0 (domyślnie) - okno będzie zawsze wyświetlone.
1 - Okno będzie wyświetlone tylko jeżeli do wyświetlenia są przynajmniej dwie opcje.
Jeżeli do dyspozycji jest tylko jedna opcja, wtedy jest ona automatycznie wybrana a metoda zwraca wartość typu String (identyfikator wybranej opcji).
Jeżeli nie ma do dyspozycji żadnej opcji, wtedy metoda zwraca: null dla JavaScript lub Empty pro VBScript (można sprawdzić przy pomocy metody Pm.IsValid). |
grid | [opcjonalne] (Long) Określa, czy komórki wyświetlonej tabeli będą mieć obrzeże.
0 (domyślnie) - nie będą z obrzeżem.
1 - będą z obrzeżem. |
title | [opcjonalne] (String) Nagłówek okna, o ile okno z nagłówkiem jest w ogóle wyświetlone (dla target:_blank;) |
onChange | [opcjonalne] (Function) Funkcja zdarzenia do opracowania zdarzenia zmiany w przeglądarce.
Dla JavaScript należy określić function.
Dla VBScript należy określić obiekt PmAction.
Funkcja posiada jeden parametr ev zawierający informacje o danym zdarzeniu.
ev.Value - (String) Aktualnie wybrana opcja (Identyfikator).
ev.Index - ( Long) Indeks aktualnie wybranego wyboru w oryginalnej nieposortowanej tablicy. |
onClose | [opcjonalne] (Function) Funkcja zdarzenia do opracowania zdarzenia zamknięcia przeglądarki.
Dla JavaScript należy określić function.
Dla VBScript należy określić obiekt PmAction.
Funkcja posiada jeden parametr ev zawierający informacje o danym zdarzeniu.
ev.CloseReason - (String) Identyfikator typu zamknięcia okna.
Wartość "ok" oznacza ważny wybór.
Wartość "cancel" lub "" oznaczają anulowany wybór.
ev.ReturnValue - ( String) Ostatecznie wybrana opcja (Identyfikator).
ev.ReturnIndex - ( Long) Indeks wynikowej wybranego wyboru w oryginalnej nieposortowanej tablicy. |
---|
|
sFramePars | (String) Parametry dla ramki (frame), w której przeglądarka zostanie wyświetlona
Dane są tutaj w formacie KeyVal, na przykład "target:_blank;".
Patrz właściwość PmViewCreator.Frame. |
---|
Parametry przeglądarki są w formie obiektu
PmMap, który jest napełniony z wartości parametru
sViewPars (typu
KeyVal) w metodzie
Pm.CreateView.
Napełnieniem z
KeyVal wartości wszystkie parametry są na początku zapisane w postaci łańcucha. Zawartość obiektu
PmMap może zostać w dowolny sposób zmieniona - pozycje można dodawać, usuwać lub zmieniać ich wartość.
Obiekt
PmMap może zawierać inne wżłobione obiekty
PmMap. W celu udostępnienia istniejącej lub wytworzenia nowej pozycji typu
PmMap można zastosować metodę
PmMap.mapSetSubmapAt.
Przykład1:
Wybór z tablicy wartości
JavaScriptWybierz oraz skopiuj do schowka
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(null, "/#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();
Przykład2:
JavaScriptWybierz oraz skopiuj do schowka
function onViewClose(ev)
{
if (ev.CloseReason == "ok")
{
var sViewer = ev.ReturnValue;
if (Pm.IsValid(sViewer))
{
Pm.CreateView(null, sViewer, "", "target:main;").Open();
}
}
}
var oCreator = Pm.CreateView(null, "/#glob/list", "autoselect:0;grid:1;title:Selection;", "target:_blank;modal:1;pos:view," + pMe.ViewX + "," + pMe.ViewY + ";");
oCreator.View.list = Pm.FindViewers("groups:menu;viewers:panel;","", "headers:;columns:path,title;");
oCreator.View.onClose = onViewClose;
oCreator.Open();