发行公告 - Apusic OperaMasks - 版本 2.2M1 * Fixed Bug: * [AOM-132] - 在生成的网页的源文件中,存在将汉字字符转换成 中是等字符的问题 * [AOM-156] - tablayout的panel中放updater,在切换panel时出现js错误 * [AOM-172] - datefield客户端校验出错 * [AOM-173] - toolbar中的子组件,应渲染事件的代码 * [AOM-175] - 在Ajax方式下,导航规则设置为redirect方式不生效 * [AOM-176] - w:menu的image属性设置无效 * [AOM-182] - textField的autoHeight属性在IE6下设置不正确 * [AOM-185] - dataGrid使用依附于外部Panel的分页工具条的问题 * [AOM-186] - 页面在postback时,若重启应用后不刷新页面继续提交,会出现脚本错误 * [AOM-187] - treeNode的rendered属性设置无效 * [AOM-188] - treeNode的disabled属性设置无效 * [AOM-189] - simpleHtmlEditor的disabled属性设置无效 * [AOM-190] - simpleHtmlEditor的onblur/onchange/onfocus属性设置无效 * [AOM-191] - simpleHtmlEditor的disable()、enable()、hide()、show()方法不生效 * [AOM-192] - dataGrid的autoheight属性设置为true时,如果grid的各列的宽度之和超过了grid宽度的设置值,超过的部分无法显示 * [AOM-194] - w:fileUpload组件无法改变前面显示文件名的输入框的宽度 * [AOM-195] - dataGrid的height属性设置无效 * [AOM-197] - onactivate属性设置无效(OM.ajax.actionId的原因) * [AOM-198] - borderLayout的rendered属性设为false,会导致js错 * [AOM-199] - panelGrid的cellpading属性设置无效 * [AOM-200] - 当两个tabLayout嵌套时,内部的tabLayout的title属性无效 * [AOM-201] - 页面组件渲染时显示中间状态的问题 * [AOM-202] - textField设置maxLength属性后,如果校验出错,表单仍可提交并触发后台逻辑 * [AOM-203] - 在IE7下下拉菜单(包括combo的下拉列表)会被active控件遮住,设置z-index无效 * [AOM-204] - IFrame组件引入的页面的beforeRender会被执行两次 * [AOM-207] - DataGrid、EditDataGrid带有特殊字符(左尖括号)没有转义 * [AOM-209] - cardLayout的activeItem属性不生效。 * [AOM-213] - ColumnLayout放在TabLayout中显示不正确 * [AOM-216] - w:toolBar的rendered属性设为false会出现js错 * [AOM-217] - 给progressBar设置width属性即报错 * [AOM-218] - 将datePicker组件放在form中,提交form,当datePicker绑定的validator校验未通过时,浏览器报错 * [AOM-219] - forEach的step属性不起作用 * [AOM-220] - dataView设置async=false同步取数出错 * [AOM-221] - pagingLink为dataView分页时设置的start属性不生效 * [AOM-222] - timeField设置regex及maskRe属性报错 * [AOM-223] - radioGroup渲染类中在初始化value时存在问题,由此导致radioGroup多项测试案例完全无法通过 * [AOM-224] - combo设置resizable=true后浏览器执行报错 * [AOM-225] - checkmenuItem在设置了image属性后,image替代了原有的选择框,导致无法选择 * [AOM-226] - checkmenuItem的onselect属性设置无效 * [AOM-227] - commandmenuItem的immediate属性设置无效 * [AOM-228] - dataGrid和editDataGrid的hideHeaders属性设置无效 * [AOM-231] - menuBar的immediate属性设置无效 * [AOM-232] - simpleDataGrid的style属性设置无效 * [AOM-233] - 为simpleDataGrid添加的pagingLink无效 * [AOM-234] - field组件的labelStyle、hideLabel、labelSeperator设置无效 * [AOM-235] - 在linux平台下将包含aom的rcdemos war包放入tomcat的webapps目录下,rcdemos在tomcat中运行异常 * [AOM-238] - w:validateRegexp存在严重问题,现在基本不可用 * [AOM-239] - toolbar或pagingToolbar的rendered设置为false时,当绑定到dataGrid上去时仍然可以看到toolbar或pagingToolbar * [AOM-242] - rcdemos在线示例在ie6下浏览,当选中Facelets源码页签,再点击左边的树节点,发现其中的内容并不发生变化 * [AOM-249] - panel 的 onactivate事件会被注册两次,导致重复执行。 * [AOM-251] - w:iframe与ajax:updater装载页面时行为不同 * [AOM-252] - w:menu的Action中第一次取第一个w:menuItem的label有问题 * [AOM-253] - tabLayout中的panel在activate事件发生时首次无效 * [AOM-254] - w:button等组件的tooltip属性应用aom中国际化机制无效 * [AOM-255] - datagrid的datamodel类型不能为Set * [AOM-256] - textField的emptyText提交后会作为value处理 * [AOM-257] - radioboxgroup调用repaint方法有问题 * [AOM-258] - dataView调用repaint方法无效 * [AOM-264] - w:seperator在皮肤为gray时无法显示 * [AOM-265] - cell的repaint方法工作不正常。 * [AOM-266] - panelBox的repaint方法工作不正常 * [AOM-267] - toolBar的repaint方法工作不正常 * [AOM-268] - chooseSkin的repaint方法工作不正常 * [AOM-269] - dateMenu的repaint方法工作不正常 * [AOM-270] - radioMenuItem的repaint方法工作不正常 * [AOM-272] - w:form的repaint方法工作不正常。 * [AOM-274] - calcNumberField不支持msgTarget * [AOM-275] - AOM中combo的shadow属性设置无效(未发现明显效果),使用纯ext有效 * [AOM-277] - borderLayout的toolBarPosition属性工作不正常,会出js错 * [AOM-278] - dataView的header,footer无法起效 * [AOM-279] - form中有fileupload组件时提交次序修正 * [AOM-280] - layout:window的bodyBorder属性无论设置为true还是false,未发现明显区别 * [AOM-283] - form的validateOnBlur与validationEvent设置无效 * [AOM-284] - updater中有一个以上的datagrid显示不正确 * [AOM-287] - simpleHtmlEditor不支持msgTarget属性 * [AOM-288] - editdatagrid在调用rebind方法后不能编辑了 * [AOM-289] - AccordionLayout的toolBarPosition属性有js错 * [AOM-290] - AbsoluteLayout的toolBarPosition属性有js错 * [AOM-291] - tabLayout的toolBarPosition属性有js错 * [AOM-292] - cardLayout的toolBarPosition属性有js错 * [AOM-293] - tableLayout的toolBarPosition属性有js错 * [AOM-294] - columnLayout的toolBarPosition属性有js错 * [AOM-296] - dateMenu的converter属性无效 * [AOM-297] - 组件类的@Operation类方法生成的javascript顺序与服务器端调用顺序相反 * [AOM-299] - radioGroup的onchange属性只执行一次 * [AOM-300] - field的客户端验证出现js错 * [AOM-301] - dataGrid在firefox3下的显示问题 * [AOM-303] - dateField不支持msgTarget属性 * [AOM-304] - outputColumn的fixed、style、styleClass属性设置无效 * [AOM-308] - toolBar 的disabledClass属性无效 * [AOM-309] - toolBar的overClass属性无效 * [AOM-312] - datagrid 删除数据时分页顺序错误 * [AOM-313] - panelBox的style属性无效 * [AOM-314] - w:checkBoxGroup的repaint方法有问题 * [AOM-315] - radioMenuItem的styleClass属性设置之后菜单显示不正常 * [AOM-317] - EditDataGrid在选中的行之前插入记录时如果选中的是第一行,MB中无法得到选中的行 * [AOM-321] - 页面中放置多个calendar组件,页面加载完毕或点击一个button按钮发现页面即跳转至页面某个位置 * [AOM-322] - simpleHtmlEditor的高度设置无效 * [AOM-323] - w:form中若放置w:fileupload组件,点击提交按钮,按钮对应的action方法不执行 * [AOM-324] - datagrid如果放在cardlayout中后面的panel里,当翻页到该panel时,datagrid的高度有问题 * [AOM-326] - rcdemos的动态可编辑表格选择一行,点击toolBar上的按钮会出现js错误 * [AOM-327] - 在弹出窗口中放置dateField组件,在点击选择日期时会偶发性地报js空指针错误 * [AOM-329] - 当tree的ajaxAction触发时,tree的autoLeaf属性不生效 * [AOM-330] - tree组件取数可能导致其他组件状态丢失的问题 * Improvement * DataGrid没有数据时也能正常显示 * 生成组件类时不把xxx__super类方法定义为public,此类方法不再出现在代码提示中 * editDatagrid支持一次添加多条记录 * w:calcNumberField组件下拉菜单中文化 * New Feature * Tree组件加入可返回层叠选中节点的方法。 * 增加w:dateTimeField组件,可在下拉列表中同时选定日期和时间。 * Button增加allowReEnter属性,可保证下一个请求在上一个请求执行完后才开始。 * Tree组件增加autoLeaf属性,可设置不自动读入下一层节点。 * w:head标签增加cache属性,可设置禁止浏览器缓存本页。 * w:outputColumn新增editorSelector属性,用来动态地设置该cell进入编辑状态使用哪种editor来进行编辑。 * w:outputColumn新增requireEscape属性,用来设置是否需要系统自动对特殊字符(尖括号等)进行转义。 发行公告 - Apusic OperaMasks - 版本 2.0.1 修复了jira上16个bug,优化了性能。 ** Fixed Bug * 修复了DataGrid中的表头菜单的"显示/隐藏列"子菜单在列过多(高度超过一屏)时部分项无法显示的bug; * 修复了在IE6下在客户端拖动调整DataGrid列宽度时,宽度小于单元格内容宽度导致内容与标题栏不对齐的bug; * 修复了DateView放在页面,用ajax:updater引入页面后dataView不显示的bug; * 修复了pagingLink从客户端获得分页组件store造成foreach无法分页的bug; * 修复了pagingLink组件for属性指定dataGrid分页无效的bug; * 修复了树的根节点checkbox不出来的bug; * 修复了单个panel存在时,updater无法100%的bug; * 修复了IE下form组件超出panel的高度时,显示错误的bug; * 修复了没有设置高度的时候,也出现滚动条的bug; * 修复了使用PanelGrid布局,设置layout:cell组件的rowspan属性产生布局错误的bug; * 修复了Field系列组件的converter不生效的bug; * 修复了输入框的值没有转义的bug; * 修复了combo直接加上selectItem抛错的bug; * 修复了combo组件在内容宽度超过组件宽度时无法显示完整信息的bug,添加showItemTooltip和showTooltip属性,删除tpl属性; * 修复了Field系列组件的converter不生效的bug; * 修复了toolbar、pagingToolbar、menu的已知bug; * 修复了IE6下Combo在工具条中时文本框与下拉按钮不对齐的问题 ** New Feature * 优化性能,组件类采用静态代理实现,不使用原有的cglib代理方式,优先采用生成代码的静态代理方式实现组件结构。 但仍支持原有的cglib方式,如果一个组件类具有@ComponentMeta标签,并且没有采用静态方式生成Component(Interceptor)构造方法时,仍然采用cglib代理方式。 * 添加工具类Browser,公共API,使得可以在服务端发起调用某些需要在客户端执行的功能; * 重写了toolBar与pagingToolbar的渲染逻辑,添加target属性用于指定工具条依附的容器,允许工具条依附于panel或dataGrid上。 * 让iframe的src属性能够支持自动转换后缀名; * 加入使用304 not modified策略进行global资源客户端缓存; * 增加TabLayout两个API: setActiveTab、addTab; * 给window组件增加show属性,可以让用户定义页面第一次加载时是否弹出对话框; * 增加org.operamasks.faces.ESCAPE_TEXT参数,在web.xml中,其含义为“是否对出现在页面中的文字进行ISO_8859-1转义”,默认为true; * 修改除panel之外所有layout组件default样式设置方式,默认不给其设置任何样式,如果要将其充满父容器,须设置fit=true; * 为EditDataGrid增加appendRow方法,简化操作,新增getClientRows方法,获取客户端当前的行数,DataGrid增加showRowNumber属性; * rcdemos中增加“网络硬盘”示例; ** Known Problem * tabLayout组件标签切换时样式不生效的bug; * 当PagingToolbar的for属性指向一个DataView时,不能通过target属性指定依附于Panel或DataGrid,否则会引起一个客户端脚本错误。 发行公告 - Apusic OperaMasks - 版本 2.0 ** Fixed Bug * 修正了xhtml文件名或路径中包含faces关键字时,解析出错的bug * 删除了重复的组件 * 将Sensitive和SensitiveProperties标注抽离出来独立定义。避免生成TLD时的问题 * 修正在Tomcat下取数发生的NoClassDefError,其原因是由于产品包中不包含JSP的API,而JSF的API会引用到JSP的API,tomcat默认先加载lib目录下的类,导致发生错误。 * 修复在Weblogic10下,应用启动时由于jar包的协议是zip而不是jar,导致没有扫描jar包下的类而导致很多元信息没有加载到的问题。 * 调整在dataGrid设置了binding的情况下,ajaxaction在页面刷新后不生效的问题 * 修正静态定义表格时combo的selectItem无法生效的问题 * 修正panel在IE下宽度和高度设置为100%会超过限制的bug * 解决tree双击一个节点,同时发送请求,后台两个线程互相干扰的问题 * 修复tree在updater下取数据丢失的问题 * 修正dataTime在format小时字符串映射错误 * 修复了rcdemos示例中 对话框-> 数据编辑 第二次双击无法显示编辑框,编辑框内的textField无法显示光标的bug ** New Feature * 重构了dataGrid和editDataGrid组件,增加动态绑定支持,使DataGrid能够在AjaxUpdater中工作,增加EditDataGrid的功能,为grid增加排序事件支持 * 重构calcNumberField组件 * 修改form的messageTarget属性为msgTarget,和所有的ext form组件一致 * 加入ValueExpressionRowDataProvider作为默认的GridRowDataProvider实现 * tree组件中增加判断是否是根节点的API,增加add API,让树可以动态增加节点 * 给updater增加frame属性,可以选择是否render成iframe,默认是false * 更新rcdemos示例中的grid,使其使用新的grid ** Known Problem * Foreach组件里面如果包含el表达式,那个表达式内容无法使用Foreach的var变量 * rcdemos示例中Menu示例中颜色选择时显示为null Selected 发行公告 - Apusic OperaMasks - 版本 2.0M3 ** Fixed Bug * 修正Max OS皮肤下tab显示问题 * 修正验证错误时,form表单无法出现波浪线的bug * 修正验证信息重复显示的bug * 修正ajax方式下checkbox不能更新状态的bug * 修正不放任何aom的widget,会导致缺失css而使网页风格不一致的情况 * 修正dataGrid的ondblclick事件响应两次的bug * 修正menu和toolbar显示问题,还有点击菜单项后会导致页面导航错误的bug * 修正updater中创建一些内部javascript对象(例如clientValidate)顺序有误导致javascript空指针异常 * 修正drawImage只要一提交就重新刷新的问题 * 修正ajaxscripter缓存在session中导致重复执行的问题 * 修正了在page嵌套page时(包括在updater中),在内部page设置了loadMask属性所引起的客户端javascript错误 * 修正服务器端(java)日期格式字符串到客户端(ext2)日期格式字符串的转换错误。并加入对转义字符的支持 ** New Feature * 增加form组件的enableExtValidateErrorMsg属性,可以让用户选择验证错误时是否出现红色波浪线 * 所有的布局组件默认充满外面的容器 * datagrid默认充满外面的容器 * 给form增加了groupId属性,允许让同一个groupId的form一起提交 * 完善验证功能,可以通过标注的方式同时开启服务端和客户端验证,不需要写javascript * 支持Ext2.0中验证出错的几种表现方式 * 对ManagedBean循环引用的异常信息做国际化处理 * 默认情况下implicitNavigation=true,以简化web.xml中的配置 * 更改view mapping策略,当在operamasks.xml中明确定义了viewId和bean的映射时,不再加入通配符匹配到的Bean。 * 增强radioGroup的功能,增加onchange事件,能够支持列数定义 * 增强checkboxGroup的功能,增加oncheck事件,能够支持列数定义 * 增加Iframe组件,是一个与客户端iframe对应的组件,支持动态修改src,支持服务端绝对路径 * 重构了树组件,允许通过TreeDataProvider接口来定义树的数据,允许动态删刷新树节点等 * 给对话框加入onclose事件 * 给Panel组件增加onactivate事件,在tabLayout中可以通过这个事件监视标签页的切换 * EditDataGrid在insertRow时候允许预填数据,预填数据可以是bean,也可以是map,根据columnId获取值;对外公布getTransData方法,取得原始数据 * 添加tabLayout的右键菜单,提供标签的常用操作 ** Known Problem * Foreach组件里面如果包含el表达式,那个表达式内容无法使用Foreach的var变量 * rcdemos示例中 对话框-> 数据编辑 第二次双击无法显示编辑框,编辑框内的textField无法显示光标 * Menu示例中颜色选择时显示为null Selected * DataGrid示例中的Server Action的Next、Previous按钮无效 发行公告 - Apusic OperaMasks - 版本 2.0M2 ** Fixed Bug * Button的width属性不起作用 * 修正web.xml里面加载多个faces配置文件时,如果路径包含空格会引发异常的bug * 修正panelBox设置style的height属性时不起效的bug * 修正UIData组件在updater中不能正常运行的问题 * 修正borderLayout中,如果没有设置宽度或者高度,布局会混乱的问题 * 修正第一次调用组件API的时候,jsvar为null的情况 * 修正layout嵌套updater,updater又嵌套布局会发生脚本错误的bug * 修正panel组件单独存在时的脚本错误 ** New Feature * 增加ComponentAttributes标注,可以将模型对象属性批量绑定到视图组件上 * 增加PhaseListener标注,可以方便的对生命周期进行监控 * 补充layout组件的所有jsp tag类,tld文件 * 重构form系列组件,并增加checkbox,checkboxGroup,radioGroup,timeField组件,并提供了统一的API,事件响应 * 把form系列组件的示例加到rcdemos * 增强APT工具的功能,自定义组件编写更加方便 * 完善无状态实现,当transfient=true时,打了