UNPKG

@atlaskit/editor-plugin-status

Version:

Status plugin for @atlaskit/editor-core

29 lines (28 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isStatusTurnIntoHidden = exports.canTurnIntoStatus = void 0; var _state = require("@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 _state.NodeSelection)) { return null; } return selection.node; }; var canTurnIntoStatus = exports.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; }; var isStatusTurnIntoHidden = exports.isStatusTurnIntoHidden = function isStatusTurnIntoHidden(selection) { return !canTurnIntoStatus(getTurnIntoStatusSourceNode(selection)); };