pxx-vue-quill 1.0.137 → 1.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Copyright (c) 2025 Pxx-Team
9
9
  * Released under the MIT license
10
- * Date: 2025-09-10T09:07:15.876Z
10
+ * Date: 2025-09-10T09:20:50.978Z
11
11
  */
12
12
  (function (global, factory) {
13
13
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
@@ -20969,18 +20969,45 @@
20969
20969
  setHandleCustomLink(handleCustomLink);
20970
20970
  const saveLink = (data) => {
20971
20971
  console.log("data", data);
20972
- if (!quill || !data.url.trim())
20972
+ if (!quill)
20973
20973
  return;
20974
20974
  const range = savedRange.value;
20975
20975
  if (!range)
20976
20976
  return;
20977
- if (range.length > 0) {
20978
- quill.formatText(range.index, range.length, 'link', data.url);
20977
+ if (!data.url.trim()) {
20978
+ const currentRange = quill.getSelection() || range;
20979
+ if (currentRange && currentRange.length > 0) {
20980
+ quill.formatText(currentRange.index, currentRange.length, 'link', false);
20981
+ }
20982
+ else if (currentRange) {
20983
+ const [blot] = quill.getLeaf(currentRange.index);
20984
+ if (blot && blot.parent && blot.parent.domNode.tagName === 'A') {
20985
+ const linkBlot = blot.parent;
20986
+ const linkIndex = quill.getIndex(linkBlot);
20987
+ const linkLength = linkBlot.length();
20988
+ quill.formatText(linkIndex, linkLength, 'link', false);
20989
+ }
20990
+ }
20991
+ if (data.text && data.text.trim()) {
20992
+ if (currentRange && currentRange.length > 0) {
20993
+ quill.deleteText(currentRange.index, currentRange.length);
20994
+ quill.insertText(currentRange.index, data.text);
20995
+ }
20996
+ else if (currentRange) {
20997
+ quill.insertText(currentRange.index, data.text);
20998
+ quill.setSelection(currentRange.index + data.text.length, 0);
20999
+ }
21000
+ }
20979
21001
  }
20980
21002
  else {
20981
- const text = data.text || data.url;
20982
- quill.insertText(range.index, text, { link: data.url });
20983
- quill.setSelection(range.index + text.length, 0);
21003
+ if (range.length > 0) {
21004
+ quill.formatText(range.index, range.length, 'link', data.url);
21005
+ }
21006
+ else {
21007
+ const text = data.text || data.url;
21008
+ quill.insertText(range.index, text, { link: data.url });
21009
+ quill.setSelection(range.index + text.length, 0);
21010
+ }
20984
21011
  }
20985
21012
  showLinkDialog.value = false;
20986
21013
  linkUrl.value = '';