forked from p81075629/datagear
[analysis]完善HTM看板渲染代码变量名
This commit is contained in:
parent
1591146872
commit
03700fbce0
|
@ -437,11 +437,14 @@ public class HtmlTplDashboardWidgetHtmlRenderer<T extends HtmlRenderContext> ext
|
|||
protected void writeHtmlTplDashboardScript(T renderContext, HtmlTplDashboard dashboard, DashboardInfo dashboardInfo)
|
||||
throws IOException
|
||||
{
|
||||
String dashboardVar = dashboardInfo.getDashboardVar();
|
||||
if (StringUtil.isEmpty(dashboardVar))
|
||||
dashboardVar = getDefaultDashboardVar();
|
||||
String globalDashboardVar = dashboardInfo.getDashboardVar();
|
||||
if (StringUtil.isEmpty(globalDashboardVar))
|
||||
globalDashboardVar = getDefaultDashboardVar();
|
||||
|
||||
dashboard.setVarName(dashboardVar);
|
||||
String tmpRenderContextVarName = HtmlRenderAttributes.generateRenderContextVarName(renderContext);
|
||||
String localDashboardVarName = HtmlRenderAttributes.generateDashboardVarName(renderContext);
|
||||
|
||||
dashboard.setVarName(localDashboardVarName);
|
||||
|
||||
Writer out = renderContext.getWriter();
|
||||
|
||||
|
@ -451,13 +454,13 @@ public class HtmlTplDashboardWidgetHtmlRenderer<T extends HtmlRenderContext> ext
|
|||
out.write("(function(){");
|
||||
writeNewLine(out);
|
||||
|
||||
writeHtmlTplDashboardJSVar(renderContext, out, dashboard);
|
||||
writeHtmlTplDashboardJSVar(renderContext, out, dashboard, tmpRenderContextVarName);
|
||||
|
||||
writeHtmlChartScripts(renderContext, dashboard, dashboardInfo);
|
||||
writeHtmlTplDashboardJSInit(out, dashboard);
|
||||
writeHtmlTplDashboardJSFactoryInit(out, dashboard, dashboardInfo.getDashboardFactoryVar());
|
||||
|
||||
out.write("window." + dashboardVar + "=" + dashboardVar + ";");
|
||||
out.write("window." + globalDashboardVar + "=" + localDashboardVarName + ";");
|
||||
writeNewLine(out);
|
||||
|
||||
writeNewLine(out);
|
||||
|
|
|
@ -789,24 +789,28 @@ public abstract class HtmlTplDashboardWidgetRenderer<T extends HtmlRenderContext
|
|||
/**
|
||||
* 写{@linkplain HtmlTplDashboard} JS变量:
|
||||
* <p>
|
||||
* <code>var dashboard = {...};</code>
|
||||
* <code>
|
||||
* <pre>
|
||||
* var [tmpRenderContextVarName] = {...};
|
||||
* var [dashboardVarName] = {...};
|
||||
* </pre>
|
||||
* </code>
|
||||
* </p>
|
||||
*
|
||||
* @param renderContext
|
||||
* @param out
|
||||
* @param dashboard
|
||||
* @param tmpRenderContextVarName
|
||||
* @throws IOException
|
||||
*/
|
||||
protected void writeHtmlTplDashboardJSVar(HtmlRenderContext renderContext, Writer out, HtmlTplDashboard dashboard)
|
||||
protected void writeHtmlTplDashboardJSVar(HtmlRenderContext renderContext, Writer out, HtmlTplDashboard dashboard,
|
||||
String tmpRenderContextVarName)
|
||||
throws IOException
|
||||
{
|
||||
if (StringUtil.isEmpty(dashboard.getVarName()))
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
String tmpRenderContextVarName = HtmlRenderAttributes
|
||||
.generateRenderContextVarName(Long.toHexString(System.currentTimeMillis()));
|
||||
getHtmlRenderContextScriptObjectWriter().writeNoAttributes(out, renderContext, tmpRenderContextVarName);
|
||||
|
||||
getHtmlTplDashboardScriptObjectWriter().write(out, dashboard, tmpRenderContextVarName);
|
||||
}
|
||||
|
||||
|
|
|
@ -108,8 +108,9 @@ public class HtmlTplDashboardWidgetHtmlRendererTest
|
|||
Assert.assertTrue(html.contains(IMPORT_CONTENT_UTIL));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_THEME));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_STYLE));
|
||||
Assert.assertTrue(html.contains("var myDashboard"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(myDashboard);"));
|
||||
Assert.assertTrue(html.contains("var dataGearDashboard2"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(dataGearDashboard2);"));
|
||||
Assert.assertTrue(html.contains("window.myDashboard=dataGearDashboard2;"));
|
||||
}
|
||||
|
||||
// 看板属性,无引号
|
||||
|
@ -134,8 +135,9 @@ public class HtmlTplDashboardWidgetHtmlRendererTest
|
|||
Assert.assertTrue(html.contains(IMPORT_CONTENT_UTIL));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_THEME));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_STYLE));
|
||||
Assert.assertTrue(html.contains("var myDashboard"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(myDashboard);"));
|
||||
Assert.assertTrue(html.contains("var dataGearDashboard2"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(dataGearDashboard2);"));
|
||||
Assert.assertTrue(html.contains("window.myDashboard=dataGearDashboard2;"));
|
||||
}
|
||||
|
||||
// 看板属性,单引号
|
||||
|
@ -160,8 +162,9 @@ public class HtmlTplDashboardWidgetHtmlRendererTest
|
|||
Assert.assertTrue(html.contains(IMPORT_CONTENT_UTIL));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_THEME));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_STYLE));
|
||||
Assert.assertTrue(html.contains("var myDashboard"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(myDashboard);"));
|
||||
Assert.assertTrue(html.contains("var dataGearDashboard2"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(dataGearDashboard2);"));
|
||||
Assert.assertTrue(html.contains("window.myDashboard=dataGearDashboard2;"));
|
||||
}
|
||||
|
||||
// 看板属性,多个导入排除值
|
||||
|
@ -186,8 +189,9 @@ public class HtmlTplDashboardWidgetHtmlRendererTest
|
|||
Assert.assertTrue(html.contains(IMPORT_CONTENT_UTIL));
|
||||
Assert.assertFalse(html.contains(IMPORT_CONTENT_THEME));
|
||||
Assert.assertFalse(html.contains(IMPORT_CONTENT_STYLE));
|
||||
Assert.assertTrue(html.contains("var myDashboard"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(myDashboard);"));
|
||||
Assert.assertTrue(html.contains("var dataGearDashboard2"));
|
||||
Assert.assertTrue(html.contains("myDashboardFactory.init(dataGearDashboard2);"));
|
||||
Assert.assertTrue(html.contains("window.myDashboard=dataGearDashboard2;"));
|
||||
}
|
||||
|
||||
// 看板属性,默认
|
||||
|
@ -211,8 +215,9 @@ public class HtmlTplDashboardWidgetHtmlRendererTest
|
|||
Assert.assertTrue(html.contains(IMPORT_CONTENT_UTIL));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_THEME));
|
||||
Assert.assertTrue(html.contains(IMPORT_CONTENT_STYLE));
|
||||
Assert.assertTrue(html.contains("var dashboard"));
|
||||
Assert.assertTrue(html.contains("dashboardFactory.init(dashboard);"));
|
||||
Assert.assertTrue(html.contains("var dataGearDashboard2"));
|
||||
Assert.assertTrue(html.contains("dashboardFactory.init(dataGearDashboard2);"));
|
||||
Assert.assertTrue(html.contains("window.dashboard=dataGearDashboard2;"));
|
||||
}
|
||||
|
||||
// 图表属性
|
||||
|
|
Loading…
Reference in New Issue