UI5 привязка оддаты для сетевого графа - PullRequest
0 голосов
/ 07 декабря 2018

Я думаю, что мне почему-то не хватает того, как UI5 BindingContext и ElementBinding работает в сложной ситуации.Сценарий заключается в том, что у меня есть объект "Сеть", который имеет два свойства навигации "Отношения" и "Функциональные объекты".Моя проблема сейчас в том, что я не могу заставить контекст работать.У меня есть sap.suite.ui.commons.networkgraph для отображения этого отношения.

Мой код следующий:

В onInit моего ViewController я связываю (element / BindingContext?)на мой график с параметрами расширения:

//get the Graph by ID
this.Graph = this.byId("graph");

//Create the path with parameters       
var element = {
    path: "/Networks('DemoNet12')",
    parameters: {
        expand: "FunctionalObjects,Relations"
    }
};

//bind path to Graph
this.Graph.bindElement(element);

Трассировка результирующего вызова oData выглядит хорошо.Фреймворк отбрасывает этот вызов в нужную службу бэкэнда: GET Networks('DemoNet12')?$expand=FunctionalObjects%2cRelations HTTP/1.1

Однако я не знаю, как подключить это к узлам и линиям моего сетевого графа.

<Graph id="graph" orientation="TopBottom" nodes="{FunctionalObjects}"
    lines="{Relations}">
    <nodes>
        <Node key="{Identifier}"/>
    </nodes>
    <lines>
        <Line from="{ObjectFrom}" to="{ObjectTo}"/>
    </lines>
</Graph>

Я думал, что BindingContext компонента является динамическим и относительным, поэтому, когда я связываю сеть "DemoNet12" с графом, я получу отношения этого графа, когда я напишу "{/ Relations}".Это в настоящее время не работает.Я также увидел, что фреймворк теперь отбрасывает еще два вызова GET Relations?$skip=0&$top=100 HTTP/1.1 и GET FunctionalObjects?$skip=0&$top=100 HTTP/1.1.

Может кто-нибудь объяснить мне, что я делаю неправильно?Я попробовал несколько созвездий, но на данный момент ничего не работает.Единственный способ заставить его работать - написать это и полностью закомментировать javascript:

<Graph id="graph" nodes="{Networks('DemoNet12')/FunctionalObjects}" lines="{Networks('DemoNet12')/Relations}>"
    <!-- nodes and lines as above -->
</Graph>

Но это приводит к двум вызовам непосредственно для навигации.

...