[!] build fix

This commit is contained in:
王昆 2022-12-08 11:12:40 +08:00
parent e89d5fc719
commit d41c787430
26 changed files with 173 additions and 41 deletions

View File

@ -69,5 +69,5 @@ APPSMITH_RECAPTCHA_ENABLED=
# Intercom
APPSMITH_DISABLE_INTERCOM=
# baidu map
BMAP_AK=
# echarts baidu map
APPSMITH_BMAP_AK=

View File

@ -112,7 +112,7 @@ CLOUDOS_IN_CLOUDOS=true
// nginx.conf 配置前端环境变量,替换 index.html 中的配置
sub_filter __PAGEPLUG_CLOUDOS_LOGIN_URL__ 'http://factory.dev.staros.local/user/login';
sub_filter __BMAP_AK__ 'nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8';
sub_filter __APPSMITH_BMAP_AK__ 'nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8';
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
StarOS 版本使用固定用户
在开启 inCloudOS 前需要

View File

@ -6,7 +6,7 @@ GIT_SHA=$(eval git rev-parse HEAD)
echo $GIT_SHA
echo "Sentry Auth Token: $SENTRY_AUTH_TOKEN"
REACT_APP_SENTRY_RELEASE=$GIT_SHA REACT_APP_CLIENT_LOG_LEVEL=ERROR EXTEND_ESLINT=true craco --max-old-space-size=4096 build --config craco.build.config.js
REACT_APP_SENTRY_RELEASE=$GIT_SHA REACT_APP_CLIENT_LOG_LEVEL=ERROR EXTEND_ESLINT=true craco --max-old-space-size=8192 build --config craco.build.config.js
rm ./build/static/js/*.js.map
echo "build finished"

View File

@ -55,5 +55,11 @@ server {
proxy_set_header X-Forwarded-Host $host;
proxy_pass http://host.docker.internal:8080;
}
location /data-gl {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}

View File

@ -46,6 +46,7 @@ server {
sub_filter __APPSMITH_ZIPY_SDK_KEY__ '${APPSMITH_ZIPY_SDK_KEY}';
sub_filter __APPSMITH_HIDE_WATERMARK__ '${APPSMITH_HIDE_WATERMARK}';
sub_filter __APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX__ '${APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX}';
sub_filter __APPSMITH_BMAP_AK__ '${APPSMITH_BMAP_AK}';
}
location /api {
@ -65,5 +66,11 @@ server {
proxy_set_header X-Forwarded-Host $host;
proxy_pass ${APPSMITH_SERVER_PROXY_PASS};
}
location /data-gl {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}

View File

@ -56,6 +56,7 @@ server {
sub_filter __APPSMITH_ZIPY_SDK_KEY__ '${APPSMITH_ZIPY_SDK_KEY}';
sub_filter __APPSMITH_HIDE_WATERMARK__ '${APPSMITH_HIDE_WATERMARK}';
sub_filter __APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX__ '${APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX}';
sub_filter __APPSMITH_BMAP_AK__ '${APPSMITH_BMAP_AK}';
}
@ -76,5 +77,11 @@ server {
proxy_set_header X-Forwarded-Host $host;
proxy_pass ${APPSMITH_SERVER_PROXY_PASS};
}
location /data-gl {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}

View File

@ -54,6 +54,7 @@ server {
sub_filter __APPSMITH_ZIPY_SDK_KEY__ '${APPSMITH_ZIPY_SDK_KEY}';
sub_filter __APPSMITH_HIDE_WATERMARK__ '${APPSMITH_HIDE_WATERMARK}';
sub_filter __APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX__ '${APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX}';
sub_filter __APPSMITH_BMAP_AK__ '${APPSMITH_BMAP_AK}';
}
location /favicon.ico {
@ -77,4 +78,10 @@ server {
proxy_set_header X-Forwarded-Host $host;
proxy_pass __APPSMITH_SERVER_PROXY_PASS__;
}
location /data-gl {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}

View File

@ -0,0 +1,22 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("echarts")):"function"==typeof define&&define.amd?define(["exports","echarts"],t):t((e=e||self).bmap={},e.echarts)}(this,function(e,d){"use strict";function l(e,t){this._bmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t,this._projection=new BMap.MercatorProjection}function t(a,r){return r=r||[0,0],d.util.map([0,1],function(e){var t=r[e],o=a[e]/2,n=[],i=[];return n[e]=t-o,i[e]=t+o,n[1-e]=i[1-e]=r[1-e],Math.abs(this.dataToPoint(n)[e]-this.dataToPoint(i)[e])},this)}var c;function f(e){for(var t in e)if(e.hasOwnProperty(t))return;return 1}l.prototype.dimensions=["lng","lat"],l.prototype.setZoom=function(e){this._zoom=e},l.prototype.setCenter=function(e){this._center=this._projection.lngLatToPoint(new BMap.Point(e[0],e[1]))},l.prototype.setMapOffset=function(e){this._mapOffset=e},l.prototype.getBMap=function(){return this._bmap},l.prototype.dataToPoint=function(e){var t=new BMap.Point(e[0],e[1]),e=this._bmap.pointToOverlayPixel(t),t=this._mapOffset;return[e.x-t[0],e.y-t[1]]},l.prototype.pointToData=function(e){var t=this._mapOffset;return[(e=this._bmap.overlayPixelToPoint({x:e[0]+t[0],y:e[1]+t[1]})).lng,e.lat]},l.prototype.getViewRect=function(){var e=this._api;return new d.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},l.prototype.getRoamTransform=function(){return d.matrix.create()},l.prototype.prepareCustoms=function(){var e=this.getViewRect();return{coordSys:{type:"bmap",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:d.util.bind(this.dataToPoint,this),size:d.util.bind(t,this)}}},l.dimensions=l.prototype.dimensions,l.create=function(e,p){var s,m=p.getDom();e.eachComponent("bmap",function(e){var t,o=p.getZr().painter,n=o.getViewportRoot();if("undefined"==typeof BMap)throw new Error("BMap api is not loaded");function i(e){this._root=e}if(c=c||((i.prototype=new BMap.Overlay).initialize=function(e){return e.getPanes().labelPane.appendChild(this._root),this._root},i.prototype.draw=function(){},i),s)throw new Error("Only one bmap component can exist");e.__bmap||((a=m.querySelector(".ec-extension-bmap"))&&(n.style.left="0px",n.style.top="0px",m.removeChild(a)),(a=document.createElement("div")).className="ec-extension-bmap",a.style.cssText="position:absolute;width:100%;height:100%",m.appendChild(a),(r=e.get("mapOptions"))&&delete(r=d.util.clone(r)).mapType,t=e.__bmap=new BMap.Map(a,r),a=new c(n),t.addOverlay(a),o.getViewportRootOffset=function(){return{offsetLeft:0,offsetTop:0}}),t=e.__bmap;var a,r=e.get("center"),n=e.get("zoom");r&&n&&(a=t.getCenter(),o=t.getZoom(),e.centerOrZoomChanged([a.lng,a.lat],o)&&(o=new BMap.Point(r[0],r[1]),t.centerAndZoom(o,n))),(s=new l(t,p)).setMapOffset(e.__mapOffset||[0,0]),s.setZoom(n),s.setCenter(r),e.coordinateSystem=s}),e.eachSeries(function(e){"bmap"===e.get("coordinateSystem")&&(e.coordinateSystem=s)})},d.extendComponentModel({type:"bmap",getBMap:function(){return this.__bmap},setCenterAndZoom:function(e,t){this.option.center=e,this.option.zoom=t},centerOrZoomChanged:function(e,t){var o,n=this.option;return o=e,e=n.center,!(o&&e&&o[0]===e[0]&&o[1]===e[1]&&t===n.zoom)},defaultOption:{center:[104.114129,37.550339],zoom:5,mapStyle:{},mapStyleV2:{},mapOptions:{},roam:!1}}),d.extendComponentView({type:"bmap",render:function(r,e,p){var s=!0,t=r.getBMap(),m=p.getZr().painter.getViewportRoot(),l=r.coordinateSystem,o=function(e,t){var o,n,i,a;s||(a=m.parentNode.parentNode.parentNode,o=[-parseInt(a.style.left,10)||0,-parseInt(a.style.top,10)||0],n=m.style,i=o[0]+"px",a=o[1]+"px",n.left!==i&&(n.left=i),n.top!==a&&(n.top=a),l.setMapOffset(o),r.__mapOffset=o,p.dispatchAction({type:"bmapRoam",animation:{duration:0}}))};function n(){s||p.dispatchAction({type:"bmapRoam",animation:{duration:0}})}t.removeEventListener("moving",this._oldMoveHandler),t.removeEventListener("moveend",this._oldMoveHandler),t.removeEventListener("zoomend",this._oldZoomEndHandler),t.addEventListener("moving",o),t.addEventListener("moveend",o),t.addEventListener("zoomend",n),this._oldMoveHandler=o,this._oldZoomEndHandler=n;var i=r.get("roam");i&&"scale"!==i?t.enableDragging():t.disableDragging(),i&&"move"!==i?(t.enableScrollWheelZoom(),t.enableDoubleClickZoom(),t.enablePinchToZoom()):(t.disableScrollWheelZoom(),t.disableDoubleClickZoom(),t.disablePinchToZoom());var a=r.__mapStyle,o=r.get("mapStyle")||{},i=JSON.stringify(o);JSON.stringify(a)!==i&&(f(o)||t.setMapStyle(d.util.clone(o)),r.__mapStyle=JSON.parse(i));a=r.__mapStyle2,o=r.get("mapStyleV2")||{},i=JSON.stringify(o);JSON.stringify(a)!==i&&(f(o)||t.setMapStyleV2(d.util.clone(o)),r.__mapStyle2=JSON.parse(i)),s=!1}}),d.registerCoordinateSystem("bmap",l),d.registerAction({type:"bmapRoam",event:"bmapRoam",update:"updateLayout"},function(e,t){t.eachComponent("bmap",function(e){var t=e.getBMap(),o=t.getCenter();e.setCenterAndZoom([o.lng,o.lat],t.getZoom())})});e.version="1.0.0",Object.defineProperty(e,"__esModule",{value:!0})});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -26,6 +26,9 @@
document.title = "Methodot";
}
</script>
<script src="/echarts-v5.4.0/echarts.min.js" defer="defer"></script>
<script src="/echarts-v5.4.0/echarts-gl.min.js" defer="defer"></script>
<script src="/echarts-v5.4.0/bmap.min.js" defer="defer"></script>
<script src="/logger.js"></script>
<script>
// '' (empty strings), 'false' are falsy
@ -58,7 +61,7 @@
}
</script>
<script>
const BMAP_AK = parseConfig("__BMAP_AK__");
const BMAP_AK = parseConfig("__APPSMITH_BMAP_AK__");
const script = document.createElement('script');
script.type = "text/javascript"
script.src = `https://api.map.baidu.com/api?v=3.0&ak=${BMAP_AK}`;
@ -206,7 +209,7 @@
// CloudOS
window.CLOUDOS_LOGIN_URL = parseConfig("__PAGEPLUG_CLOUDOS_LOGIN_URL__") || "http://factory.dev.staros.local/user/login";
// echarts baidu map
window.BMAP_AK_NOT_CONFIGED = !parseConfig("__BMAP_AK__");
window.BMAP_AK_NOT_CONFIGED = !parseConfig("__APPSMITH_BMAP_AK__");
</script>
</body>

View File

@ -1,6 +1,6 @@
import { createSelector } from "reselect";
import { AppState } from "@appsmith/reducers";
import * as echarts from "echarts";
// import * as echarts from "echarts";
import {
CanvasWidgetsReduxState,
FlattenedWidgetProps,

View File

@ -2,7 +2,7 @@ import _, { get, isString, VERSION as lodashVersion } from "lodash";
import { DATA_BIND_REGEX } from "constants/BindingsConstants";
import { Action } from "entities/Action";
import moment from "moment-timezone";
import * as echarts from "echarts";
// import * as echarts from "echarts";
import { WidgetProps } from "widgets/BaseWidget";
import parser from "fast-xml-parser";
@ -188,13 +188,13 @@ export const extraLibraries: ExtraLibrary[] = [
docsURL: "https://github.com/digitalbazaar/forge",
displayName: "forge",
},
{
accessor: "echarts",
lib: echarts,
version: "5.4.0",
docsURL: `https://echarts.apache.org/handbook/zh/how-to/animation/transition/`,
displayName: "echarts",
},
// {
// accessor: "echarts",
// lib: echarts,
// version: "5.4.0",
// docsURL: `https://echarts.apache.org/handbook/zh/how-to/animation/transition/`,
// displayName: "echarts",
// },
];
/**
* creates dynamic list of constants based on

View File

@ -1,9 +1,6 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
import React, { useEffect, useRef, useState } from "react";
import * as echarts from "echarts";
import "echarts-gl";
import * as _ from "lodash";
import "echarts/extension/bmap/bmap";
import macarons from "theme/echart/macarons.json";
import chalk from "theme/echart/chalk.json";
import walden from "theme/echart/walden.json";
@ -122,12 +119,13 @@ function EchartComponent(props: EchartComponentProps) {
initChartInstance(true);
cb && cb();
})
.catch(() => {
.catch((e) => {
message.error("GeoJSON 注册失败!");
console.log(
`%cregister [${registerMapName}] failed: ${registerMapJsonUrl}`,
"color: #df9658;",
);
console.error(e);
});
} else {
cb && cb();
@ -152,7 +150,7 @@ function EchartComponent(props: EchartComponentProps) {
defaultTheme = _.get(registerTheme, "themeKey");
needReDraw = true;
}
if (!echartInstance.current || needReDraw) {
if ((!echartInstance.current || needReDraw) && echartRef?.current) {
echartInstance.current && echartInstance.current.dispose();
echartInstance.current = echarts.init(echartRef?.current, defaultTheme);
}
@ -262,6 +260,12 @@ function EchartComponent(props: EchartComponentProps) {
if (echartRef.current) {
handleEvent();
}
return () => {
if (echartInstance.current) {
echartInstance.current.clear();
echartInstance.current.dispose();
}
};
}, []);
const getSeriesAndXaxisData = () => {

View File

@ -125,6 +125,7 @@ export const ECHART_TYPE_MAP: any = {
export const NO_AXIS: any = {
PIE_CHART: 1,
CUSTOM_CHART: 1,
};
export const isLabelOrientationApplicableFor = (chartType: string) =>

View File

@ -39,12 +39,12 @@ const DEFAUTL_CHART = {
const defaultKey = generateReactKey();
export const CONFIG = {
type: Widget.getWidgetType(),
name: "Echart", // The display name which will be made in uppercase and show in the widgets panel ( can have spaces )
name: "Echarts", // The display name which will be made in uppercase and show in the widgets panel ( can have spaces )
iconSVG: IconSVG,
needsMeta: true, // Defines if this widget adds any meta properties
searchTags: ["graph", "echart", "chart", "visualisations"],
defaults: {
widgetName: "Echart",
widgetName: "Echarts",
mycustom: 2,
rows: 32,
columns: 24,

View File

@ -57,21 +57,21 @@ export const contentConfig = [
controlType: "INPUT_TEXT",
isBindProperty: true,
isTriggerProperty: false,
validation: {
type: ValidationTypes.OBJECT,
params: {
allowedKeys: [
{
type: ValidationTypes.ARRAY,
name: "series",
params: {
default: [] || {},
required: true,
},
},
],
},
},
// validation: {
// type: ValidationTypes.OBJECT,
// params: {
// allowedKeys: [
// {
// type: ValidationTypes.ARRAY,
// name: "series",
// params: {
// default: [] || {},
// required: true,
// },
// },
// ],
// },
// },
hidden: (props: EchartWidgetProps) =>
props.chartType !== "CUSTOM_CHART",
dependencies: ["chartType"],

View File

@ -264,7 +264,7 @@ $(if [[ $use_https == 1 ]]; then echo "
sub_filter __APPSMITH_DISABLE_INTERCOM__ '${APPSMITH_DISABLE_INTERCOM-}';
sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '${APPSMITH_FORM_LOGIN_DISABLED-}';
sub_filter __APPSMITH_SIGNUP_DISABLED__ '${APPSMITH_SIGNUP_DISABLED-}';
sub_filter __BMAP_AK__ '${BMAP_AK-}';
sub_filter __APPSMITH_BMAP_AK__ '${APPSMITH_BMAP_AK-}';
sub_filter __APPSMITH_ZIPY_SDK_KEY__ '${APPSMITH_ZIPY_SDK_KEY-}';
sub_filter __APPSMITH_HIDE_WATERMARK__ '${APPSMITH_HIDE_WATERMARK-}';
sub_filter __APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX__ '${APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX-}';
@ -289,6 +289,10 @@ $(if [[ $use_https == 1 ]]; then echo "
proxy_set_header Connection upgrade;
proxy_set_header Upgrade \$http_upgrade;
}
location /data-gl {
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}
}
" > "$nginx_dev_conf"

View File

@ -34,4 +34,4 @@ APPSMITH_CODEC_SIZE=10
#APPSMITH_RECAPTCHA_SITE_KEY=""
#APPSMITH_RECAPTCHA_SECRET_KEY=""
BMAP_AK="nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8"
APPSMITH_BMAP_AK="nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8"

View File

@ -28,4 +28,5 @@ public enum EnvVariables {
APPSMITH_FORM_LOGIN_DISABLED,
APPSMITH_ALLOWED_FRAME_ANCESTORS,
APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX,
APPSMITH_BMAP_AK,
}

View File

@ -37,4 +37,4 @@ APPSMITH_CLOUD_SERVICES_BASE_URL="https://release-cs.appsmith.com"
#APPSMITH_RECAPTCHA_SITE_KEY=""
#APPSMITH_RECAPTCHA_SECRET_KEY=""
BMAP_AK="nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8"
APPSMITH_BMAP_AK="nWCpSjRnXLfGuBc3iLZ9kYv8Y6wYaxf8"

View File

@ -100,6 +100,10 @@ unset_unused_variables() {
unset APPSMITH_GOOGLE_MAPS_API_KEY
fi
if [[ -z "${APPSMITH_BMAP_AK}" ]]; then
unset APPSMITH_BMAP_AK
fi
if [[ -z "${APPSMITH_RECAPTCHA_SITE_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_SECRET_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_ENABLED}" ]]; then
unset APPSMITH_RECAPTCHA_SITE_KEY # If this field is empty is might cause application crash
unset APPSMITH_RECAPTCHA_SECRET_KEY

View File

@ -26,6 +26,10 @@ if [[ -z "${APPSMITH_GOOGLE_MAPS_API_KEY}" ]]; then
unset APPSMITH_GOOGLE_MAPS_API_KEY
fi
if [[ -z "${APPSMITH_BMAP_AK}" ]]; then
unset APPSMITH_BMAP_AK
fi
if [[ -z "${APPSMITH_RECAPTCHA_SITE_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_SECRET_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_ENABLED}" ]]; then
unset APPSMITH_RECAPTCHA_SITE_KEY # If this field is empty is might cause application crash
unset APPSMITH_RECAPTCHA_SECRET_KEY

View File

@ -100,4 +100,7 @@ APPSMITH_ALLOWED_FRAME_ANCESTORS="'self' *"
APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX=false
# echarts bmap key
APPSMITH_BMAP_AK=
EOF

View File

@ -80,6 +80,10 @@ APPSMITH_DISABLE_TELEMETRY=$disable_telemetry
# APPSMITH_PLUGIN_MAX_RESPONSE_SIZE_MB=5
# ******** echarts bmap key ***********
# APPSMITH_BMAP_AK=
# ********************************
APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX=false
EOF

View File

@ -59,7 +59,7 @@ $NGINX_SSL_CMNT server_name $custom_domain ;
sub_filter __APPSMITH_DISABLE_INTERCOM__ '\${APPSMITH_DISABLE_INTERCOM}';
sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '\${APPSMITH_FORM_LOGIN_DISABLED}';
sub_filter __APPSMITH_SIGNUP_DISABLED__ '\${APPSMITH_SIGNUP_DISABLED}';
sub_filter __BMAP_AK__ '\${BMAP_AK}';
sub_filter __APPSMITH_BMAP_AK__ '\${APPSMITH_BMAP_AK}';
}
@ -74,6 +74,10 @@ $NGINX_SSL_CMNT server_name $custom_domain ;
location /login {
proxy_pass http://appsmith-internal-server:8080;
}
location /data-gl {
proxy_pass https://echarts.apache.org/examples/data-gl;
}
}
$NGINX_SSL_CMNT server {
@ -119,6 +123,7 @@ $NGINX_SSL_CMNT sub_filter __APPSMITH_RECAPTCHA_ENABLED__ '\${APPSMITH_RE
$NGINX_SSL_CMNT sub_filter __APPSMITH_DISABLE_INTERCOM__ '\${APPSMITH_DISABLE_INTERCOM}';
$NGINX_SSL_CMNT sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '\${APPSMITH_FORM_LOGIN_DISABLED}';
$NGINX_SSL_CMNT sub_filter __APPSMITH_SIGNUP_DISABLED__ '\${APPSMITH_SIGNUP_DISABLED}';
$NGINX_SSL_CMNT sub_filter __APPSMITH_BMAP_AK__ '\${APPSMITH_BMAP_AK}';
$NGINX_SSL_CMNT }
$NGINX_SSL_CMNT
$NGINX_SSL_CMNT location /api {
@ -133,5 +138,9 @@ $NGINX_SSL_CMNT location /login {
$NGINX_SSL_CMNT proxy_pass http://appsmith-internal-server:8080;
$NGINX_SSL_CMNT }
$NGINX_SSL_CMNT
$NGINX_SSL_CMNT location /data-gl {
$NGINX_SSL_CMNT proxy_pass https://echarts.apache.org/examples/data-gl;
$NGINX_SSL_CMNT }
$NGINX_SSL_CMNT
$NGINX_SSL_CMNT }
EOF