diff --git a/core/src/main/resources/org/apache/spark/ui/static/jsonFormatter.min.js b/core/src/main/resources/org/apache/spark/ui/static/jsonFormatter.min.js index f2ffcecd7ff5..aa86fa2a0c32 100755 --- a/core/src/main/resources/org/apache/spark/ui/static/jsonFormatter.min.js +++ b/core/src/main/resources/org/apache/spark/ui/static/jsonFormatter.min.js @@ -1,2 +1 @@ (function($){$.fn.jsonFormatter=function(n){var _settings,u=new Date,r=new RegExp,i=function(n,t,i){for(var r="",u=0;u0&&t.charAt(t.length-1)!="\n"&&(t=t+"\n"),r+t},f=function(n,t){for(var r,u,f="",i=0;i").join(">"));var o=""+t+n+t+r+"<\/span>";return f&&(o=i(u,o)),o},_processObject=function(n,e,o,s,h){var c="",l=o?",<\/span> ":"",v=typeof n,a="",y,p,k,w,b;if($.isArray(n))if(n.length==0)c+=i(e,"[ ]<\/span>"+l,h);else{for(a=_settings.collapsible?"<\/span>":"",c+=i(e,"[<\/span>"+a,h),y=0;y":"";c+=i(e,a+"]<\/span>"+l)}else if(v=="object")if(n==null)c+=t("null","",l,e,s,"jsonFormatter-null");else if(n.constructor==u.constructor)c+=t("new Date("+n.getTime()+") /*"+n.toLocaleString()+"*/","",l,e,s,"Date");else if(n.constructor==r.constructor)c+=t("new RegExp("+n+")","",l,e,s,"RegExp");else{p=0;for(w in n)p++;if(p==0)c+=i(e,"{ }<\/span>"+l,h);else{a=_settings.collapsible?"<\/span>":"";c+=i(e,"{<\/span>"+a,h);k=0;for(w in n)b=_settings.quoteKeys?'"':"",c+=i(e+1,""+b+w+b+"<\/span>: "+_processObject(n[w],e+1,++k":"";c+=i(e,a+"}<\/span>"+l)}}else v=="number"?c+=t(n,"",l,e,s,"jsonFormatter-number"):v=="boolean"?c+=t(n,"",l,e,s,"jsonFormatter-boolean"):v=="function"?n.constructor==r.constructor?c+=t("new RegExp("+n+")","",l,e,s,"RegExp"):(n=f(e,n),c+=t(n,"",l,e,s,"jsonFormatter-function")):c+=v=="undefined"?t("undefined","",l,e,s,"jsonFormatter-null"):t(n.toString().split("\\").join("\\\\").split('"').join('\\"'),'"',l,e,s,"jsonFormatter-string");return c},e=function(element){var json=$(element).html(),obj,original;json.trim()==""&&(json='""');try{obj=eval("["+json+"]")}catch(exception){return}html=_processObject(obj[0],0,!1,!1,!1);original=$(element).wrapInner("
<\/div>");_settings.hideOriginal===!0&&$(".jsonFormatter-original",original).hide();original.append("
"+html+"<\/PRE>")},o=function(){var n=$(this).next();n.length<1||($(this).hasClass("jsonFormatter-expanded")==!0?(n.hide(),$(this).removeClass("jsonFormatter-expanded").addClass("jsonFormatter-collapsed")):(n.show(),$(this).removeClass("jsonFormatter-collapsed").addClass("jsonFormatter-expanded")))};return _settings=$.extend({tab:"  ",quoteKeys:!0,collapsible:!0,hideOriginal:!0},n),this.each(function(n,t){e(t);$(t).on("click",".jsonFormatter-expander",o)})}})(jQuery);
-//# sourceMappingURL=jsonFormatter.min.js.map
diff --git a/core/src/main/scala/org/apache/spark/deploy/history/HistoryPage.scala b/core/src/main/scala/org/apache/spark/deploy/history/HistoryPage.scala
index 3fee22e39166..be17740997f3 100644
--- a/core/src/main/scala/org/apache/spark/deploy/history/HistoryPage.scala
+++ b/core/src/main/scala/org/apache/spark/deploy/history/HistoryPage.scala
@@ -69,7 +69,7 @@ private[history] class HistoryPage(parent: HistoryServer) extends WebUIPage("")
             
           
- UIUtils.basicSparkPage(content, "History Server") + UIUtils.basicSparkPage(content, "History Server", true) } private def makePageLink(showIncomplete: Boolean): String = { diff --git a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala index 4ebee9093d41..ddd7f713fe41 100644 --- a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala +++ b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala @@ -157,22 +157,11 @@ private[spark] object UIUtils extends Logging { def commonHeaderNodes: Seq[Node] = { - - - - - - - - - @@ -189,6 +178,20 @@ private[spark] object UIUtils extends Logging { } + def dataTablesHeaderNodes: Seq[Node] = { + + + + + + + + + + } + /** Returns a spark page with correctly formatted headers */ def headerSparkPage( title: String, @@ -244,10 +247,14 @@ private[spark] object UIUtils extends Logging { } /** Returns a page with the spark css/js and a simple format. Used for scheduler UI. */ - def basicSparkPage(content: => Seq[Node], title: String): Seq[Node] = { + def basicSparkPage( + content: => Seq[Node], + title: String, + useDataTables: Boolean = false): Seq[Node] = { {commonHeaderNodes} + {if (useDataTables) dataTablesHeaderNodes else Seq.empty} {title}