Skip to content

Commit

Permalink
fix type issues
Browse files Browse the repository at this point in the history
  • Loading branch information
heswell committed Oct 1, 2023
1 parent 12b2264 commit b14d0be
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 114 deletions.
6 changes: 6 additions & 0 deletions vuu-ui/packages/vuu-data/src/json-data-source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
VuuSort,
ClientToServerMenuRPC,
ClientToServerEditRpc,
VuuColumnDataType,
} from "@finos/vuu-protocol-types";
import { DataSourceFilter, DataSourceRow } from "@finos/vuu-data-types";
import {
Expand Down Expand Up @@ -374,6 +375,11 @@ export class JsonDataSource
return undefined;
}

applyEdit(rowIndex: number, columnName: string, value: VuuColumnDataType) {
console.log(`ArrayDataSource applyEdit ${rowIndex} ${columnName} ${value}`);
return true;
}

getChildRows(rowKey: string) {
const parentRow = this.#data.find((row) => row[KEY] === rowKey);
if (parentRow) {
Expand Down
3 changes: 2 additions & 1 deletion vuu-ui/packages/vuu-datagrid-types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export type DataCellEditHandler = (
) => boolean;

export interface TableCellProps {
className?: string;
column: KeyedColumnDescriptor;
columnMap: ColumnMap;
onClick?: (event: MouseEvent, column: KeyedColumnDescriptor) => void;
Expand All @@ -34,7 +35,7 @@ export interface TableCellProps {

export interface TableCellRendererProps
extends Omit<TableCellProps, "onDataEdited"> {
onCommit: (value: VuuColumnDataType) => boolean;
onCommit?: (value: VuuColumnDataType) => boolean;
}

export interface TableAttributes {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export interface ColumnFormattingPanelProps
onChangeRenderer: SelectionChangeHandler<CellRendererDescriptor>;
}

const itemToString = (item: CellRendererDescriptor) => item.label;
const itemToString = (item: CellRendererDescriptor) => item.label ?? item.name;

export const ColumnFormattingPanel = ({
availableRenderers,
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { GroupColumnDescriptor } from "@finos/vuu-datagrid-types";
import {
GroupColumnDescriptor,
TableCellProps,
} from "@finos/vuu-datagrid-types";
import { getGroupValueAndOffset, metadataKeys } from "@finos/vuu-utils";
import { MouseEvent, useCallback } from "react";
import { TableCellProps } from "./TableCell";
import { useCell } from "../useCell";
import cx from "classnames";

Expand Down
3 changes: 1 addition & 2 deletions vuu-ui/packages/vuu-ui-controls/src/list/listTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import { ScrollingAPI, ViewportTrackingResult } from "./common-hooks";

import {
CollectionHookResult,
CollectionItem,
ListHandlers,
NavigationHookResult,
SelectHandler,
Expand Down Expand Up @@ -261,7 +260,7 @@ export interface ListHookProps<Item, Selection extends SelectionStrategy>

export interface ListHookResult<Item, Selection extends SelectionStrategy>
extends Partial<ViewportTrackingResult<Item>>,
Pick<SelectionHookResult<Item, Selection>, "selected" | "setSelected">,
Pick<SelectionHookResult<Selection>, "selected" | "setSelected">,
Partial<Omit<NavigationHookResult, "listProps">>,
Omit<DragHookResult, "isDragging" | "isScrolling"> {
keyboardNavigation: RefObject<boolean>;
Expand Down
13 changes: 9 additions & 4 deletions vuu-ui/packages/vuu-utils/src/component-registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,21 @@ type CellRendererOptions = {
[key: string]: unknown;
description?: string;
label?: string;
serverDataType?: VuuColumnDataType | VuuColumnDataType[] | "private";
serverDataType?: VuuColumnDataType | VuuColumnDataType[] | "json" | "private";
};

export interface CellRendererDescriptor extends CellRendererOptions {
name: string;
}

const isTypeCompatible = (
rendererType: VuuColumnDataType | VuuColumnDataType[] | "private" | undefined,
serverDataType: VuuColumnDataType
rendererType:
| VuuColumnDataType
| (VuuColumnDataType | "json")[]
| "json"
| "private"
| undefined,
serverDataType: VuuColumnDataType | "json"
) => {
if (rendererType === undefined || rendererType === "private") {
return true;
Expand Down Expand Up @@ -92,7 +97,7 @@ export function registerComponent<
}

export const getRegisteredCellRenderers = (
serverDataType?: VuuColumnDataType
serverDataType?: VuuColumnDataType | "json"
): CellRendererDescriptor[] => {
const rendererNames = Array.from(cellRenderersMap.keys());
const allRenderers = rendererNames.map<CellRendererDescriptor>((name) => ({
Expand Down

0 comments on commit b14d0be

Please sign in to comment.