vue-editify 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
package/examples/App.vue CHANGED
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div style="padding: 10px; height: 100%; box-sizing: border-box">
3
3
  <button @click="handleClick">按钮</button>
4
- <Editify ref="editify" border v-model="val" :menu="menuConfig" autoheight></Editify>
4
+ <Editify ref="editify" border v-model="val" :menu="menuConfig" style="height: 400px"></Editify>
5
5
  </div>
6
6
  </template>
7
7
  <script setup lang="ts">
@@ -12,7 +12,7 @@ const val = ref<string>('<p><br></p>')
12
12
  const editify = ref<InstanceType<typeof Editify> | null>(null)
13
13
  const menuConfig = ref<MenuConfigType>({
14
14
  use: true,
15
- mode: 'fixed',
15
+ mode: 'inner',
16
16
  image: {
17
17
  accept: ['jpg'],
18
18
  handleError: (error, file) => {
package/lib/editify.es.js CHANGED
@@ -18620,6 +18620,9 @@ const getParsedomElementByElement = (element2, parsedom) => {
18620
18620
  return getParsedomElementByElement(element2.parent, parsedom);
18621
18621
  };
18622
18622
  const getCurrentParsedomElement = (editor, dataRangeCaches, parsedom) => {
18623
+ if (!editor.range) {
18624
+ return null;
18625
+ }
18623
18626
  if (editor.range.anchor.element.isEqual(editor.range.focus.element)) {
18624
18627
  return getParsedomElementByElement(editor.range.anchor.element, parsedom);
18625
18628
  }
@@ -18672,6 +18675,9 @@ const isTask = function(element2) {
18672
18675
  return element2.parsedom == "div" && element2.hasMarks() && element2.marks.hasOwnProperty("data-editify-task");
18673
18676
  };
18674
18677
  const hasPreInRange = (editor, dataRangeCaches) => {
18678
+ if (!editor.range) {
18679
+ return false;
18680
+ }
18675
18681
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18676
18682
  return !!getParsedomElementByElement(editor.range.anchor.element, "pre");
18677
18683
  }
@@ -18680,6 +18686,9 @@ const hasPreInRange = (editor, dataRangeCaches) => {
18680
18686
  });
18681
18687
  };
18682
18688
  const isRangeInPre = (editor, dataRangeCaches) => {
18689
+ if (!editor.range) {
18690
+ return false;
18691
+ }
18683
18692
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18684
18693
  return !!getParsedomElementByElement(editor.range.anchor.element, "pre");
18685
18694
  }
@@ -18688,6 +18697,9 @@ const isRangeInPre = (editor, dataRangeCaches) => {
18688
18697
  });
18689
18698
  };
18690
18699
  const hasQuoteInRange = (editor, dataRangeCaches) => {
18700
+ if (!editor.range) {
18701
+ return false;
18702
+ }
18691
18703
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18692
18704
  return !!getParsedomElementByElement(editor.range.anchor.element, "blockquote");
18693
18705
  }
@@ -18696,6 +18708,9 @@ const hasQuoteInRange = (editor, dataRangeCaches) => {
18696
18708
  });
18697
18709
  };
18698
18710
  const isRangeInQuote = (editor, dataRangeCaches) => {
18711
+ if (!editor.range) {
18712
+ return false;
18713
+ }
18699
18714
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18700
18715
  return !!getParsedomElementByElement(editor.range.anchor.element, "blockquote");
18701
18716
  }
@@ -18704,6 +18719,9 @@ const isRangeInQuote = (editor, dataRangeCaches) => {
18704
18719
  });
18705
18720
  };
18706
18721
  const hasListInRange = (editor, dataRangeCaches, ordered = false) => {
18722
+ if (!editor.range) {
18723
+ return false;
18724
+ }
18707
18725
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18708
18726
  return elementIsInList(editor.range.anchor.element, ordered);
18709
18727
  }
@@ -18712,6 +18730,9 @@ const hasListInRange = (editor, dataRangeCaches, ordered = false) => {
18712
18730
  });
18713
18731
  };
18714
18732
  const isRangeInList = (editor, dataRangeCaches, ordered = false) => {
18733
+ if (!editor.range) {
18734
+ return false;
18735
+ }
18715
18736
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18716
18737
  return elementIsInList(editor.range.anchor.element, ordered);
18717
18738
  }
@@ -18720,6 +18741,9 @@ const isRangeInList = (editor, dataRangeCaches, ordered = false) => {
18720
18741
  });
18721
18742
  };
18722
18743
  const hasTaskInRange = (editor, dataRangeCaches) => {
18744
+ if (!editor.range) {
18745
+ return false;
18746
+ }
18723
18747
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18724
18748
  return elementIsInTask(editor.range.anchor.element);
18725
18749
  }
@@ -18728,6 +18752,9 @@ const hasTaskInRange = (editor, dataRangeCaches) => {
18728
18752
  });
18729
18753
  };
18730
18754
  const isRangeInTask = (editor, dataRangeCaches) => {
18755
+ if (!editor.range) {
18756
+ return false;
18757
+ }
18731
18758
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18732
18759
  return elementIsInTask(editor.range.anchor.element);
18733
18760
  }
@@ -18736,6 +18763,9 @@ const isRangeInTask = (editor, dataRangeCaches) => {
18736
18763
  });
18737
18764
  };
18738
18765
  const hasLinkInRange = (editor, dataRangeCaches) => {
18766
+ if (!editor.range) {
18767
+ return false;
18768
+ }
18739
18769
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18740
18770
  return !!getParsedomElementByElement(editor.range.anchor.element, "a");
18741
18771
  }
@@ -18744,6 +18774,9 @@ const hasLinkInRange = (editor, dataRangeCaches) => {
18744
18774
  });
18745
18775
  };
18746
18776
  const hasTableInRange = (editor, dataRangeCaches) => {
18777
+ if (!editor.range) {
18778
+ return false;
18779
+ }
18747
18780
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18748
18781
  return !!getParsedomElementByElement(editor.range.anchor.element, "table");
18749
18782
  }
@@ -18752,6 +18785,9 @@ const hasTableInRange = (editor, dataRangeCaches) => {
18752
18785
  });
18753
18786
  };
18754
18787
  const hasImageInRange = (editor, dataRangeCaches) => {
18788
+ if (!editor.range) {
18789
+ return false;
18790
+ }
18755
18791
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18756
18792
  return !!getParsedomElementByElement(editor.range.anchor.element, "img");
18757
18793
  }
@@ -18760,6 +18796,9 @@ const hasImageInRange = (editor, dataRangeCaches) => {
18760
18796
  });
18761
18797
  };
18762
18798
  const hasVideoInRange = (editor, dataRangeCaches) => {
18799
+ if (!editor.range) {
18800
+ return false;
18801
+ }
18763
18802
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18764
18803
  return !!getParsedomElementByElement(editor.range.anchor.element, "video");
18765
18804
  }
@@ -18768,6 +18807,9 @@ const hasVideoInRange = (editor, dataRangeCaches) => {
18768
18807
  });
18769
18808
  };
18770
18809
  const queryTextStyle = (editor, dataRangeCaches, name, value) => {
18810
+ if (!editor.range) {
18811
+ return false;
18812
+ }
18771
18813
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18772
18814
  if (editor.range.anchor.element.isText() && editor.range.anchor.element.hasStyles()) {
18773
18815
  return queryHasValue(editor.range.anchor.element.styles, name, value);
@@ -18789,6 +18831,9 @@ const queryTextStyle = (editor, dataRangeCaches, name, value) => {
18789
18831
  return flag;
18790
18832
  };
18791
18833
  const queryTextMark = (editor, dataRangeCaches, name, value) => {
18834
+ if (!editor.range) {
18835
+ return false;
18836
+ }
18792
18837
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18793
18838
  if (editor.range.anchor.element.isText() && editor.range.anchor.element.hasMarks()) {
18794
18839
  return queryHasValue(editor.range.anchor.element.marks, name, value);
@@ -18823,6 +18868,9 @@ const getRangeText = (dataRangeCaches) => {
18823
18868
  return text;
18824
18869
  };
18825
18870
  const getFlatElementsByRange = (editor, dataRangeCaches) => {
18871
+ if (!editor.range) {
18872
+ return [];
18873
+ }
18826
18874
  let length = dataRangeCaches.flatList.length;
18827
18875
  let elements = [];
18828
18876
  for (let i = 0; i < length; i++) {
@@ -18894,6 +18942,9 @@ const elementToTask = function(element2) {
18894
18942
  element2.marks["data-editify-task"] = "uncheck";
18895
18943
  };
18896
18944
  const setHeading = (editor, dataRangeCaches, editTrans, parsedom) => {
18945
+ if (!editor.range) {
18946
+ return;
18947
+ }
18897
18948
  const values = getButtonOptionsConfig(editTrans).heading.map((item) => {
18898
18949
  return item.value;
18899
18950
  });
@@ -18918,6 +18969,9 @@ const setHeading = (editor, dataRangeCaches, editTrans, parsedom) => {
18918
18969
  }
18919
18970
  };
18920
18971
  const setIndentIncrease = (editor, dataRangeCaches) => {
18972
+ if (!editor.range) {
18973
+ return;
18974
+ }
18921
18975
  const fn = (element2) => {
18922
18976
  if (element2.hasStyles()) {
18923
18977
  if (element2.styles.hasOwnProperty("text-indent")) {
@@ -18958,6 +19012,9 @@ const setIndentIncrease = (editor, dataRangeCaches) => {
18958
19012
  }
18959
19013
  };
18960
19014
  const setIndentDecrease = (editor, dataRangeCaches) => {
19015
+ if (!editor.range) {
19016
+ return;
19017
+ }
18961
19018
  const fn = (element2) => {
18962
19019
  if (element2.hasStyles() && element2.styles.hasOwnProperty("text-indent")) {
18963
19020
  let val = element2.styles["text-indent"];
@@ -18990,6 +19047,9 @@ const setIndentDecrease = (editor, dataRangeCaches) => {
18990
19047
  }
18991
19048
  };
18992
19049
  const setQuote = (editor, dataRangeCaches) => {
19050
+ if (!editor.range) {
19051
+ return;
19052
+ }
18993
19053
  const flag = isRangeInQuote(editor, dataRangeCaches);
18994
19054
  if (editor.range.anchor.isEqual(editor.range.focus)) {
18995
19055
  const block = editor.range.anchor.element.getBlock();
@@ -19015,6 +19075,9 @@ const setQuote = (editor, dataRangeCaches) => {
19015
19075
  }
19016
19076
  };
19017
19077
  const setAlign = (editor, dataRangeCaches, value) => {
19078
+ if (!editor.range) {
19079
+ return;
19080
+ }
19018
19081
  if (editor.range.anchor.isEqual(editor.range.focus)) {
19019
19082
  const block = editor.range.anchor.element.getBlock();
19020
19083
  const inblock = editor.range.anchor.element.getInblock();
@@ -19070,6 +19133,9 @@ const setAlign = (editor, dataRangeCaches, value) => {
19070
19133
  }
19071
19134
  };
19072
19135
  const setList = (editor, dataRangeCaches, ordered) => {
19136
+ if (!editor.range) {
19137
+ return;
19138
+ }
19073
19139
  const flag = isRangeInList(editor, dataRangeCaches, ordered);
19074
19140
  if (editor.range.anchor.isEqual(editor.range.focus)) {
19075
19141
  const block = editor.range.anchor.element.getBlock();
@@ -19097,6 +19163,9 @@ const setList = (editor, dataRangeCaches, ordered) => {
19097
19163
  }
19098
19164
  };
19099
19165
  const setTask = (editor, dataRangeCaches) => {
19166
+ if (!editor.range) {
19167
+ return;
19168
+ }
19100
19169
  const flag = isRangeInTask(editor, dataRangeCaches);
19101
19170
  if (editor.range.anchor.isEqual(editor.range.focus)) {
19102
19171
  const block = editor.range.anchor.element.getBlock();
@@ -19124,6 +19193,9 @@ const setTask = (editor, dataRangeCaches) => {
19124
19193
  }
19125
19194
  };
19126
19195
  const setTextStyle = (editor, dataRangeCaches, styles) => {
19196
+ if (!editor.range) {
19197
+ return;
19198
+ }
19127
19199
  if (editor.range.anchor.isEqual(editor.range.focus)) {
19128
19200
  if (editor.range.anchor.element.isSpaceText()) {
19129
19201
  if (editor.range.anchor.element.hasStyles()) {
@@ -19160,6 +19232,9 @@ const setTextStyle = (editor, dataRangeCaches, styles) => {
19160
19232
  }
19161
19233
  };
19162
19234
  const setTextMark = (editor, dataRangeCaches, marks) => {
19235
+ if (!editor.range) {
19236
+ return;
19237
+ }
19163
19238
  if (!common.isObject(marks)) {
19164
19239
  throw new Error("The argument must be an object");
19165
19240
  }
@@ -19199,6 +19274,9 @@ const setTextMark = (editor, dataRangeCaches, marks) => {
19199
19274
  }
19200
19275
  };
19201
19276
  const removeTextStyle = (editor, dataRangeCaches, styleNames) => {
19277
+ if (!editor.range) {
19278
+ return;
19279
+ }
19202
19280
  const removeFn = (el) => {
19203
19281
  if (Array.isArray(styleNames)) {
19204
19282
  if (el.hasStyles()) {
@@ -19234,6 +19312,9 @@ const removeTextStyle = (editor, dataRangeCaches, styleNames) => {
19234
19312
  }
19235
19313
  };
19236
19314
  const removeTextMark = (editor, dataRangeCaches, markNames) => {
19315
+ if (!editor.range) {
19316
+ return;
19317
+ }
19237
19318
  const removeFn = (el) => {
19238
19319
  if (Array.isArray(markNames)) {
19239
19320
  if (el.hasMarks()) {
@@ -19269,6 +19350,9 @@ const removeTextMark = (editor, dataRangeCaches, markNames) => {
19269
19350
  }
19270
19351
  };
19271
19352
  const setLineHeight = (editor, dataRangeCaches, value) => {
19353
+ if (!editor.range) {
19354
+ return;
19355
+ }
19272
19356
  if (editor.range.anchor.isEqual(editor.range.focus)) {
19273
19357
  const block = editor.range.anchor.element.getBlock();
19274
19358
  const inblock = editor.range.anchor.element.getInblock();
@@ -19324,6 +19408,9 @@ const setLineHeight = (editor, dataRangeCaches, value) => {
19324
19408
  }
19325
19409
  };
19326
19410
  const insertLink = (editor, text, url, newOpen) => {
19411
+ if (!editor.range) {
19412
+ return;
19413
+ }
19327
19414
  if (!text) {
19328
19415
  text = url;
19329
19416
  }
@@ -19339,6 +19426,9 @@ const insertLink = (editor, text, url, newOpen) => {
19339
19426
  editor.insertElement(linkEle);
19340
19427
  };
19341
19428
  const insertImage = (editor, value) => {
19429
+ if (!editor.range) {
19430
+ return;
19431
+ }
19342
19432
  const image = new AlexElement(
19343
19433
  "closed",
19344
19434
  "img",
@@ -19351,6 +19441,9 @@ const insertImage = (editor, value) => {
19351
19441
  editor.insertElement(image);
19352
19442
  };
19353
19443
  const insertVideo = (editor, value) => {
19444
+ if (!editor.range) {
19445
+ return;
19446
+ }
19354
19447
  const video = new AlexElement(
19355
19448
  "closed",
19356
19449
  "video",
@@ -19369,6 +19462,9 @@ const insertVideo = (editor, value) => {
19369
19462
  editor.range.focus.moveToEnd(rightSpace);
19370
19463
  };
19371
19464
  const insertTable = (editor, rowLength, colLength) => {
19465
+ if (!editor.range) {
19466
+ return;
19467
+ }
19372
19468
  const table = new AlexElement("block", "table", null, null, null);
19373
19469
  const tbody = new AlexElement("inblock", "tbody", null, null, null);
19374
19470
  editor.addElementTo(tbody, table);
@@ -19391,6 +19487,9 @@ const insertTable = (editor, rowLength, colLength) => {
19391
19487
  editor.range.focus.moveToStart(tbody);
19392
19488
  };
19393
19489
  const insertCodeBlock = (editor, dataRangeCaches) => {
19490
+ if (!editor.range) {
19491
+ return;
19492
+ }
19394
19493
  const pre = getCurrentParsedomElement(editor, dataRangeCaches, "pre");
19395
19494
  if (pre) {
19396
19495
  let content = "";
@@ -24872,7 +24971,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24872
24971
  removeScroll(contentRef.value);
24873
24972
  };
24874
24973
  const handleToolbar = () => {
24875
- if (props || isSourceView.value) {
24974
+ if (props.disabled || isSourceView.value) {
24876
24975
  return;
24877
24976
  }
24878
24977
  hideToolbar();
@@ -25470,8 +25569,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25470
25569
  };
25471
25570
  }
25472
25571
  });
25473
- const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5537a145"]]);
25474
- const version = "0.1.12";
25572
+ const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-99f85ef5"]]);
25573
+ const version = "0.1.13";
25475
25574
  const install = (app) => {
25476
25575
  app.component(Editify.name, Editify);
25477
25576
  };