|
楼主 |
发表于 2011-12-21 16:01:30
|
显示全部楼层
设计时组件开发
4、建立组件配置文件UI/x5demo/components/resizeTextarea/designer/resizeTextarea.xml
这里定义了组件的描述、在组件面板中显示的图标;定义了组件的属性、事件、及模板代码。完整代码如下
[PHP]
<?xml version="1.0" encoding="UTF-8"?>
<elements>
<!—-配置组件的基本信息 -->
<element name="resizeTextarea" tag-type="rich" tag-name="div" text="高度可调整的文本框"
icon="textarea.gif" namespace="xhtml" namespace-uri="http://www.w3.org/1999/xhtml"
binding-component="/UI/x5demo/components/resizeTextarea.xbl.xml#resizeTextarea"
display-property="id" component-class="resizeTextarea" component-type="formControl">
<!—-配置组件的属性 -->
<properties>
<property name="id" text="编号" required="true" />
<property name="ref" text="引用" editor-ref="dataRef" required="true"/>
</properties>
<!—-模板代码,配置写入w文件的组件代码 -->
<templates>
<template name="default"><![CDATA[
<xhtml:div xmlns:xhtml="http://www.w3.org/1999/xhtml"
component="/UI/x5demo/components/resizeTextarea.xbl.xml#resizeTextarea"/>
]]></template>
</templates>
</element>
</elements>
[/PHP]
5、建立组件设计时js文件UI/x5demo/components/resizeTextarea/designer/resizeTextarea.js
这里定义了组件在设计器中的显示效果,完整代码如下
- justep.design.resizeTextarea = function(config){
- this.regAttributes(["disabled","readonly"]);
- justep.design.resizeTextarea.superclass.constructor.call(this,config);
- }
- justep.extend(justep.design.resizeTextarea, justep.design.Component,{
- paintContent:function(xmlNode){
- this.createElement("<table id='"+this.id+"' border='1'><tr><td><textarea style='height:100px;width:200px' class='xui-textarea' readonly='true'/></td><td><button>变高</button><br><button>变矮</button></td></tr></table>",xmlNode);
- }
- });
复制代码
6、说明
本例展示了组件运行时和设计时的界面设计
本例展示了组件的属性、方法,没有涉及到组件的事件, |
|