Skip to content

Commit 0f4f238

Browse files
authored
refactor: Add isOrganizeColumnsAvailable flag to IrisGrid (#2405)
Controls visiblity of the Organize Columns menu in Table Options
1 parent 90ebb08 commit 0f4f238

4 files changed

Lines changed: 24 additions & 5 deletions

File tree

packages/iris-grid/src/IrisGrid.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,7 @@ class IrisGrid extends Component<IrisGridProps, IrisGridState> {
11171117
isChartBuilderAvailable: boolean,
11181118
isCustomColumnsAvailable: boolean,
11191119
isFormatColumnsAvailable: boolean,
1120+
isOrganizeColumnsAvailable: boolean,
11201121
isRollupAvailable: boolean,
11211122
isTotalsAvailable: boolean,
11221123
isSelectDistinctAvailable: boolean,
@@ -1139,11 +1140,13 @@ class IrisGrid extends Component<IrisGridProps, IrisGridState> {
11391140
icon: dhGraphLineUp,
11401141
});
11411142
}
1142-
optionItems.push({
1143-
type: OptionType.VISIBILITY_ORDERING_BUILDER,
1144-
title: 'Organize Columns',
1145-
icon: dhEye,
1146-
});
1143+
if (isOrganizeColumnsAvailable) {
1144+
optionItems.push({
1145+
type: OptionType.VISIBILITY_ORDERING_BUILDER,
1146+
title: 'Organize Columns',
1147+
icon: dhEye,
1148+
});
1149+
}
11471150
if (isFormatColumnsAvailable) {
11481151
optionItems.push({
11491152
type: OptionType.CONDITIONAL_FORMATTING,
@@ -4715,6 +4718,7 @@ class IrisGrid extends Component<IrisGridProps, IrisGridState> {
47154718
onCreateChart !== undefined && model.isChartBuilderAvailable,
47164719
model.isCustomColumnsAvailable,
47174720
model.isFormatColumnsAvailable,
4721+
model.isOrganizeColumnsAvailable,
47184722
model.isRollupAvailable,
47194723
model.isTotalsAvailable || isRollup,
47204724
model.isSelectDistinctAvailable,

packages/iris-grid/src/IrisGridModel.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,13 @@ abstract class IrisGridModel<
428428
return false;
429429
}
430430

431+
/**
432+
* @returns True if this model should allow to organize columns
433+
*/
434+
get isOrganizeColumnsAvailable(): boolean {
435+
return false;
436+
}
437+
431438
/**
432439
* @returns True if the rollup rows functionality is available
433440
*/

packages/iris-grid/src/IrisGridTableModelTemplate.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,10 @@ class IrisGridTableModelTemplate<
460460
return true;
461461
}
462462

463+
get isOrganizeColumnsAvailable(): boolean {
464+
return true;
465+
}
466+
463467
get isTotalsAvailable(): boolean {
464468
return this.table.getTotalsTable != null;
465469
}

packages/iris-grid/src/IrisGridTreeTableModel.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,10 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate<
287287
return false;
288288
}
289289

290+
get isOrganizeColumnsAvailable(): boolean {
291+
return true;
292+
}
293+
290294
get isSelectDistinctAvailable(): boolean {
291295
return false;
292296
}

0 commit comments

Comments
 (0)