UNPKG

ngx-editor

Version:

Rich Text Editor for angular using ProseMirror

19 lines 2.91 kB
const findNodeType = (type, $from) => { for (let i = $from.depth; i > 0; i -= 1) { if ($from.node(i).type === type) { return $from.node(i).type; } } return null; }; export const isNodeActive = (state, type, attrs = {}) => { const { selection } = state; const { $from, to } = selection; const node = findNodeType(type, $from); if (!Object.entries(attrs).length || !node) { return Boolean(node); } return to <= $from.end() && $from.parent.hasMarkup(type, attrs); }; export default isNodeActive; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNOb2RlQWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkaXRvci9oZWxwZXJzL2lzTm9kZUFjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWMsRUFBRSxLQUFrQixFQUFtQixFQUFFO0lBQzNFLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDL0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMzQjtLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFrQixFQUFFLElBQWMsRUFBRSxRQUFhLEVBQUUsRUFBVyxFQUFFO0lBQzNGLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDNUIsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFaEMsTUFBTSxJQUFJLEdBQW9CLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQzFDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RCO0lBRUQsT0FBTyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixlQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvclN0YXRlIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xuaW1wb3J0IHsgTm9kZVR5cGUsIFJlc29sdmVkUG9zIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuXG5jb25zdCBmaW5kTm9kZVR5cGUgPSAodHlwZTogTm9kZVR5cGUsICRmcm9tOiBSZXNvbHZlZFBvcyk6IE5vZGVUeXBlIHwgbnVsbCA9PiB7XG4gIGZvciAobGV0IGkgPSAkZnJvbS5kZXB0aDsgaSA+IDA7IGkgLT0gMSkge1xuICAgIGlmICgkZnJvbS5ub2RlKGkpLnR5cGUgPT09IHR5cGUpIHtcbiAgICAgIHJldHVybiAkZnJvbS5ub2RlKGkpLnR5cGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOb2RlQWN0aXZlID0gKHN0YXRlOiBFZGl0b3JTdGF0ZSwgdHlwZTogTm9kZVR5cGUsIGF0dHJzOiBhbnkgPSB7fSk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gc3RhdGU7XG4gIGNvbnN0IHsgJGZyb20sIHRvIH0gPSBzZWxlY3Rpb247XG5cbiAgY29uc3Qgbm9kZTogTm9kZVR5cGUgfCBudWxsID0gZmluZE5vZGVUeXBlKHR5cGUsICRmcm9tKTtcblxuICBpZiAoIU9iamVjdC5lbnRyaWVzKGF0dHJzKS5sZW5ndGggfHwgIW5vZGUpIHtcbiAgICByZXR1cm4gQm9vbGVhbihub2RlKTtcbiAgfVxuXG4gIHJldHVybiB0byA8PSAkZnJvbS5lbmQoKSAmJiAkZnJvbS5wYXJlbnQuaGFzTWFya3VwKHR5cGUsIGF0dHJzKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGlzTm9kZUFjdGl2ZTtcbiJdfQ==