From 657fadb9af657472b2bb689ab94a2e421ec21964 Mon Sep 17 00:00:00 2001 From: Alexander T Date: Mon, 4 Nov 2019 21:12:10 +0200 Subject: [PATCH] prosemirror-tables: Provides its own types (#39497) --- notNeededPackages.json | 6 + types/prosemirror-tables/index.d.ts | 240 ------------------ .../prosemirror-tables-tests.ts | 9 - types/prosemirror-tables/tsconfig.json | 24 -- types/prosemirror-tables/tslint.json | 1 - 5 files changed, 6 insertions(+), 274 deletions(-) delete mode 100644 types/prosemirror-tables/index.d.ts delete mode 100644 types/prosemirror-tables/prosemirror-tables-tests.ts delete mode 100644 types/prosemirror-tables/tsconfig.json delete mode 100644 types/prosemirror-tables/tslint.json diff --git a/notNeededPackages.json b/notNeededPackages.json index 4091a7684c..b1b2a4907d 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -3276,6 +3276,12 @@ "sourceRepoURL": "https://github.com/sindresorhus/pretty-ms", "asOfVersion": "5.0.0" }, + { + "libraryName": "prosemirror-tables", + "typingsPackageName": "prosemirror-tables", + "sourceRepoURL": "https://github.com/ProseMirror/prosemirror-tables", + "asOfVersion": "0.9.1" + }, { "libraryName": "printf", "typingsPackageName": "printf", diff --git a/types/prosemirror-tables/index.d.ts b/types/prosemirror-tables/index.d.ts deleted file mode 100644 index 2328dd2f0c..0000000000 --- a/types/prosemirror-tables/index.d.ts +++ /dev/null @@ -1,240 +0,0 @@ -// Type definitions for prosemirror-tables 0.8 -// Project: https://github.com/ProseMirror/prosemirror-tables -// Definitions by: Oscar Wallhult -// Eduard Shvedai -// Patrick Simmelbauer -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 -import { EditorState, Plugin, SelectionRange, Transaction, PluginKey } from 'prosemirror-state'; -import { Node as ProsemirrorNode, NodeSpec, Slice, ResolvedPos, Schema } from 'prosemirror-model'; -import { NodeView } from 'prosemirror-view'; - -export interface TableEditingOptions { - allowTableNodeSelection?: boolean; -} - -export interface TableNodesOptions { - tableGroup?: string; - cellContent: string; - cellAttributes: { [key: string]: CellAttributes }; -} - -export type getFromDOM = (dom: Element) => any; -export type setDOMAttr = (value: any, attrs: any) => any; - -export interface CellAttributes { - default: any; - getFromDOM?: getFromDOM; - setDOMAttr?: setDOMAttr; -} - -export interface TableNodes { - table: NodeSpec; - table_row: NodeSpec; - table_cell: NodeSpec; - table_header: NodeSpec; -} - -export function tableNodes(options: TableNodesOptions): TableNodes; - -export interface CellSelectionJSON { - type: string; - anchor: number; - head: number; -} - -export class CellSelection { - constructor($anchorCell: ResolvedPos, $headCell?: ResolvedPos); - - from: number; - to: number; - $from: ResolvedPos; - $to: ResolvedPos; - anchor: number; - head: number; - $anchor: ResolvedPos; - $head: ResolvedPos; - $anchorCell: ResolvedPos; - $headCell: ResolvedPos; - empty: boolean; - ranges: Array>; - - map(doc: ProsemirrorNode, mapping: any): any; - content(): Slice; - replace(tr: Transaction, content: Slice): void; - replaceWith(tr: Transaction, node: ProsemirrorNode): void; - forEachCell(f: (node: ProsemirrorNode, pos: number) => void): void; - isRowSelection(): boolean; - isColSelection(): boolean; - eq(other: any): boolean; - toJSON(): CellSelectionJSON; - getBookmark(): { anchor: number; head: number }; - - static colSelection( - anchorCell: ResolvedPos, - headCell?: ResolvedPos - ): CellSelection; - static rowSelection( - anchorCell: ResolvedPos, - headCell?: ResolvedPos - ): CellSelection; - static create( - doc: ProsemirrorNode, - anchorCell: number, - headCell?: number - ): CellSelection; - static fromJSON( - doc: ProsemirrorNode, - json: CellSelectionJSON - ): CellSelection; -} - -export interface Rect { - left: number; - top: number; - right: number; - bottom: number; -} - -export class TableMap { - width: number; - height: number; - map: number[]; - problems?: object[]; - - findCell(pos: number): Rect; - colCount(pos: number): number; - nextCell(pos: number, axis: string, dir: number): number; - rectBetween(a: number, b: number): Rect; - cellsInRect(rect: Rect): number[]; - positionAt(row: number, col: number, table: ProsemirrorNode): number; - - static get(table: ProsemirrorNode): TableMap; -} - -export function tableEditing(options?: TableEditingOptions): Plugin; - -export function deleteTable( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function goToNextCell( - direction: number -): (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean; - -export function toggleHeaderCell( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function toggleHeaderColumn( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function toggleHeaderRow( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -/** - * Toggles between row/column header and normal cells (Only applies to first row/column). - * For deprecated behavior pass useDeprecatedLogic in options with true. - */ -export function toggleHeader( - type: 'column' | 'row', - options?: { useDeprecatedLogic?: boolean } -): ( - state: EditorState, - dispatch?: (tr: Transaction) => void -) => boolean; - -export function setCellAttr( - name: string, - value: any -): (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean; - -export function splitCell( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function mergeCells( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function deleteRow( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function addRowAfter( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function addRowBefore( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function deleteColumn( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function addColumnAfter( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function addColumnBefore( - state: EditorState, - dispatch?: (tr: Transaction) => void -): boolean; - -export function columnResizing(props: { - handleWidth?: number; - cellMinWidth?: number; - View?: NodeView; -}): Plugin; - -export const columnResizingPluginKey: PluginKey; - -export function updateColumnsOnResize( - node: ProsemirrorNode, - colgroup: Element, - table: Element, - cellMinWidth: number, - overrideCol?: number, - overrideValue?: number -): void; - -export function cellAround(pos: ResolvedPos): ResolvedPos | null; - -export function isInTable(state: EditorState): boolean; - -export function selectionCell( - state: EditorState -): ResolvedPos | null | undefined; - -export function moveCellForward(pos: ResolvedPos): ResolvedPos; - -export function inSameTable( - $a: ResolvedPos, - $b: ResolvedPos -): boolean; - -export function findCell( - pos: ResolvedPos -): { top: number; left: number; right: number; buttom: number }; - -export function colCount(pos: ResolvedPos): number; - -export function nextCell( - pos: ResolvedPos, - axis: string, - dir: number -): null | ResolvedPos; diff --git a/types/prosemirror-tables/prosemirror-tables-tests.ts b/types/prosemirror-tables/prosemirror-tables-tests.ts deleted file mode 100644 index b5b2c66e89..0000000000 --- a/types/prosemirror-tables/prosemirror-tables-tests.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as tables from 'prosemirror-tables'; - -const table = tables.tableEditing(); -const tableWithNodeSelection = tables.tableEditing({allowTableNodeSelection: true}); - -tables.toggleHeader('column'); -tables.toggleHeader('row'); -tables.toggleHeader('row', { useDeprecatedLogic: false }); -tables.toggleHeader('row', { useDeprecatedLogic: true }); diff --git a/types/prosemirror-tables/tsconfig.json b/types/prosemirror-tables/tsconfig.json deleted file mode 100644 index 956d15d5b9..0000000000 --- a/types/prosemirror-tables/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "prosemirror-tables-tests.ts" - ] -} \ No newline at end of file diff --git a/types/prosemirror-tables/tslint.json b/types/prosemirror-tables/tslint.json deleted file mode 100644 index 2750cc0197..0000000000 --- a/types/prosemirror-tables/tslint.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": "dtslint/dt.json" } \ No newline at end of file