-
Notifications
You must be signed in to change notification settings - Fork 0
Add a command into a menu
هر دستور در سیستم با استفاده از یک عبارت رشتهای تعیین میشود که معادل با آن چندین کد اجرایی (که دستگیره گفته میشه) وجود داره. دستورهای با استفاده از سرویس $act مدیریت میشن و قابلی اجرا دارند. این دستورها را میشه به صورت یک منو ایتم به یک منو اضافه کردم. برا توی این مستند میخواهیم روش اضافه کردن دستور رو به صورت گام به گام به شما نشون بدیم.
دستورها و دستگیرهها تنها یک بار باید ثبت بشن در غیر این صورت تعداد گزینههای موجود در منو تکراری خواهد شد. برای همین توی تنظیمهای ماژولها دستورها رو اضافه میکنیم. بنابر این تعریف دستور ما به صورت زیر میشه:
angular.module('myApp')
.run(function($act){
$act.command({
id: 'message.alert',
label: 'Alert'
}).handler({
command: 'message.alert',
handle: function(message){
alert(message);
}
});
});
حالا هر ماژولی میتونه این دستورها رو توی منوهایی که لازم داره اضافه کنه. برای نمونه فرض کنید که میخواهیم این دستور رو به منوی اصلی سیستم اضافه کنیم. برای این کار به صورت زیر عمل میکنیم.
angular.module('myApp')
.run(function($menu){
$menu.addItem('main:menu', {
command: 'message.alert'
});
});
هر کنترولی میتونه این منو رو بازیابی کنه و اون رو توی نمایش استفاده کنه. برای نمونه توی کنترل زیر این منو بازیابی شده و به صورت یک فهرست از لینکها نمایش داده شده است:
angular
.module('myApp')
.controller('MyController', function($scope, $menu){
$menu.menu('main:menu').then(function(menu){
$scope.menu = menu;
});
});
و نمایش اون هم به صورت زیر میشه:
<div ng-controller="MyController">
<ul>
<li
ng-repeat="m in menu.items"
ng-show="m.visible"><a href="" ng-clcick="m.active()">{{m.label}}</li>
</ul>
</div>