首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义编辑菜单角仪表板框架

自定义编辑菜单角仪表板框架
EN

Stack Overflow用户
提问于 2016-01-27 11:55:21
回答 1查看 1.9K关注 0票数 2

我工作的角度仪表板框架(sdorra),我想改变编辑菜单;

在默认情况下,单击菜单,我可以添加一个小部件,编辑仪表板,保存和丢弃更改,如下所示。

我想添加一个新的图标与一个新的功能,在特殊情况下,我想添加一个复制功能的仪表板。

我的html如下:

代码语言:javascript
复制
<div ng-app="isdashboard" ng-controller="dashboardController" 
                             ng-init="init('$name','$id', '$sid')" style="color:#A60076">
    <adf-dashboard name="dashboard" adf-model="dashboard.model" />
</div>

我的控制器是

代码语言:javascript
复制
'use strict';
var model = {
    rows: [{
        columns: [{
            styleClass: 'col-md-4',
            widgets: []
        },{
            styleClass: 'col-md-8',
            widgets: []
        }]
    }]
};

angular.module('isdashboard', ['adf', 'adf.widget.clock'])
.config(function(dashboardProvider){
    dashboardProvider.structure('4-8', {
        rows: [{
            columns: [{
                styleClass: 'col-md-4',
                widgets: []
            }, {
                styleClass: 'col-md-8',
                widgets: []
            }]
        }]
    }),

    dashboardProvider.structure('6-6', {
        rows: [{
            columns: [{
                styleClass: 'col-md-6',
                widgets: []
            }, {
                styleClass: 'col-md-6',
                widgets: []
             }]
         }]
      })
   })
   .controller('dashboardController', function($scope, $http){

       $scope.init = function(name, id, sid){
          ....
   };

   $scope.dashboard = {
       model: model
   };
});

我知道有可能像这个示例http://angular-dashboard-framework.github.io/angular-dashboard-framework/#/sample/03那样改变菜单,但我不会这样做。

是否可能只在默认菜单中添加项目?

提前感谢

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-02 18:06:30

我解决了问题,我混合了解决方案。首先,我创建了一个类似于缺省值的editTitletemplate

代码语言:javascript
复制
<h1> {{model.title}}
<span style="font-size: 16px" class=pull-right>

<a href ng-if=editMode title="custom item" ng-click=callEvent('adfDashboardCustom')> 
    <i class="glyphicon glyphicon-repeat adf-flip"></i>
</a>

<a href ng-if=editMode title="add new widget" ng-click=addWidgetDialog()>
    <i class="glyphicon glyphicon-plus-sign"></i>
</a> 

<a href ng-if=editMode title="edit dashboard" ng-click=editDashboardDialog()>
    <i class="glyphicon glyphicon-cog"></i>
</a> 

<a href ng-if=options.editable title="{{editMode ? 'save changes' : 'enable edit mode'}}" ng-click=toggleEditMode()>
    <i class=glyphicon x-ng-class="{'glyphicon-edit' : !editMode, 'glyphicon-save' : editMode}"></i>
</a>

<a href ng-if=editMode title="undo changes" ng-click=cancelEditMode()>
    <i class="glyphicon glyphicon-repeat adf-flip"></i> 
</a>

在ng-点击callEvent函数是调用.这个函数是在库中添加的:

代码语言:javascript
复制
$scope.callEvent = function(param){
    $rootScope.$broadcast(param, name, model);
};

事件由仪表板处理,如下所示:

代码语言:javascript
复制
$scope.$on('adfDashboardCustom', function (event, name, model) {
    //doSomething
}

我希望我的努力能对其他人有所帮助。

问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35036699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档