UNPKG

@atlaskit/editor-plugin-status

Version:

Status plugin for @atlaskit/editor-core

23 lines 848 B
import { NodeSelection } from '@atlaskit/editor-prosemirror/state'; var MAX_STATUS_TURN_INTO_CHARS = 30; var SUPPORTED_SOURCE_TYPES = new Set(['paragraph', 'heading']); var getTurnIntoStatusSourceNode = function getTurnIntoStatusSourceNode(selection) { if (!selection || !(selection instanceof NodeSelection)) { return null; } return selection.node; }; export var canTurnIntoStatus = function canTurnIntoStatus(node) { if (!node || !SUPPORTED_SOURCE_TYPES.has(node.type.name)) { return false; } for (var i = 0; i < node.childCount; i++) { if (!node.child(i).isText) { return false; } } return node.textContent.trim().length <= MAX_STATUS_TURN_INTO_CHARS; }; export var isStatusTurnIntoHidden = function isStatusTurnIntoHidden(selection) { return !canTurnIntoStatus(getTurnIntoStatusSourceNode(selection)); };