UNPKG

ngx-editor

Version:

The Rich Text Editor for Angular, Built on ProseMirror

12 lines 2.46 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVkaXRvci9pbnB1dC1ydWxlcy9hdXRvLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELGtEQUFrRDtBQUNsRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBYyxFQUFFO0lBQ3RDLE1BQU0sUUFBUSxHQUFHLDJEQUEyRCxDQUFDO0lBRTdFLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDMUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsMENBQTBDO1FBQ2hHLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFN0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0UnVsZSB9IGZyb20gJ3Byb3NlbWlycm9yLWlucHV0cnVsZXMnO1xuXG4vLyBhdXRvbWF0aWNhbGx5IGNvbnZlcnQgdGV4dCB0byBsaW5rIHdoaWxlIHR5cGluZ1xuZXhwb3J0IGNvbnN0IGF1dG9MaW5rID0gKCk6IElucHV0UnVsZSA9PiB7XG4gIGNvbnN0IHVybFJlZ0V4ID0gLyg/Omh0dHBzPzpcXC9cXC8pP1tcXHctXSsoPzpcXC5bXFx3LV0rKStcXC4/KD86XFxkKyk/KD86XFwvXFxTKik/JC87XG5cbiAgcmV0dXJuIG5ldyBJbnB1dFJ1bGUodXJsUmVnRXgsIChzdGF0ZSwgbWF0Y2gsIHN0YXJ0LCBlbmQpID0+IHtcbiAgICBjb25zdCB7IHNjaGVtYSB9ID0gc3RhdGU7XG5cbiAgICBjb25zdCB0ciA9IHN0YXRlLnRyLmluc2VydFRleHQobWF0Y2hbMF0sIHN0YXJ0LCBlbmQpOyAvLyBSZXBsYWNlIGV4aXN0aW5nIHRleHQgd2l0aCBlbnRpcmUgbWF0Y2hcbiAgICBjb25zdCBtYXJrID0gc2NoZW1hLm1hcmtzWydsaW5rJ10uY3JlYXRlKHsgaHJlZjogbWF0Y2hbMF0gfSk7XG5cbiAgICByZXR1cm4gdHIuYWRkTWFyayhzdGFydCwgc3RhcnQgKyBtYXRjaFswXS5sZW5ndGgsIG1hcmspO1xuICB9KTtcbn07XG4iXX0=