prosemirror-utils
Advanced tools
Comparing version
@@ -341,33 +341,2 @@ 'use strict'; | ||
// :: ($pos: ResolvedPos) → ?{pos: number, start: number, node: ProseMirrorNode} | ||
// Iterates over parent nodes, returning a table cell or a table header node closest to a given `$pos`. | ||
// | ||
// ```javascript | ||
// const cell = findCellClosestToPos(state.doc.resolve(10)); | ||
// ``` | ||
var findCellClosestToPos = function findCellClosestToPos($pos) { | ||
var predicate = function predicate(node) { | ||
return node.type.spec.tableRole && /cell/i.test(node.type.spec.tableRole); | ||
}; | ||
return findParentNodeClosestToPos($pos, predicate); | ||
}; | ||
// ($pos: ResolvedPos) → ?{left: number, top: number, right: number, bottom: number} | ||
// Returns the rectangle spanning a cell closest to a given `$pos`. | ||
// | ||
// ```javascript | ||
// dispatch( | ||
// findCellRectClosestToPos(state.doc.resolve(10)) | ||
// ); | ||
// ``` | ||
var findCellRectClosestToPos = function findCellRectClosestToPos($pos) { | ||
var cell = findCellClosestToPos($pos); | ||
if (cell) { | ||
var table = findTableClosestToPos($pos); | ||
var map = prosemirrorTables.TableMap.get(table.node); | ||
var cellPos = cell.pos - table.start; | ||
return map.rectBetween(cellPos, cellPos); | ||
} | ||
}; | ||
// :: (predicate: (node: ProseMirrorNode) → boolean) → (selection: Selection) → ?{pos: number, start: number, node: ProseMirrorNode} | ||
@@ -1259,5 +1228,35 @@ // Iterates over parent nodes, returning the closest node and its start position `predicate` returns truthy for. `start` points to the start position of the node, `pos` points directly before the node. | ||
// :: ($pos: ResolvedPos) → ?{pos: number, start: number, node: ProseMirrorNode} | ||
// Iterates over parent nodes, returning a table cell or a table header node closest to a given `$pos`. | ||
// | ||
// ```javascript | ||
// const cell = findCellClosestToPos(state.selection.$from); | ||
// ``` | ||
var findCellClosestToPos = function findCellClosestToPos($pos) { | ||
var predicate = function predicate(node) { | ||
return node.type.spec.tableRole && /cell/i.test(node.type.spec.tableRole); | ||
}; | ||
return findParentNodeClosestToPos($pos, predicate); | ||
}; | ||
// :: ($pos: ResolvedPos) → ?{left: number, top: number, right: number, bottom: number} | ||
// Returns the rectangle spanning a cell closest to a given `$pos`. | ||
// | ||
// ```javascript | ||
// dispatch( | ||
// findCellRectClosestToPos(state.selection.$from) | ||
// ); | ||
// ``` | ||
var findCellRectClosestToPos = function findCellRectClosestToPos($pos) { | ||
var cell = findCellClosestToPos($pos); | ||
if (cell) { | ||
var table = findTableClosestToPos($pos); | ||
var map = prosemirrorTables.TableMap.get(table.node); | ||
var cellPos = cell.pos - table.start; | ||
return map.rectBetween(cellPos, cellPos); | ||
} | ||
}; | ||
exports.isNodeSelection = isNodeSelection; | ||
exports.canInsert = canInsert; | ||
exports.findCellClosestToPos = findCellClosestToPos; | ||
exports.findParentNode = findParentNode; | ||
@@ -1308,2 +1307,4 @@ exports.findParentNodeClosestToPos = findParentNodeClosestToPos; | ||
exports.createTable = createTable; | ||
exports.findCellClosestToPos = findCellClosestToPos; | ||
exports.findCellRectClosestToPos = findCellRectClosestToPos; | ||
exports.removeParentNodeOfType = removeParentNodeOfType; | ||
@@ -1310,0 +1311,0 @@ exports.replaceParentNodeOfType = replaceParentNodeOfType; |
{ | ||
"name": "prosemirror-utils", | ||
"version": "0.5.5", | ||
"version": "0.6.0", | ||
"description": "Utils library for ProseMirror", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -415,6 +415,16 @@ # Utils library for ProseMirror | ||
```javascript | ||
const cell = findCellClosestToPos(state.doc.resolve(10)); | ||
const cell = findCellClosestToPos(state.selection.$from); | ||
``` | ||
* **`findCellRectClosestToPos`**`($pos: ResolvedPos) → ?{left: number, top: number, right: number, bottom: number}`\ | ||
Returns the rectangle spanning a cell closest to a given `$pos`. | ||
```javascript | ||
dispatch( | ||
findCellRectClosestToPos(state.selection.$from) | ||
); | ||
``` | ||
* **`forEachCellInColumn`**`(columnIndex: number, cellTransform: fn(cell: {pos: number, start: number, node: ProseMirrorNode}, tr: Transaction) → Transaction, setCursorToLastCell: ?boolean) → fn(tr: Transaction) → Transaction`\ | ||
@@ -421,0 +431,0 @@ Returns a new transaction that maps a given `cellTransform` function to each cell in a column at a given `columnIndex`. |
@@ -109,2 +109,4 @@ import { Node as ProsemirrorNode, Schema, NodeType, Mark, MarkType, ResolvedPos, Fragment } from 'prosemirror-model'; | ||
export function findCellRectClosestToPos($pos: ResolvedPos): {top: number, bottom: number, left: number, right: number} | ||
export function createTable(schema: Schema, rowsCount?: number, colsCount?: number, withHeaderRow?: boolean): ProsemirrorNode; | ||
@@ -111,0 +113,0 @@ |
Sorry, the diff of this file is not supported yet
142795
0.29%1291
0.16%591
1.72%