UNPKG

@atlaskit/editor-plugin-table

Version:

Table plugin for the @atlaskit/editor

52 lines 1.75 kB
import { tableMessages as messages } from '@atlaskit/editor-common/messages'; import { TableMap } from '@atlaskit/editor-tables/table-map'; import { findTable } from '@atlaskit/editor-tables/utils'; export var getMergedCellsPositions = function getMergedCellsPositions(tr) { var table = findTable(tr.selection); if (!table) { return []; } var map = TableMap.get(table.node); var cellPositions = new Set(); var mergedCells = []; map.map.forEach(function (value) { if (cellPositions.has(value)) { mergedCells.push(value); } else { cellPositions.add(value); } }); return mergedCells; }; export var getAssistiveMessage = function getAssistiveMessage(prevTableNode, currentTableNode, intl) { var formatMessage = intl.formatMessage; var prevTableMap = TableMap.get(prevTableNode); var currentTableMap = TableMap.get(currentTableNode); if (currentTableMap.width !== prevTableMap.width) { var diff = Math.abs(currentTableMap.width - prevTableMap.width); if (currentTableMap.width > prevTableMap.width) { return formatMessage(messages.columnsAreInserted, { count: diff }); } if (currentTableMap.width < prevTableMap.width) { return formatMessage(messages.columnsAreRemoved, { count: diff }); } } if (currentTableMap.height !== prevTableMap.height) { var _diff = Math.abs(currentTableMap.height - prevTableMap.height); if (currentTableMap.height > prevTableMap.height) { return formatMessage(messages.rowsAreInserted, { count: _diff }); } if (currentTableMap.height < prevTableMap.height) { return formatMessage(messages.rowsAreRemoved, { count: _diff }); } } return ''; };