|
@@ -6,21 +6,21 @@ Namespace.register("U.UF.UI") //窗体的命名空间
|
|
|
//#region 窗体
|
|
|
|
|
|
/** 初始化uform窗体,创建一个窗体,调用方式如下
|
|
|
-* new new U.UF.UI.form(
|
|
|
-* "测试内容",
|
|
|
-* "中间内容",
|
|
|
-* { "style": { "width": "570px", "height": "80%", "maxHeight": "700px"} },
|
|
|
-* );
|
|
|
-* @param string 头部标题 必填
|
|
|
-* @param string|element 中间区域的内容 必填
|
|
|
-* @param object 窗体的属性 {id :"1", style:{"width":"100px", "height":"100px"}} 选填 有默认的属性,原函数有注释
|
|
|
-* @param object 窗体功能的属性 { istop: true, isdrag: true, isstretching:true,isenlarge:true,isnarrow:true,isclose:true } 选填
|
|
|
-* @param object 头部的属性 {style:{"width":"100px"}} 选填 有默认的属性,原函数有注释
|
|
|
-* @param object 内容的属性 { style:{"height":"100px"}} 选填 有默认属性,原函数有注释
|
|
|
-* @param object 关闭、放大、缩小按钮区域的属性设置 { "style":{"left":"100px"}} 选填,有默认属性,原函数有注释
|
|
|
-* @param element 窗体追加到制定的元素 选填 有默认的属性,原函数有注释
|
|
|
-*/
|
|
|
-U.UF.UI.form = function (title, content, formattr, formfun, headattr, contentattr, headbottomattr, parentel) {
|
|
|
+ * new new U.UF.UI.form(
|
|
|
+ * "测试内容",
|
|
|
+ * "中间内容",
|
|
|
+ * { "style": { "width": "570px", "height": "80%", "maxHeight": "700px"} },
|
|
|
+ * );
|
|
|
+ * @param string 头部标题 必填
|
|
|
+ * @param string|element 中间区域的内容 必填
|
|
|
+ * @param object 窗体的属性 {id :"1", style:{"width":"100px", "height":"100px"}} 选填 有默认的属性,原函数有注释
|
|
|
+ * @param object 窗体功能的属性 { istop: true, isdrag: true, isstretching:true,isenlarge:true,isnarrow:true,isclose:true } 选填
|
|
|
+ * @param object 头部的属性 {style:{"width":"100px"}} 选填 有默认的属性,原函数有注释
|
|
|
+ * @param object 内容的属性 { style:{"height":"100px"}} 选填 有默认属性,原函数有注释
|
|
|
+ * @param object 关闭、放大、缩小按钮区域的属性设置 { "style":{"left":"100px"}} 选填,有默认属性,原函数有注释
|
|
|
+ * @param element 窗体追加到制定的元素 选填 有默认的属性,原函数有注释
|
|
|
+ */
|
|
|
+U.UF.UI.form = function(title, content, formattr, formfun, headattr, contentattr, headbottomattr, parentel) {
|
|
|
var _this = this;
|
|
|
//所有的窗体中找到是否已经创建的窗体
|
|
|
if (formattr && U.UF.UI.form.allForm[formattr.id]) {
|
|
@@ -48,7 +48,7 @@ U.UF.UI.form = function (title, content, formattr, formfun, headattr, contentatt
|
|
|
formfun = {}; //初始化一个功能处理类
|
|
|
}
|
|
|
_this.istop = null;
|
|
|
- if (formfun.istop != null) {//是否允许一直置顶
|
|
|
+ if (formfun.istop != null) { //是否允许一直置顶
|
|
|
_this.istop = formfun.istop;
|
|
|
}
|
|
|
|
|
@@ -57,7 +57,7 @@ U.UF.UI.form = function (title, content, formattr, formfun, headattr, contentatt
|
|
|
_this.isdrag = formfun.isdrag; //是否允许拖动
|
|
|
}
|
|
|
_this.isstretching = true;
|
|
|
- if (formfun.isstretching != null) {//是否拉伸
|
|
|
+ if (formfun.isstretching != null) { //是否拉伸
|
|
|
_this.isstretching = formfun.isstretching;
|
|
|
}
|
|
|
|
|
@@ -67,13 +67,13 @@ U.UF.UI.form = function (title, content, formattr, formfun, headattr, contentatt
|
|
|
}
|
|
|
|
|
|
_this.isnarrow = true;
|
|
|
- if (formfun.isnarrow != null) {//是否允许缩小
|
|
|
+ if (formfun.isnarrow != null) { //是否允许缩小
|
|
|
_this.isnarrow = formfun.isnarrow; //是否允许缩小
|
|
|
}
|
|
|
|
|
|
_this.isclose = true;
|
|
|
_this.closecallback = formfun.closecallback; //关闭回调
|
|
|
- if (formfun.isclose != null) {//是否允许关闭
|
|
|
+ if (formfun.isclose != null) { //是否允许关闭
|
|
|
_this.isclose = formfun.isclose; //是否允许关闭
|
|
|
}
|
|
|
|
|
@@ -88,8 +88,8 @@ U.UF.UI.form.allForm = {};
|
|
|
//窗体的方法
|
|
|
U.UF.UI.form.prototype = {
|
|
|
/** 初始化uform窗体
|
|
|
- */
|
|
|
- create: function () {
|
|
|
+ */
|
|
|
+ create: function() {
|
|
|
var i, //用于循环
|
|
|
_resizefun,
|
|
|
_formel, //窗体元素
|
|
@@ -110,13 +110,12 @@ U.UF.UI.form.prototype = {
|
|
|
if (_formattr.style) {
|
|
|
_formattr.style.cssText = _formattr.style.cssText || "";
|
|
|
_formattr.style.cssText = "width: 70%; position: fixed; border: 1px solid #444; background-color: #fff; z-index: 10; border-radius: 1px; overflow: hidden; -moz-box-shadow:0 0 30px 5px #555; -webkit-box-shadow:0 0 30px 5px #555; box-shadow:0 0 30px 5px #555; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius:5px;" + _formattr.style.cssText;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
_formattr.style = {
|
|
|
cssText: "width: 70%; position: fixed; border: 1px solid #444; background-color: #fff; z-index: 10; border-radius: 1px; overflow: hidden; -moz-box-shadow:0 0 30px 5px #555; -webkit-box-shadow:0 0 30px 5px #555; box-shadow:0 0 30px 5px #555; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius:5px;"
|
|
|
};
|
|
|
}
|
|
|
- _formattr.close = U.UF.C.apply(this, function () { //关闭窗体;
|
|
|
+ _formattr.close = U.UF.C.apply(this, function() { //关闭窗体;
|
|
|
U.UF.F.closeWindow(this.form); //关闭窗体
|
|
|
});
|
|
|
_formattr.usform = "true"; //设置窗体的属性,作为窗体的识别,有助于调用的用户通过js找到所有的窗体
|
|
@@ -125,13 +124,13 @@ U.UF.UI.form.prototype = {
|
|
|
if (_formattr.onresize) {
|
|
|
_resizefun = _formattr.onresize;
|
|
|
_mousedown = _formattr.onmousedown;
|
|
|
- _formattr.onresize = U.UF.C.apply(this, function () { //当窗体大小发生变化的处理
|
|
|
+ _formattr.onresize = U.UF.C.apply(this, function() { //当窗体大小发生变化的处理
|
|
|
this.size(); //大小变化处理
|
|
|
if (_resizefun) {
|
|
|
_resizefun(); //大小变化回调
|
|
|
}
|
|
|
});
|
|
|
- _formattr.onmousedown = U.UF.C.apply(this, function () {
|
|
|
+ _formattr.onmousedown = U.UF.C.apply(this, function() {
|
|
|
//窗体点击置顶的处理
|
|
|
if (this.istop !== false) {
|
|
|
this.top(); //大小变化处理
|
|
@@ -140,9 +139,8 @@ U.UF.UI.form.prototype = {
|
|
|
_mousedown(); //大小变化回调
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
- else if (_formattr.onresize !== false) {
|
|
|
- _formattr.onresize = U.UF.C.apply(this, function () { //当窗体大小发生变化的处理
|
|
|
+ } else if (_formattr.onresize !== false) {
|
|
|
+ _formattr.onresize = U.UF.C.apply(this, function() { //当窗体大小发生变化的处理
|
|
|
this.size(); //大小变化处理
|
|
|
});
|
|
|
}
|
|
@@ -152,8 +150,7 @@ U.UF.UI.form.prototype = {
|
|
|
if (this.istop === true) {
|
|
|
_formel.style.zIndex = "9999";
|
|
|
_formel["__top__"] = "false"; //设置不允许点击切换置顶
|
|
|
- }
|
|
|
- else if (this.istop === false) {
|
|
|
+ } else if (this.istop === false) {
|
|
|
_formel["__top__"] = "false"; //设置不允许点击切换置顶
|
|
|
}
|
|
|
this.form = _formel; //窗体全局变量设置
|
|
@@ -163,15 +160,14 @@ U.UF.UI.form.prototype = {
|
|
|
if (_headattr.style) {
|
|
|
_headattr.style.cssText = _headattr.style.cssText || "";
|
|
|
_headattr.style.cssText = "text-indent: 10px; color: White; line-height: inherit; font-size: 14px; height: 30px; line-height: 30px; background-color: #2967A7; overflow: hidden; color: White; font-size: 14px; overflow: hidden; " + _headattr.style.cssText;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
_headattr.style = {
|
|
|
cssText: "text-indent: 10px; color: White; line-height: inherit; font-size: 14px; height: 30px; line-height: 30px; background-color: #2967A7; overflow: hidden; color: White; font-size: 14px; overflow: hidden; "
|
|
|
}
|
|
|
}
|
|
|
//设置头部有拖拽事件
|
|
|
if (this.isdrag) { //判断是否允许拖动窗体
|
|
|
- _headattr.onmousedown = function () {
|
|
|
+ _headattr.onmousedown = function() {
|
|
|
U.UF.F.drag(_formel); //拖动事件调用
|
|
|
};
|
|
|
}
|
|
@@ -188,7 +184,7 @@ U.UF.UI.form.prototype = {
|
|
|
this.header = _headel; //设置中间的全局变量
|
|
|
}
|
|
|
//创建中间
|
|
|
- _contentel = $$("div", { "style": { "cssText": "width: 100%; height:100%; position: relative;"} }, _formel);
|
|
|
+ _contentel = $$("div", { "style": { "cssText": "width: 100%; height:100%; position: relative;" } }, _formel);
|
|
|
//中间的内容
|
|
|
_contentattr.usbody = "true";
|
|
|
//窗体头部属性统一设置
|
|
@@ -196,8 +192,7 @@ U.UF.UI.form.prototype = {
|
|
|
_contentattr.style.cssText = _contentattr.style.cssText || "";
|
|
|
//_contentattr.style.cssText = "text-align: left; overflow: auto;" + _contentattr.style.cssText;
|
|
|
_contentattr.style.cssText = "text-align: left; overflow: hidden;" + _contentattr.style.cssText;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
_contentattr.style = {
|
|
|
cssText: "text-align: left; overflow: auto;"
|
|
|
};
|
|
@@ -215,32 +210,32 @@ U.UF.UI.form.prototype = {
|
|
|
this.middle = _contentchildel; //中间的内容
|
|
|
//在头部不存在的情况下,设置中间内容可以拖动
|
|
|
if (this.title === false && this.isdrag) {
|
|
|
- _contentel.onmousedown = function () {
|
|
|
+ _contentel.onmousedown = function() {
|
|
|
U.UF.F.drag(_formel); //拖动事件调用
|
|
|
};
|
|
|
}
|
|
|
//设置拉伸处理
|
|
|
if (this.isstretching !== false) {
|
|
|
//创建窗体拉伸
|
|
|
- _stretchingel = $$("div", { style: { "cssText": "display: block;"} }, _formel);
|
|
|
+ _stretchingel = $$("div", { style: { "cssText": "display: block;" } }, _formel);
|
|
|
//拉伸的信息 key代表样式的结尾,value代表拉伸的方向
|
|
|
_stretchinginfo = {
|
|
|
- "top": "cursor: n-resize; left: 0px; top: 0px; width: 100%; height: 5px;",
|
|
|
- "rightTop": "cursor: ne-resize; right: -2px; top: -2px; width: 12px; height: 12px;",
|
|
|
- "leftTop": "cursor: nw-resize; top: 0px; left: 0px; width: 12px; height: 12px;",
|
|
|
- "left": "cursor: w-resize; left: 0px; top: 0px; width: 5px; height: 100%;",
|
|
|
- "right": "cursor: e-resize; right: 0px; top: 0px; width: 5px; height: 100%;",
|
|
|
- "bottom": "cursor: s-resize; left: 0px; bottom: 0px; width: 100%; height: 5px;",
|
|
|
- "leftBottom": "cursor: sw-resize; left: -2px; bottom: -2px; width: 12px; height: 12px;",
|
|
|
- "rightBottom": "cursor: se-resize; right: -2px; bottom: -2px; width: 12px; height: 12px;"
|
|
|
- }
|
|
|
- //循环创建拉伸条,包含上、下、左、右、上左、下左、上右、下右
|
|
|
+ "top": "cursor: n-resize; left: 0px; top: 0px; width: 100%; height: 5px;",
|
|
|
+ "rightTop": "cursor: ne-resize; right: -2px; top: -2px; width: 12px; height: 12px;",
|
|
|
+ "leftTop": "cursor: nw-resize; top: 0px; left: 0px; width: 12px; height: 12px;",
|
|
|
+ "left": "cursor: w-resize; left: 0px; top: 0px; width: 5px; height: 100%;",
|
|
|
+ "right": "cursor: e-resize; right: 0px; top: 0px; width: 5px; height: 100%;",
|
|
|
+ "bottom": "cursor: s-resize; left: 0px; bottom: 0px; width: 100%; height: 5px;",
|
|
|
+ "leftBottom": "cursor: sw-resize; left: -2px; bottom: -2px; width: 12px; height: 12px;",
|
|
|
+ "rightBottom": "cursor: se-resize; right: -2px; bottom: -2px; width: 12px; height: 12px;"
|
|
|
+ }
|
|
|
+ //循环创建拉伸条,包含上、下、左、右、上左、下左、上右、下右
|
|
|
for (i in _stretchinginfo) {
|
|
|
$$("div", {
|
|
|
"style": {
|
|
|
"cssText": "position: absolute; overflow: hidden; display: block; z-index: 10;" + _stretchinginfo[i]
|
|
|
},
|
|
|
- "onmousedown": U.UF.C.closure(function (scope, typename) {
|
|
|
+ "onmousedown": U.UF.C.closure(function(scope, typename) {
|
|
|
//拉伸函数的调用
|
|
|
U.UF.F.stretching(_formel, typename, U.UF.C.apply(scope, scope.size));
|
|
|
}, [this, i])
|
|
@@ -258,11 +253,11 @@ U.UF.UI.form.prototype = {
|
|
|
//关闭窗体的按钮
|
|
|
$$("div", {
|
|
|
"style": {
|
|
|
- "cssText": "background-image:url(/img/close.png); _background-image:url(/img/close.png);width: 20px; height: 20px; background-position: -120px -61px; background-size: 100%; float: right; margin-right: 3px; cursor: pointer;"
|
|
|
+ "cssText": "background-image:url(../../../img/close.png); _background-image:url(/img/close.png);width: 20px; height: 20px; background-position: -120px -61px; background-size: 100%; float: right; margin-right: 3px; cursor: pointer;"
|
|
|
},
|
|
|
"title": "点击关闭",
|
|
|
"onmousedown": U.UF.EV.stopBubble,
|
|
|
- "onclick": U.UF.C.apply(this, function () {
|
|
|
+ "onclick": U.UF.C.apply(this, function() {
|
|
|
U.UF.F.closeWindow(this.form); //调用窗体关闭函数
|
|
|
try {
|
|
|
//关闭任务栏处理
|
|
@@ -270,9 +265,7 @@ U.UF.UI.form.prototype = {
|
|
|
U.MD.D.T.taskbar.close({ "forms": _formel });
|
|
|
U.MD.N.urlWrite("", "可可乐博信息化桌面");
|
|
|
}
|
|
|
- }
|
|
|
- catch (e) {
|
|
|
- }
|
|
|
+ } catch (e) {}
|
|
|
//回调处理
|
|
|
if (U.UF.C.isFunction(this.closecallback)) {
|
|
|
this.closecallback();
|
|
@@ -286,12 +279,12 @@ U.UF.UI.form.prototype = {
|
|
|
//放大按钮
|
|
|
_enlargeel = $$("div", {
|
|
|
"style": {
|
|
|
- "cssText": "background-image:url(/img/max.png); _background-image:url(/img/max.png);background-position: -598px -240px; background-size: 100%; float: right; margin-right: 7px; width: 20px; height: 20px; cursor: pointer;"
|
|
|
+ "cssText": "background-image:url(../../../img/max.png); _background-image:url(/img/max.png);background-position: -598px -240px; background-size: 100%; float: right; margin-right: 7px; width: 20px; height: 20px; cursor: pointer;"
|
|
|
},
|
|
|
"title": "最大化",
|
|
|
"onmousedown": U.UF.EV.stopBubble,
|
|
|
//最大化点击事件处理
|
|
|
- "onclick": function () {
|
|
|
+ "onclick": function() {
|
|
|
U.UF.F.windowZooming(_formel); //调用窗体最大化函数
|
|
|
}
|
|
|
}, _headbottom);
|
|
@@ -299,7 +292,7 @@ U.UF.UI.form.prototype = {
|
|
|
//如果有head头部的处理
|
|
|
if (_headel) {
|
|
|
//头部双击放大缩小处理处理
|
|
|
- _headel.ondblclick = U.UF.C.apply(_headel, function () {
|
|
|
+ _headel.ondblclick = U.UF.C.apply(_headel, function() {
|
|
|
//判断双击的元素是否在头部导航上,否则如果头部上有其他的按钮什么的双击了,也会触发放大方法
|
|
|
if (event.srcElement == this || U.UF.EL.isChild(this, event.srcElement)) {
|
|
|
_enlargeel.onclick(); //放大的处理
|
|
@@ -313,11 +306,11 @@ U.UF.UI.form.prototype = {
|
|
|
//最小化的按钮处理
|
|
|
$$("div", {
|
|
|
"style": {
|
|
|
- "cssText": "background-image:url(/img/min.png); _background-image:url(/img/min.png);background-position: -617px -240px; background-size: 100%; float: right; margin-right: 10px; width: 20px; height: 20px; cursor: pointer;"
|
|
|
+ "cssText": "background-image:url(../../../img/min.png); _background-image:url(/img/min.png);background-position: -617px -240px; background-size: 100%; float: right; margin-right: 10px; width: 20px; height: 20px; cursor: pointer;"
|
|
|
},
|
|
|
"title": "最小化",
|
|
|
"onmousedown": U.UF.EV.stopBubble,
|
|
|
- "onclick": function () {
|
|
|
+ "onclick": function() {
|
|
|
U.UF.F.windowMinimize(_formel); //窗体最小化处理
|
|
|
}
|
|
|
}, _headbottom);
|
|
@@ -344,13 +337,13 @@ U.UF.UI.form.prototype = {
|
|
|
this.size();
|
|
|
},
|
|
|
/** 窗体每一次点击置顶
|
|
|
- */
|
|
|
- top: function () {
|
|
|
+ */
|
|
|
+ top: function() {
|
|
|
U.UF.F.topWindow(this.form); //点击置顶的处理
|
|
|
},
|
|
|
/** 窗体大小处理
|
|
|
- */
|
|
|
- size: function () {
|
|
|
+ */
|
|
|
+ size: function() {
|
|
|
var _headheight = 0; //head头部的高度
|
|
|
//如果存在head头部,那么获取head头部处理
|
|
|
if (this.header) {
|
|
@@ -366,8 +359,8 @@ U.UF.UI.form.prototype = {
|
|
|
}
|
|
|
|
|
|
/** 窗体大小处理
|
|
|
-*/
|
|
|
-U.UF.UI.form.windowResize = function () {
|
|
|
+ */
|
|
|
+U.UF.UI.form.windowResize = function() {
|
|
|
var i,
|
|
|
_style,
|
|
|
_bodywidth = US.width, //获取原本在窗体大小没有变化前的width
|
|
@@ -377,7 +370,7 @@ U.UF.UI.form.windowResize = function () {
|
|
|
_height, //高度
|
|
|
_formel, //窗体元素
|
|
|
_forms = U.UF.UI.form.allForm //获取所有的窗体
|
|
|
- ;
|
|
|
+ ;
|
|
|
//循环所有的窗体
|
|
|
for (i in _forms) {
|
|
|
_formel = _forms[i].form; //获取窗体的处理
|
|
@@ -405,8 +398,8 @@ U.UF.UI.form.windowResize = function () {
|
|
|
}
|
|
|
|
|
|
/** 关闭所有的窗体
|
|
|
-*/
|
|
|
-U.UF.UI.form.closeWindows = function () {
|
|
|
+ */
|
|
|
+U.UF.UI.form.closeWindows = function() {
|
|
|
var i;
|
|
|
for (i in U.UF.UI.form.allForm) {
|
|
|
if (U.UF.UI.form.allForm[i].isclose) {
|