基于jquery、canvas开发的jbpm-web设计器的雏形
2009-05-13 16:17
661 查看
对jbpm4的web设计器做了进一步的整合验证,主要是为了寻找实现方案的可行性。
遵循css2的规范,大量的使用css的 > 选择器语法,所以浏览器的支持在ie7以上以及其他的主流浏览器。
在ie7,opera9.6、firefox3.0.10 以及chrome 1.0.154.65稍微跑了下,问题不少,勉强可以跑起来,速度还比较慢。
1、以application为依托(editor)
实现命令的注册、执行、撤销、重做。
2、集成了菜单和工具栏
工具栏和菜单的动作调用分为 command 和 action 两种:
command为在application中注册的可撤销的动作
action 为普通的动作,通过$.actionFactory.register方法进行注册
// 菜单的命令集成
Js代码
$('#application-menu').menu({
command:function(event,ui){
$('body',document).application('executeCommand',ui.command);//
}
});
// 工具栏的命令集成
Js代码
$('#application-toolbar').toolbar({
command:function(event,ui){
$('body',document).application('executeCommand',ui.command);
}
});
3、集成浮动palette的支持,预支持选择和拖到两种方式
在drop方法中实现palette节点的拖动与命令的集成
Js代码
//初始化palette
$('#application-palette').palette({
drop:function(event,ui){
var offset = {
left:event.pageX-ui.drop.offset().left+ui.drop.scrollLeft(),
top:event.pageY-ui.drop.offset().top+ui.drop.scrollTop()
},
text = ui.text;
$('body',document).application('executeCommand','addNode',{text:text,offset:offset,type:text});
}
});
4、初步的propertyTable的集成方案
在上一个的demo验证版本中有体现
Js代码
//注册下拉选择框
$.youi.editorFactory.registSelect('fontSize',{src:'demo/datas/users.data'});
Js代码
//注册颜色选择的dialog
$.youi.editorFactory.registDialog('color',{
width:370,
height:258,title:'选择颜色',
initContent:function(container){
var colorpicker = $('<div id="color-picker"/>');
container.append(colorpicker);
colorpicker.ColorPicker({
flat: true
});
},
getValue:function(){
var color = $("#color-picker").find('.colorpicker_hex input').val()||'000000';
return '<b style="color:#'+color+'">'+color+'</b>';
},
setValue:function(value){
$("#color-picker").ColorPickerSetColor(value);
}
});
5、工作区间树的联动
在命令中同时调用树的相关操作,修改文本和增加节点等。
遵循css2的规范,大量的使用css的 > 选择器语法,所以浏览器的支持在ie7以上以及其他的主流浏览器。
在ie7,opera9.6、firefox3.0.10 以及chrome 1.0.154.65稍微跑了下,问题不少,勉强可以跑起来,速度还比较慢。
1、以application为依托(editor)
实现命令的注册、执行、撤销、重做。
2、集成了菜单和工具栏
工具栏和菜单的动作调用分为 command 和 action 两种:
command为在application中注册的可撤销的动作
action 为普通的动作,通过$.actionFactory.register方法进行注册
// 菜单的命令集成
Js代码
$('#application-menu').menu({
command:function(event,ui){
$('body',document).application('executeCommand',ui.command);//
}
});
$('#application-menu').menu({ command:function(event,ui){ $('body',document).application('executeCommand',ui.command);// } });
// 工具栏的命令集成
Js代码
$('#application-toolbar').toolbar({
command:function(event,ui){
$('body',document).application('executeCommand',ui.command);
}
});
$('#application-toolbar').toolbar({ command:function(event,ui){ $('body',document).application('executeCommand',ui.command); } });
3、集成浮动palette的支持,预支持选择和拖到两种方式
在drop方法中实现palette节点的拖动与命令的集成
Js代码
//初始化palette
$('#application-palette').palette({
drop:function(event,ui){
var offset = {
left:event.pageX-ui.drop.offset().left+ui.drop.scrollLeft(),
top:event.pageY-ui.drop.offset().top+ui.drop.scrollTop()
},
text = ui.text;
$('body',document).application('executeCommand','addNode',{text:text,offset:offset,type:text});
}
});
//初始化palette $('#application-palette').palette({ drop:function(event,ui){ var offset = { left:event.pageX-ui.drop.offset().left+ui.drop.scrollLeft(), top:event.pageY-ui.drop.offset().top+ui.drop.scrollTop() }, text = ui.text; $('body',document).application('executeCommand','addNode',{text:text,offset:offset,type:text}); } });
4、初步的propertyTable的集成方案
在上一个的demo验证版本中有体现
Js代码
//注册下拉选择框
$.youi.editorFactory.registSelect('fontSize',{src:'demo/datas/users.data'});
//注册下拉选择框 $.youi.editorFactory.registSelect('fontSize',{src:'demo/datas/users.data'});
Js代码
//注册颜色选择的dialog
$.youi.editorFactory.registDialog('color',{
width:370,
height:258,title:'选择颜色',
initContent:function(container){
var colorpicker = $('<div id="color-picker"/>');
container.append(colorpicker);
colorpicker.ColorPicker({
flat: true
});
},
getValue:function(){
var color = $("#color-picker").find('.colorpicker_hex input').val()||'000000';
return '<b style="color:#'+color+'">'+color+'</b>';
},
setValue:function(value){
$("#color-picker").ColorPickerSetColor(value);
}
});
//注册颜色选择的dialog $.youi.editorFactory.registDialog('color',{ width:370, height:258,title:'选择颜色', initContent:function(container){ var colorpicker = $('<div id="color-picker"/>'); container.append(colorpicker); colorpicker.ColorPicker({ flat: true }); }, getValue:function(){ var color = $("#color-picker").find('.colorpicker_hex input').val()||'000000'; return '<b style="color:#'+color+'">'+color+'</b>'; }, setValue:function(value){ $("#color-picker").ColorPickerSetColor(value); } });
5、工作区间树的联动
在命令中同时调用树的相关操作,修改文本和增加节点等。
相关文章推荐
- 基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速Web开发框架设计
- 基于勤哲excel服务器系统的web开发设计
- 开发基于Web的CSS设计器.代码参考
- (分享) 用jquery实现基于web 的套打设计器!
- 基于PHP+MYSQL的WEB聊天应用雏形开发实例教程
- 基于jQuery和Raphaël 的web流程设计器
- 使用jQuery开发一个基于HTML5的漂亮图片拖拽上传web应用
- 基于JQUERY的WEB在线流程图设计器GOOFLOW 0.6版
- 使用jQuery开发一个基于HTML5的漂亮图片拖拽上传web应用
- (转)基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式
- 使用jQuery开发一个基于HTML5的漂亮图片拖拽上传web应用
- 开发基于Web的CSS设计器
- 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计
- 基于Web的网上书店的设计与开发
- 基于jQuery实现多标签页切换的效果(web前端开发)
- 【day 17】python编程:从入门到实践学习笔记-基于Django框架的Web开发-设计样式和部署(一)
- 开发基于Web的CSS设计器.代码参考
- JQuery插件(web设计、开发工具)收藏<持续更新>
- 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式
- Ubuntu 14.04 Web 程序开发(4)基于JQuery+Ajax+Json+Servlet实现PUT GET