加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dojo

发布时间:2020-12-16 22:00:37 所属栏目:百科 来源:网络整理
导读:%@ page contentType="text/html;charset=UTF-8" language="java" % %@ taglib prefix="s" uri="/struts-tags" %' link rel="stylesheet" href="s:url value='/scripts/dojo1.5/dijit/themes/nihilo/nihilo.css' encode='false' includeParams='none' /" / l

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>'

<link rel="stylesheet" href="<s:url value='/scripts/dojo1.5/dijit/themes/nihilo/nihilo.css' encode='false' includeParams='none' />" />
<link rel="stylesheet" href="<s:url value='/scripts/dojo1.5/dijit/themes/nihilo/tmpdir.css' encode='false' includeParams='none' />" />

<script type="text/javascript" src="<s:url value='/scripts/dojo1.5/dojo/dojo.js' encode='false' includeParams='none' />"
djConfig="parSEOnLoad:true,isDebug:true">
</script>
<script type="text/javascript">
/*注册custom的路径*/
dojo.registerModulePath("custom","<s:url value='/scripts/dojo1.5/custom' encode='false' includeParams='none' />");
//引入依赖(类似java的 import)
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("custom.CheckBoxTree");

//一个dojo的store对象,它保存着dojo widget的数据
//dojo widget状态 的更变,可以及时反应到 store中的数据
var permStore;

/*
*json格式的权限树的数据,它将 被 放到 store对象中,用于初始化权限树 .
*我们也可以改用ajax一种方式初始化 store对象.
*permStore = new dojo.data.ItemFileWriteStore(
*{url: yoururl}
*);
*/
var pdata=<s:property value='%{permTreeJSonData}' />;
function makePermTree( domLocation ) {
permStore = new dojo.data.ItemFileWriteStore(
{data: pdata}
);
var model = new custom.CheckBoxStoreModel( {
store: permStore,
query: {level: '1'},
rootId: 'root',
rootLabel: '权限管理',
checkboxAll: true,
checkboxRoot: false,
checkboxState: true,
checkboxStrict: true
});
//创建权限树
var tree = new custom.CheckBoxTree( {
model: model,
id: "PermTree",
branchIcons: true,
nodeIcons: true});
tree.placeAt( domLocation );
dojo.connect( tree,"onNodeChecked",function(storeItem,nodeWidget){
}
);
}

function submitChk() {
var inputRoleId = dojo.byId("inputRoleId");
var roleIdValue = inputRoleId.value;
var selectedIds = []; //存放打钩的权限项ID
permStore.fetch({
query : {name : "*"},
onItem : function(item,request) {
var selId = permStore.getValue(item,"id");
var checked = permStore.getValue(item,"checkbox");
if(checked) {
//把打钩的权限项ID放到数组
selectedIds.push(selId);
}
}
});
var postUrl = "/bp/bp/Perm_save";
var xhrArgs = {
url: postUrl,
content: {roleId:roleIdValue,selectedPermIds: selectedIds},
//提交 选中的权限的 ID
//如selectedPermIds=1&selectedPermIds=2&selectedPermIds=3&selectedPermIds=6
handleAs: 'json',
// timeout: 10000
load: afterPost,// 成功时的回调函数
error: handleError // 失败时的回调函数
};
//用ajax方式 提交
dojo.byId("response").innerHTML="saving ...";
dojo.xhrPost(xhrArgs);
}
function handleError() {
dojo.byId("response").innerHTML="failed to save the changes";;
}
function afterPost(result) {
dojo.byId("response").innerHTML="saved successfully";
}
</script>
<body>
<div class="nihilo">
<div id="response" ></div>
<div id="CheckboxTree">
<script type="text/javascript">
makePermTree("CheckboxTree");
</script>
</div>
<s:hidden id="inputRoleId" name="roleId" value="%{roleId}"></s:hidden>
<a href="#" onclick="submitChk();" >save</a>
</div>
</body>

{identifier:'id',label:'name',items:[{id:"1",level:1,name:"Project ",checkbox:true,children:[{_reference:"2"},{_reference:"3"} ]},{id:"2",level:2,name:"Project View",children:[{_reference:"5"}]},{id:"5",level:3,name:"Project view2",checkbox:true},{id:"3",name:"Print Project",{id:"4",name:"User Managemenent",checkbox:true} ]}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读