2015-07-30 2 views
0

Я новичок в разработке Umbraco Backoffice. Я только что последовал за некоторыми учебниками. Теперь я борюсь, потому что не понимаю клиентскую модель Umbraco Backoffice. То, что я сделал это следующий вид:Umbraco 7+ разработка backoffice, действия клиента

<div ng-controller="UmbExtend.UmbExtendTree.ImportController"> 
    <div class="umb-pane"> 
     <h1>Datei hochladen</h1> 
     <p> 
      Bitte laden sie die Datei hoch, welche importiert werden soll. Es sind nur CSV Dateien erlaubt. 
     </p> 
     <div class="umb-actions"> 
      <input type="file" id="userImportFile"/> 
     </div> 
     <loading></loading> 
     <div class="btn-toolbar pull-right umb-btn-toolbar"> 
      <a id="uploadNowButton" class="btn btn-primary" ng-click="runImport(99)" prevent-default>Benutzer jetzt importieren!</a> 
     </div> 
    </div> 
</div> 
<script> 
    function checkUserImportFile() { 
     var btn = $('#uploadNowButton'); 
     if (!$('#userImportFile').val().trim().endsWith(".csv")) { 
      btn.addClass('disabled').fadeTo(500, 0); 
     } else { 
      btn.removeClass('disabled').fadeTo(500, 1); 
     } 
    } 
    $('#userImportFile').change(function() { 
     checkUserImportFile(); 
    }); 
    checkUserImportFile(); 
</script> 

И следующий контроллер клиента:

'use strict'; 
(function() { 
    //create the controller 
    function umbExtendImportController($scope, $routeParams, $http) { 
     //set a property on the scope equal to the current route id 
     $scope.id = $routeParams.id; 

     $scope.runImport = function() { 
     } 

    }; 
    //register the controller 
    angular 
     .module("umbraco") 
     .controller('UmbExtend.UmbExtendTree.ImportController', umbExtendImportController); 
})(); 

например Я хочу скрыть contextMenu на клике runImport, где отображается представление. Итак, как я могу это сделать? Есть ли примеры или документация для клиентской модели бета-версии umbraco версии 7+?

ответ

1

Вот документация по API для бэк-офиса v7: http://umbraco.github.io/Belle/#/api он не является полным, но дает хорошую отправную точку.

Что касается скрытия контекстного меню, я не могу вам помочь, но лучший совет, который я могу дать, - посмотреть исходный код бэк-офиса здесь: https://github.com/umbraco/Umbraco-CMS/tree/dev-v7/src/Umbraco.Web.UI.Client и посмотреть, как все делается в ядре код. Обычно это мой первый порт, если я звоню, когда пытаюсь сделать что-нибудь в бэк-офисе!

1

Инжектируйте navigationService в контроллере и использовать метод hideNavigation() как так:

function umbExtendImportController($scope, $routeParams, $http, navigationService) { 

    $scope.runImport = function() { 
     navigationService.hideNavigation(); 
    } 

};