e.stopPropagation()}
+ onKeyDown={handleRootKeyDown}>
+
+ Sort
+ }
+ onClick={handleClose}
+ className={styles.closeButton}
+ title={locConstants.common.close}
+ aria-label={locConstants.common.close}
+ />
+
+
+
+
+
+
+
+ }
+ onClick={handleSortDescending}
+ title={locConstants.queryResult.sortDescending}
+ aria-label={locConstants.queryResult.sortDescending}>
+ {locConstants.queryResult.sortDescending}
+
+
+ }
+ title={locConstants.queryResult.clearSort}
+ onClick={handleClearSort}
+ aria-label={locConstants.queryResult.clearSort}
+ disabled={currentSort === SortProperties.NONE}>
+ {locConstants.queryResult.removeSort}
+
+
+
+
+
+
+
Filter
+
+ {
+ searchInputRef.current = el;
+ }}
+ className={styles.searchInput}
+ appearance="outline"
+ size="small"
+ placeholder={locConstants.queryResult.search}
+ value={search}
+ onChange={handleSearchChange}
+ role="searchbox"
+ contentBefore={}
+ />
+
+
+
+ {filteredItems.length === 0 ? (
+
+ {locConstants.queryResult.noResultsToDisplay}
+
+ ) : (
+ <>
+
+
+
+ {locConstants.queryResult.selectedCount(selectedValues.size)}
+
+
+
{
+ if (focusedIndex === -1 && filteredItems.length > 0) {
+ setFocusedIndex(0);
+ }
+ }}>
+
+ {virtualizer.getVirtualItems().map((virtualItem) => {
+ const item = filteredItems[virtualItem.index];
+ const isChecked = selectedValues.has(item.value);
+ const isFocused = virtualItem.index === focusedIndex;
+ return (
+
+
updateSelection(item.value, !isChecked)}
+ onMouseEnter={() => setFocusedIndex(virtualItem.index)}>
+
+
+
+ );
+ })}
+
+
+ >
+ )}
+
+
+
+
+
+ );
+};
+
+export default ColumnMenuPopup;
diff --git a/src/reactviews/pages/QueryResult/table/plugins/cellSelectionModel.plugin.ts b/src/reactviews/pages/QueryResult/table/plugins/cellSelectionModel.plugin.ts
index 0b466192fa..6ca767699a 100644
--- a/src/reactviews/pages/QueryResult/table/plugins/cellSelectionModel.plugin.ts
+++ b/src/reactviews/pages/QueryResult/table/plugins/cellSelectionModel.plugin.ts
@@ -17,6 +17,7 @@ import { mixin } from "../objects";
import { tokens } from "@fluentui/react-components";
import { Keys } from "../../../../common/keys";
import { QueryResultReactProvider } from "../../queryResultStateProvider";
+import { HeaderMenu } from "./headerFilter.plugin";
export interface ICellSelectionModelOptions {
cellRangeSelector?: any;
@@ -50,6 +51,7 @@ export class CellSelectionModel