Skip to content

Commit

Permalink
fix: Hide "Append Command" button when viewing partition aware table …
Browse files Browse the repository at this point in the history
…in iframe UI (#1495)

* Currently, viewing a partition aware table in the iframe UI will show
the "Append Command" button even though there is no console session to
append the command to.
* Changed the partition selector to only render the "Append Command"
button when no `onPartitionAppend` prop is provided to IrisGrid. The
"Append Command" button should now be available in the IDE but not the
iframe UI.

* Resolves #1414
  • Loading branch information
georgecwan authored Sep 11, 2023
1 parent 848fef4 commit d15d6b1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 15 deletions.
12 changes: 8 additions & 4 deletions packages/iris-grid/src/IrisGrid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ export interface IrisGridProps {
onError: (error: unknown) => void;
onDataSelected: (index: ModelIndex, map: Record<ColumnName, unknown>) => void;
onStateChange: (irisGridState: IrisGridState, gridState: GridState) => void;
onPartitionAppend: (partitionColumn: Column, value: string) => void;
onPartitionAppend?: (partitionColumn: Column, value: string) => void;
onAdvancedSettingsChange: AdvancedSettingsMenuCallback;
partition: string | null;
partitionColumn: Column | null;
Expand Down Expand Up @@ -459,7 +459,6 @@ export class IrisGrid extends Component<IrisGridProps, IrisGridState> {
onDataSelected: (): void => undefined,
onError: (): void => undefined,
onStateChange: (): void => undefined,
onPartitionAppend: (): void => undefined,
onAdvancedSettingsChange: (): void => undefined,
partition: null,
partitionColumn: null,
Expand Down Expand Up @@ -2336,7 +2335,7 @@ export class IrisGrid extends Component<IrisGridProps, IrisGridState> {
if (partitionColumn == null) {
return;
}
onPartitionAppend(partitionColumn, value);
onPartitionAppend?.(partitionColumn, value);
}

handlePartitionChange(partition: string): void {
Expand Down Expand Up @@ -3865,6 +3864,7 @@ export class IrisGrid extends Component<IrisGridProps, IrisGridState> {
onAdvancedSettingsChange,
canDownloadCsv,
onCreateChart,
onPartitionAppend,
} = this.props;
const {
metricCalculator,
Expand Down Expand Up @@ -4421,7 +4421,11 @@ export class IrisGrid extends Component<IrisGridProps, IrisGridState> {
partition={partition}
onChange={this.handlePartitionChange}
onFetchAll={this.handlePartitionFetchAll}
onAppend={this.handlePartitionAppend}
onAppend={
onPartitionAppend !== undefined
? this.handlePartitionAppend
: undefined
}
onDone={this.handlePartitionDone}
/>
)}
Expand Down
24 changes: 13 additions & 11 deletions packages/iris-grid/src/IrisGridPartitionSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ interface IrisGridPartitionSelectorProps<T> {
table: Table;
columnName: ColumnName;
partition: string;
onAppend: (partition: string) => void;
onAppend?: (partition: string) => void;
onFetchAll: () => void;
onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;
onChange: (partition: string) => void;
Expand All @@ -31,7 +31,6 @@ class IrisGridPartitionSelector<T> extends Component<
IrisGridPartitionSelectorState
> {
static defaultProps = {
onAppend: (): void => undefined,
onChange: (): void => undefined,
onFetchAll: (): void => undefined,
onDone: (): void => undefined,
Expand Down Expand Up @@ -73,7 +72,7 @@ class IrisGridPartitionSelector<T> extends Component<

const { onAppend } = this.props;
const { partition } = this.state;
onAppend(partition);
onAppend?.(partition);
}

handleCloseClick(): void {
Expand Down Expand Up @@ -155,7 +154,8 @@ class IrisGridPartitionSelector<T> extends Component<
}

render(): JSX.Element {
const { columnName, dh, getFormattedString, onDone, table } = this.props;
const { columnName, dh, getFormattedString, onAppend, onDone, table } =
this.props;
const { partition } = this.state;
const partitionSelectorSearch = (
<PartitionSelectorSearch
Expand Down Expand Up @@ -205,13 +205,15 @@ class IrisGridPartitionSelector<T> extends Component<
>
Ignore &amp; Fetch All
</button>
<button
type="button"
className="btn btn-outline-primary btn-append"
onClick={this.handleAppendClick}
>
Append Command
</button>
{onAppend !== undefined && (
<button
type="button"
className="btn btn-outline-primary btn-append"
onClick={this.handleAppendClick}
>
Append Command
</button>
)}
<button
type="button"
className="btn btn-link btn-link-icon btn-close"
Expand Down

0 comments on commit d15d6b1

Please sign in to comment.