mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-30 06:11:38 +00:00
* Initial implementation of saving split value to local storage
* Make table columns generic (no more id and partition keys)
* Save column width
* Add column selection from right-click
* Implement new menu for column selection with search.
* Switch icons and search compare with lowercase.
* Search uses string includes instead of startsWith
* Only allow data fields that can be rendered (string and numbers) in column selection
* Accumulate properties rather than replace for column definitions
* Do not allow deselecting all columns
* Move table values under its own property
* Update choices of column when creating new or updating document
* Rework column selection UI
* Fix table size issue with some heuristics
* Fix heuristic for size update
* Don't allow unselecting last column
* Implement column sorting
* Fix format
* Fix format, update snapshots
* Add reset button to column selection and fix naming of openUploadItemsPanePane()
* Fix unit tests
* Fix unit test
* Persist column selection
* Persist column sorting
* Save columns definition (schema) along with selected columns.
* Merge branch 'master' into users/languy/save-documentstab-prefs
* Revert "Merge branch 'master' into users/languy/save-documentstab-prefs"
This reverts commit e5a82fd356.
* Disable column selection for Mongo. Remove extra refresh button
* Update test snapshots
* Remove unused function
* Fix table width
* Add background color to "..." button for column selection
* Label to indicate which field is a partition key in Column Selection Pane
* Update unit test snapshot
* Move column selection and sorting behind feature flag enableDocumentsTableColumnSelection
* Cleanup checkbox styles
52 lines
1.8 KiB
TypeScript
52 lines
1.8 KiB
TypeScript
import { TableRowId } from "@fluentui/react-components";
|
|
import { mount } from "enzyme";
|
|
import React from "react";
|
|
import * as ViewModels from "../../../Contracts/ViewModels";
|
|
import { DocumentsTableComponent, IDocumentsTableComponentProps } from "./DocumentsTableComponent";
|
|
|
|
const PARTITION_KEY_HEADER = "partitionKey";
|
|
const ID_HEADER = "id";
|
|
|
|
describe("DocumentsTableComponent", () => {
|
|
const createMockProps = (): IDocumentsTableComponentProps => ({
|
|
items: [
|
|
{ [ID_HEADER]: "1", [PARTITION_KEY_HEADER]: "pk1" },
|
|
{ [ID_HEADER]: "2", [PARTITION_KEY_HEADER]: "pk2" },
|
|
{ [ID_HEADER]: "3", [PARTITION_KEY_HEADER]: "pk3" },
|
|
],
|
|
onItemClicked: (): void => {},
|
|
onSelectedRowsChange: (): void => {},
|
|
selectedRows: new Set<TableRowId>(),
|
|
size: {
|
|
height: 0,
|
|
width: 0,
|
|
},
|
|
columnDefinitions: [
|
|
{ id: ID_HEADER, label: "ID", isPartitionKey: false },
|
|
{ id: PARTITION_KEY_HEADER, label: "Partition Key", isPartitionKey: true },
|
|
],
|
|
isRowSelectionDisabled: false,
|
|
collection: {
|
|
databaseId: "db",
|
|
id: ((): string => "coll") as ko.Observable<string>,
|
|
} as ViewModels.CollectionBase,
|
|
onRefreshTable: (): void => {
|
|
throw new Error("Function not implemented.");
|
|
},
|
|
selectedColumnIds: [],
|
|
});
|
|
|
|
it("should render documents and partition keys in header", () => {
|
|
const props: IDocumentsTableComponentProps = createMockProps();
|
|
const wrapper = mount(<DocumentsTableComponent {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it("should not render selection column when isSelectionDisabled is true", () => {
|
|
const props: IDocumentsTableComponentProps = createMockProps();
|
|
props.isRowSelectionDisabled = true;
|
|
const wrapper = mount(<DocumentsTableComponent {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|