feature/21729 #2
|
@ -3,6 +3,14 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||||
# Changelog for "accounting-manager"
|
# Changelog for "accounting-manager"
|
||||||
|
|
||||||
|
|
||||||
|
## [v1.14.0] - 2021-06-28
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
- Fixed display errors generated in Root scope [#21729]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [v1.13.0] - 2021-03-23
|
## [v1.13.0] - 2021-03-23
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
|
<Changeset component="org.gcube.portlets.admin.accounting-manager.1-14-0"
|
||||||
|
date="2021-06-28">
|
||||||
|
<Change>Fixed display errors generated in Root scope [#21729]</Change>
|
||||||
|
</Changeset>
|
||||||
<Changeset component="org.gcube.portlets.admin.accounting-manager.1-13-0"
|
<Changeset component="org.gcube.portlets.admin.accounting-manager.1-13-0"
|
||||||
date="2021-03-23">
|
date="2021-03-23">
|
||||||
<Change>Migrate accounting-manager to postgresql persistence [#21013]</Change>
|
<Change>Migrate accounting-manager to postgresql persistence [#21013]</Change>
|
||||||
|
|
4
pom.xml
4
pom.xml
|
@ -15,7 +15,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.gcube.portlets.admin</groupId>
|
<groupId>org.gcube.portlets.admin</groupId>
|
||||||
<artifactId>accounting-manager</artifactId>
|
<artifactId>accounting-manager</artifactId>
|
||||||
<version>1.13.0</version>
|
<version>1.14.0</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
|
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.distribution</groupId>
|
<groupId>org.gcube.distribution</groupId>
|
||||||
<artifactId>maven-portal-bom</artifactId>
|
<artifactId>maven-portal-bom</artifactId>
|
||||||
<version>3.6.0</version>
|
<version>3.6.3</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class AccountingManagerController {
|
||||||
private BorderLayoutContainer mainPanel;
|
private BorderLayoutContainer mainPanel;
|
||||||
private AccountingMonitor accountingMonitor;
|
private AccountingMonitor accountingMonitor;
|
||||||
private EnableTabs enableTabs;
|
private EnableTabs enableTabs;
|
||||||
|
private Context availableContext;
|
||||||
|
|
||||||
public AccountingManagerController() {
|
public AccountingManagerController() {
|
||||||
eventBus = new SimpleEventBus();
|
eventBus = new SimpleEventBus();
|
||||||
|
@ -106,7 +107,7 @@ public class AccountingManagerController {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
Log.info("No valid user found: " + caught.getMessage());
|
Log.error("No valid user found: " + caught.getLocalizedMessage(), caught);
|
||||||
if (caught instanceof SessionExpiredException) {
|
if (caught instanceof SessionExpiredException) {
|
||||||
UtilsGXT3.alert("Error", "Expired Session");
|
UtilsGXT3.alert("Error", "Expired Session");
|
||||||
sessionExpiredShowDelayed();
|
sessionExpiredShowDelayed();
|
||||||
|
@ -131,7 +132,7 @@ public class AccountingManagerController {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
Log.info("No valid user found: " + caught.getMessage());
|
Log.error("Error in check root scope: " + caught.getLocalizedMessage(), caught);
|
||||||
if (caught instanceof SessionExpiredException) {
|
if (caught instanceof SessionExpiredException) {
|
||||||
UtilsGXT3.alert("Error", "Expired Session");
|
UtilsGXT3.alert("Error", "Expired Session");
|
||||||
sessionExpiredShowDelayed();
|
sessionExpiredShowDelayed();
|
||||||
|
@ -156,7 +157,7 @@ public class AccountingManagerController {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
Log.error("Error retrieving enable tabs: " + caught.getLocalizedMessage());
|
Log.error("Error retrieving enable tabs: " + caught.getLocalizedMessage(), caught);
|
||||||
if (caught instanceof SessionExpiredException) {
|
if (caught instanceof SessionExpiredException) {
|
||||||
UtilsGXT3.alert("Error", "Expired Session");
|
UtilsGXT3.alert("Error", "Expired Session");
|
||||||
sessionExpiredShowDelayed();
|
sessionExpiredShowDelayed();
|
||||||
|
@ -293,7 +294,7 @@ public class AccountingManagerController {
|
||||||
Log.debug("AccountingType: " + event.getAccountingType());
|
Log.debug("AccountingType: " + event.getAccountingType());
|
||||||
accountingStateData = accountingState.getState(event.getAccountingType());
|
accountingStateData = accountingState.getState(event.getAccountingType());
|
||||||
if (accountingStateData == null) {
|
if (accountingStateData == null) {
|
||||||
createDefaultChart(event.getAccountingType());
|
configureDefaultChart(event.getAccountingType());
|
||||||
} else {
|
} else {
|
||||||
accountingType = event.getAccountingType();
|
accountingType = event.getAccountingType();
|
||||||
StateChangeEvent stateChangeEvent = new StateChangeEvent(StateChangeType.Restore, accountingStateData);
|
StateChangeEvent stateChangeEvent = new StateChangeEvent(StateChangeType.Restore, accountingStateData);
|
||||||
|
@ -310,18 +311,51 @@ public class AccountingManagerController {
|
||||||
if (enableTabs != null && enableTabs.getTabs() != null && enableTabs.getTabs().size() > 0
|
if (enableTabs != null && enableTabs.getTabs() != null && enableTabs.getTabs().size() > 0
|
||||||
&& enableTabs.getTabs().get(0) != null) {
|
&& enableTabs.getTabs().get(0) != null) {
|
||||||
Log.debug("Create DefaultChart");
|
Log.debug("Create DefaultChart");
|
||||||
createDefaultChart(enableTabs.getTabs().get(0).getAccountingType());
|
configureDefaultChart(enableTabs.getTabs().get(0).getAccountingType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createDefaultChart(AccountingType accountingType) {
|
private void configureDefaultChart(AccountingType accountingType) {
|
||||||
accountingMonitor = new AccountingMonitor();
|
accountingMonitor = new AccountingMonitor();
|
||||||
this.accountingType = accountingType;
|
this.accountingType = accountingType;
|
||||||
|
if (availableContext == null) {
|
||||||
|
retrieveContext();
|
||||||
|
} else {
|
||||||
|
createDefaultChart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createDefaultChart() {
|
||||||
AccountingClientStateData accountingStateData = new AccountingClientStateData(accountingType, rootScope);
|
AccountingClientStateData accountingStateData = new AccountingClientStateData(accountingType, rootScope);
|
||||||
|
accountingStateData.setAvailableContext(availableContext);
|
||||||
accountingState.setState(accountingType, accountingStateData);
|
accountingState.setState(accountingType, accountingStateData);
|
||||||
|
|
||||||
retrieveFilterKey();
|
retrieveFilterKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void retrieveContext() {
|
||||||
|
|
||||||
|
AccountingManagerServiceAsync.INSTANCE.getContext(new AsyncCallback<Context>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
accountingMonitor.hide();
|
||||||
|
Log.error("Error retrieving contexts: " + caught.getLocalizedMessage(), caught);
|
||||||
|
if (caught instanceof SessionExpiredException) {
|
||||||
|
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||||
|
} else {
|
||||||
|
UtilsGXT3.alert("Error retrieving contexts ", caught.getLocalizedMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(Context result) {
|
||||||
|
Log.debug("Available Context: " + result);
|
||||||
|
availableContext = result;
|
||||||
|
createDefaultChart();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,6 +366,7 @@ public class AccountingManagerController {
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
accountingMonitor.hide();
|
accountingMonitor.hide();
|
||||||
|
Log.error("Error retrieving filter keys: " + caught.getLocalizedMessage(), caught);
|
||||||
if (caught instanceof SessionExpiredException) {
|
if (caught instanceof SessionExpiredException) {
|
||||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||||
} else {
|
} else {
|
||||||
|
@ -348,34 +383,6 @@ public class AccountingManagerController {
|
||||||
AccountingClientStateData accountingStateData = accountingState.getState(accountingType);
|
AccountingClientStateData accountingStateData = accountingState.getState(accountingType);
|
||||||
accountingStateData.setAvailableFilterKeys(result);
|
accountingStateData.setAvailableFilterKeys(result);
|
||||||
accountingState.setState(accountingType, accountingStateData);
|
accountingState.setState(accountingType, accountingStateData);
|
||||||
retrieveContext();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void retrieveContext() {
|
|
||||||
|
|
||||||
AccountingManagerServiceAsync.INSTANCE.getContext(new AsyncCallback<Context>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
accountingMonitor.hide();
|
|
||||||
if (caught instanceof SessionExpiredException) {
|
|
||||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
|
||||||
} else {
|
|
||||||
Log.error("Error retrieving contexts for " + accountingType + ":" + caught.getLocalizedMessage());
|
|
||||||
UtilsGXT3.alert("Error retrieving contexts ", caught.getLocalizedMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(Context result) {
|
|
||||||
Log.debug("Available Context: " + result);
|
|
||||||
AccountingClientStateData accountingStateData = accountingState.getState(accountingType);
|
|
||||||
accountingStateData.setAvailableContext(result);
|
|
||||||
accountingState.setState(accountingType, accountingStateData);
|
|
||||||
retrieveSpace();
|
retrieveSpace();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -383,7 +390,7 @@ public class AccountingManagerController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void retrieveSpace() {
|
private void retrieveSpace() {
|
||||||
if (rootScope) {
|
/* if (rootScope) {
|
||||||
|
|
||||||
AccountingManagerServiceAsync.INSTANCE.getSpaces(new AsyncCallback<Spaces>() {
|
AccountingManagerServiceAsync.INSTANCE.getSpaces(new AsyncCallback<Spaces>() {
|
||||||
|
|
||||||
|
@ -393,7 +400,7 @@ public class AccountingManagerController {
|
||||||
if (caught instanceof SessionExpiredException) {
|
if (caught instanceof SessionExpiredException) {
|
||||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||||
} else {
|
} else {
|
||||||
Log.error("Error retrieving sapces for " + accountingType + ":" + caught.getLocalizedMessage());
|
Log.error("Error retrieving spaces for " + accountingType + ":" + caught.getLocalizedMessage());
|
||||||
UtilsGXT3.alert("Error retrieving spaces ", caught.getLocalizedMessage());
|
UtilsGXT3.alert("Error retrieving spaces ", caught.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -407,7 +414,9 @@ public class AccountingManagerController {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
createDefaultSeriesRequest(null);
|
createDefaultSeriesRequest(null);
|
||||||
}
|
} */
|
||||||
|
createDefaultSeriesRequest(null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createDefaultSeriesRequest(Spaces spaces) {
|
private void createDefaultSeriesRequest(Spaces spaces) {
|
||||||
|
@ -838,8 +847,6 @@ public class AccountingManagerController {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void doExportRequest(ExportRequestEvent event) {
|
private void doExportRequest(ExportRequestEvent event) {
|
||||||
StringBuilder actionUrl = new StringBuilder();
|
StringBuilder actionUrl = new StringBuilder();
|
||||||
actionUrl.append(GWT.getModuleBaseURL());
|
actionUrl.append(GWT.getModuleBaseURL());
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error("Hello(): " + e.getLocalizedMessage(), e);
|
logger.error("Hello(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -130,9 +130,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("getEnableTabs(): " + e.getLocalizedMessage(), e);
|
logger.error("getEnableTabs(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,10 +152,9 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error(
|
logger.error(
|
||||||
"getClientMonitorTimeout(): " + e.getLocalizedMessage(), e);
|
"getClientMonitorTimeout(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,7 +200,7 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error("getSeries(): " + e.getLocalizedMessage(), e);
|
logger.error("getSeries(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -249,7 +247,7 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error("getSeries(): " + e.getLocalizedMessage(), e);
|
logger.error("getSeries(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -301,7 +299,7 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error("Operation Monitor(): " + e.getLocalizedMessage(), e);
|
logger.error("Operation Monitor(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -331,9 +329,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("getFilterKeys(): " + e.getLocalizedMessage(), e);
|
logger.error("getFilterKeys(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -391,9 +388,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("getFilterValues(): " + e.getLocalizedMessage(), e);
|
logger.error("getFilterValues(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -424,9 +420,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("getCategories(): " + e.getLocalizedMessage(), e);
|
logger.error("getCategories(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -450,9 +445,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("getContext(): " + e.getLocalizedMessage(), e);
|
logger.error("getContext(): " + e.getLocalizedMessage(), e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -485,9 +479,8 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
logger.error("isRootScope(): " + e.getLocalizedMessage(), e);
|
||||||
logger.error("isRoot(): " + e.getLocalizedMessage(), e);
|
throw new ServiceException(e.getLocalizedMessage(),e);
|
||||||
throw new ServiceException(e.getLocalizedMessage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -522,7 +515,6 @@ public class AccountingManagerServiceImpl extends RemoteServiceServlet
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error("SaveDataOnWorkspace(): " + e.getLocalizedMessage(), e);
|
logger.error("SaveDataOnWorkspace(): " + e.getLocalizedMessage(), e);
|
||||||
e.printStackTrace();
|
|
||||||
throw new ServiceException(e.getLocalizedMessage(), e);
|
throw new ServiceException(e.getLocalizedMessage(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,8 @@ public class BuildEnableTabs {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isRootScope) {
|
//SPACE Tab Disabled
|
||||||
|
/*if (isRootScope) {
|
||||||
boolean spaceTabPresent = false;
|
boolean spaceTabPresent = false;
|
||||||
for (EnableTab enableTab : enableTabList) {
|
for (EnableTab enableTab : enableTabList) {
|
||||||
if (enableTab.getAccountingType().compareTo(
|
if (enableTab.getAccountingType().compareTo(
|
||||||
|
@ -91,7 +92,7 @@ public class BuildEnableTabs {
|
||||||
AccountingType.SPACE, null);
|
AccountingType.SPACE, null);
|
||||||
enableTabList.add(enableTabDataSpace);
|
enableTabList.add(enableTabDataSpace);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
EnableTabs enableTabs = new EnableTabs(enableTabList);
|
EnableTabs enableTabs = new EnableTabs(enableTabList);
|
||||||
logger.debug("EnableTabsData: " + enableTabs);
|
logger.debug("EnableTabsData: " + enableTabs);
|
||||||
return enableTabs;
|
return enableTabs;
|
||||||
|
|
|
@ -98,7 +98,7 @@ defaultOptions.exporting = {
|
||||||
//enabled: true,
|
//enabled: true,
|
||||||
//filename: 'chart',
|
//filename: 'chart',
|
||||||
type: 'image/png',
|
type: 'image/png',
|
||||||
url: 'http://export.highcharts.com/',
|
url: 'https://export.highcharts.com/',
|
||||||
//width: undefined,
|
//width: undefined,
|
||||||
//scale: 2
|
//scale: 2
|
||||||
buttons: {
|
buttons: {
|
||||||
|
|
Loading…
Reference in New Issue