ngx-editor
Version:
Rich Text Editor for angular using ProseMirror
15 lines • 2 kB
JavaScript
export const getSelectionMarks = (state) => {
let marks = [];
const { selection: { from, to, empty, $from }, storedMarks } = state;
if (empty) {
marks = storedMarks || $from.marks();
}
else {
state.doc.nodesBetween(from, to, node => {
marks = [...marks, ...node.marks];
});
}
return marks;
};
export default getSelectionMarks;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2VsZWN0aW9uTWFya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZWRpdG9yL2hlbHBlcnMvZ2V0U2VsZWN0aW9uTWFya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFrQixFQUFVLEVBQUU7SUFDOUQsSUFBSSxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRXZCLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFckUsSUFBSSxLQUFLLEVBQUU7UUFDVCxLQUFLLEdBQUcsV0FBVyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUN0QztTQUFNO1FBQ0wsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN0QyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixlQUFlLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yU3RhdGUgfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XG5pbXBvcnQgeyBNYXJrIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0aW9uTWFya3MgPSAoc3RhdGU6IEVkaXRvclN0YXRlKTogTWFya1tdID0+IHtcbiAgbGV0IG1hcmtzOiBNYXJrW10gPSBbXTtcblxuICBjb25zdCB7IHNlbGVjdGlvbjogeyBmcm9tLCB0bywgZW1wdHksICRmcm9tIH0sIHN0b3JlZE1hcmtzIH0gPSBzdGF0ZTtcblxuICBpZiAoZW1wdHkpIHtcbiAgICBtYXJrcyA9IHN0b3JlZE1hcmtzIHx8ICRmcm9tLm1hcmtzKCk7XG4gIH0gZWxzZSB7XG4gICAgc3RhdGUuZG9jLm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgbm9kZSA9PiB7XG4gICAgICBtYXJrcyA9IFsuLi5tYXJrcywgLi4ubm9kZS5tYXJrc107XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbWFya3M7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXRTZWxlY3Rpb25NYXJrcztcbiJdfQ==