chore(frontend): Spelling (#19676)

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
This commit is contained in:
Josh Soref 2023-02-02 13:23:11 -05:00 committed by GitHub
parent ad1ffbd723
commit 78ede590ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
109 changed files with 201 additions and 202 deletions

View File

@ -48,10 +48,10 @@ while (directories.length) {
// directory.
const hasTypescriptFiles =
getFilesByExtensions("./", [".ts", ".tsx"]).length > 0;
const hasJavascriptFiles =
const hasJavaScriptFiles =
getFilesByExtensions("./", [".js", ".jsx"]).length > 0;
if (hasJavascriptFiles) {
if (hasJavaScriptFiles) {
console.log(
`${" ".repeat(
curDirectory.split("/").length - 1

View File

@ -347,7 +347,7 @@ export function saveNativeFilterSettings(charts: ChartSpec[]) {
}
/** ************************************************************************
* Cancel Native fitler settings
* Cancel Native filter settings
* @returns {None}
* @summary helper for cancel native filters settings
************************************************************************* */

View File

@ -84,11 +84,11 @@ export const databasesPage = {
step: '.helper-top',
selectDbStepTitle: '.select-db > h4',
preferredBlockBigQuery: '.preferred > :nth-child(1)',
prefferedBlockPostgreSQL: '.preferred > :nth-child(2)',
prefferedBlockSnowflake: '.preferred > :nth-child(3)',
prefferedBlockMySQL: '.preferred > :nth-child(4)',
prefferedBlockAthena: '.preferred > :nth-child(5)',
prefferedBlockSheets: '.preferred > :nth-child(6)',
preferredBlockPostgreSQL: '.preferred > :nth-child(2)',
preferredBlockSnowflake: '.preferred > :nth-child(3)',
preferredBlockMySQL: '.preferred > :nth-child(4)',
preferredBlockAthena: '.preferred > :nth-child(5)',
preferredBlockSheets: '.preferred > :nth-child(6)',
supportedDatabasesText: '.control-label',
orChoose: '.available-label',
dbDropdown: '[class="ant-select-selection-search-input"]',
@ -590,7 +590,7 @@ export const exploreView = {
okButton: '.ant-modal-confirm-btns .ant-btn-primary',
},
},
vizualizationTypeModal: {
visualizationTypeModal: {
vizTypeButton: dataTestLocator('viztype-selector-container'),
},
};

View File

@ -26,7 +26,7 @@ module.exports = {
'\\.svg$': '<rootDir>/spec/__mocks__/svgrMock.tsx',
'^src/(.*)$': '<rootDir>/src/$1',
'^spec/(.*)$': '<rootDir>/spec/$1',
// mapping plugins of superset-ui to souce code
// mapping plugins of superset-ui to source code
'@superset-ui/(.*)$': '<rootDir>/node_modules/@superset-ui/$1/src',
},
testEnvironment: 'jsdom',

View File

@ -30,7 +30,7 @@ const config: ControlPanelConfig = {
*
* There are several predefined controls that can be used.
* Some examples:
* - groupby: columns to group by (tranlated to GROUP BY statement)
* - groupby: columns to group by (translated to GROUP BY statement)
* - series: same as groupby, but single selection.
* - metrics: multiple metrics (translated to aggregate expression)
* - metric: sane as metrics, but single selection
@ -91,7 +91,7 @@ const config: ControlPanelConfig = {
* by the `@superset-ui/core/lib/validator`:
* - validateNonEmpty: must have at least one value
* - validateInteger: must be an integer value
* - validateNumber: must be an intger or decimal value
* - validateNumber: must be an integer or decimal value
*/
// For control input types, see: superset-frontend/src/explore/components/controls/index.js

View File

@ -21,7 +21,7 @@ import {
PostProcessingRename,
ensureIsArray,
getMetricLabel,
ComparisionType,
ComparisonType,
getXAxisLabel,
} from '@superset-ui/core';
import { PostProcessingFactory } from './types';
@ -52,9 +52,9 @@ export const renameOperator: PostProcessingFactory<PostProcessingRename> = (
(
isTimeComparison(formData, queryObject) &&
[
ComparisionType.Difference,
ComparisionType.Ratio,
ComparisionType.Percentage,
ComparisonType.Difference,
ComparisonType.Ratio,
ComparisonType.Percentage,
].includes(formData.comparison_type)
)
) &&
@ -68,7 +68,7 @@ export const renameOperator: PostProcessingFactory<PostProcessingRename> = (
// we will rename the "metric" from the metricWithOffset label
// for example: "count__1 year ago" => "1 year ago"
isTimeComparison(formData, queryObject) &&
formData.comparison_type === ComparisionType.Values
formData.comparison_type === ComparisonType.Values
) {
const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
const timeOffsets = ensureIsArray(formData.time_compare);

View File

@ -17,7 +17,7 @@
* specific language governing permissions and limitationsxw
* under the License.
*/
import { ComparisionType, PostProcessingCompare } from '@superset-ui/core';
import { ComparisonType, PostProcessingCompare } from '@superset-ui/core';
import { getMetricOffsetsMap, isTimeComparison } from './utils';
import { PostProcessingFactory } from './types';
@ -28,7 +28,7 @@ export const timeCompareOperator: PostProcessingFactory<PostProcessingCompare> =
if (
isTimeComparison(formData, queryObject) &&
comparisonType !== ComparisionType.Values
comparisonType !== ComparisonType.Values
) {
return {
operation: 'compare',

View File

@ -21,7 +21,7 @@ import {
ensureIsArray,
JsonObject,
QueryFormData,
ComparisionType,
ComparisonType,
} from '@superset-ui/core';
import { isString } from 'lodash';
@ -30,7 +30,7 @@ export const isDerivedSeries = (
formData: QueryFormData,
): boolean => {
const comparisonType = formData.comparison_type;
if (comparisonType !== ComparisionType.Values) {
if (comparisonType !== ComparisonType.Values) {
return false;
}

View File

@ -17,7 +17,7 @@
* specific language governing permissions and limitationsxw
* under the License.
*/
import { ComparisionType } from '@superset-ui/core';
import { ComparisonType } from '@superset-ui/core';
import { getMetricOffsetsMap } from './getMetricOffsetsMap';
import { PostProcessingFactory } from '../types';
@ -29,7 +29,7 @@ export const isTimeComparison: PostProcessingFactory<boolean> = (
const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
return (
Object.values(ComparisionType).includes(comparisonType) &&
Object.values(ComparisonType).includes(comparisonType) &&
metricOffsetMap.size > 0
);
};

View File

@ -17,7 +17,7 @@
* under the License.
*/
import React from 'react';
import { t, RollingType, ComparisionType } from '@superset-ui/core';
import { t, RollingType, ComparisonType } from '@superset-ui/core';
import { ControlPanelSectionConfig } from '../types';
import { formatSelectOptions } from '../utils';
@ -137,10 +137,10 @@ export const advancedAnalyticsControls: ControlPanelSectionConfig = {
label: t('Calculation type'),
default: 'values',
choices: [
[ComparisionType.Values, t('Actual values')],
[ComparisionType.Difference, t('Difference')],
[ComparisionType.Percentage, t('Percentage change')],
[ComparisionType.Ratio, t('Ratio')],
[ComparisonType.Values, t('Actual values')],
[ComparisonType.Difference, t('Difference')],
[ComparisonType.Percentage, t('Percentage change')],
[ComparisonType.Ratio, t('Ratio')],
],
description: t(
'How to display time shifts: as individual lines; as the ' +

View File

@ -149,7 +149,7 @@ export const SHARED_COLUMN_CONFIG_PROPS = {
label: t('Small number format'),
description: t(
'D3 number format for numbers between -1.0 and 1.0, ' +
'useful when you want to have different siginificant digits for small and large numbers',
'useful when you want to have different significant digits for small and large numbers',
),
},
d3TimeFormat,

View File

@ -40,7 +40,7 @@ import {
getSequentialSchemeRegistry,
SequentialScheme,
legacyValidateInteger,
ComparisionType,
ComparisonType,
isAdhocColumn,
isPhysicalColumn,
ensureIsArray,
@ -308,7 +308,7 @@ const y_axis_format: SharedControlConfig<'SelectControl', SelectDefaultOption> =
option.label.includes(search) || option.value.includes(search),
mapStateToProps: state => {
const isPercentage =
state.controls?.comparison_type?.value === ComparisionType.Percentage;
state.controls?.comparison_type?.value === ComparisonType.Percentage;
return {
choices: isPercentage
? D3_FORMAT_OPTIONS.filter(option => option[0].includes('%'))

View File

@ -92,7 +92,7 @@ export interface ControlPanelState {
}
/**
* The action dispather will call Redux `dispatch` internally and return what's
* The action dispatcher will call Redux `dispatch` internally and return what's
* returned from `dispatch`, which by default is the original or another action.
*/
export interface ActionDispatcher<
@ -200,7 +200,7 @@ export type TabOverride = 'data' | 'customize' | boolean;
tab, or 'customize' if you want it to show up on that tam. Otherwise sections with ALL
`renderTrigger: true` components will show up on the `Customize` tab.
* - visibility: a function that uses control panel props to check whether a control should
* be visibile.
* be visible.
*/
export interface BaseControlConfig<
T extends ControlType = ControlType,

View File

@ -74,7 +74,7 @@ export function expandControlConfig(
// {
// name: 'metric',
// config: {
// type: 'SelectControl' | SelectComonent
// type: 'SelectControl' | SelectComponent
// }
// }
if ('name' in control && 'config' in control) {

View File

@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
import { ComparisionType, QueryObject, SqlaFormData } from '@superset-ui/core';
import { ComparisonType, QueryObject, SqlaFormData } from '@superset-ui/core';
import { renameOperator } from '@superset-ui/chart-controls';
const formData: SqlaFormData = {
@ -74,9 +74,9 @@ test('should skip renameOperator if does not exist x_axis and is_timeseries', ()
test('should skip renameOperator if exists derived metrics', () => {
[
ComparisionType.Difference,
ComparisionType.Ratio,
ComparisionType.Percentage,
ComparisonType.Difference,
ComparisonType.Ratio,
ComparisonType.Percentage,
].forEach(type => {
expect(
renameOperator(
@ -145,7 +145,7 @@ test('should add renameOperator if exist "actual value" time comparison', () =>
{
...formData,
...{
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
time_compare: ['1 year ago', '1 year later'],
},
},

View File

@ -107,8 +107,8 @@ test('rolling_type: sum/mean/std', () => {
});
test('should append compared metrics when sets time compare type', () => {
const comparisionTypes = ['values', 'difference', 'percentage', 'ratio'];
comparisionTypes.forEach(cType => {
const comparisonTypes = ['values', 'difference', 'percentage', 'ratio'];
comparisonTypes.forEach(cType => {
expect(
rollingWindowOperator(
{

View File

@ -90,8 +90,8 @@ test('should skip CompareOperator', () => {
});
test('should generate difference/percentage/ratio CompareOperator', () => {
const comparisionTypes = ['difference', 'percentage', 'ratio'];
comparisionTypes.forEach(cType => {
const comparisonTypes = ['difference', 'percentage', 'ratio'];
comparisonTypes.forEach(cType => {
expect(
timeCompareOperator(
{

View File

@ -17,7 +17,7 @@
* under the License.
*/
import { isDerivedSeries } from '@superset-ui/chart-controls';
import { SqlaFormData, ComparisionType } from '@superset-ui/core';
import { SqlaFormData, ComparisonType } from '@superset-ui/core';
const formData: SqlaFormData = {
datasource: 'foo',
@ -31,15 +31,15 @@ const series = {
test('should be false if comparison type is not actual values', () => {
expect(isDerivedSeries(series, formData)).toEqual(false);
Object.keys(ComparisionType)
.filter(type => type === ComparisionType.Values)
Object.keys(ComparisonType)
.filter(type => type === ComparisonType.Values)
.forEach(type => {
const formDataWithComparisionType = {
const formDataWithComparisonType = {
...formData,
comparison_type: type,
time_compare: ['1 month ago'],
};
expect(isDerivedSeries(series, formDataWithComparisionType)).toEqual(
expect(isDerivedSeries(series, formDataWithComparisonType)).toEqual(
false,
);
});
@ -48,7 +48,7 @@ test('should be false if comparison type is not actual values', () => {
test('should be true if comparison type is values', () => {
const formDataWithActualTypes = {
...formData,
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
time_compare: ['1 month ago', '1 month later'],
};
expect(isDerivedSeries(series, formDataWithActualTypes)).toEqual(true);
@ -62,7 +62,7 @@ test('should be false if series name does not match time_compare', () => {
};
const formDataWithActualTypes = {
...formData,
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
time_compare: ['1 month ago', '1 month later'],
};
expect(isDerivedSeries(arbitrary_series, formDataWithActualTypes)).toEqual(
@ -78,7 +78,7 @@ test('should be false if time compare is not suffix', () => {
};
const formDataWithActualTypes = {
...formData,
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
time_compare: ['1 month ago', '1 month later'],
};
expect(isDerivedSeries(series, formDataWithActualTypes)).toEqual(false);
@ -92,7 +92,7 @@ test('should be false if series name invalid', () => {
};
const formDataWithActualTypes = {
...formData,
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
time_compare: ['1 month ago', '1 month later'],
};
expect(isDerivedSeries(series, formDataWithActualTypes)).toEqual(false);

View File

@ -61,7 +61,7 @@ export type Props = Omit<SuperChartCoreProps, 'chartProps'> &
FallbackComponent?: React.ComponentType<FallbackPropsWithDimension>;
/** Event listener for unexpected errors from chart */
onErrorBoundary?: ErrorBoundaryProps['onError'];
/** Prop for form plugins uisng superchart */
/** Prop for form plugins using superchart */
showOverflow?: boolean;
/** Prop for popovercontainer ref */
parentRef?: RefObject<any>;

View File

@ -106,7 +106,7 @@ export function evalExpression(expression: string, value: number): number {
const subExpressions = String(parsedExpression).split('=');
parsedExpression = subExpressions[1] ?? subExpressions[0];
// we can ignore the type requirement on `TOKENS`, as value is always `number`
// and doesn't need to consider `number | underfined`.
// and doesn't need to consider `number | undefined`.
// @ts-ignore
return Number(mexp.eval(parsedExpression, TOKENS, { x: value }));
}

View File

@ -103,7 +103,7 @@ export default function buildQueryObject<T extends QueryFormData>(
let queryObject: QueryObject = {
// fallback `null` to `undefined` so they won't be sent to the backend
// (JSON.strinify will ignore `undefined`.)
// (JSON.stringify will ignore `undefined`.)
time_range: time_range || undefined,
since: since || undefined,
until: until || undefined,

View File

@ -56,7 +56,7 @@ export default function normalizeOrderBy(
};
}
// todo: Removed `legacy_ordery_by` after refactoring
// todo: Removed `legacy_order_by` after refactoring
if (
queryObject.legacy_order_by !== undefined &&
queryObject.legacy_order_by !== null &&

View File

@ -29,7 +29,7 @@ export interface RollingWindow {
min_periods?: number;
}
export enum ComparisionType {
export enum ComparisonType {
Values = 'values',
Difference = 'difference',
Percentage = 'percentage',
@ -37,7 +37,7 @@ export enum ComparisionType {
}
export interface TimeCompare {
time_compare?: string;
comparison_type?: ComparisionType;
comparison_type?: ComparisonType;
}
export default {};

View File

@ -18,7 +18,7 @@
*/
import { JsonObject } from '../../connection';
import { TimeGranularity } from '../../time-format';
import { RollingType, ComparisionType } from './AdvancedAnalytics';
import { RollingType, ComparisonType } from './AdvancedAnalytics';
export type NumpyFunction =
| 'average'
@ -57,7 +57,7 @@ export interface Aggregates {
[colname: string]: {
operator: NumpyFunction;
/**
* the name of the column to generate aggrates from.
* the name of the column to generate aggregates from.
*/
column?: string;
options?: JsonObject;
@ -171,7 +171,7 @@ export interface _PostProcessingCompare {
options: {
source_columns: string[];
compare_columns: string[];
compare_type: Omit<ComparisionType, ComparisionType.Values>;
compare_type: Omit<ComparisonType, ComparisonType.Values>;
drop_original_columns: boolean;
};
}

View File

@ -22,4 +22,4 @@ export * from './types';
export default {};
export { default as __hack_reexport_trasnslation } from './types';
export { default as __hack_reexport_translation } from './types';

View File

@ -404,7 +404,7 @@ describe('Registry', () => {
expect(listener).toBeCalledWith(['foo']);
});
it('calls the listener when a value is overriden', () => {
it('calls the listener when a value is overridden', () => {
registry.registerValue('foo', 'bar');
listener.mockClear();
registry.registerValue('foo', 'baz');

View File

@ -62,7 +62,7 @@ describe('createD3NumberFormatter(config)', () => {
});
});
describe('config.description', () => {
it('set decription if specified', () => {
it('set description if specified', () => {
const formatter = createD3NumberFormatter({
description: 'lorem ipsum',
formatString: '.2f',

View File

@ -42,7 +42,7 @@ import {
PostProcessingRolling,
PostProcessingSort,
} from '@superset-ui/core';
import { ComparisionType, RollingType, TimeGranularity } from '../../../src';
import { ComparisonType, RollingType, TimeGranularity } from '../../../src';
const AGGREGATES_OPTION: Aggregates = {
bar: {
@ -74,7 +74,7 @@ const COMPARE_RULE: PostProcessingCompare = {
options: {
source_columns: ['foo'],
compare_columns: ['bar'],
compare_type: ComparisionType.Percentage,
compare_type: ComparisonType.Percentage,
drop_original_columns: false,
},
};

View File

@ -17,6 +17,6 @@
* under the License.
*/
/**
* Stub for the untypped jed module.
* Stub for the untyped jed module.
*/
declare module 'jed';

View File

@ -31,7 +31,7 @@ export const controlsShown = () => (
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorCcheme: 'd3Category10',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',

View File

@ -31,7 +31,7 @@ export const expanded = () => (
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorCcheme: 'd3Category10',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',

View File

@ -31,7 +31,7 @@ export const stackedWithYAxisBounds = () => (
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorCcheme: 'd3Category10',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',
@ -66,7 +66,7 @@ export const stackedWithYAxisBoundsMinOnly = () => (
queriesData={[{ data }]}
formData={{
bottomMargin: 'auto',
colorCcheme: 'd3Category10',
colorScheme: 'd3Category10',
contribution: false,
groupby: ['region'],
lineInterpolation: 'linear',

View File

@ -110,7 +110,7 @@ export const fixedHeight100Width = () => {
};
fixedHeight100Width.story = { name: 'fixed height, 100% width' };
export const withErrorBoundar = () => {
export const withErrorBoundary = () => {
const width = text('Vis width', '500');
const height = text('Vis height', '300');

View File

@ -191,7 +191,7 @@ export class Switchboard {
* Instead of an arguments list, arguments are supplied as a map.
*
* @param method the name of the method to call
* @param args arguments that will be supplied. Must be serializable, no functions or other nonense.
* @param args arguments that will be supplied. Must be serializable, no functions or other nonsense.
* @returns whatever is returned from the method
*/
get<T = unknown>(method: string, args: unknown = undefined): Promise<T> {

View File

@ -27,7 +27,7 @@ const metadata = new ChartMetadata({
category: t('Map'),
credits: ['https://bl.ocks.org/john-guerra'],
description: t(
"Visualizes how a single metric varies across a country's principal subdivisions (states, provinces, etc) on a chloropleth map. Each subdivision's value is elevated when you hover over the corresponding geographic boundary.",
"Visualizes how a single metric varies across a country's principal subdivisions (states, provinces, etc) on a choropleth map. Each subdivision's value is elevated when you hover over the corresponding geographic boundary.",
),
exampleGallery: [{ url: exampleUsa }, { url: exampleGermany }],
name: t('Country Map'),

View File

@ -177,7 +177,7 @@ function Heatmap(element, props) {
domain[d[k]] = (domain[d[k]] || 0) + d.v;
actualKeys[d[k]] = d[k];
});
// Not usgin object.keys() as it converts to strings
// Not using object.keys() as it converts to strings
const keys = Object.keys(actualKeys).map(s => actualKeys[s]);
if (sortMethod === 'alpha_asc') {
domain = keys.sort(cmp);

View File

@ -23,17 +23,17 @@ import Component from './ParallelCoordinates';
const ReactComponent = reactify(Component);
const ParallelCoordianes = ({ className, ...otherProps }) => (
const ParallelCoordinates = ({ className, ...otherProps }) => (
<div className={className}>
<ReactComponent {...otherProps} />
</div>
);
ParallelCoordianes.propTypes = {
ParallelCoordinates.propTypes = {
className: PropTypes.string.isRequired,
};
export default styled(ParallelCoordianes)`
export default styled(ParallelCoordinates)`
${({ theme }) => `
.superset-legacy-chart-parallel-coordinates {
div.grid {

View File

@ -26,9 +26,9 @@ import {
CategoricalColorNamespace,
} from '@superset-ui/core';
// a problem with 'd3-sankey-diagram' is that the sankey().extent() paramters, which
// a problem with 'd3-sankey-diagram' is that the sankey().extent() parameters, which
// informs the layout of the bounding box of the sankey columns, does not account
// for labels and paths which happen to be layedout outside that rectangle.
// for labels and paths which happen to be layed out outside that rectangle.
// for that reason i've selected relatively large default left/right margins, and have
// made 'margin' a property. i have raised an issue in the chart repo:
//

View File

@ -27,7 +27,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import Mousetrap from 'mousetrap';
import { t, styled } from '@superset-ui/core';
import BootrapSliderWrapper from './BootstrapSliderWrapper';
import BootstrapSliderWrapper from './BootstrapSliderWrapper';
const StyledSlider = styled.div`
${({ theme }) => `
@ -210,7 +210,7 @@ export default class PlaySlider extends React.PureComponent {
/>
</div>
<div className="play-slider-scrobbler padded">
<BootrapSliderWrapper
<BootstrapSliderWrapper
value={range ? values : values[0]}
range={range}
formatter={this.formatter}

View File

@ -40,7 +40,7 @@ import getPointsFromPolygon from '../../utils/getPointsFromPolygon';
// eslint-disable-next-line import/extensions
import fitViewport from '../../utils/fitViewport';
const DOUBLE_CLICK_TRESHOLD = 250; // milliseconds
const DOUBLE_CLICK_THRESHOLD = 250; // milliseconds
function getElevation(d, colorScaler) {
/* in deck.gl 5.3.4 (used in Superset as of 2018-10-24), if a polygon has
@ -228,7 +228,7 @@ class DeckGLPolygon extends React.Component {
const { formData, onAddFilter } = this.props;
const now = new Date();
const doubleClick = now - this.state.lastClick <= DOUBLE_CLICK_TRESHOLD;
const doubleClick = now - this.state.lastClick <= DOUBLE_CLICK_THRESHOLD;
// toggle selected polygons
const selected = [...this.state.selected];

View File

@ -119,7 +119,7 @@ const config: ControlPanelConfig = {
renderTrigger: true,
default: 250,
description: t(
'Maxium radius size of the circle, in pixels. As the zoom level changes, this ' +
'Maximum radius size of the circle, in pixels. As the zoom level changes, this ' +
'insures that the circle respects this maximum radius.',
),
},

View File

@ -121,7 +121,7 @@ export const jsColumns = {
label: t('Extra data for JS'),
default: [],
description: t(
'List of extra columns made available in Javascript functions',
'List of extra columns made available in JavaScript functions',
),
},
};
@ -129,7 +129,7 @@ export const jsColumns = {
export const jsDataMutator = {
name: 'js_data_mutator',
config: jsFunctionControl(
t('Javascript data interceptor'),
t('JavaScript data interceptor'),
t(
'Define a javascript function that receives the data array used in the visualization ' +
'and is expected to return a modified version of that array. This can be used ' +
@ -141,7 +141,7 @@ export const jsDataMutator = {
export const jsTooltip = {
name: 'js_tooltip',
config: jsFunctionControl(
t('Javascript tooltip generator'),
t('JavaScript tooltip generator'),
t(
'Define a function that receives the input and outputs the content for a tooltip',
),
@ -151,7 +151,7 @@ export const jsTooltip = {
export const jsOnclickHref = {
name: 'js_onclick_href',
config: jsFunctionControl(
t('Javascript onClick href'),
t('JavaScript onClick href'),
t('Define a function that returns a URL to navigate to when user clicks'),
),
};

View File

@ -21,7 +21,7 @@ import computeBoundsFromPoints from './computeBoundsFromPoints';
import { Point } from '../types';
export type Viewport = {
longtitude: number;
longitude: number;
latitude: number;
zoom: number;
bearing?: number;

View File

@ -20,7 +20,7 @@
import moment from 'moment';
// array with the minimum values of each part of a timestamp -- note that
// months are zero-indexed in Javascript
// months are zero-indexed in JavaScript
const truncatePartTo = [
1, // year
0, // month
@ -62,13 +62,13 @@ export function truncate(timestamp, step) {
function getStepSeconds(step, start) {
/* Return number of seconds in a step.
*
* The step might be ambigous, eg, "1 month" has a variable number of
* The step might be ambiguous, eg, "1 month" has a variable number of
* seconds, which is why we need to know the start time.
*/
const startMillliseconds = parseInt(moment(start).format('x'), 10);
const startMilliseconds = parseInt(moment(start).format('x'), 10);
const endMilliseconds = parseInt(moment(start).add(step).format('x'), 10);
return endMilliseconds - startMillliseconds;
return endMilliseconds - startMilliseconds;
}
export function getPlaySliderParams(timestamps, timeGrain) {

View File

@ -97,7 +97,7 @@ const config: ControlPanelConfig = {
renderTrigger: true,
default: true,
description: t(
'Whether to display the labels. Note that the label only displays when the the 5% ' +
'Whether to display the labels. Note that the label only displays when the 5% ' +
'threshold.',
),
},

View File

@ -29,12 +29,12 @@ export default function buildQuery(formData: QueryFormData) {
return buildQueryContext(formData, baseQueryObject => {
let { metrics, orderby = [] } = baseQueryObject;
metrics = metrics || [];
// orverride orderby with timeseries metric
// override orderby with timeseries metric
if (sortByMetric) {
orderby = [[sortByMetric, false]];
} else if (metrics?.length > 0) {
// default to ordering by first metric in descending order
// when no "sort by" metric is set (regargless if "SORT DESC" is set to true)
// when no "sort by" metric is set (regardless if "SORT DESC" is set to true)
orderby = [[metrics[0], false]];
}
return [

View File

@ -2,7 +2,7 @@
* 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
* regardin
* regarding
* g 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

View File

@ -161,7 +161,7 @@ const controlPanel: ControlPanelConfig = {
['right', t('right')],
['bottom', t('bottom')],
],
description: t('Position of intermidiate node label on tree'),
description: t('Position of intermediate node label on tree'),
},
},
],

View File

@ -2,7 +2,7 @@
* 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
* regardin
* regarding
* g 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
@ -50,7 +50,7 @@ export default class EchartsTreemapChartPlugin extends ChartPlugin<
category: t('Part of a Whole'),
credits: ['https://echarts.apache.org'],
description: t(
'Show hierarchical relationships of data, with with the value represented by area, showing proportion and contribution to the whole.',
'Show hierarchical relationships of data, with the value represented by area, showing proportion and contribution to the whole.',
),
exampleGallery: [{ url: example1 }, { url: example2 }],
name: t('Treemap'),

View File

@ -17,7 +17,7 @@
* under the License.
*/
import {
ComparisionType,
ComparisonType,
FreeFormAdhocFilter,
RollingType,
TimeGranularity,
@ -72,14 +72,14 @@ const formDataMixedChartWithAA = {
...formDataMixedChart,
rolling_type: RollingType.Cumsum,
time_compare: ['1 years ago'],
comparison_type: ComparisionType.Values,
comparison_type: ComparisonType.Values,
resample_rule: '1AS',
resample_method: 'zerofill',
rolling_type_b: RollingType.Sum,
rolling_periods_b: 1,
min_periods_b: 1,
comparison_type_b: ComparisionType.Difference,
comparison_type_b: ComparisonType.Difference,
time_compare_b: ['3 years ago'],
resample_rule_b: '1A',
resample_method_b: 'asfreq',

View File

@ -20,7 +20,7 @@ import { ChartProps, QueryFormData, supersetTheme } from '@superset-ui/core';
import { HandlebarsQueryFormData } from '../../src/types';
import transformProps from '../../src/plugin/transformProps';
describe('Handlebars tranformProps', () => {
describe('Handlebars transformProps', () => {
const formData: HandlebarsQueryFormData = {
colorScheme: 'bnbColors',
datasource: '3__table',
@ -40,7 +40,7 @@ describe('Handlebars tranformProps', () => {
theme: supersetTheme,
});
it('should tranform chart props for viz', () => {
it('should transform chart props for viz', () => {
expect(transformProps(chartProps)).toEqual(
expect.objectContaining({
width: 800,

View File

@ -478,7 +478,7 @@ export default function TableChart<D extends DataRecord = DataRecord>(
// eslint-disable-next-line react/no-danger
return <StyledCell {...cellProps} dangerouslySetInnerHTML={html} />;
}
// If cellProps renderes textContent already, then we don't have to
// If cellProps renders textContent already, then we don't have to
// render `Cell`. This saves some time for large tables.
return (
<StyledCell {...cellProps}>

View File

@ -71,12 +71,12 @@ const buildQuery: BuildQuery<TableChartFormData> = (
if (queryMode === QueryMode.aggregate) {
metrics = metrics || [];
// orverride orderby with timeseries metric when in aggregation mode
// override orderby with timeseries metric when in aggregation mode
if (sortByMetric) {
orderby = [[sortByMetric, !orderDesc]];
} else if (metrics?.length > 0) {
// default to ordering by first metric in descending order
// when no "sort by" metric is set (regargless if "SORT DESC" is set to true)
// when no "sort by" metric is set (regardless if "SORT DESC" is set to true)
orderby = [[metrics[0], false]];
}
// add postprocessing for percent metrics only when in aggregation mode

View File

@ -43,7 +43,7 @@ function isCompatibleDomainOrRange(
}
/**
* Convert encodeable scale object into @data-ui's scale config
* Convert encodable scale object into @data-ui's scale config
* @param scale
*/
export default function convertScaleToDataUIScale<Output extends Value>(

View File

@ -90,7 +90,7 @@ export type SupersetStyledSelectProps<
// callback for paste event
onPaste?: (e: SyntheticEvent) => void;
forceOverflow?: boolean;
// for simplier theme overrides
// for simpler theme overrides
themeConfig?: PartialThemeConfig;
stylesConfig?: PartialStylesConfig;
};
@ -185,7 +185,7 @@ function styled<
// `value` may be rendered values (strings), we want option objects
const value: OptionType[] = findValue(value_, options || [], valueKey);
// Add backward compability to v1 API
// Add backward compatibility to v1 API
const isMulti = isMulti_ === undefined ? multi : isMulti_;
const isClearable = isClearable_ === undefined ? clearable : isClearable_;

View File

@ -60,7 +60,6 @@ describe('LabeledErrorBoundInput', () => {
expect(textboxInput).toBeVisible();
expect(errorText).toBeVisible();
});
it('renders a LabeledErrorBoundInput with a InfoTooltip', async () => {
defaultProps.hasTooltip = true;
render(<LabeledErrorBoundInput {...defaultProps} />);

View File

@ -344,7 +344,7 @@ export function useListViewState({
const applyFilterValue = (index: number, value: any) => {
setInternalFilters(currentInternalFilters => {
// skip redunundant updates
// skip redundant updates
if (currentInternalFilters[index].value === value) {
return currentInternalFilters;
}

View File

@ -158,7 +158,7 @@ const mountHeader = (type: String) => {
header = (
<ControlHeader
label="Control header"
warning="Example of warning messsage"
warning="Example of warning message"
/>
);
}

File diff suppressed because one or more lines are too long

View File

@ -232,7 +232,7 @@ const SliceHeader: FC<SliceHeaderProps> = ({
)}
{!!Object.values(annotationError).length && (
<Tooltip
id="annoation-errors-tooltip"
id="annotation-errors-tooltip"
placement="top"
title={annotationsError}
>

View File

@ -19,7 +19,7 @@
import handleHover from './handleHover';
import handleDrop from './handleDrop';
// note: the 'type' hook is not useful for us as dropping is contigent on other properties
// note: the 'type' hook is not useful for us as dropping is contingent on other properties
const TYPE = 'DRAG_DROPPABLE';
export const dragConfig = [

View File

@ -211,7 +211,7 @@ class Chart extends React.Component {
for (let i = 0; i < SHOULD_UPDATE_ON_PROP_CHANGES.length; i += 1) {
const prop = SHOULD_UPDATE_ON_PROP_CHANGES[i];
// use deep objects equality comparison to prevent
// unneccessary updates when objects references change
// unnecessary updates when objects references change
if (!areObjectsEqual(nextProps[prop], this.props[prop])) {
return true;
}

View File

@ -40,7 +40,7 @@ import { nativeFilters } from 'spec/fixtures/mockNativeFilters';
import { initialState } from 'src/SqlLab/fixtures';
describe('Tabs', () => {
fetchMock.post('glob:*/r/shortner/', {});
fetchMock.post('glob:*/r/shortener/', {});
const props = {
id: 'TABS_ID',

View File

@ -129,7 +129,7 @@ export default function getControlItemsMap({
doesColumnMatchFilterType(formFilter?.filterType || '', column)
}
onChange={() => {
// We need reset default value when when column changed
// We need reset default value when column changed
setNativeFilterFieldValues(form, filterId, {
defaultDataMask: null,
});

View File

@ -72,7 +72,7 @@ interface PreselectedFilterColumn {
[key: string]: boolean | string | number | string[] | number[];
}
interface PreselectedFiltersMeatadata {
interface PreselectedFiltersMetadata {
[key: string]: PreselectedFilterColumn;
}
@ -97,7 +97,7 @@ enum FILTER_COMPONENT_FILTER_TYPES {
}
const getPreselectedValuesFromDashboard =
(preselectedFilters: PreselectedFiltersMeatadata) =>
(preselectedFilters: PreselectedFiltersMetadata) =>
(filterKey: string, column: string) => {
if (preselectedFilters[filterKey]?.[column]) {
// overwrite default values by dashboard default_filters
@ -154,7 +154,7 @@ const getFilterboxDependencies = (filterScopes: FilterScopesMetadata) => {
export default function getNativeFilterConfig(
chartData: SliceData[] = [],
filterScopes: FilterScopesMetadata = {},
preselectFilters: PreselectedFiltersMeatadata = {},
preselectFilters: PreselectedFiltersMetadata = {},
): Filter[] {
const filterConfig: Filter[] = [];
const filterBoxToFilterComponentMap: FilterBoxToFilterComponentMap = {};

View File

@ -61,7 +61,7 @@ describe('Control', () => {
it('render null if type is not valid', () => {
render(
setup({
type: 'UnkownControl',
type: 'UnknownControl',
}),
);
expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();

View File

@ -411,7 +411,7 @@ const ExploreChartPanel = ({
);
if (standalone) {
// dom manipulation hack to get rid of the boostrap theme's body background
// dom manipulation hack to get rid of the bootstrap theme's body background
const standaloneClass = 'background-transparent';
const bodyClasses = document.body.className.split(' ');
if (!bodyClasses.includes(standaloneClass)) {

View File

@ -59,7 +59,7 @@ const styles = {
...swatchCommon,
borderRadius: '2px',
},
checkboard: {
checkerboard: {
...swatchCommon,
background:
'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") left center',
@ -105,7 +105,7 @@ export default class ColorPickerControl extends React.Component {
content={this.renderPopover()}
>
<StyledSwatch>
<div style={styles.checkboard} />
<div style={styles.checkerboard} />
<div style={colStyle} />
</StyledSwatch>
</Popover>

View File

@ -48,7 +48,7 @@ const StyledAlert = styled(Icons.AlertSolid)`
`;
const CUSTOM_LABEL_ALERT = t(
`This color scheme is being overriden by custom label colors.
`This color scheme is being overridden by custom label colors.
Check the JSON metadata in the Advanced settings`,
);

View File

@ -30,7 +30,7 @@ export type FrameType =
export type DateTimeGrainType =
| 'second'
| 'minite'
| 'minute'
| 'hour'
| 'day'
| 'week'

View File

@ -127,7 +127,7 @@ export default class AdhocMetric {
...this,
// all duplicate metrics are not considered new by default
isNew: false,
// but still overriddable by nextFields
// but still overridable by nextFields
...nextFields,
});
}

View File

@ -30,7 +30,7 @@ jest.mock('src/utils/hostNamesConfig', () => ({
],
}));
test('Should get next diferent domain on a loop, never the first on the list', () => {
test('Should get next different domain on a loop, never the first on the list', () => {
for (let loop = 3; loop > 0; loop -= 1) {
expect(getHostName(true)).toBe('domain-b');
expect(getHostName(true)).toBe('domain-c');

View File

@ -22,7 +22,7 @@ import { getAllControlsState, getFormDataFromControls } from './controlUtils';
import { controls } from './controls';
function handleDeprecatedControls(formData) {
// Reacffectation / handling of deprecated controls
// Reaffectation / handling of deprecated controls
/* eslint-disable no-param-reassign */
// y_axis_zero was a boolean forcing 0 to be part of the Y Axis

View File

@ -25,7 +25,7 @@ import { merge } from 'lodash';
import setupClient from './setup/setupClient';
import setupColors from './setup/setupColors';
import setupFormatters from './setup/setupFormatters';
import setupDashboardComponents from './setup/setupDasboardComponents';
import setupDashboardComponents from './setup/setupDashboardComponents';
import { User } from './types/bootstrapTypes';
import { initFeatureFlags } from './featureFlags';
import getBootstrapData from './utils/getBootstrapData';

View File

@ -56,7 +56,7 @@ export function parseErrorJson(responseObject: JsonObject): ClientErrorObject {
error.error = error.description = error.errors[0].message;
error.link = error.errors[0]?.extra?.link;
}
// Marshmallow field validation returns the error mssage in the format
// Marshmallow field validation returns the error message in the format
// of { message: { field1: [msg1, msg2], field2: [msg], } }
if (!error.error && error.message) {
if (typeof error.message === 'object') {

View File

@ -274,7 +274,7 @@ function AnnotationList({
annotation={currentAnnotation}
show={annotationModalOpen}
onAnnotationAdd={() => refreshData()}
annnotationLayerId={annotationLayerId}
annotationLayerId={annotationLayerId}
onHide={() => setAnnotationModalOpen(false)}
/>
{annotationCurrentlyDeleting && (

View File

@ -80,12 +80,12 @@ describe('AnnotationModal', () => {
it('renders add header when no annotation prop is included', async () => {
const addWrapper = await mountAndWait({});
expect(
addWrapper.find('[data-test="annotaion-modal-title"]').text(),
addWrapper.find('[data-test="annotation-modal-title"]').text(),
).toEqual('Add annotation');
});
it('renders edit header when annotation prop is included', () => {
expect(wrapper.find('[data-test="annotaion-modal-title"]').text()).toEqual(
expect(wrapper.find('[data-test="annotation-modal-title"]').text()).toEqual(
'Edit annotation',
);
});

View File

@ -32,7 +32,7 @@ import { AnnotationObject } from './types';
interface AnnotationModalProps {
addDangerToast: (msg: string) => void;
addSuccessToast: (msg: string) => void;
annnotationLayerId: number;
annotationLayerId: number;
annotation?: AnnotationObject | null;
onAnnotationAdd?: (annotation?: AnnotationObject) => void;
onHide: () => void;
@ -84,7 +84,7 @@ const AnnotationContainer = styled.div`
const AnnotationModal: FunctionComponent<AnnotationModalProps> = ({
addDangerToast,
addSuccessToast,
annnotationLayerId,
annotationLayerId,
annotation = null,
onAnnotationAdd,
onHide,
@ -102,7 +102,7 @@ const AnnotationModal: FunctionComponent<AnnotationModalProps> = ({
createResource,
updateResource,
} = useSingleViewResource<AnnotationObject>(
`annotation_layer/${annnotationLayerId}/annotation`,
`annotation_layer/${annotationLayerId}/annotation`,
t('annotation'),
addDangerToast,
);
@ -273,7 +273,7 @@ const AnnotationModal: FunctionComponent<AnnotationModalProps> = ({
show={show}
width="55%"
title={
<h4 data-test="annotaion-modal-title">
<h4 data-test="annotation-modal-title">
{isEditMode ? (
<Icons.EditAlt css={StyledIcon} />
) : (

View File

@ -37,7 +37,7 @@ import Icons from 'src/components/Icons';
import { isUserAdmin } from 'src/dashboard/util/permissionUtils';
import ListView, { FilterOperator, Filters } from 'src/components/ListView';
import handleResourceExport from 'src/utils/export';
import { ExtentionConfigs } from 'src/views/components/types';
import { ExtensionConfigs } from 'src/views/components/types';
import { UserWithPermissionsAndRoles } from 'src/types/bootstrapTypes';
import type { MenuObjectProps } from 'src/types/bootstrapTypes';
import DatabaseModal from './DatabaseModal';
@ -120,7 +120,7 @@ function DatabaseList({ addDangerToast, addSuccessToast }: DatabaseListProps) {
COLUMNAR_EXTENSIONS,
EXCEL_EXTENSIONS,
ALLOWED_EXTENSIONS,
} = useSelector<any, ExtentionConfigs>(state => state.common.conf);
} = useSelector<any, ExtensionConfigs>(state => state.common.conf);
useEffect(() => {
if (query?.databaseAdded) {

View File

@ -23,7 +23,7 @@ import InfoTooltip from 'src/components/InfoTooltip';
import FormLabel from 'src/components/Form/FormLabel';
import Icons from 'src/components/Icons';
import { FieldPropTypes } from '.';
import { infoTooltip, labelMarginBotton, CredentialInfoForm } from '../styles';
import { infoTooltip, labelMarginBottom, CredentialInfoForm } from '../styles';
enum CredentialInfoOptions {
jsonUpload,
@ -66,7 +66,7 @@ export const EncryptedField = ({
{db?.engine === 'gsheets' && (
<div className="catalog-type-select">
<FormLabel
css={(theme: SupersetTheme) => labelMarginBotton(theme)}
css={(theme: SupersetTheme) => labelMarginBottom(theme)}
required
>
{t('Type of Google Sheets allowed')}

View File

@ -753,7 +753,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
}
if (dbToUpdate?.parameters?.catalog) {
// need to stringify gsheets catalog to allow it to be seralized
// need to stringify gsheets catalog to allow it to be serialized
dbToUpdate.extra = JSON.stringify({
...JSON.parse(dbToUpdate.extra || '{}'),
engine_params: {

View File

@ -32,7 +32,7 @@ export const no_margin_bottom = css`
margin-bottom: 0;
`;
export const labelMarginBotton = (theme: SupersetTheme) => css`
export const labelMarginBottom = (theme: SupersetTheme) => css`
margin-bottom: ${theme.gridUnit * 2}px;
`;

View File

@ -117,7 +117,7 @@ export enum QueryObjectColumns {
database_name = 'database.database_name',
schema = 'schema',
sql = 'sql',
executed_sql = 'exceuted_sql',
executed_sql = 'executed_sql',
sql_tables = 'sql_tables',
status = 'status',
tab_name = 'tab_name',

View File

@ -178,7 +178,7 @@ export const getUserOwnedObjects = (
endpoint: `/api/v1/${resource}/?q=${getParams(filters)}`,
}).then(res => res.json?.result);
export const getRecentAcitivtyObjs = (
export const getRecentActivityObjs = (
userId: string | number,
recent: string,
addDangerToast: (arg1: string, arg2: any) => any,

View File

@ -58,7 +58,7 @@ interface RecentDashboard extends RecentActivity {
}
/**
* Recent activity objects fetched by `getRecentAcitivtyObjs`.
* Recent activity objects fetched by `getRecentActivityObjs`.
*/
type ActivityObject =
| RecentSlice

View File

@ -38,7 +38,7 @@ import ListViewCard from 'src/components/ListViewCard';
import withToasts from 'src/components/MessageToasts/withToasts';
import {
createErrorHandler,
getRecentAcitivtyObjs,
getRecentActivityObjs,
mq,
CardContainer,
getUserOwnedObjects,
@ -228,7 +228,7 @@ function Welcome({ user, addDangerToast }: WelcomeProps) {
}
const activeTab = getItem(LocalStorageKeys.homepage_activity_filter, null);
setActiveState(collapseState.length > 0 ? collapseState : DEFAULT_TAB_ARR);
getRecentAcitivtyObjs(user.userId!, recent, addDangerToast, otherTabFilters)
getRecentActivityObjs(user.userId!, recent, addDangerToast, otherTabFilters)
.then(res => {
const data: ActivityData | null = {};
data[TableTab.Other] = res.other;

View File

@ -48,7 +48,7 @@ import LanguagePicker from './LanguagePicker';
import DatabaseModal from '../CRUD/data/database/DatabaseModal';
import { uploadUserPerms } from '../CRUD/utils';
import {
ExtentionConfigs,
ExtensionConfigs,
GlobalMenuDataOptions,
RightMenuProps,
} from './types';
@ -141,7 +141,7 @@ const RightMenu = ({
EXCEL_EXTENSIONS,
ALLOWED_EXTENSIONS,
HAS_GSHEETS_INSTALLED,
} = useSelector<any, ExtentionConfigs>(state => state.common.conf);
} = useSelector<any, ExtensionConfigs>(state => state.common.conf);
const [showDatabaseModal, setShowDatabaseModal] = useState<boolean>(false);
const [engine, setEngine] = useState<string>('');
const canSql = findPermission('can_sqllab', 'Superset', roles);

View File

@ -19,7 +19,7 @@
import { NavBarProps, MenuObjectProps } from 'src/types/bootstrapTypes';
export interface ExtentionConfigs {
export interface ExtensionConfigs {
ALLOWED_EXTENSIONS: Array<any>;
CSV_EXTENSIONS: Array<any>;
COLUMNAR_EXTENSIONS: Array<any>;

View File

@ -108,7 +108,7 @@ const plugins = [
entrypoints: entryFiles,
};
},
// Also write maniafest.json to disk when running `npm run dev`.
// Also write manifest.json to disk when running `npm run dev`.
// This is required for Flask to work.
writeToFileEmit: isDevMode && !isDevServer,
}),
@ -325,7 +325,7 @@ const config = {
transpileOnly: true,
// must override compiler options here, even though we have set
// the same options in `tsconfig.json`, because they may still
// be overriden by `tsconfig.json` in node_modules subdirectories.
// be overridden by `tsconfig.json` in node_modules subdirectories.
compilerOptions: {
esModuleInterop: false,
importHelpers: false,

View File

@ -435,7 +435,7 @@ class ChartDataRollingOptionsSchema(ChartDataPostProcessingOperationOptionsSchem
example=7,
)
rolling_type_options = fields.Dict(
desctiption="Optional options to pass to rolling method. Needed for "
description="Optional options to pass to rolling method. Needed for "
"e.g. quantile operation.",
example={},
)
@ -551,7 +551,7 @@ class ChartDataProphetOptionsSchema(ChartDataPostProcessingOperationOptionsSchem
required=True,
)
periods = fields.Integer(
descrption="Time periods (in units of `time_grain`) to predict into the future",
description="Time periods (in units of `time_grain`) to predict into the future",
min=0,
example=7,
required=True,
@ -910,7 +910,7 @@ class AnnotationLayerSchema(Schema):
)
overrides = fields.Dict(
keys=fields.String(
desciption="Name of property to be overridden",
description="Name of property to be overridden",
validate=validate.OneOf(
choices=("granularity", "time_grain_sqla", "time_range", "time_shift"),
),
@ -1298,7 +1298,7 @@ class ChartDataResponseResult(Schema):
allow_none=False,
)
stacktrace = fields.String(
desciption="Stacktrace if there was an error",
description="Stacktrace if there was an error",
allow_none=True,
)
rowcount = fields.Integer(
@ -1317,10 +1317,10 @@ class ChartDataResponseResult(Schema):
fields.Dict(), description="A list with rejected filters"
)
from_dttm = fields.Integer(
desciption="Start timestamp of time range", required=False, allow_none=True
description="Start timestamp of time range", required=False, allow_none=True
)
to_dttm = fields.Integer(
desciption="End timestamp of time range", required=False, allow_none=True
description="End timestamp of time range", required=False, allow_none=True
)

View File

@ -66,7 +66,7 @@ if feature_flags.get("VERSIONED_EXPORT"):
@click.option(
"--dashboard-file",
"-f",
help="Specify the the file to export to",
help="Specify the file to export to",
)
def export_dashboards(dashboard_file: Optional[str] = None) -> None:
"""Export dashboards to ZIP file"""
@ -101,7 +101,7 @@ if feature_flags.get("VERSIONED_EXPORT"):
@click.option(
"--datasource-file",
"-f",
help="Specify the the file to export to",
help="Specify the file to export to",
)
def export_datasources(datasource_file: Optional[str] = None) -> None:
"""Export datasources to ZIP file"""
@ -206,7 +206,7 @@ else:
"--dashboard-file",
"-f",
default=None,
help="Specify the the file to export to",
help="Specify the file to export to",
)
@click.option(
"--print_stdout",
@ -236,7 +236,7 @@ else:
"--datasource-file",
"-f",
default=None,
help="Specify the the file to export to",
help="Specify the file to export to",
)
@click.option(
"--print_stdout",

View File

@ -139,7 +139,7 @@ def import_datasource( # pylint: disable=too-many-arguments
) -> int:
"""Imports the datasource from the object to the database.
Metrics and columns and datasource will be overrided if exists.
Metrics and columns and datasource will be overridden if exists.
This function can be used to import/export datasources between multiple
superset instances. Audit metadata isn't copies over.
"""

View File

@ -90,7 +90,7 @@ position:
chartId: 3962
height: 82
sliceName: Vaccine Candidates per Approach & Stage
sliceNameOverride: Heatmap of Aproaches & Clinical Stages
sliceNameOverride: Heatmap of Approaches & Clinical Stages
uuid: 0c953c84-0c9a-418d-be9f-2894d2a2cee0
width: 4
parents:

View File

@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""rewriting url from shortner with new format
"""rewriting url from shortener with new format
Revision ID: a99f2f7c195a
Revises: 53fc3de270ae

View File

@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""cleanup_time_grainularity
"""cleanup_time_granularity
Revision ID: f9a30386bd74
Revises: b5998378c225
@ -47,7 +47,7 @@ class Slice(Base):
def upgrade():
"""
Remove any erroneous time grainularity fields from slices foor those visualization
Remove any erroneous time granularity fields from slices foor those visualization
types which do not support time granularity.
:see: https://github.com/apache/superset/pull/8674
@ -59,7 +59,7 @@ def upgrade():
bind = op.get_bind()
session = db.Session(bind=bind)
# Visualization types which support time grainularity (hence negate).
# Visualization types which support time granularity (hence negate).
viz_types = [
"area",
"bar",
@ -73,9 +73,9 @@ def upgrade():
"time_table",
]
# Erroneous time grainularity fields for either Druid NoSQL or SQL slices which do
# not support time grainularity.
erroneous = ["grainularity", "time_grain_sqla"]
# Erroneous time granularity fields for either Druid NoSQL or SQL slices which do
# not support time granularity.
erroneous = ["granularity", "time_grain_sqla"]
for slc in session.query(Slice).filter(Slice.viz_type.notin_(viz_types)).all():
try:

View File

@ -101,7 +101,7 @@ def update_position_json(dashboard, session, uuid_map):
def update_dashboards(session, uuid_map):
message = (
"Updating dasboard position json with slice uuid.."
"Updating dashboard position json with slice uuid.."
if uuid_map
else "Cleaning up slice uuid from dashboard position json.."
)

View File

@ -91,7 +91,7 @@ def downgrade():
for dashboard in session.query(Dashboard).all():
logger.info(
"[RemoveTypeToNativeFilter] Updating Dashobard<pk:%s>",
"[RemoveTypeToNativeFilter] Updating Dashboard<pk:%s>",
dashboard.id,
)
if not dashboard.json_metadata:

View File

@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""add_embedded_dahshoard_table
"""add_embedded_dashboard_table
Revision ID: 5afbb1a5849b
Revises: 5fd49410a97a

View File

@ -18,7 +18,7 @@
#}
{#
This file may be overriden in your custom deployment.
This file may be overridden in your custom deployment.
It will be included in every view in superset and is a
good place to include your custom frontend code, such as
scripts to initialize google analytics, intercom, segment, etc.

Some files were not shown because too many files have changed in this diff Show More