From efa72797c3d832ce2b39441c8bdf3a5ca49f28fa Mon Sep 17 00:00:00 2001 From: datagear Date: Tue, 3 Aug 2021 21:49:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E8=A1=A8JS=E5=AF=B9=E8=B1=A1=E5=BC=83?= =?UTF-8?q?=E7=94=A8optionsUpdate=E5=87=BD=E6=95=B0=EF=BC=8C=E5=AE=83?= =?UTF-8?q?=E5=AE=B9=E6=98=93=E5=BC=95=E8=B5=B7API=E6=B7=B7=E6=B7=86?= =?UTF-8?q?=EF=BC=8C=E4=B8=94=E5=B7=B2=E6=9C=89=E6=9B=B4=E6=96=B9=E4=BE=BF?= =?UTF-8?q?=E7=9A=84processUpdateOptions=E9=85=8D=E7=BD=AE=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E6=9B=BF=E4=BB=A3=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/script/datagear-chartFactory.js | 37 +++++++++++-------- .../templates/dashboard/dashboard_form.ftl | 1 - 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/datagear-web/src/main/resources/org/datagear/web/static/script/datagear-chartFactory.js b/datagear-web/src/main/resources/org/datagear/web/static/script/datagear-chartFactory.js index 34924f96..2a9d58ab 100644 --- a/datagear-web/src/main/resources/org/datagear/web/static/script/datagear-chartFactory.js +++ b/datagear-web/src/main/resources/org/datagear/web/static/script/datagear-chartFactory.js @@ -744,20 +744,6 @@ this._options = options; }; - /** - * 获取/设置图表更新时的图表选项,格式为: { ... } - * 当希望根据图表更新数据动态自定义图表选项时,可以在图表监听器的onUpdate函数中调用此函数设置更新图表选项。 - * - * 图表渲染器实现相关: - * 图表渲染器应使用此函数获取并应用更新图表选项(在其update函数中),另参考chart.inflateUpdateOptions()。 - * - * @param options 可选,要设置的图表选项,没有则执行获取操作 - */ - chartBase.optionsUpdate = function(options) - { - return chartFactory.extValueBuiltin(this, "optionsUpdate", options); - }; - /** * 获取/设置图表主题,格式参考:org.datagear.analysis.ChartTheme。 * 图表初始化时会使用图表元素的"dg-chart-theme"属性值执行设置操作。 @@ -2686,8 +2672,7 @@ /** * 填充指定图表更新选项。 * - * 此函数先将renderOptions中与updateOptions的同名项高优先级深度合并至updateOptions, - * 然后将chart.optionsUpdate()高优先级深度合并至updateOptions,然后调用可选的beforeProcessHandler, + * 此函数先将renderOptions中与updateOptions的同名项高优先级深度合并至updateOptions,然后调用可选的beforeProcessHandler, * 最后,如果renderOptions中有定义processUpdateOptions函数(格式为:function(updateOptions, chart, results){ ... }),则调用它。 * * 图表渲染器应该在其update()中使用此函数构建图表更新选项,然后使用它执行图表更新逻辑,以符合图表API规范。 @@ -2740,7 +2725,11 @@ for(var uop in updateOptions) srcRenderOptions[uop] = renderOptions[uop]; + // < @deprecated 兼容2.6.0版本的chart.optionsUpdate() + // 待chart.optionsUpdate()移除后应改为: + // $.extend(true, updateOptions, srcRenderOptions); $.extend(true, updateOptions, srcRenderOptions, this.optionsUpdate()); + // > @deprecated 兼容2.6.0版本的chart.optionsUpdate() if(beforeProcessHandler != null) beforeProcessHandler(updateOptions, this, results); @@ -2756,6 +2745,22 @@ // < 已弃用函数 start //------------- + // < @deprecated 兼容2.6.0版本的API,将在未来版本移除,已被renderOptions.processUpdateOptions取代(参考chart.inflateUpdateOptions()函数) + /** + * 获取/设置图表更新时的图表选项,格式为: { ... } + * 当希望根据图表更新数据动态自定义图表选项时,可以在图表监听器的onUpdate函数中调用此函数设置更新图表选项。 + * + * 图表渲染器实现相关: + * 图表渲染器应使用此函数获取并应用更新图表选项(在其update函数中),另参考chart.inflateUpdateOptions()。 + * + * @param options 可选,要设置的图表选项,没有则执行获取操作 + */ + chartBase.optionsUpdate = function(options) + { + return chartFactory.extValueBuiltin(this, "optionsUpdate", options); + }; + // > @deprecated 兼容2.6.0版本的API,将在未来版本移除,已被renderOptions.processUpdateOptions取代(参考chart.inflateUpdateOptions()函数) + // < @deprecated 兼容2.4.0版本的API,将在未来版本移除,已被chartBase.updateResults取代 /** * 获取用于此次更新图表的结果数据,没有则返回null。 diff --git a/datagear-web/src/main/resources/org/datagear/web/templates/dashboard/dashboard_form.ftl b/datagear-web/src/main/resources/org/datagear/web/templates/dashboard/dashboard_form.ftl index 3a9d8f81..38f1085c 100644 --- a/datagear-web/src/main/resources/org/datagear/web/templates/dashboard/dashboard_form.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/templates/dashboard/dashboard_form.ftl @@ -643,7 +643,6 @@ readonly 是否只读操作,允许为null {name: "chart.onMouseover", value: "onMouseover(", caption: "onMouseover() ", meta: "chart"}, {name: "chart.onMouseup", value: "onMouseup(", caption: "onMouseup() ", meta: "chart"}, {name: "chart.options", value: "options(", caption: "options() ", meta: "chart"}, - {name: "chart.optionsUpdate", value: "optionsUpdate(", caption: "optionsUpdate() ", meta: "chart"}, {name: "chart.plugin", value: "plugin", caption: "plugin ", meta: "chart"}, {name: "chart.refreshData", value: "refreshData()", caption: "refreshData() ", meta: "chart"}, {name: "chart.render", value: "render()", caption: "render() ", meta: "chart"},