UNPKG

ngx-editor

Version:

Rich Text Editor for angular using ProseMirror

12 lines 2.43 kB
import { InputRule } from 'prosemirror-inputrules'; // automatically convert text to link while typing export const autoLink = () => { const urlRegEx = /((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)$/; return new InputRule(urlRegEx, (state, match, start, end) => { const { schema } = state; const tr = state.tr.insertText(match[0], start, end); // Replace existing text with entire match const mark = schema.marks.link.create({ href: match[0] }); return tr.addMark(start, start + match[0].length, mark); }); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkaXRvci9pbnB1dC1ydWxlcy9hdXRvLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELGtEQUFrRDtBQUNsRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBYyxFQUFFO0lBQ3RDLE1BQU0sUUFBUSxHQUFHLHNEQUFzRCxDQUFDO0lBRXhFLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDMUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsMENBQTBDO1FBQ2hHLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTFELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFJ1bGUgfSBmcm9tICdwcm9zZW1pcnJvci1pbnB1dHJ1bGVzJztcblxuLy8gYXV0b21hdGljYWxseSBjb252ZXJ0IHRleHQgdG8gbGluayB3aGlsZSB0eXBpbmdcbmV4cG9ydCBjb25zdCBhdXRvTGluayA9ICgpOiBJbnB1dFJ1bGUgPT4ge1xuICBjb25zdCB1cmxSZWdFeCA9IC8oKGh0dHBzPzpcXC9cXC8pP1tcXHctXSsoXFwuW1xcdy1dKykrXFwuPyg6XFxkKyk/KFxcL1xcUyopPykkLztcblxuICByZXR1cm4gbmV3IElucHV0UnVsZSh1cmxSZWdFeCwgKHN0YXRlLCBtYXRjaCwgc3RhcnQsIGVuZCkgPT4ge1xuICAgIGNvbnN0IHsgc2NoZW1hIH0gPSBzdGF0ZTtcblxuICAgIGNvbnN0IHRyID0gc3RhdGUudHIuaW5zZXJ0VGV4dChtYXRjaFswXSwgc3RhcnQsIGVuZCk7IC8vIFJlcGxhY2UgZXhpc3RpbmcgdGV4dCB3aXRoIGVudGlyZSBtYXRjaFxuICAgIGNvbnN0IG1hcmsgPSBzY2hlbWEubWFya3MubGluay5jcmVhdGUoeyBocmVmOiBtYXRjaFswXSB9KTtcblxuICAgIHJldHVybiB0ci5hZGRNYXJrKHN0YXJ0LCBzdGFydCArIG1hdGNoWzBdLmxlbmd0aCwgbWFyayk7XG4gIH0pO1xufTtcbiJdfQ==