Obiekt context
context
zapewnia dostęp do funkcji programu pomocy, takich jak wywołanie zwrotne w celu uruchomienia zdarzenia granicznego o określonej nazwie.Właściwości
Za pomocą obiektucontext
można uzyskać dostęp do jego właściwości.Właściwość | Opis |
---|---|
context.binding |
Zapewnia dostęp do obiektu danych powiązanego z bieżącym widokiem. Aby uzyskać dostęp do danych, użyj następującego wywołania: Gdzie value to nazwa właściwości specjalnej zwracającej
powiązany obiekt danych.Jeśli widok jest na przykład powiązany z obiektem
local.phoneBook.title , może on uzyskać tytuł przy użyciu
następującego kodu:
|
context.contextRootMap |
Zawiera wartości różnych kontekstowych katalogów głównych serwerów przepływu pracy. Ten interfejs API służy do tworzenia adresu URL używanego w widokach do
łączenia się z tymi serwerami. Obiekt ma następujące
właściwości:
|
context.element |
Zawiera główny element modelu DOM dla widoku. Widok nie
może usuwać tego elementu modelu DOM. Widoki zdefiniowane w układzie są
elementami potomnymi tego elementu głównego. Widok zazwyczaj używa tego głównego elementu modelu DOM do znajdowania własnej treści. Uwaga: Wiele instancji tego samego widoku może znajdować się na tej samej stronie HTML. Aby określić zasięg wyszukiwania, należy użyć tego głównego elementu modelu DOM.
|
context.options |
Zapewnia dostęp do opcji konfiguracyjnych widoku. Te opcje konfiguracyjne obejmują właściwości, które użytkownik może ustawić dla widoku, takie jak etykieta dla elementu sterującego przycisku i właściwości metadanych. |
context.subview[viewid] |
Zwraca obiekt o identyfikatorze Więcej informacji na ten temat zawiera sekcja Przykład: pobranie i użycie węzła domNode i Przykład: pobranie identyfikatora div.div
widoku podrzędnego jako nazwę właściwości. W scenariuszu bez powtórzeń zwykle występuje tylko jedna właściwość. Zazwyczaj wygodniejszą w użyciu funkcją jest funkcja
context.getSubview() .
|
context.bpm.system |
Zapewnia dostęp do następujących wartości systemowych:
|
context.bpm.system.settings |
Zapewnia dostęp do następujących właściwości związanych z
odświeżaniem widoków na podstawie licznika czasu:
|
context.bpm.team.manager |
Służy do wyświetlania listy zespołów, których
kierownikiem jest bieżący użytkownik. Lista ("[]" ) jest domyślnie pusta. Każda pozycja listy context.bpm.team.manager
jest obiektem, który zawiera następujące właściwości:
|
context.bpm.team.member |
Służy do wyświetlania listy zespołów, których członkiem
jest bieżący użytkownik. Lista ("[]" ) jest domyślnie pusta. Każda pozycja listy context.bpm.team.member
jest obiektem, który zawiera następujące właściwości:
|
context.viewid |
Zawiera unikalny identyfikator tej definicji widoku. Wiele instancji widoku może mieć ten sam identyfikator viewId . Więcej informacji na ten temat zawiera sekcja context.getSubview(viewId,
requiredOrder). |
Funkcje
Za pomocą obiektucontext
można
uzyskać dostęp do jego funkcji.Funkcja | Opis | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
context.bindingType() |
Zwraca typ powiązania danych. | ||||||||||
context.broadcastMessage(message) |
Rozgłasza podany komunikat. Ważne: Nie należy używać tego interfejsu API do wysyłania poufnych informacji lub informacji poufnych.
|
||||||||||
context.cancelBoundaryEvents() |
Anuluje zdarzenia graniczne, które nie zostały wysłane do serwera. Jeśli po wyzwoleniu zdarzenia granicznego podano funkcję zwrotną, środowisko
formatki wywoła ją w celu zaktualizowania statusu zdarzenia granicznego. Więcej informacji na ten temat zawiera opis funkcji
context.trigger(callback) . |
||||||||||
context.containDiffLoopingContext() |
Zwraca wartość true, jeśli spełnione są następujące
warunki:
Na przykład funkcja API
zwraca wartość true dla następującej struktury:
W czasie wykonywania
środowisko wyświetla komunikat w przypadku wystąpienia niezgodności długości
list. Na przykład komunikat jest wyświetlany w poprzednim przykładzie,
jeśli na liście Funkcja
Ważne: Jeśli widok zawierający pole treści zarządzane przez widok jest powiązane z listą, która nie jest pusta, nie należy wywoływać tej funkcji API między usunięciem
domNode pola treści i wyświetleniem pierwszego powtarzającego się elementu. Zwracana wartość może nie być dokładna. |
||||||||||
context.createView(domNode,
index, parentView) |
Służy do tworzenia instancji widoku i wszystkich
instancji widoku podrzędnego w podanym elemencie modelu DOM, którym zwykle jest
pole treści div .
Jeśli węzeł domNode jest węzłem dowolnego widoku innego niż pole treści, środowisko tworzy pojedynczą instancję widoku i zwraca ją. Jeśli parametr domNode określa węzeł pola treści, w środowisku zostaną utworzone instancje widoku dla wszystkich widoków należących do pola treści. W środowisku w sposób rekurencyjny tworzone są widoki dla wszystkich pól treści zarządzanych przez środowisko, które należą do pola treści określonego przez parametr domNode. Następnie środowisko zwraca tablicę tych instancji widoku. Poniższy fragment kodu przedstawia sposób utworzenia widoku
pola treści. Więcej informacji na ten temat zawiera sekcja Przykład: pobieranie i używanie węzła domNode.
|
||||||||||
context.deleteView(domNode) |
Usuwa instancję widoku i wszystkie instancje widoków
podrzędnych, rozpoczynając od podanego elementu modelu DOM.
Poniższy fragment
kodu przedstawia sposób usuwania instancji widoku. Więcej informacji na ten temat zawiera sekcja Przykład: pobieranie i używanie węzła domNode.
|
||||||||||
context.getDomNode(uniqueViewId,
optParam) |
Zwraca pierwsze dopasowanie węzła modelu DOM, który ma
właściwość data-ibmbpm_uniqueViewId o podanym identyfikatorze,
lub wartość NULL w przypadku braku dopasowania. Wyszukiwanie rozpoczyna się od nadrzędnego
węzła DOM elementu this.context.element , chyba że przekazano
inny węzeł początkowy za pomocą parametru
optParam.startNode. Podczas wyszukiwania sprawdzane są
tylko bezpośrednie elementy potomne węzła początkowego, chyba że przekazano
wartość optParam.deepSearch=true .
|
||||||||||
context.getInheritedVisibility() |
Zwraca łańcuch zawierający wartość ustawienia widoczności
przodków widoku wywołującego tę funkcję. Jeśli dla widoczności
wszystkich jego przodków ustawiono wartość DEFAULT , funkcja
zwraca wartość EDITABLE . |
||||||||||
context.getOptions(viewDomNode) |
Zwraca obiekt opcji dla widoku na podstawie jego
elementu viewDomNode . Opcje są zwracane nawet wtedy, gdy widok
reprezentowany przez węzeł viewDomNode nie jest jeszcze
skonstruowany. Zazwyczaj używa się tej funkcji API w widoku w celu uzyskania
opcji konfiguracyjnych (takich jak etykieta lub widoczność) jednego z widoków
podrzędnych przed jego utworzeniem.
Poniższy fragment kodu zawiera przykład użycia tej funkcji API:
|
||||||||||
context.getStyle() |
Zwraca aktualnie zastosowane informacje dotyczące
pozycjonowania określone we właściwościach pozycjonowania projektanta formatek. Aktualnie zastosowane pozycjonowanie jest oparte na modelu dziedziczenia, w
którym ustawienia dla ekranu o większej szerokości są stosowane do mniejszego
ekranu, o ile żadne informacje nie zostaną podane dla tego ekranu. Jeśli dana właściwość nie zostanie określona dla żadnej
wielkości ekranu, zwracana jest wartość NULL. Zdefiniowane są następujące
właściwości:
|
||||||||||
context.bind(type, callbackFunc, scopeObject) |
Rejestruje funkcję zwrotną do odbierania powiadomienia o
zmianie powiązanego z określonym typem. Na razie obsługiwany jest tylko typ
style. Wszystkie inne wartości spowodują
zgłoszenie wyjątku. Ta zmiana ustawienia może być zmianą w czasie projektowania
w ustawieniach pozycjonowania lub zmianą wielkości ekranu w czasie wykonywania. Zwykle funkcja zwrotna wywołuje metodę Wyzwalane jest tylko jedno powiadomienie lub wywołanie
zwrotne, nawet jeśli zostanie zmieniona więcej niż jedna właściwość
pozycjonowania. Ta funkcja zwraca obiekt, którego można użyć do wyrejestrowania
wywołania zwrotnego. Zwrócony obiekt zawiera metodę
unbind() ,
która nie przyjmuje żadnych parametrów.
|
||||||||||
context.setGroupNotification() |
Po włączeniu umożliwia odbieranie przez widok jednego powiadomienia o wszystkich zmianach powiązań danych i opcji konfiguracyjnych w bieżącym wątku. Obiekt zdarzenia przekazywany do wywołania zwrotnego zawiera jedną właściwość type o wartości groupNotification. Nie zawiera on żadnych informacji o poszczególnych zmianach. Widoki powinny pobierać najnowsze wartości powiązań i opcji konfiguracyjnych po otrzymaniu powiadomienia grupowego. Zdefiniowane są następujące parametry:
|
||||||||||
context.getSubview(viewId,
requiredOrder) |
Zwraca instancję widoku podrzędnego na podstawie
identyfikatora tego widoku podrzędnego. Ta metoda jest podobna do metody
context.subview[viewid] , ale wartość zwracana jest tablicą
instancji widoków podrzędnych.
Wywołanie
Więcej informacji na ten temat zawiera sekcja Uzyskiwanie dostępu do widoku podrzędnego przy użyciu identyfikatora elementu sterującego. |
||||||||||
context.htmlEscape(text) |
Zmienia znaczenie określonego tekstu. Ta funkcja jest stosowana do unikania potencjalnych ataków typu Cross-Site Scripting (XSS).
|
||||||||||
context.isTrustedSite(origin) |
Zwraca wartość true, jeśli parametr origin jest zgodny z protokołem, hostem i portem formatki lub serwisu wyszczególnionego na liście zaakceptowanych. Na przykład widok
odbiera zdarzenie postMessage . Widok może sprawdzić
źródło zdarzenia, wywołując ten interfejs API przy użyciu parametru
event.origin .
|
||||||||||
context.parentView() |
Zwraca instancję widoku nadrzędnego lub wartość
null , jeśli nie istnieje widok nadrzędny. Podczas wywoływania
funkcji load() tworzony jest obiekt
parentview , ale nie jest on w pełni inicjowany. Jednym z powodów braku inicjowania jest fakt, że funkcja
load() widoku nadrzędnego jest wywoływana po bieżącej funkcji
load() . Ponieważ obiekt parentview nie jest w
pełni inicjowany, należy unikać wywołania tej funkcji w funkcji
load() . |
||||||||||
context.refreshView() |
Wymusza ponowne powiązanie widoku i wszystkich jego
widoków podrzędnych. W wyniku tego działania wywoływane jest wywołanie
zwrotne change() , co powoduje odświeżenie widoku (i wszystkich
jego widoków podrzędnych). |
||||||||||
context.setDisplay(isDisplay,
domNode) |
Umożliwia pokazanie lub ukrycie podanego elementu
DOM przez usunięcie lub dodanie klasy CSS, która określa ustawienie
display:none . Gdy węzeł domNode jest ukryty,
nadrzędna formatka lub widok nie rezerwuje miejsca, które byłoby
zajęte przez węzeł domNode .
|
||||||||||
context.setUniqueViewId(uniqueViewId,
targetNode) |
Ustawia wartość uniqueViewId we
właściwości data-ibmbpm_uniqueViewId węzła
targetNode . Jeśli wywołanie nie zawiera węzła
targetNode , ta funkcja ustawia dla węzła DOM właściwość
this.context.element .
|
||||||||||
context.setVisibility(isVisible,
domNode) |
Umożliwia pokazanie lub ukrycie podanego elementu
DOM przez usunięcie lub dodanie klasy CSS, która określa ustawienie
display:hidden . Gdy węzeł domNode jest
ukryty, nadrzędna formatka lub widok rezerwuje miejsce, które byłoby
zajęte przez węzeł domNode .
|
||||||||||
context.subscribeValidation() |
Rejestruje widok, który ma odbierać błędy sprawdzania
poprawności potomnych widoków powiązanych z innym obiektem biznesowym niż
bieżący widok. Te błędy znajdują się na liście
errors_subscription obiektu zdarzenia błędu. Widoki bez
powiązania danych, takie jak standardowy element sterujący Karta, mogą używać
tej funkcji API do odbierania błędów sprawdzania poprawności. |
||||||||||
context.trigger(callback, options) |
Wywołuje zdarzenie graniczne o podanej nazwie.
|
||||||||||
context.triggerCollaboration(payload) |
(Nieaktualne). Wywołuje niestandardowe zdarzenie współpracy. Komunikat niestandardowy jest wysyłany do przeglądarki użytkownika zaangażowanego we współpracę. Odpowiedni widok na przeglądarkę współpracy otrzymuje wywołanie zwrotne collaboration() z event.type = "custom" .
|
||||||||||
context.unsubscribeValidation() |
Wyrejestrowuje widok, przez co przestaje on odbierać
błędy znajdujące się na liście errors_subscription . Ten widok wciąż odbiera listę errors , jeśli lista ta istnieje. |
Przykład: uzyskanie i użycie elementu
domNode
Wiele funkcji obiektu kontekstu przyjmuje jako
argument węzeł dokumentu (domNode
). Poniższy przykład kodu
przedstawia sposób uzyskania węzła domNode
i użycia go w
funkcji.
1 var subview = this.context.getSubview("subviewID", "true")[5];
2 var subviewDomNode = subview.context.element;
3 this.context.deleteView(subviewDomNode);
- 1 Parametr subviewID
jest identyfikatorem elementu sterującego widoku podrzędnego i odpowiada
wartości właściwości
data-viewid
znacznika<div></<div>
instancji widoku podrzędnego. FunkcjagetSubview(subViewID)
zwraca tablicę widoków podrzędnych. W tym przykładzie celem jest uzyskanie szóstego elementu w indeksie tablic. Parametr true gwarantuje, że obiekty w tablicy są zwracane w tej samej kolejności, co w modelu DOM. - 2 Pobieranie węzła
domNode
elementu widoku podrzędnego zwróconego w kroku 1. - 3 Usuwanie widoku podrzędnego przy użyciu
węzła
domNode
zwróconego w kroku 2.
Przykład: uzyskiwanie identyfikatora
div
Aby uzyskać identyfikator div
dla elementu, należy użyć składni this.context.element.id
.
Aby uzyskać identyfikator widoku podrzędnego, należy najpierw uzyskać węzeł
domNode
widoku podrzędnego, a następnie użyć obiektu
.id
.
1 var subview = this.context.getSubview("subviewID", "true")[5];
2 var subviewDomNode = subview.context.element;
3 var subViewDomId = subviewDomNode.id; // This gives you the ID of the subview
- 1 Parametr subviewID
jest identyfikatorem elementu sterującego widoku podrzędnego i odpowiada
wartości właściwości
data-viewid
znacznika<div></<div>
instancji widoku podrzędnego. FunkcjagetSubview(subViewID)
zwraca tablicę widoków podrzędnych. W tym przykładzie interesujący jest szósty element w indeksie tablic. Parametr true gwarantuje, że obiekty w tablicy są zwracane w tej samej kolejności, co w modelu DOM. - 2 Pobieranie węzła
domNode
elementu widoku podrzędnego zwróconego w kroku 1. - 3 Pobieranie identyfikatora widoku podrzędnego.