浏览代码

Improve function option to support string format for example formatter.

zhixin 10 年之前
父节点
当前提交
327e8d375c
共有 1 个文件被更改,包括 12 次插入7 次删除
  1. 12 7
      src/bootstrap-table.js

+ 12 - 7
src/bootstrap-table.js

@@ -91,24 +91,29 @@
     };
     };
 
 
     var calculateObjectValue = function (self, name, args, defaultValue) {
     var calculateObjectValue = function (self, name, args, defaultValue) {
+        var func = name;
+
         if (typeof name === 'string') {
         if (typeof name === 'string') {
             // support obj.func1.func2
             // support obj.func1.func2
             var names = name.split('.');
             var names = name.split('.');
 
 
             if (names.length > 1) {
             if (names.length > 1) {
-                name = window;
+                func = window;
                 $.each(names, function (i, f) {
                 $.each(names, function (i, f) {
-                    name = name[f];
+                    func = func[f];
                 });
                 });
             } else {
             } else {
-                name = window[name];
+                func = window[name];
             }
             }
         }
         }
-        if (typeof name === 'object') {
-            return name;
+        if (typeof func === 'object') {
+            return func;
+        }
+        if (typeof func === 'function') {
+            return func.apply(self, args);
         }
         }
-        if (typeof name === 'function') {
-            return name.apply(self, args);
+        if (!func && typeof name === 'string' && sprintf.apply(this, [name].concat(args))) {
+            return sprintf.apply(this, [name].concat(args));
         }
         }
         return defaultValue;
         return defaultValue;
     };
     };