ソースを参照

Merge branch 'fix/form_duty_promise' into 'wrdp'

修复请求错误时Promise的catch方法不执行的问题,修复手机端设计字段无法显示名字的问题

See merge request o2oa/o2oa!2718
胡起 5 年 前
コミット
dd8e5b5e3f

+ 22 - 7
o2web/source/o2_core/o2.js

@@ -225,8 +225,21 @@ if (!window.Promise){
                 cb = (callback[name]) ? callback[name] : ((callback[key]) ? callback[key] : null);
             }
         }
-        if (cb) return (promise_cb) ? promise_cb(cb.apply(b, par)) : cb.apply(b, par) ;
-        return (promise_cb) ? promise_cb.apply(b, par) : null;
+        if (cb){
+            if (promise_cb){
+                var r = cb.apply(b, par);
+
+                return promise_cb(r);
+            }else{
+                return cb.apply(b, par);
+            }
+            //return (promise_cb) ? promise_cb(cb.apply(b, par)) : cb.apply(b, par) ;
+        }
+        if (promise_cb){
+            return promise_cb.apply(b, par);
+        }
+        return null;
+        //return (promise_cb) ? promise_cb.apply(b, par) : null;
 
         // if (key.toLowerCase()==="success" && (type==="function" || type==="o2_async_function")){
         //     (promise_cb) ? promise_cb(callback.apply(b, par)) : callback.apply(b, par) ;
@@ -1424,7 +1437,7 @@ if (!window.Promise){
         //var noCache = false;
         if (!loadAsync || !useWebWorker){
             var res;
-            var p = new Promise(function(s,f){
+            var p = new Promise(function(resolve,reject){
                 res = new Request.JSON({
                     url: o2.filterUrl(address),
                     secure: false,
@@ -1443,13 +1456,15 @@ if (!window.Promise){
                                 layout.session.token = xToken;
                             }
                         }
-                        return o2.runCallback(callback, "success", [responseJSON],null, s);
+                        //resolve();
+                        return o2.runCallback(callback, "success", [responseJSON],null, resolve);
                     },
                     onFailure: function(xhr){
-                        return o2.runCallback(callback, "requestFailure", [xhr], null, f);
+                        //reject();
+                        return o2.runCallback(callback, "requestFailure", [xhr], null, reject);
                     }.bind(this),
                     onError: function(text, error){
-                        return o2.runCallback(callback, "error", [text, error], null, f);
+                        return o2.runCallback(callback, "error", [text, error], null, reject);
                     }.bind(this)
                 });
 
@@ -1468,7 +1483,7 @@ if (!window.Promise){
                 }
                 //Content-Type	application/x-www-form-urlencoded; charset=utf-8
                 res.send(data);
-            }.bind(this)).catch(function(){});
+            }.bind(this));
 
             //var oReturn = (callback.success && callback.success.isAG) ? callback.success : callback;
             var oReturn = p;

+ 5 - 4
o2web/source/o2_core/o2/xDesktop/Actions/RestActions.js

@@ -614,17 +614,17 @@ MWF.xDesktop.Actions.RestActions.Callback = new Class({
 				   break;
 			}
 		}else{
-			this.doError(null, responseText, "");
+            return this.doError(null, responseText, "");
 		}
 	},
 	onRequestFailure: function(xhr){
-		this.doError(xhr, "", "");
+		return this.doError(xhr, "", "");
 	},
 	onFailure: function(xhr){
-		this.doError(xhr, "", "");
+        return this.doError(xhr, "", "");
 	},
 	onError: function(text, error){
-		this.doError(null, text, error);
+        return this.doError(null, text, error);
 	},
 	doError: function(xhr, text, error){
 		if (this.appendFailure) this.appendFailure(xhr, text, error);
@@ -653,5 +653,6 @@ MWF.xDesktop.Actions.RestActions.Callback = new Class({
             }
 		//	throw "request error: "+errorText;
 		}
+		return xhr;
 	}
 });

+ 3 - 3
o2web/source/x_component_process_FormDesigner/Module/Textfield/default/css.wcss

@@ -9,7 +9,7 @@
 		"position": "absolute",
 		"z-index": 10002,
 		"opacity": 0.7,
-		"width": "120px",
+		"min-width": "120px",
 		"cursor": "move",
 		"display": "inline-block"
 	},
@@ -41,7 +41,7 @@
 		"position": "static",
 		"top": "auto",
 		"left": "auto",
-		"width": "120px",
+		"min-width": "120px",
 		"opacity": 1,
 		"background": "#FFF",
 		"display": "inline-block",
@@ -65,4 +65,4 @@
 		"text-overflow": "ellipsis"
 	}
 	
-}
+}