Умбрако 7: Как я могу обновить древовидное представление в моем пользовательском разделе?

Я создал пользовательский раздел в umbraco для управления некоторыми данными в базе данных SQL.

Я могу редактировать элементы ОК, но при добавлении мне нужно обновить страницу, чтобы увидеть мою новую строку в пользовательском дереве слева.

Как я могу вызвать обновление моего собственного дерева с помощью AngularJS? Мое дерево называется "клиенты".

Я попытался отладить код и посмотреть на источник, чтобы найти событие, но я не могу понять, как это сделать.

Есть ли метод, который я могу вызвать на umbTreeDirective каким-то образом? Или событие для подписки?

Я довольно новичок в AngularJS и немного борюсь.

1 ответ

Решение

Вы ищете навигационный сервис.

Эта строка является примером вызова syncTree:

navigationService.syncTree({ tree: 'clients', path: content.path, forceReload: false, activate: true });

Вот надуманный, обещанный спагетти, но полный пример:

angular.module("umbraco")
.directive('nowplaying', ['navigationService', 'contentResource', 'contentEditingHelper', function (navigationService, contentResource, contentEditingHelper) {

                //spaghetti example to create new document
                contentResource.getScaffold(parentId, alias)
                .then(function (scaffold) {
                    var myDoc = scaffold;
                    myDoc.name = name;

                    //we have minimum to publish
                    contentResource.publish(myDoc, true, [''])
                        .then(function (content) { 
                            $scope.newlyCreatedNode = content;  

                                //Sync ('refresh') the tree!
                                navigationService.syncTree({ tree: 'clients', path: content.path, forceReload: false, activate: true });

                    });
                });
}]);

Вся документация Belle живет здесь. -Я не уверен, что он активно поддерживается, я могу с уверенностью сказать, что одна или две подписи изменились с тех пор, как она была впервые опубликована. Кроме того, это лучший ресурс, который я знаю, чтобы взаимодействовать со всеми модулями и сервисами Umbraco.

Другие вопросы по тегам