Promotic

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".
Składnia:
JavaScriptWybierz oraz skopiuj do schowka

var oCreator = Pm.CreateView(oFrom, sViewPath, sView, sFrame);
oCreator.Open();
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:
- obiekt PmaPanel, jeżeli metoda CreateView jest wołana w skrypcie Pmg obiektu.
- aktywny PmaWorkspace, jeżeli metoda CreateView jest wołana w skrypcie Pma obiektu.
- 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.
sViewPath(String) Ścieżka (względna lub bezwzględna) do obiektu lub komponentu, którego przeglądarka ma zostać otwarta.
Patrz właściwość PmViewCreator.ViewPath.
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ład2:
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ład3:
Wybór z listy paneli. Metoda Pm.FindViewers zwraca tablicę do wyboru.
JavaScriptWybierz oraz skopiuj do schowka

function onViewClose(ev)
{
if (ev.CloseReason == "ok")
{
var sViewer = ev.ReturnValue;
if (Pm.IsValid(sViewer))
{
Pm.CreateView(pMe, 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();

Historia:
Pm9.00.10: Nowe parametry ev.ReturnIndex oraz ev.Index.
Pm9.00.09: Wytworzono
© MICROSYS, spol. s r. o.