<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Grid to FormPanel Drag and Drop Example</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all-debug.js"></script>
<script type="text/javascript" src="../shared/code-display.js"></script>
<link rel="stylesheet" type="text/css" href="../shared/examples.css" />
<body></body>
<script>
Ext.onReady(function(){
DraggablePanel = Ext.extend(Ext.Panel, {
draggable: {
insertProxy: true,
isTarget : false
},
height: 120
});
Ext.reg('portlet', DraggablePanel);
var viewport = new Ext.Viewport({
layout: 'column',
items: [{
columnWidth: .333,
baseCls: 'x-plain',
bodyStyle:'padding:0px',
defaults: {frame: true, style: 'margin: 10px'},
items: [
new DraggablePanel({
title: 'Portal 00',
html: 'portal 00'
}),
new DraggablePanel({
title: 'Portal 01',
html: 'portal 01'
}),
new DraggablePanel({
title: 'Portal 02',
html: 'portal 02'
}),
new DraggablePanel({
title: 'Portal 03',
html: 'portal 03'
})
]
}, {
columnWidth: .333,
baseCls: 'x-plain',
bodyStyle:'padding:0px',
defaults: {frame: true, style: 'margin: 10px'},
items: [
new DraggablePanel({
title: 'Portal 10',
html: 'portal 10'
}),
new DraggablePanel({
title: 'Portal 11',
html: 'portal 11'
}),
new DraggablePanel({
title: 'Portal 12',
html: 'portal 12'
})
]
}, {
columnWidth: .333,
baseCls: 'x-plain',
bodyStyle:'padding:0px',
defaults: {frame: true, style: 'margin: 10px'},
items: [
new DraggablePanel({
title: 'Portal 20',
html: 'portal 20'
}),
new DraggablePanel({
title: 'Portal 21',
html: 'portal 21'
}),
new DraggablePanel({
title: 'Portal 22',
html: 'portal 22'
})
]
}]
});
var overrides = {
onDragDrop: function(evtObj, targetElId) {
var p = this.panel;
var srcContainer = p.findParentByType('panel');
var destContainer = Ext.getCmp(targetElId);
var s = srcContainer.remove(p, false);
srcContainer.doLayout();
destContainer.insert(this.insertIndex, s);
p.el.dom.style.display = '';
destContainer.doLayout();
Ext.log('*********onDragDrop to '+this.insertIndex+'*********');
},
onDragOver: function(evt, targetElId){
var p = this.panel
var destContainer = Ext.getCmp(targetElId);
var destEl = destContainer.body.dom;
//Ext.log(destContainer.getEl().getHeight());
for(var i=0; i<destContainer.items.length; i++){
var child = destContainer.items.get(i);
//var xy = child.getEl().getCenterXY();
var box = child.getBox();
var halfY = box.y+box.height/2;
if(evt.getXY()[1]< halfY){
//Ext.log(evt.getXY()[1] + '<' + halfY +'insert before' + child.title + '----------' + i);
var beforeNode = child.getEl().dom;
//Ext.log(destEl.id);
this.insertIndex = i;
this.proxy.moveProxy(destEl, beforeNode);
Ext.log(p.el.dom);
this.proxy.getEl().dom.style.marginBottom = '10px';
return;
}
}
Ext.log('--------insert to last--------');
this.insertIndex = i;
this.proxy.moveProxy(destEl, null);
}
}
for(var i=0; i<viewport.items.length; i++){
var col = viewport.items.get(i);
var ddTarget = new Ext.dd.DDTarget(col.id, 'ddgroup');
for(var j=0; j<viewport.items.get(i).items.length; j++){
var p = viewport.items.get(i).items.get(j);
var dd = p.dd;
dd.addToGroup('ddgroup');
Ext.apply(dd, overrides);
}
}
});
</script>
</html>
分享到:
相关推荐
The dictionary defines a portal as a grand or imposing door or entrance; hence, that picture on the cover. In this book, you will learn why the word portal has become a major buzzword in the world of ...
【用友UAP的Portal开发】是针对企业级Web应用的一种解决方案,旨在提供一个集成了多种功能和服务的统一入口。UAP Portal是基于JSR 286规范,遵循J2EE技术体系,具备强大的系统集成和组装能力。它不仅支持产品展示...
华为外置Portal认证配置手册主要介绍了Portal认证服务器的相关配置,包括Portal的基本概念、环境要求、软件部署、网络需求、配置思路和具体的配置步骤。 首先,我们来了解一下Portal的概念。Portal在英语中是入口的...
Portal 服务器搭建 Portal 认证是指对用户上网流量(即所有穿过防火墙的流量)进行认证,以确保用户身份的安全性。Portal 认证的典型组网由三个基本要素组成:认证客户端、接入设备、Portal 认证/计费服务器。 ...
《NC65portal开发文档》是一份针对NC65平台的开发者手册,旨在为软件工程师提供详尽的指导,帮助他们理解和开发基于NC65portal的应用程序。NC65portal是一个集成了多种功能的Web应用平台,专为满足企业级业务需求而...
### H3C IMC Portal 认证操作手册关键知识点解析 #### 一、Portal认证概述 **Portal认证**,在英语中意为“入口”,在IT领域特指一种通过Web页面来验证用户身份的方式,以此实现对用户网络访问权限的控制。在采用...
标题中的“72341852_STEP7_TIA_Portal_V15_HSP_en_TIAPORTAL15_HSP_V15下载HSP_”暗示了这是一个关于西门子TIA Portal V15 Hotfix Service Package (HSP) 的资源下载链接,主要面向英文用户。描述简单明了,表明这是...
Portal认证是一种网络接入控制机制,它要求用户在访问网络资源之前,必须通过浏览器访问特定的Portal服务器并完成身份验证。这种技术常用于公共场所的Wi-Fi接入,例如酒店、机场和咖啡厅等。当iOS设备连接到支持...
### Portal系统介绍及组成 #### Portal概念解析 Portal在英文中的原意是“入口”,在IT领域特指一种网络认证模式——Portal认证,通常被称为Web认证。这种认证方式通过特定的门户网站来实现用户的身份验证。当用户...
SANGFOR AC v11.8 本地 Portal 服务器搭建与华为 Portal 控制器对接配置指导书 本文档主要讲述了 SANGFOR AC v11.8 本地 Portal 服务器的搭建和华为 Portal 控制器对接的配置指导书。该文档面向针对读者对象是 IT ...
**TIA Portal V13 授权详解** TIA Portal(全称为 Totally Integrated Automation Portal)是西门子(Siemens)推出的一款集成自动化工程软件平台,主要用于工业自动化领域的系统设计、编程、模拟和调试。V13是该...
### 中国移动WLAN业务Portal设备规范v3.0.0 关键知识点解析 #### 一、范围与适用性 **1.1 范围** 本标准旨在为中国移动WLAN业务提供Portal设备的规范,涵盖了设备在网络中的位置、功能要求、流程要求、接口要求...
"卸载 STEP 7 (TIA Portal) 软件" STEP 7 (TIA Portal) 软件是西门子公司开发的PLC编程软件,广泛应用于自动化和工业控制领域。然而,在卸载 STEP 7 (TIA Portal) 软件之前,需要备份项目、库和授权,以免数据丢失...
Portal认证是无线网络中常见的用户认证方式,它要求用户在未认证的状态下只能访问特定的门户网站,这个网站通常被称为Portal页面。当用户想要访问互联网中其他资源时,必须在这个Portal页面上进行认证,认证通过后,...
根据提供的文件信息,我们将深入探讨“TIA PORTAL 最新授权”的相关知识点。 ### TIA Portal 最新授权 #### 一、TIA Portal 概述 TIA (Totally Integrated Automation) Portal 是西门子公司推出的一款集成化工程...
1、TIA Portal Multiuser Engineering TIA允许多个用户同时工作在同一个项目上,增加协作的能力,另外还可以通过委托减少工作时间。 2、TIA Portal Teamcenter Gateway Teamcenter网关让您保存和...
OpenWRT实现Portal认证是一种网络认证方式,它涉及在OpenWRT开源路由器操作系统中配置特定软件来实现用户登录和身份验证。Portal认证通常用于无线网络环境中,使得用户在连接到无线热点时,必须通过一个登录页面输入...
下载链接包含博图V15全套软件,其中包含SIMATIC_PLCSIM_Advanced_V2、TIA_Portal_STEP_7_Pro_WINCC_Adv_V15 TIA_Portal_STEP_7_Pro_WINCC_Pro_V15 .... 下载链接包含博图V15全套软件,其中包含SIMATIC_PLCSIM_...
在IT行业中,构建用户友好的界面是至关重要的,这正是`EasyUI-Portal`组件发挥作用的地方。`EasyUI-Portal`是一个基于JavaScript和CSS的开源框架,专为创建可定制、可拖拽的布局而设计,它使得开发人员能够轻松构建...