/*
* Ext JS Library 2.0 Beta 1
* Copyright(c) 2006-2007, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
Ext.DomHelper = function(){
var tempTableEl = null;
var emptyTags = /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;
var tableRe = /^table|tbody|tr|td$/i;
var createHtml = function(o){
if(typeof o == 'string'){
return o;
}
var b = "";
if(!o.tag){
o.tag = "div";
}
b += "<" + o.tag;
for(var attr in o){
if(attr == "tag" || attr == "children" || attr == "cn" || attr == "html" || typeof o[attr] == "function") continue;
if(attr == "style"){
var s = o["style"];
if(typeof s == "function"){
s = s.call();
}
if(typeof s == "string"){
b += ' style="' + s + '"';
}else if(typeof s == "object"){
b += ' style="';
for(var key in s){
if(typeof s[key] != "function"){
b += key + ":" + s[key] + ";";
}
}
b += '"';
}
}else{
if(attr == "cls"){
b += ' class="' + o["cls"] + '"';
}else if(attr == "htmlFor"){
b += ' for="' + o["htmlFor"] + '"';
}else{
b += " " + attr + '="' + o[attr] + '"';
}
}
}
if(emptyTags.test(o.tag)){
b += "/>";
}else{
b += ">";
var cn = o.children || o.cn;
if(cn){
if(cn instanceof Array){
for(var i = 0, len = cn.length; i < len; i++) {
b += createHtml(cn[i], b);
}
}else{
b += createHtml(cn, b);
}
}
if(o.html){
b += o.html;
}
b += "</" + o.tag + ">";
}
return b;
};
var createDom = function(o, parentNode){
var el = document.createElement(o.tag||'div');
var useSet = el.setAttribute ? true : false;
for(var attr in o){
if(attr == "tag" || attr == "children" || attr == "cn" || attr == "html" || attr == "style" || typeof o[attr] == "function") continue;
if(attr=="cls"){
el.className = o["cls"];
}else{
if(useSet) el.setAttribute(attr, o[attr]);
else el[attr] = o[attr];
}
}
Ext.DomHelper.applyStyles(el, o.style);
var cn = o.children || o.cn;
if(cn){
if(cn instanceof Array){
for(var i = 0, len = cn.length; i < len; i++) {
createDom(cn[i], el);
}
}else{
createDom(cn, el);
}
}
if(o.html){
el.innerHTML = o.html;
}
if(parentNode){
parentNode.appendChild(el);
}
return el;
};
var ieTable = function(depth, s, h, e){
tempTableEl.innerHTML = [s, h, e].join('');
var i = -1, el = tempTableEl;
while(++i < depth){
el = el.firstChild;
}
return el;
};
var ts = '<table>',
te = '</table>',
tbs = ts+'<tbody>',
tbe = '</tbody>'+te,
trs = tbs + '<tr>',
tre = '</tr>'+tbe;
var insertIntoTable = function(tag, where, el, html){
if(!tempTableEl){
tempTableEl = document.createElement('div');
}
var node;
var before = null;
if(tag == 'td'){
if(where == 'afterbegin' || where == 'beforeend'){
return;
}
if(where == 'beforebegin'){
before = el;
el = el.parentNode;
} else{
before = el.nextSibling;
el = el.parentNode;
}
node = ieTable(4, trs, html, tre);
}
else if(tag == 'tr'){
if(where == 'beforebegin'){
before = el;
el = el.parentNode;
node = ieTable(3, tbs, html, tbe);
} else if(where == 'afterend'){
before = el.nextSibling;
el = el.parentNode;
node = ieTable(3, tbs, html, tbe);
} else{
if(where == 'afterbegin'){
before = el.firstChild;
}
node = ieTable(4, trs, html, tre);
}
} else if(tag == 'tbody'){
if(where == 'beforebegin'){
before = el;
el = el.parentNode;
node = ieTable(2, ts, html, te);
} else if(where == 'afterend'){
before = el.nextSibling;
el = el.parentNode;
node = ieTable(2, ts, html, te);
} else{
if(where == 'afterbegin'){
before = el.firstChild;
}
node = ieTable(3, tbs, html, tbe);
}
} else{
if(where == 'beforebegin' || where == 'afterend'){
return;
}
if(where == 'afterbegin'){
before = el.firstChild;
}
node = ieTable(2, ts, html, te);
}
el.insertBefore(node, before);
return node;
};
return {
useDom : false,
markup : function(o){
return createHtml(o);
},
applyStyles : function(el, styles){
if(styles){
el = Ext.fly(el);
if(typeof styles == "string"){
var re = /\s?([a-z\-]*)\:\s?([^;]*);?/gi;
var matches;
while ((matches = re.exec(styles)) != null){
el.setStyle(matches[1], matches[2]);
}
}else if (typeof styles == "object"){
for (var style in styles){
el.setStyle(style, styles[style]);
}
}else if (typeof styles == "function"){
Ext.DomHelper.applyStyles(el, styles.call());
}
}
},
insertHtml : function(where, el, html){
where = where.toLowerCase();
if(el.insertAdjacentHTML){
if(tableRe.test(el.tagName)){
var rs;
if(rs = insertIntoTable(el.tagName.toLowerCase(), where, el, html)){
return rs;
}
}
switch(where){
case "beforebegin":
el.insertAdjacentHTML('BeforeBegin', html);
return el.previousSibling;
case "afterbegin":
el.insertAdjacentHTML('AfterBegin', html);
return el.firstChild;
case "beforeend":
el.insertAdjacentHTML('BeforeEnd', html);
return el.lastChild;
case "afterend":
el.insertAdjacentHTML('AfterEnd', html);
return el.nextSibling;
}
throw 'Illegal insertion point -> "' + where + '"';
}
var range = el.ownerDocument.createRange();
var frag;
switch(where){
case "beforebegin":
range.setStartBefore(el);
frag = range.createContextualFragment(html);
el.parentNode.insertBefore(frag, el);
没有合适的资源?快使用搜索试试~ 我知道了~
ext2 ide builder
共1812个文件
png:1018个
js:483个
gif:262个
需积分: 6 38 下载量 22 浏览量
2008-12-19
17:15:40
上传
评论
收藏 2.44MB RAR 举报
温馨提示
ext2.0的ide生成器: ext2.0生成器可以在本地生成ext2.0的源代码,并可以在本地编辑! 在先中文版可以到 http://www.dojochina.com/down/aspserver/client/page/tool/formbuilder/index.html 体验
资源推荐
资源详情
资源评论
收起资源包目录
ext2 ide builder (1812个子文件)
ext-all.css 73KB
grid.css 12KB
xtheme-gray.css 9KB
form.css 9KB
panel.css 8KB
tabs.css 7KB
grid.css 7KB
basic-dialog.css 6KB
core.css 6KB
tree.css 6KB
date-picker.css 5KB
layout.css 5KB
toolbar.css 5KB
window.css 4KB
resizable.css 4KB
button.css 3KB
qtips.css 3KB
menu.css 3KB
box.css 3KB
main.css 2KB
editor.css 2KB
dialog.css 2KB
dd.css 2KB
combo.css 1KB
borders.css 1KB
progress.css 946B
debug.css 869B
reset.css 478B
reset-min.css 478B
Thumbs.db 33KB
dlg-bg.gif 27KB
tip-sprite.gif 4KB
error-tip-corners.gif 4KB
tip-sprite.gif 4KB
tip-sprite.gif 4KB
tool-sprites.gif 4KB
tool-sprites.gif 4KB
blue-loading.gif 3KB
large-loading.gif 3KB
tab-sprite.gif 3KB
tools-sprites-trans.gif 3KB
tools-sprites-trans.gif 3KB
search-trigger.gif 2KB
tabs-sprite.gif 2KB
tabs-sprite.gif 2KB
tb-sprite.gif 2KB
clear-trigger.gif 2KB
trigger.gif 2KB
icon-error.gif 2KB
icon-error.gif 2KB
tab-btm-inactive-right-bg.gif 2KB
tab-btm-right-bg.gif 2KB
icon-question.gif 2KB
icon-question.gif 2KB
date-trigger.gif 2KB
icon-info.gif 2KB
icon-info.gif 2KB
e-handle.gif 2KB
e-handle.gif 2KB
trigger-tpl.gif 1KB
icon-warning.gif 1KB
icon-warning.gif 1KB
gradient-bg.gif 1KB
gradient-bg.gif 1KB
gradient-bg.gif 1KB
gradient-bg.gif 1KB
corners-sprite.gif 1KB
corners-sprite.gif 1KB
tab-btm-right-bg.gif 1KB
tab-btm-right-bg.gif 1KB
tab-btm-inactive-right-bg.gif 1KB
tab-btm-inactive-right-bg.gif 1KB
white-corners-sprite.gif 1KB
white-corners-sprite.gif 1KB
btn-sprite.gif 1KB
s-handle.gif 1KB
s-handle.gif 1KB
scroll-right.gif 1KB
scroll-left.gif 1KB
scroll-right.gif 1KB
scroll-left.gif 1KB
grid3-hd-btn.gif 1KB
btn-sprite.gif 1KB
gradient-bg.gif 1KB
tb-btn-sprite.gif 1KB
tb-btn-sprite.gif 1KB
wait.gif 1KB
scroller-bg.gif 1KB
hd-sprite.gif 1KB
bg.gif 1KB
scroller-bg.gif 1KB
row-check-sprite.gif 1KB
e-handle-dark.gif 1KB
e-handle-dark.gif 1KB
s-handle-dark.gif 1KB
s-handle-dark.gif 1KB
bg-left.gif 1KB
bg-right.gif 1KB
pick-button.gif 1KB
bg.gif 1024B
共 1812 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
资源评论
qking93415981
- 粉丝: 15
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功