* Header toggling, resizable columns * Allow all blocks in table cells, disable column resizing in read-only * Fixed dynamic scroll shadows * Refactor, scroll styling * fix scrolling, tweaks * fix: Table layout lost on sort * fix: Caching of grip decorators * refactor * stash * fix first render shadows * stash * First add column grip, styles * Just add column/row click handlers left * fix: isTableSelected for single cell table * Refactor mousedown handlers * fix: 'Add row before' command missing on first row * fix overflow on rhs * fix: Error clicking column grip when menu is open * Hide table controls when printing * Restore table header background * fix: Header behavior when adding columns and rows at the edges * Tweak header styling * fix: Serialize and parsing of column attributes when copy/pasting fix: Column width is lost when changing column alignment
50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import {
|
|
TrashIcon,
|
|
InsertAboveIcon,
|
|
InsertBelowIcon,
|
|
MoreIcon,
|
|
TableHeaderRowIcon,
|
|
} from "outline-icons";
|
|
import { EditorState } from "prosemirror-state";
|
|
import * as React from "react";
|
|
import { MenuItem } from "@shared/editor/types";
|
|
import { Dictionary } from "~/hooks/useDictionary";
|
|
|
|
export default function tableRowMenuItems(
|
|
state: EditorState,
|
|
index: number,
|
|
dictionary: Dictionary
|
|
): MenuItem[] {
|
|
return [
|
|
{
|
|
icon: <MoreIcon />,
|
|
children: [
|
|
{
|
|
name: "toggleHeaderRow",
|
|
label: dictionary.toggleHeader,
|
|
icon: <TableHeaderRowIcon />,
|
|
visible: index === 0,
|
|
},
|
|
{
|
|
name: "addRowBefore",
|
|
label: dictionary.addRowBefore,
|
|
icon: <InsertAboveIcon />,
|
|
attrs: { index },
|
|
},
|
|
{
|
|
name: "addRowAfter",
|
|
label: dictionary.addRowAfter,
|
|
icon: <InsertBelowIcon />,
|
|
attrs: { index },
|
|
},
|
|
{
|
|
name: "deleteRow",
|
|
label: dictionary.deleteRow,
|
|
dangerous: true,
|
|
icon: <TrashIcon />,
|
|
},
|
|
],
|
|
},
|
|
];
|
|
}
|