Mam modalne wyskakujące okienko, które pojawia się za każdym razem, gdy edytor próbuje zapisać komponent z pewnymi wartościami (w tym przypadku pole daty w przeszłości).Anguilla - Aktualizacja wartości pola z wyskakującego okienka?
W tym oknie pokażę edytorowi kilka opcji (bardzo podobne do domyślnego okna dialogowego "Otwórz udostępniony element") i kombinację przycisku OK/Anuluj. W trybie Anuluj uruchamiam zdarzenie "anuluj", a edytor powraca do ekranu edycji, wszystko dobrze tutaj. W "OK" chcę zmienić wartość pola tak, aby pasowała do wybranego edytora, a następnie zapisać.
Próbowałem użyć podejścia z FieldBuilder i próbki Borys wymienionych na this other topic, ale nie mogę dostać się do pola z mojego okna podręcznego.
Jakieś sugestie, w jaki sposób mogę przejść i zmodyfikować xml elementu (może to być również strona) z modalnego okna podręcznego?
EDIT: Kod stosowany w getControlForFieldName
function getControlForFieldName(name) {
var fieldBuilder = $display.getView().properties.controls.fieldBuilder;
var fieldsContainer = fieldBuilder.properties.input;
var fieldsNode = fieldsContainer.getElement();
var fieldContainer = $dom.getFirstElementChild(fieldsNode);
while (fieldContainer) {
var labelNode = $dom.getFirstElementChild(fieldContainer);
var fieldNode = $dom.getNextElementSibling(labelNode);
var control = fieldNode.control;
if (control.getFieldName() == name) {
return control;
}
fieldContainer = $dom.getNextElementSibling(fieldContainer);
}
}
EDIT # 2
Po poradę Franka i pewną pomocą Jaime & Frank trybie offline, mam go do pracy w następujący sposób:
- popup jest wywoływany z rozszerzenia poleceń (zapisz & Zamknij w moim przypadku)
- Command.js określa moduł obsługi zdarzeń, który pobiera o nazwie na „submit” (== OK został naciśnięty)
$evt.addEventHandler(p.dialogPopup, "submit",
this.getDelegate(this._onPopupSubmit));
W moim popup ja przechodząc wybrany element (jest to słowo kluczowe ID) do obsługi zdarzeń :
this.fireEvent("submit", { id: select.options[select.selectedIndex].value });
a teraz z powrotem do obsługi zdarzeń _onPopupSubmit(e)
właśnie przeczytałem e.data.id załaduj tego słowa kluczowego, uzyskać właściwości, takie jak identyfikator & tytułu i aktualizacji metadanych elementu przy użyciu item.setMetadata ("nowa metadane z zaktualizowanymi wartościami ").
Proste :)
Czy możesz udostępnić kod, który masz w swoim wyskakującym okienku? Najprawdopodobniej brakuje ci "rodzica" gdzieś. –