Skip to content

Commit

Permalink
addressing comments, linting
Browse files Browse the repository at this point in the history
  • Loading branch information
AAfghahi committed Jun 10, 2022
1 parent bf948f4 commit 4957d61
Show file tree
Hide file tree
Showing 28 changed files with 33 additions and 226 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export const TIME_FILTER_LABELS = {
time_range: t('Time Range'),
granularity_sqla: t('Time Column'),
time_grain_sqla: t('Time Grain'),
druid_time_origin: t('Origin'),
granularity: t('Time Granularity'),
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ export const legacyTimeseriesTime: ControlPanelSectionConfig = {
...baseTimeSection,
controlSetRows: [
['granularity'],
['druid_time_origin'],
['granularity_sqla'],
['time_grain_sqla'],
['time_range'],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,21 +239,6 @@ const columnsControl: typeof groupByControl = {
description: t('One or many columns to pivot as columns'),
};

const druid_time_origin: SharedControlConfig<'SelectControl'> = {
type: 'SelectControl',
freeForm: true,
label: TIME_FILTER_LABELS.druid_time_origin,
choices: [
['', 'default'],
['now', 'now'],
],
default: null,
description: t(
'Defines the origin where time buckets start, ' +
'accepts natural dates as in `now`, `sunday` or `1970-01-01`',
),
};

const granularity: SharedControlConfig<'SelectControl'> = {
type: 'SelectControl',
freeForm: true,
Expand Down Expand Up @@ -548,7 +533,6 @@ const sharedControls = {
secondary_metric: enableExploreDnd ? dnd_secondary_metric : secondary_metric,
groupby: enableExploreDnd ? dndGroupByControl : groupByControl,
columns: enableExploreDnd ? dndColumnsControl : columnsControl,
druid_time_origin,
granularity,
granularity_sqla: enableExploreDnd ? dnd_granularity_sqla : granularity_sqla,
time_grain_sqla,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
export const DTTM_ALIAS = '__timestamp';

export const EXTRA_FORM_DATA_OVERRIDE_EXTRA_KEYS: (keyof ExtraFormDataOverrideExtras)[] =
['druid_time_origin', 'relative_start', 'relative_end', 'time_grain_sqla'];
['relative_start', 'relative_end', 'time_grain_sqla'];

export const EXTRA_FORM_DATA_APPEND_KEYS: (keyof ExtraFormDataAppend)[] = [
'adhoc_filters',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,17 @@
/* eslint-disable camelcase */
import {
AppliedTimeExtras,
isDruidFormData,
QueryFormData,
QueryObjectExtras,
QueryObjectFilterClause,
TimeColumnConfigKey,
} from './types';
import { TimeGranularity } from '../time-format/types';

type ExtraFilterQueryField = {
time_range?: string;
granularity_sqla?: string;
time_grain_sqla?: string;
druid_time_origin?: string;
time_grain_sqla?: TimeGranularity;
granularity?: string;
};

Expand All @@ -58,36 +57,28 @@ export default function extractExtras(formData: QueryFormData): ExtractedExtra {
__time_range: 'time_range',
__time_col: 'granularity_sqla',
__time_grain: 'time_grain_sqla',
__time_origin: 'druid_time_origin',
__granularity: 'granularity',
};

(formData.extra_filters || []).forEach(filter => {
if (filter.col in reservedColumnsToQueryField) {
const key = filter.col as TimeColumnConfigKey;
const queryField = reservedColumnsToQueryField[key];
extract[queryField] = filter.val as string;
extract[queryField] = filter.val as TimeGranularity;
applied_time_extras[key] = filter.val as string;
} else {
filters.push(filter);
}
});

// map to undeprecated names and remove deprecated fields
if (isDruidFormData(formData) && !extract.druid_time_origin) {
extras.druid_time_origin = formData.druid_time_origin;
delete extract.druid_time_origin;
} else {
// SQL
extras.time_grain_sqla =
extract.time_grain_sqla || formData.time_grain_sqla;
extract.granularity =
extract.granularity_sqla ||
formData.granularity ||
formData.granularity_sqla;
delete extract.granularity_sqla;
delete extract.time_grain_sqla;
}
// SQL
extras.time_grain_sqla = extract.time_grain_sqla || formData.time_grain_sqla;
extract.granularity =
extract.granularity_sqla ||
formData.granularity ||
formData.granularity_sqla;
delete extract.granularity_sqla;
delete extract.time_grain_sqla;

return extract;
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ export type Filter = {
adhoc_filters?: AdhocFilter[];
granularity_sqla?: string;
granularity?: string;
druid_time_origin?: string;
time_grain_sqla?: string;
time_range?: string;
requiredFirst?: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export type PostProcessingPivot = _PostProcessingPivot | DefaultPostProcessing;
interface _PostProcessingProphet {
operation: 'prophet';
options: {
time_grain: TimeGranularity;
time_grain: TimeGranularity | undefined;
periods: number;
confidence_interval: number;
yearly_seasonality?: boolean | number;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,14 @@ export type ExtraFormDataAppend = {
* filter clauses can't be overridden */
export type ExtraFormDataOverrideExtras = Pick<
QueryObjectExtras,
'druid_time_origin' | 'relative_start' | 'relative_end' | 'time_grain_sqla'
'relative_start' | 'relative_end' | 'time_grain_sqla'
>;

/** These parameters override those already present in the form data/query object */
export type ExtraFormDataOverrideRegular = Partial<
Pick<SqlaFormData, 'granularity_sqla'>
> &
Partial<Pick<DruidFormData, 'granularity'>> &
Partial<Pick<SqlaFormData, 'granularity'>> &
Partial<Pick<BaseFormData, 'time_range'>> &
Partial<Pick<QueryObject, 'time_column' | 'time_grain'>>;

Expand Down Expand Up @@ -194,23 +194,18 @@ export interface SqlaFormData extends BaseFormData {
/**
* Name of the Time Column. Time column is optional.
*/
granularity?: string;
granularity_sqla?: string;
time_grain_sqla?: TimeGranularity;
time_grain_sqla?: TimeGranularity | undefined;
having?: string;
}

export type QueryFormData = DruidFormData | SqlaFormData;
export type QueryFormData = SqlaFormData;

//---------------------------------------------------
// Type guards
//---------------------------------------------------

export function isDruidFormData(
formData: QueryFormData,
): formData is DruidFormData {
return 'granularity' in formData;
}

export function isSavedMetric(metric: QueryFormMetric): metric is SavedMetric {
return typeof metric === 'string';
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ export type TimeColumnConfigKey =
| '__time_col'
| '__time_grain'
| '__time_range'
| '__time_origin'
| '__granularity';

export type AppliedTimeExtras = Partial<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@

/* eslint sort-keys: 'off' */
/** The form data defined here is based on default visualizations packaged with Apache Superset */
import { TimeGranularity } from '../../../src/time-format/types';

export const bigNumberFormData = {
datasource: '3__table',
viz_type: 'big_number',
slice_id: 54,
granularity_sqla: 'ds',
time_grain_sqla: 'P1D',
time_grain_sqla: TimeGranularity.DAY,
time_range: '100 years ago : now',
metric: 'sum__num',
adhoc_filters: [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
* under the License.
*/
import extractExtras from '../../src/query/extractExtras';
import { TimeGranularity } from '../../src/time-format/types';

describe('extractExtras', () => {
const baseQueryFormData = {
datasource: '1__table',
granularity_sqla: 'ds',
time_grain_sqla: 'PT1M',
time_grain_sqla: TimeGranularity.MINUTE,
viz_type: 'my_viz',
};

Expand Down
8 changes: 1 addition & 7 deletions superset-frontend/src/SqlLab/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,6 @@ export const table = {
referred_schema: 'carapal',
options: {},
},
{
unique: false,
column_names: ['druid_datasource_id'],
type: 'index' as ColumnKeyTypeType,
name: 'druid_datasource_id',
},
],
},
{
Expand Down Expand Up @@ -266,7 +260,7 @@ export const queries = [
userId: 1,
executedSql:
'SELECT * \nFROM (SELECT created_on, changed_on, id, slice_name, ' +
'druid_datasource_id, table_id, datasource_type, datasource_name, ' +
'table_id, datasource_type, datasource_name, ' +
'viz_type, params, created_by_fk, changed_by_fk, description, ' +
'cache_timeout, perm\nFROM superset.slices) AS inner_qry \n LIMIT 1000',
changed_on: '2016-10-19T20:56:12',
Expand Down
97 changes: 0 additions & 97 deletions superset-frontend/src/dashboard/util/filterboxMigrationHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@ interface SliceData {
granularity_sqla?: string;
time_grain_sqla?: string;
time_range?: string;
druid_time_origin?: string;
show_druid_time_granularity?: boolean;
show_druid_time_origin?: boolean;
show_sqla_time_column?: boolean;
show_sqla_time_granularity?: boolean;
viz_type: string;
Expand Down Expand Up @@ -205,12 +202,8 @@ export default function getNativeFilterConfig(
adhoc_filters = [],
datasource = '',
date_filter = false,
druid_time_origin,
filter_configs = [],
granularity,
granularity_sqla,
show_druid_time_granularity = false,
show_druid_time_origin = false,
show_sqla_time_column = false,
show_sqla_time_granularity = false,
time_grain_sqla,
Expand Down Expand Up @@ -343,96 +336,6 @@ export default function getNativeFilterConfig(
}
filterConfig.push(timeColumnFilter);
}

if (show_druid_time_granularity) {
const { scope, immune }: FilterScopeType =
scopesByChartId[TIME_FILTER_MAP.granularity] ||
DASHBOARD_FILTER_SCOPE_GLOBAL;
const druidGranularityFilter: Filter = {
id: `NATIVE_FILTER-${shortid.generate()}`,
description: 'time grain filter',
controlValues: {},
name: TIME_FILTER_LABELS.granularity,
filterType: FILTER_COMPONENT_FILTER_TYPES.FILTER_TIMEGRAIN,
targets: [
{
datasetId: parseInt(datasource.split('__')[0], 10),
},
],
cascadeParentIds: [],
defaultDataMask: {},
type: NativeFilterType.NATIVE_FILTER,
scope: {
rootPath: scope,
excluded: immune,
},
};
filterBoxToFilterComponentMap[key][TIME_FILTER_MAP.granularity] =
druidGranularityFilter.id;
const dashboardDefaultValues = getDashboardDefaultValues(
key,
TIME_FILTER_MAP.granularity,
);
if (!isEmpty(dashboardDefaultValues)) {
druidGranularityFilter.defaultDataMask = {
extraFormData: {
granularity_sqla: (dashboardDefaultValues ||
granularity) as string,
},
filterState: {
value: setValuesInArray(dashboardDefaultValues, granularity),
},
};
}
filterConfig.push(druidGranularityFilter);
}

if (show_druid_time_origin) {
const { scope, immune }: FilterScopeType =
scopesByChartId[TIME_FILTER_MAP.druid_time_origin] ||
DASHBOARD_FILTER_SCOPE_GLOBAL;
const druidOriginFilter: Filter = {
id: `NATIVE_FILTER-${shortid.generate()}`,
description: 'time column filter',
controlValues: {},
name: TIME_FILTER_LABELS.druid_time_origin,
filterType: FILTER_COMPONENT_FILTER_TYPES.FILTER_TIMECOLUMN,
targets: [
{
datasetId: parseInt(datasource.split('__')[0], 10),
},
],
cascadeParentIds: [],
defaultDataMask: {},
type: NativeFilterType.NATIVE_FILTER,
scope: {
rootPath: scope,
excluded: immune,
},
};
filterBoxToFilterComponentMap[key][
TIME_FILTER_MAP.druid_time_origin
] = druidOriginFilter.id;
const dashboardDefaultValues = getDashboardDefaultValues(
key,
TIME_FILTER_MAP.druid_time_origin,
);
if (!isEmpty(dashboardDefaultValues)) {
druidOriginFilter.defaultDataMask = {
extraFormData: {
granularity_sqla: (dashboardDefaultValues ||
druid_time_origin) as string,
},
filterState: {
value: setValuesInArray(
dashboardDefaultValues,
druid_time_origin,
),
},
};
}
filterConfig.push(druidOriginFilter);
}
}

filter_configs.forEach(config => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ export default function getFilterConfigsFromFormdata(form_data = {}) {
date_filter,
filter_configs = [],
show_druid_time_granularity,
show_druid_time_origin,
show_sqla_time_column,
show_sqla_time_granularity,
} = form_data;
Expand Down Expand Up @@ -101,13 +100,6 @@ export default function getFilterConfigsFromFormdata(form_data = {}) {
};
}

if (show_druid_time_origin) {
updatedColumns = {
...updatedColumns,
[TIME_FILTER_MAP.druid_time_origin]: form_data.druid_time_origin,
};
}

configs = {
...configs,
columns: updatedColumns,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,9 @@ export const useSimpleTabFilterProps = (props: Props) => {
operator === Operators.IS_NULL || operator === Operators.IS_NOT_NULL
);
}
return !(
props.adhocFilter.clause === CLAUSES.HAVING &&
HAVING_OPERATORS.indexOf(operator) === -1
return (
props.adhocFilter.clause !== CLAUSES.HAVING ||
HAVING_OPERATORS.indexOf(operator) !== -1
);
};
const onSubjectChange = (id: string) => {
Expand Down
Loading

0 comments on commit 4957d61

Please sign in to comment.