OperaMasks UI V1.1 正式版发布了。
下载地址:http://ui.operamasks.org/website/download.html
示例页面:
此 版本对比之前的v1.0作了较多的改进,把一些核心文件进行了合并,重写了部分组件结构,使其为统一的widget模式,添加了新的组件和插件,如 omItemSelector,omPanel 和omBorderLayout。在内部结构上也进行了很多统一,如统一的处理事件机制等。另外也修复了一些重要的bug。
新特性
1. 添加了五个新的组件:
- omItemSelector: 一个左移右移组件
- omPanel: 面版是一个布局组件,同时也是一个展示内容的容器
- omBorderLayout: 页面布局基础组件,把页面拆分为north,south,west,center,east(上、下、左、中、右)5个区域,除了center是必须设置的之外其他的都是可选的
- omProgressbar: 进度条组件,一般用来呈现任务完成的进度情况。
- omTooltip: 提示组件,当某个链接、表单、输入框等需要做功能向导提示的时候可以使用本组件。
- omGridSort: 一个grid的排序插件,可让grid支持客户端排序和服务端排序,单独使用omGrid时,要额外导入om-grid-sort.js和om-grid-sort.css这两个文件
- omGridRowExpander: 一个grid的行展开详情插件,可定制grid每一行的详情信息,并随意展开与收缩,单独使用omGrid时,要额外导入om-grid-rowexpander.js和om-grid-rowexpander.css这两个文件
改进
- 统一所有组件基于widget模式开发,使组件更具一致性。
- 把单个组件中用到的图片进行合并。
- 内部统一了事件的触发机制,统一触发事件时event作为最后一个参数进行传递,统一事件触发函数中的this为jquery对象。
- 内部添加对组件销毁的监控,避免用户自行调用组件的remove方法删除组件时造成内存泄漏。
- 优化了组件的重新初始化,v1.0版本组件重新初始化(如第二次调用 $("#acc").omAccordion({/**some config**/}))不太完善,很多属性重新初 始化后并不会生效,本版本进行了较大的改进。
- 改进了组件的国际化,从每一个国际化组件占用jQuery一个名称空间改为所有国际化组件共用$.om.lang这个单独的名称空间,减少名称空间污染,并把国际化处理逻辑 移至om-core.js。
- 修改了omMenu和omButton的样式。
升级说明(从v1.0 到 v1.1)
本版本的升级非常简单,只有几个要点需要注意:
- 在组件的事件监听器中,event参数统一改为最后一个参数,所以监听器有event参数的要重新更改一下参数顺序(如omFileUpload组件事件监听器)
- 事件监听器中的this现在统一改为jquery对象,之前可能表示dom节点,也可能表示jquery对象,还可能是组件实例
- 凡是以前使用到类似jquery.ui.mouse.js,jquery.ui.position.js这样的功能性文件时,记得现在要换为以om前缀开头的, 比如,以前你导入了jquery.ui.mouse.js,现在要改为om-mouse.js
文件变更
- 把jquery.ui.widget.js和jquery.ui.core.js 进行了合并,改名为 om-core.js,并修改了部分代码。
- 把jquery.ui.mouse.js,jquery.ui.position.js等功能性文件名全部改为以om为前缀,如jquery.ui.mouse.js改为om-mouse.js
重要bug修复
- [AOM-328] - omTree的refresh方法不能刷新到最新数据
- [AOM-434] - validator 插件校验成功后没有将错误信息标签隐藏
- [AOM-435] - css合并时出现问题,导致grid样式出现错误
- [AOM-438] - omMenu当菜单项文字过长时样式混乱
- [AOM-441] - numberfield在chrome中文输入法下有问题
- [AOM-442] - om-tabs在添加很多个页签后,当页签头的宽度超过5000px的时候出现换行。
- [AOM-444] - omGrid在IE6下内容过长时表头表体对不齐
- [AOM-448] - 如果右键菜单具有子菜单,会导致横向滚动条出现
- [AOM-451] - om-numberfiled基本用法时,输入: 0000、000000.3、.3、-00000这类数据时并不会自行修正
- [AOM-456] - omTab关闭页签之后下一步总是打开第一个页签
- [AOM-458] - omTree监听omDrag事件报错
- [AOM-461] - 全局事件绑定方式可能引发内存泄漏
- [AOM-463] - 当单独引入om组件(不包括jquery开头的文件), 另外引入jquery UI组件库时页面报错:"Cannot read property 'prototype' of undefined" [AOM-484] - menu键盘操作向上有问题
引用来自“双书幻”的评论
引用来自“soonlive”的评论
把jquery.ui.mouse.js,jquery.ui.position.js等功能性文件名全部改为以om为前缀,如jquery.ui.mouse.js改为om-mouse.js
把别人的东西改个名字,就变成自己的东西,感觉很不厚道
引用来自“soonlive”的评论
把jquery.ui.mouse.js,jquery.ui.position.js等功能性文件名全部改为以om为前缀,如jquery.ui.mouse.js改为om-mouse.js
把别人的东西改个名字,就变成自己的东西,感觉很不厚道
引用来自“soonlive”的评论
把jquery.ui.mouse.js,jquery.ui.position.js等功能性文件名全部改为以om为前缀,如jquery.ui.mouse.js改为om-mouse.js
把别人的东西改个名字,就变成自己的东西,感觉很不厚道
把别人的东西改个名字,就变成自己的东西,感觉很不厚道