diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/types.ts b/superset-frontend/packages/superset-ui-chart-controls/src/types.ts index 115eb0b65b65..3d009d5ad220 100644 --- a/superset-frontend/packages/superset-ui-chart-controls/src/types.ts +++ b/superset-frontend/packages/superset-ui-chart-controls/src/types.ts @@ -572,6 +572,7 @@ export type ControlFormItemSpec = { creatable?: boolean; minWidth?: number | string; validators?: ControlFormValueValidator[]; + tokenSeparators?: string[]; } : T extends 'RadioButtonControl' ? { diff --git a/superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx b/superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx new file mode 100644 index 000000000000..8d09344a15df --- /dev/null +++ b/superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx @@ -0,0 +1,33 @@ +/** + * 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. + */ + +import { SHARED_COLUMN_CONFIG_PROPS } from './constants'; + +const tokenSeparators = + SHARED_COLUMN_CONFIG_PROPS.d3NumberFormat.tokenSeparators; + +test('should allow commas in D3 format inputs', () => { + expect(tokenSeparators).toBeDefined(); + expect(tokenSeparators).not.toContain(','); +}); + +test('should have correct default token separators', () => { + const expectedSeparators = ['\r\n', '\n', '\t', ';']; + expect(tokenSeparators).toEqual(expectedSeparators); +}); diff --git a/superset-frontend/src/explore/components/controls/ColumnConfigControl/constants.tsx b/superset-frontend/src/explore/components/controls/ColumnConfigControl/constants.tsx index 1275242fe7b8..19cc7a2e5b9e 100644 --- a/superset-frontend/src/explore/components/controls/ColumnConfigControl/constants.tsx +++ b/superset-frontend/src/explore/components/controls/ColumnConfigControl/constants.tsx @@ -58,6 +58,8 @@ const d3NumberFormat: ControlFormItemSpec<'Select'> = { creatable: true, minWidth: '14em', debounceDelay: 500, + // default value tokenSeparators in superset-frontend/packages/superset-ui-core/src/components/Select/constants.ts + tokenSeparators: ['\r\n', '\n', '\t', ';'], }; const d3TimeFormat: ControlFormItemSpec<'Select'> = {