ngx-tiptap-editor
Version:
[](https://github.com/HuiiBuh/ngx-tiptap-editor/actions/workflows/publish.yml) [ {
this.dialogRef = dialogRef;
this.data = data;
this.error = null;
this.urlRegex = new RegExp('^(https?:\\/\\/)?' + // protocol
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
'(\\#[-a-z\\d_]*)?$', 'i');
}
submit(value, event) {
// Stop selected text being replaced by the enter
event && event.preventDefault();
if (!/^(https?:\/\/).*/.test(value))
value = `https://${value}`;
if (this.urlRegex.test(value)) {
this.dialogRef.submit(value);
}
else {
this.error = 'Invalid URL';
}
}
}
LinkSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LinkSelectComponent, deps: [{ token: i1.DialogRef }, { token: TIP_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
LinkSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: LinkSelectComponent, selector: "tip-link-select", ngImport: i0, template: `
<div class="flex">
<input class="tip-input" [placeholder]="data?.inputPlaceholder" tipAutofocus type="text" #input
[value]="data.link"
(keyup.enter)="submit(input.value, $event)">
<button type="button" (click)="submit(input.value)" (keyup.enter)="submit(input.value)"
class="tip-button margin-left-s">Apply
</button>
</div>
<small style="color: var(--tip-warn-color)" *ngIf="error">{{error}}</small>
`, isInline: true, directives: [{ type: i2.AutofocusDirective, selector: "[tipAutofocus]", inputs: ["tipAutofocus"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LinkSelectComponent, decorators: [{
type: Component,
args: [{
selector: 'tip-link-select',
template: `
<div class="flex">
<input class="tip-input" [placeholder]="data?.inputPlaceholder" tipAutofocus type="text" #input
[value]="data.link"
(keyup.enter)="submit(input.value, $event)">
<button type="button" (click)="submit(input.value)" (keyup.enter)="submit(input.value)"
class="tip-button margin-left-s">Apply
</button>
</div>
<small style="color: var(--tip-warn-color)" *ngIf="error">{{error}}</small>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [TIP_DIALOG_DATA]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aXB0YXAtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9saW5rL3NlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQVN0RSxXQUFXO0FBZ0JYLE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsWUFDVSxTQUEwRCxFQUNsQyxJQUFtRTtRQUQzRixjQUFTLEdBQVQsU0FBUyxDQUFpRDtRQUNsQyxTQUFJLEdBQUosSUFBSSxDQUErRDtRQVY5RixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUMzQixhQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEdBQUcsV0FBVztZQUM3RCxrREFBa0QsR0FBRyxjQUFjO1lBQ25FLDZCQUE2QixHQUFHLHFCQUFxQjtZQUNyRCxpQ0FBaUMsR0FBRyxnQkFBZ0I7WUFDcEQsMEJBQTBCLEdBQUcsZUFBZTtZQUM1QyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQU03QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3hDLGlEQUFpRDtRQUNqRCxLQUFLLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQUUsS0FBSyxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFFaEUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnSEExQlUsbUJBQW1CLDJDQVdwQixlQUFlO29HQVhkLG1CQUFtQix1REFicEI7Ozs7Ozs7Ozs7R0FVVDsyRkFHVSxtQkFBbUI7a0JBZi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFZSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1JlZiwgVElQX0RJQUxPR19EQVRBIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5oZWxwZXJzJztcbmltcG9ydCB7IENvbnRyb2xMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udHJvbHMvY29udHJvbC1saW5rLmNvbXBvbmVudCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rU2VsZWN0aW9uUHJvcHMge1xuICBsaW5rPzogc3RyaW5nO1xuICBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmc7XG59XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0aXAtbGluay1zZWxlY3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJ0aXAtaW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwiZGF0YT8uaW5wdXRQbGFjZWhvbGRlclwiIHRpcEF1dG9mb2N1cyB0eXBlPVwidGV4dFwiICNpbnB1dFxuICAgICAgICAgICAgIFt2YWx1ZV09XCJkYXRhLmxpbmtcIlxuICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzdWJtaXQoaW5wdXQudmFsdWUsICRldmVudClcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdWJtaXQoaW5wdXQudmFsdWUpXCIgKGtleXVwLmVudGVyKT1cInN1Ym1pdChpbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRpcC1idXR0b24gbWFyZ2luLWxlZnQtc1wiPkFwcGx5XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8c21hbGwgc3R5bGU9XCJjb2xvcjogdmFyKC0tdGlwLXdhcm4tY29sb3IpXCIgKm5nSWY9XCJlcnJvclwiPnt7ZXJyb3J9fTwvc21hbGw+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rU2VsZWN0Q29tcG9uZW50IHtcbiAgcHVibGljIGVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB1cmxSZWdleCA9IG5ldyBSZWdFeHAoJ14oaHR0cHM/OlxcXFwvXFxcXC8pPycgKyAvLyBwcm90b2NvbFxuICAgICcoKChbYS16XFxcXGRdKFthLXpcXFxcZC1dKlthLXpcXFxcZF0pKilcXFxcLikrW2Etel17Mix9fCcgKyAvLyBkb21haW4gbmFtZVxuICAgICcoKFxcXFxkezEsM31cXFxcLil7M31cXFxcZHsxLDN9KSknICsgLy8gT1IgaXAgKHY0KSBhZGRyZXNzXG4gICAgJyhcXFxcOlxcXFxkKyk/KFxcXFwvWy1hLXpcXFxcZCVfLn4rXSopKicgKyAvLyBwb3J0IGFuZCBwYXRoXG4gICAgJyhcXFxcP1s7JmEtelxcXFxkJV8ufis9LV0qKT8nICsgLy8gcXVlcnkgc3RyaW5nXG4gICAgJyhcXFxcI1stYS16XFxcXGRfXSopPyQnLCAnaScpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBEaWFsb2dSZWY8c3RyaW5nLCBzdHJpbmcsIENvbnRyb2xMaW5rQ29tcG9uZW50PixcbiAgICBASW5qZWN0KFRJUF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IHsgbGluazogc3RyaW5nLCBwb3B1cFRleHQ6IHN0cmluZywgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nIH0sXG4gICkge1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCh2YWx1ZTogc3RyaW5nLCBldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gU3RvcCBzZWxlY3RlZCB0ZXh0IGJlaW5nIHJlcGxhY2VkIGJ5IHRoZSBlbnRlclxuICAgIGV2ZW50ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAoIS9eKGh0dHBzPzpcXC9cXC8pLiovLnRlc3QodmFsdWUpKSB2YWx1ZSA9IGBodHRwczovLyR7dmFsdWV9YDtcblxuICAgIGlmICh0aGlzLnVybFJlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5zdWJtaXQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gJ0ludmFsaWQgVVJMJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==