欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ExtJs页面元素权限控制 博客分类: ExtJs ExtJs权限控限页面元素 

程序员文章站 2024-03-24 10:42:28
...

带有权限控制的安钮组件:



Ext.define('matrix.sys.view.authority.XButton', {
extend : 'Ext.button.Button',
alternateClassName : [ 'Ext.authority.XButton' ],
alias : 'widget.xButton',
requires : [ 'matrix.sys.store.AuthorityButtonStore' ],
stores : [ 'authorityButtonStore' ],
initComponent : function() {

var disabled=false;
//取得当前登陆用户拥有的页面元素权限
var store = Ext.data.StoreManager.lookup('authorityButtonStore');
                //判断是否可见
if(store && this.buttonAlias){
if(!store.getById(this.buttonAlias)){
disabled=true;
}
}

Ext.apply(this, {
cls : this.buttonAlias,
hidden : this.hidden?this.hidden: disabled,
border : 1
});

this.callParent(arguments);

}
});


其中authorityButtonStore的访问路径 /matrix/sysSubButton/getByCurrentUser.do 将会读取当前登陆用户所拥有的全部页面元素权限,并绶存于authorityButtonStore当中。

用法:




{
xtype : 'xButton',
text : Ext.Res.getText('add'),
buttonAlias:'SysUserView.add',
iconCls : 'btn-add',
action : 'add'
}


这个只是button的案例,其实其它的页面元素也可以安照这个思路来扩展。