Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ class MockIrisGridTreeModel
throw new Error('Not defined in mock');
}

valuesTable(column: Column): Promise<never> {
valuesTable(columns: Column[]): Promise<never> {
throw new Error('Not defined in mock');
}

Expand Down
4 changes: 2 additions & 2 deletions packages/dashboard-core-plugins/src/panels/ChartPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ export interface GLChartPanelState {
sorts: unknown;
};
irisGridPanelState?: {
partitionColumn: string;
partition: unknown;
partitionColumns: string[];
partitions: unknown[];
};
table?: string;
figure?: string;
Expand Down
64 changes: 38 additions & 26 deletions packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ export interface PanelState {
};
irisGridState: DehydratedIrisGridState;
irisGridPanelState: {
partitionColumn: ColumnName | null;
partition: string | null;
partitionColumns: ColumnName[];
partitions: (string | null)[];
Comment thread
georgecwan marked this conversation as resolved.
Outdated
isSelectingPartition: boolean;
advancedSettings: [AdvancedSettingsType, boolean][];
};
Expand All @@ -129,7 +129,7 @@ export interface PanelState {
type LoadedPanelState = PanelState & {
irisGridPanelState: PanelState['irisGridPanelState'] &
Partial<
Pick<PanelState['irisGridPanelState'], 'partition' | 'partitionColumn'>
Pick<PanelState['irisGridPanelState'], 'partitions' | 'partitionColumns'>
>;
};

Expand Down Expand Up @@ -190,8 +190,8 @@ interface IrisGridPanelState {
movedColumns: readonly MoveOperation[];
movedRows: readonly MoveOperation[];
isSelectingPartition: boolean;
partition: string | null;
partitionColumn: Column | null;
partitions: (string | null)[];
partitionColumns: Column[];
rollupConfig?: UIRollupConfig;
showSearchBar: boolean;
searchValue: string;
Expand Down Expand Up @@ -298,8 +298,8 @@ export class IrisGridPanel extends PureComponent<
movedColumns: [],
movedRows: [],
isSelectingPartition: false,
partition: null,
partitionColumn: null,
partitions: [],
partitionColumns: [],
rollupConfig: undefined,
showSearchBar: false,
searchValue: '',
Expand Down Expand Up @@ -460,14 +460,14 @@ export class IrisGridPanel extends PureComponent<
(
model: IrisGridModel,
isSelectingPartition: boolean,
partition: string | null,
partitionColumn: Column | null,
partitions: (string | null)[],
partitionColumns: Column[],
advancedSettings: Map<AdvancedSettingsType, boolean>
) =>
IrisGridUtils.dehydrateIrisGridPanelState(model, {
isSelectingPartition,
partition,
partitionColumn,
partitions,
partitionColumns,
advancedSettings,
})
);
Expand Down Expand Up @@ -713,11 +713,23 @@ export class IrisGridPanel extends PureComponent<
glEventHub.emit(InputFilterEvent.TABLE_CHANGED, this, table);
}

handlePartitionAppend(column: Column, value: unknown): void {
handlePartitionAppend(columns: Column[], values: unknown[]): void {
const { glEventHub } = this.props;
const { name } = column;
const tableName = this.getTableName();
const command = `${tableName} = ${tableName}.where("${name}=\`${value}\`")`;
const filters = values
.reduce<string[]>((filterArray, value, index) => {
const column = columns[index];
if (value !== null) {
filterArray.push(
`"${column.name}=${
TableUtils.isTextType(column.type) ? `\`${value}\`` : value
}"`
);
}
return filterArray;
}, [])
.join(', ');
const command = `${tableName} = ${tableName}.where(filters=[${filters}])`;
Comment thread
georgecwan marked this conversation as resolved.
Outdated
glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, false, true);
}

Expand Down Expand Up @@ -1044,8 +1056,8 @@ export class IrisGridPanel extends PureComponent<
}
const {
isSelectingPartition,
partition,
partitionColumn,
partitions,
partitionColumns,
advancedSettings,
} = IrisGridUtils.hydrateIrisGridPanelState(model, irisGridPanelState);
assertNotNull(this.irisGridUtils);
Expand Down Expand Up @@ -1090,8 +1102,8 @@ export class IrisGridPanel extends PureComponent<
isSelectingPartition,
movedColumns,
movedRows,
partition,
partitionColumn,
partitions,
partitionColumns,
quickFilters,
reverseType,
rollupConfig,
Expand Down Expand Up @@ -1123,8 +1135,8 @@ export class IrisGridPanel extends PureComponent<
model,
panelState: oldPanelState,
isSelectingPartition,
partition,
partitionColumn,
partitions,
partitionColumns,
advancedSettings,
} = this.state;
const {
Expand Down Expand Up @@ -1159,8 +1171,8 @@ export class IrisGridPanel extends PureComponent<
this.getDehydratedIrisGridPanelState(
model,
isSelectingPartition,
partition,
partitionColumn,
partitions,
partitionColumns,
advancedSettings
),
this.getDehydratedIrisGridState(
Expand Down Expand Up @@ -1247,8 +1259,8 @@ export class IrisGridPanel extends PureComponent<
model,
movedColumns,
movedRows,
partition,
partitionColumn,
partitions,
partitionColumns,
quickFilters,
reverseType,
rollupConfig,
Expand Down Expand Up @@ -1329,8 +1341,8 @@ export class IrisGridPanel extends PureComponent<
isStuckToRight={isStuckToRight}
movedColumns={movedColumns}
movedRows={movedRows}
partition={partition}
partitionColumn={partitionColumn}
partitions={partitions}
partitionColumns={partitionColumns}
quickFilters={quickFilters}
reverseType={reverseType}
rollupConfig={rollupConfig}
Expand Down
Loading