mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-10 18:22:34 -05:00
limit the data size for chart rendering (#14949)
* limit the rows feed to charts * add telemetry and option to hide * fix typo * updates * comments * notebook fix
This commit is contained in:
35
src/sql/workbench/contrib/charts/browser/utils.ts
Normal file
35
src/sql/workbench/contrib/charts/browser/utils.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IChartsConfiguration } from 'sql/workbench/contrib/charts/browser/interfaces';
|
||||
import * as nls from 'vs/nls';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
|
||||
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
|
||||
|
||||
/**
|
||||
* Gets the max allowed row count for chart rendering.
|
||||
*/
|
||||
export function getChartMaxRowCount(configurationService: IConfigurationService): number {
|
||||
return configurationService.getValue<IChartsConfiguration>('builtinCharts').maxRowCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a toast notification about the max row count for chart has exceeded.
|
||||
*/
|
||||
export function notifyMaxRowCountExceeded(storageService: IStorageService, notificationService: INotificationService, configurationService: IConfigurationService): void {
|
||||
const storageKey = 'charts/ignoreMaxRowCountExceededNotification';
|
||||
if (!storageService.getBoolean(storageKey, StorageScope.GLOBAL, false)) {
|
||||
notificationService.prompt(Severity.Info,
|
||||
nls.localize('charts.maxAllowedRowsExceeded', "Maximum row count for built-in charts has been exceeded, only the first {0} rows are used. To configure the value, you can open user settings and search for: 'builtinCharts.maxRowCount'.", getChartMaxRowCount(configurationService)),
|
||||
[{
|
||||
label: nls.localize('charts.neverShowAgain', "Don't Show Again"),
|
||||
isSecondary: true,
|
||||
run: () => {
|
||||
storageService.store(storageKey, true, StorageScope.GLOBAL, StorageTarget.MACHINE);
|
||||
}
|
||||
}]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user