vue-editify 0.2.9 → 0.2.11
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.
- package/examples/App.vue +11 -6
- package/lib/components/button/button.vue.d.ts +271 -0
- package/lib/components/button/props.d.ts +4 -0
- package/lib/components/checkbox/checkbox.vue.d.ts +2 -2
- package/lib/components/layer/layer.vue.d.ts +12 -3
- package/lib/components/layer/props.d.ts +4 -0
- package/lib/components/menu/menu.vue.d.ts +12 -0
- package/lib/components/menu/props.d.ts +4 -0
- package/lib/components/toolbar/props.d.ts +8 -0
- package/lib/components/toolbar/toolbar.vue.d.ts +18 -0
- package/lib/components/tooltip/props.d.ts +4 -0
- package/lib/components/tooltip/tooltip.vue.d.ts +9 -0
- package/lib/core/tool.d.ts +7 -0
- package/lib/editify/editify.vue.d.ts +89 -28
- package/lib/editify/props.d.ts +8 -0
- package/lib/editify.es.js +456 -386
- package/lib/editify.umd.js +2 -2
- package/lib/hljs/index.d.ts +7 -4
- package/lib/index.d.ts +90 -29
- package/package.json +4 -4
- package/src/components/button/button.less +48 -48
- package/src/components/button/button.vue +4 -3
- package/src/components/button/props.ts +5 -0
- package/src/components/layer/layer.less +1 -1
- package/src/components/layer/layer.vue +94 -89
- package/src/components/layer/props.ts +6 -1
- package/src/components/menu/menu.less +0 -1
- package/src/components/menu/menu.vue +46 -70
- package/src/components/menu/props.ts +5 -0
- package/src/components/toolbar/props.ts +10 -0
- package/src/components/toolbar/toolbar.vue +49 -49
- package/src/components/tooltip/props.ts +5 -0
- package/src/components/tooltip/tooltip.less +7 -15
- package/src/components/tooltip/tooltip.vue +5 -7
- package/src/core/tool.ts +27 -1
- package/src/editify/editify.less +0 -5
- package/src/editify/editify.vue +10 -6
- package/src/editify/props.ts +10 -0
- package/src/hljs/index.ts +34 -28
- package/src/index.ts +1 -1
@@ -1,14 +1,13 @@
|
|
1
1
|
<template>
|
2
|
-
<div class="editify-menu" :class="{ 'editify-border': menuShowBorder, 'editify-source': isSourceView && menuMode == 'inner', 'editify-fullscreen': isFullScreen }" :data-editify-mode="menuMode" :style="config.style ||
|
2
|
+
<div ref="menuRef" class="editify-menu" :class="{ 'editify-border': menuShowBorder, 'editify-source': isSourceView && menuMode == 'inner', 'editify-fullscreen': isFullScreen }" :data-editify-mode="menuMode" :style="{ zIndex: zIndex, ...(config.style || {}) }">
|
3
3
|
<MenuItem v-for="item in menuNames" :name="item" :disabled="menuDisabled(item)"></MenuItem>
|
4
4
|
</div>
|
5
5
|
</template>
|
6
6
|
<script setup lang="ts">
|
7
|
-
import { common as DapCommon } from 'dap-util'
|
8
|
-
import { h,
|
7
|
+
import { common as DapCommon, event as DapEvent } from 'dap-util'
|
8
|
+
import { h, ref, computed, inject, ComponentInternalInstance, Ref, ComputedRef, defineComponent, onMounted, getCurrentInstance, onBeforeUnmount } from 'vue'
|
9
9
|
import { AlexEditor, AlexElementsRangeType } from 'alex-editor'
|
10
10
|
import Icon from '@/components/icon/icon.vue'
|
11
|
-
import Layer from '@/components/layer/layer.vue'
|
12
11
|
import Button from '@/components/button/button.vue'
|
13
12
|
import Colors from '@/components/colors/colors.vue'
|
14
13
|
import InsertLink from '@/components/insertLink/insertLink.vue'
|
@@ -23,6 +22,7 @@ import { MenuProps } from './props'
|
|
23
22
|
defineOptions({
|
24
23
|
name: 'Menu'
|
25
24
|
})
|
25
|
+
const instance = getCurrentInstance()!
|
26
26
|
const props = defineProps(MenuProps)
|
27
27
|
|
28
28
|
const $editTrans = inject<(key: string) => any>('$editTrans')!
|
@@ -35,6 +35,10 @@ const dataRangeCaches = inject<Ref<AlexElementsRangeType>>('dataRangeCaches')!
|
|
35
35
|
const showBorder = inject<ComputedRef<boolean>>('showBorder')!
|
36
36
|
const pluginResultList = inject<ComputedRef<PluginResultType[]>>('pluginResultList')!
|
37
37
|
|
38
|
+
//菜单dom
|
39
|
+
const menuRef = ref<HTMLElement | null>(null)
|
40
|
+
//菜单高度
|
41
|
+
const height = ref<number>(0)
|
38
42
|
//撤销按钮配置
|
39
43
|
const undoConfig = ref<ObjectType>({
|
40
44
|
show: props.config.undo!.show,
|
@@ -938,13 +942,14 @@ const handleRangeUpdate = () => {
|
|
938
942
|
//菜单项子组件
|
939
943
|
const MenuItem = defineComponent(
|
940
944
|
selfProps => {
|
941
|
-
//获取实例
|
942
|
-
const itemInstance = getCurrentInstance()!
|
943
945
|
//共同设置的属性
|
944
946
|
const itemProps = {
|
945
947
|
tooltip: props.config.tooltip,
|
948
|
+
color: props.color,
|
949
|
+
zIndex: props.zIndex + 1,
|
946
950
|
name: selfProps.name
|
947
951
|
}
|
952
|
+
const btnRef = ref<InstanceType<typeof Button> | null>(null)
|
948
953
|
return () => {
|
949
954
|
//撤销按钮
|
950
955
|
if (itemProps.name == 'undo' && undoConfig.value.show) {
|
@@ -956,7 +961,6 @@ const MenuItem = defineComponent(
|
|
956
961
|
leftBorder: undoConfig.value.leftBorder,
|
957
962
|
rightBorder: undoConfig.value.rightBorder,
|
958
963
|
disabled: undoConfig.value.disabled || selfProps.disabled || disabled.value,
|
959
|
-
color: props.color,
|
960
964
|
active: undoConfig.value.active,
|
961
965
|
onOperate: handleOperate
|
962
966
|
},
|
@@ -973,7 +977,6 @@ const MenuItem = defineComponent(
|
|
973
977
|
leftBorder: redoConfig.value.leftBorder,
|
974
978
|
rightBorder: redoConfig.value.rightBorder,
|
975
979
|
disabled: redoConfig.value.disabled || selfProps.disabled || disabled.value,
|
976
|
-
color: props.color,
|
977
980
|
active: redoConfig.value.active,
|
978
981
|
onOperate: handleOperate
|
979
982
|
},
|
@@ -989,7 +992,6 @@ const MenuItem = defineComponent(
|
|
989
992
|
title: $editTrans('heading'),
|
990
993
|
leftBorder: headingConfig.value.leftBorder,
|
991
994
|
rightBorder: headingConfig.value.rightBorder,
|
992
|
-
color: props.color,
|
993
995
|
disabled: headingConfig.value.disabled || selfProps.disabled || disabled.value,
|
994
996
|
active: headingConfig.value.active,
|
995
997
|
onOperate: handleOperate
|
@@ -1006,7 +1008,6 @@ const MenuItem = defineComponent(
|
|
1006
1008
|
title: $editTrans('indent'),
|
1007
1009
|
leftBorder: indentConfig.value.leftBorder,
|
1008
1010
|
rightBorder: indentConfig.value.rightBorder,
|
1009
|
-
color: props.color,
|
1010
1011
|
disabled: indentConfig.value.disabled || selfProps.disabled || disabled.value,
|
1011
1012
|
active: indentConfig.value.active,
|
1012
1013
|
onOperate: handleOperate
|
@@ -1023,7 +1024,6 @@ const MenuItem = defineComponent(
|
|
1023
1024
|
title: $editTrans('quote'),
|
1024
1025
|
leftBorder: quoteConfig.value.leftBorder,
|
1025
1026
|
rightBorder: quoteConfig.value.rightBorder,
|
1026
|
-
color: props.color,
|
1027
1027
|
disabled: quoteConfig.value.disabled || selfProps.disabled || disabled.value,
|
1028
1028
|
active: quoteConfig.value.active,
|
1029
1029
|
onOperate: handleOperate
|
@@ -1040,7 +1040,6 @@ const MenuItem = defineComponent(
|
|
1040
1040
|
title: $editTrans('separator'),
|
1041
1041
|
leftBorder: separatorConfig.value.leftBorder,
|
1042
1042
|
rightBorder: separatorConfig.value.rightBorder,
|
1043
|
-
color: props.color,
|
1044
1043
|
disabled: separatorConfig.value.disabled || selfProps.disabled || disabled.value,
|
1045
1044
|
active: separatorConfig.value.active,
|
1046
1045
|
onOperate: handleOperate
|
@@ -1059,7 +1058,6 @@ const MenuItem = defineComponent(
|
|
1059
1058
|
title: $editTrans('align'),
|
1060
1059
|
leftBorder: alignConfig.value.leftBorder,
|
1061
1060
|
rightBorder: alignConfig.value.rightBorder,
|
1062
|
-
color: props.color,
|
1063
1061
|
disabled: alignConfig.value.disabled || selfProps.disabled || disabled.value,
|
1064
1062
|
active: alignConfig.value.active,
|
1065
1063
|
onOperate: handleOperate
|
@@ -1076,7 +1074,6 @@ const MenuItem = defineComponent(
|
|
1076
1074
|
title: $editTrans('orderList'),
|
1077
1075
|
leftBorder: orderListConfig.value.leftBorder,
|
1078
1076
|
rightBorder: orderListConfig.value.rightBorder,
|
1079
|
-
color: props.color,
|
1080
1077
|
disabled: orderListConfig.value.disabled || selfProps.disabled || disabled.value,
|
1081
1078
|
active: orderListConfig.value.active,
|
1082
1079
|
onOperate: handleOperate
|
@@ -1093,7 +1090,6 @@ const MenuItem = defineComponent(
|
|
1093
1090
|
title: $editTrans('unorderList'),
|
1094
1091
|
leftBorder: unorderListConfig.value.leftBorder,
|
1095
1092
|
rightBorder: unorderListConfig.value.rightBorder,
|
1096
|
-
color: props.color,
|
1097
1093
|
disabled: unorderListConfig.value.disabled || selfProps.disabled || disabled.value,
|
1098
1094
|
active: unorderListConfig.value.active,
|
1099
1095
|
onOperate: handleOperate
|
@@ -1110,7 +1106,6 @@ const MenuItem = defineComponent(
|
|
1110
1106
|
title: $editTrans('task'),
|
1111
1107
|
leftBorder: taskConfig.value.leftBorder,
|
1112
1108
|
rightBorder: taskConfig.value.rightBorder,
|
1113
|
-
color: props.color,
|
1114
1109
|
disabled: taskConfig.value.disabled || selfProps.disabled || disabled.value,
|
1115
1110
|
active: taskConfig.value.active,
|
1116
1111
|
onOperate: handleOperate
|
@@ -1127,7 +1122,6 @@ const MenuItem = defineComponent(
|
|
1127
1122
|
title: $editTrans('bold'),
|
1128
1123
|
leftBorder: boldConfig.value.leftBorder,
|
1129
1124
|
rightBorder: boldConfig.value.rightBorder,
|
1130
|
-
color: props.color,
|
1131
1125
|
disabled: boldConfig.value.disabled || selfProps.disabled || disabled.value,
|
1132
1126
|
active: boldConfig.value.active,
|
1133
1127
|
onOperate: handleOperate
|
@@ -1144,7 +1138,6 @@ const MenuItem = defineComponent(
|
|
1144
1138
|
title: $editTrans('underline'),
|
1145
1139
|
leftBorder: underlineConfig.value.leftBorder,
|
1146
1140
|
rightBorder: underlineConfig.value.rightBorder,
|
1147
|
-
color: props.color,
|
1148
1141
|
disabled: underlineConfig.value.disabled || selfProps.disabled || disabled.value,
|
1149
1142
|
active: underlineConfig.value.active,
|
1150
1143
|
onOperate: handleOperate
|
@@ -1161,7 +1154,6 @@ const MenuItem = defineComponent(
|
|
1161
1154
|
title: $editTrans('italic'),
|
1162
1155
|
leftBorder: italicConfig.value.leftBorder,
|
1163
1156
|
rightBorder: italicConfig.value.rightBorder,
|
1164
|
-
color: props.color,
|
1165
1157
|
disabled: italicConfig.value.disabled || selfProps.disabled || disabled.value,
|
1166
1158
|
active: italicConfig.value.active,
|
1167
1159
|
onOperate: handleOperate
|
@@ -1178,7 +1170,6 @@ const MenuItem = defineComponent(
|
|
1178
1170
|
title: $editTrans('strikethrough'),
|
1179
1171
|
leftBorder: strikethroughConfig.value.leftBorder,
|
1180
1172
|
rightBorder: strikethroughConfig.value.rightBorder,
|
1181
|
-
color: props.color,
|
1182
1173
|
disabled: strikethroughConfig.value.disabled || selfProps.disabled || disabled.value,
|
1183
1174
|
active: strikethroughConfig.value.active,
|
1184
1175
|
onOperate: handleOperate
|
@@ -1195,7 +1186,6 @@ const MenuItem = defineComponent(
|
|
1195
1186
|
title: $editTrans('code'),
|
1196
1187
|
leftBorder: codeConfig.value.leftBorder,
|
1197
1188
|
rightBorder: codeConfig.value.rightBorder,
|
1198
|
-
color: props.color,
|
1199
1189
|
disabled: codeConfig.value.disabled || selfProps.disabled || disabled.value,
|
1200
1190
|
active: codeConfig.value.active,
|
1201
1191
|
onOperate: handleOperate
|
@@ -1212,7 +1202,6 @@ const MenuItem = defineComponent(
|
|
1212
1202
|
title: $editTrans('superscript'),
|
1213
1203
|
leftBorder: superConfig.value.leftBorder,
|
1214
1204
|
rightBorder: superConfig.value.rightBorder,
|
1215
|
-
color: props.color,
|
1216
1205
|
disabled: superConfig.value.disabled || selfProps.disabled || disabled.value,
|
1217
1206
|
active: superConfig.value.active,
|
1218
1207
|
onOperate: handleOperate
|
@@ -1229,7 +1218,6 @@ const MenuItem = defineComponent(
|
|
1229
1218
|
title: $editTrans('subscript'),
|
1230
1219
|
leftBorder: subConfig.value.leftBorder,
|
1231
1220
|
rightBorder: subConfig.value.rightBorder,
|
1232
|
-
color: props.color,
|
1233
1221
|
disabled: subConfig.value.disabled || selfProps.disabled || disabled.value,
|
1234
1222
|
active: subConfig.value.active,
|
1235
1223
|
onOperate: handleOperate
|
@@ -1246,7 +1234,6 @@ const MenuItem = defineComponent(
|
|
1246
1234
|
title: $editTrans('formatClear'),
|
1247
1235
|
leftBorder: formatClearConfig.value.leftBorder,
|
1248
1236
|
rightBorder: formatClearConfig.value.rightBorder,
|
1249
|
-
color: props.color,
|
1250
1237
|
disabled: formatClearConfig.value.disabled || selfProps.disabled || disabled.value,
|
1251
1238
|
active: formatClearConfig.value.active,
|
1252
1239
|
onOperate: handleOperate
|
@@ -1263,7 +1250,6 @@ const MenuItem = defineComponent(
|
|
1263
1250
|
title: $editTrans('fontSize'),
|
1264
1251
|
leftBorder: fontSizeConfig.value.leftBorder,
|
1265
1252
|
rightBorder: fontSizeConfig.value.rightBorder,
|
1266
|
-
color: props.color,
|
1267
1253
|
disabled: fontSizeConfig.value.disabled || selfProps.disabled || disabled.value,
|
1268
1254
|
active: fontSizeConfig.value.active,
|
1269
1255
|
onOperate: handleOperate
|
@@ -1278,7 +1264,6 @@ const MenuItem = defineComponent(
|
|
1278
1264
|
title: $editTrans('fontFamily'),
|
1279
1265
|
leftBorder: fontFamilyConfig.value.leftBorder,
|
1280
1266
|
rightBorder: fontFamilyConfig.value.rightBorder,
|
1281
|
-
color: props.color,
|
1282
1267
|
disabled: fontFamilyConfig.value.disabled || selfProps.disabled || disabled.value,
|
1283
1268
|
active: fontFamilyConfig.value.active,
|
1284
1269
|
onOperate: handleOperate
|
@@ -1293,7 +1278,6 @@ const MenuItem = defineComponent(
|
|
1293
1278
|
title: $editTrans('lineHeight'),
|
1294
1279
|
leftBorder: lineHeightConfig.value.leftBorder,
|
1295
1280
|
rightBorder: lineHeightConfig.value.rightBorder,
|
1296
|
-
color: props.color,
|
1297
1281
|
disabled: lineHeightConfig.value.disabled || selfProps.disabled || disabled.value,
|
1298
1282
|
active: lineHeightConfig.value.active,
|
1299
1283
|
onOperate: handleOperate
|
@@ -1305,13 +1289,12 @@ const MenuItem = defineComponent(
|
|
1305
1289
|
Button,
|
1306
1290
|
{
|
1307
1291
|
...itemProps,
|
1308
|
-
ref:
|
1292
|
+
ref: btnRef,
|
1309
1293
|
type: 'select',
|
1310
1294
|
selectConfig: foreColorConfig.value.selectConfig,
|
1311
1295
|
title: $editTrans('foreColor'),
|
1312
1296
|
leftBorder: foreColorConfig.value.leftBorder,
|
1313
1297
|
rightBorder: foreColorConfig.value.rightBorder,
|
1314
|
-
color: props.color,
|
1315
1298
|
disabled: foreColorConfig.value.disabled || selfProps.disabled || disabled.value,
|
1316
1299
|
active: foreColorConfig.value.active,
|
1317
1300
|
hideScroll: true
|
@@ -1329,8 +1312,7 @@ const MenuItem = defineComponent(
|
|
1329
1312
|
color: props.color,
|
1330
1313
|
onChange: (val: string) => {
|
1331
1314
|
handleOperate('foreColor', val)
|
1332
|
-
|
1333
|
-
btn.show = false
|
1315
|
+
btnRef.value!.show = false
|
1334
1316
|
}
|
1335
1317
|
})
|
1336
1318
|
}
|
@@ -1344,12 +1326,11 @@ const MenuItem = defineComponent(
|
|
1344
1326
|
{
|
1345
1327
|
...itemProps,
|
1346
1328
|
type: 'select',
|
1347
|
-
ref:
|
1329
|
+
ref: btnRef,
|
1348
1330
|
selectConfig: backColorConfig.value.selectConfig,
|
1349
1331
|
title: $editTrans('backColor'),
|
1350
1332
|
leftBorder: backColorConfig.value.leftBorder,
|
1351
1333
|
rightBorder: backColorConfig.value.rightBorder,
|
1352
|
-
color: props.color,
|
1353
1334
|
disabled: backColorConfig.value.disabled || selfProps.disabled || disabled.value,
|
1354
1335
|
active: backColorConfig.value.active,
|
1355
1336
|
onOperate: handleOperate,
|
@@ -1368,8 +1349,7 @@ const MenuItem = defineComponent(
|
|
1368
1349
|
color: props.color,
|
1369
1350
|
onChange: val => {
|
1370
1351
|
handleOperate('backColor', val)
|
1371
|
-
|
1372
|
-
btn.show = false
|
1352
|
+
btnRef.value!.show = false
|
1373
1353
|
}
|
1374
1354
|
})
|
1375
1355
|
}
|
@@ -1382,11 +1362,10 @@ const MenuItem = defineComponent(
|
|
1382
1362
|
{
|
1383
1363
|
...itemProps,
|
1384
1364
|
type: 'select',
|
1385
|
-
ref:
|
1365
|
+
ref: btnRef,
|
1386
1366
|
title: $editTrans('insertLink'),
|
1387
1367
|
leftBorder: linkConfig.value.leftBorder,
|
1388
1368
|
rightBorder: linkConfig.value.rightBorder,
|
1389
|
-
color: props.color,
|
1390
1369
|
disabled: linkConfig.value.disabled || selfProps.disabled || disabled.value,
|
1391
1370
|
active: linkConfig.value.active,
|
1392
1371
|
hideScroll: true,
|
@@ -1406,8 +1385,7 @@ const MenuItem = defineComponent(
|
|
1406
1385
|
text: linkConfig.value.text,
|
1407
1386
|
onInsert: (text, url, newOpen) => {
|
1408
1387
|
handleOperate('link', { text, url, newOpen })
|
1409
|
-
|
1410
|
-
btn.show = false
|
1388
|
+
btnRef.value!.show = false
|
1411
1389
|
}
|
1412
1390
|
})
|
1413
1391
|
}
|
@@ -1420,11 +1398,10 @@ const MenuItem = defineComponent(
|
|
1420
1398
|
{
|
1421
1399
|
...itemProps,
|
1422
1400
|
type: 'select',
|
1423
|
-
ref:
|
1401
|
+
ref: btnRef,
|
1424
1402
|
title: $editTrans('insertImage'),
|
1425
1403
|
leftBorder: imageConfig.value.leftBorder,
|
1426
1404
|
rightBorder: imageConfig.value.rightBorder,
|
1427
|
-
color: props.color,
|
1428
1405
|
disabled: imageConfig.value.disabled || selfProps.disabled || disabled.value,
|
1429
1406
|
active: imageConfig.value.active,
|
1430
1407
|
hideScroll: true
|
@@ -1444,14 +1421,11 @@ const MenuItem = defineComponent(
|
|
1444
1421
|
customUpload: imageConfig.value.customUpload,
|
1445
1422
|
handleError: imageConfig.value.handleError,
|
1446
1423
|
onChange: () => {
|
1447
|
-
|
1448
|
-
const layer = <InstanceType<typeof Layer>>btn.$refs.layerRef
|
1449
|
-
layer.setPosition()
|
1424
|
+
btnRef.value!.layerRef!.setPosition()
|
1450
1425
|
},
|
1451
1426
|
onInsert: (urls: string[]) => {
|
1452
1427
|
handleOperate('image', urls)
|
1453
|
-
|
1454
|
-
btn.show = false
|
1428
|
+
btnRef.value!.show = false
|
1455
1429
|
}
|
1456
1430
|
})
|
1457
1431
|
}
|
@@ -1464,11 +1438,10 @@ const MenuItem = defineComponent(
|
|
1464
1438
|
{
|
1465
1439
|
...itemProps,
|
1466
1440
|
type: 'select',
|
1467
|
-
ref:
|
1441
|
+
ref: btnRef,
|
1468
1442
|
title: $editTrans('insertVideo'),
|
1469
1443
|
leftBorder: videoConfig.value.leftBorder,
|
1470
1444
|
rightBorder: videoConfig.value.rightBorder,
|
1471
|
-
color: props.color,
|
1472
1445
|
disabled: videoConfig.value.disabled || selfProps.disabled || disabled.value,
|
1473
1446
|
active: videoConfig.value.active,
|
1474
1447
|
hideScroll: true
|
@@ -1488,14 +1461,11 @@ const MenuItem = defineComponent(
|
|
1488
1461
|
customUpload: videoConfig.value.customUpload,
|
1489
1462
|
handleError: videoConfig.value.handleError,
|
1490
1463
|
onChange: () => {
|
1491
|
-
|
1492
|
-
const layer = <InstanceType<typeof Layer>>btn.$refs.layerRef
|
1493
|
-
layer.setPosition()
|
1464
|
+
btnRef.value!.layerRef!.setPosition()
|
1494
1465
|
},
|
1495
1466
|
onInsert: (urls: string[]) => {
|
1496
1467
|
handleOperate('video', urls)
|
1497
|
-
|
1498
|
-
btn.show = false
|
1468
|
+
btnRef.value!.show = false
|
1499
1469
|
}
|
1500
1470
|
})
|
1501
1471
|
}
|
@@ -1508,11 +1478,10 @@ const MenuItem = defineComponent(
|
|
1508
1478
|
{
|
1509
1479
|
...itemProps,
|
1510
1480
|
type: 'select',
|
1511
|
-
ref:
|
1481
|
+
ref: btnRef,
|
1512
1482
|
title: $editTrans('insertTable'),
|
1513
1483
|
leftBorder: tableConfig.value.leftBorder,
|
1514
1484
|
rightBorder: tableConfig.value.rightBorder,
|
1515
|
-
color: props.color,
|
1516
1485
|
disabled: tableConfig.value.disabled || selfProps.disabled || disabled.value,
|
1517
1486
|
active: tableConfig.value.active,
|
1518
1487
|
hideScroll: true
|
@@ -1529,8 +1498,7 @@ const MenuItem = defineComponent(
|
|
1529
1498
|
maxColumns: tableConfig.value.maxColumns,
|
1530
1499
|
onInsert: (row, column) => {
|
1531
1500
|
handleOperate('table', { row, column })
|
1532
|
-
|
1533
|
-
btn.show = false
|
1501
|
+
btnRef.value!.show = false
|
1534
1502
|
}
|
1535
1503
|
})
|
1536
1504
|
}
|
@@ -1545,7 +1513,6 @@ const MenuItem = defineComponent(
|
|
1545
1513
|
title: $editTrans('inserCodeBlock'),
|
1546
1514
|
leftBorder: codeBlockConfig.value.leftBorder,
|
1547
1515
|
rightBorder: codeBlockConfig.value.rightBorder,
|
1548
|
-
color: props.color,
|
1549
1516
|
disabled: codeBlockConfig.value.disabled || selfProps.disabled || disabled.value,
|
1550
1517
|
active: codeBlockConfig.value.active,
|
1551
1518
|
onOperate: handleOperate
|
@@ -1562,7 +1529,6 @@ const MenuItem = defineComponent(
|
|
1562
1529
|
title: $editTrans('sourceView'),
|
1563
1530
|
leftBorder: sourceViewConfig.value.leftBorder,
|
1564
1531
|
rightBorder: sourceViewConfig.value.rightBorder,
|
1565
|
-
color: props.color,
|
1566
1532
|
disabled: sourceViewConfig.value.disabled || selfProps.disabled || disabled.value,
|
1567
1533
|
active: sourceViewConfig.value.active,
|
1568
1534
|
onOperate: handleOperate
|
@@ -1579,7 +1545,6 @@ const MenuItem = defineComponent(
|
|
1579
1545
|
title: $editTrans('fullScreen'),
|
1580
1546
|
leftBorder: fullScreenConfig.value.leftBorder,
|
1581
1547
|
rightBorder: fullScreenConfig.value.rightBorder,
|
1582
|
-
color: props.color,
|
1583
1548
|
disabled: fullScreenConfig.value.disabled || selfProps.disabled || disabled.value,
|
1584
1549
|
active: fullScreenConfig.value.active,
|
1585
1550
|
onOperate: handleOperate
|
@@ -1597,7 +1562,7 @@ const MenuItem = defineComponent(
|
|
1597
1562
|
Button,
|
1598
1563
|
{
|
1599
1564
|
...itemProps,
|
1600
|
-
ref:
|
1565
|
+
ref: btnRef,
|
1601
1566
|
type: configuration.type || 'default',
|
1602
1567
|
title: configuration.title || '',
|
1603
1568
|
leftBorder: configuration.leftBorder || false,
|
@@ -1616,44 +1581,43 @@ const MenuItem = defineComponent(
|
|
1616
1581
|
value: configuration.value,
|
1617
1582
|
options: configuration.options
|
1618
1583
|
},
|
1619
|
-
color: props.color,
|
1620
1584
|
onLayerShow: () => {
|
1621
1585
|
if (typeof configuration.onLayerShow == 'function') {
|
1622
|
-
configuration.onLayerShow(itemProps.name,
|
1586
|
+
configuration.onLayerShow(itemProps.name, btnRef.value!)
|
1623
1587
|
}
|
1624
1588
|
},
|
1625
1589
|
onLayerShown: () => {
|
1626
1590
|
if (typeof configuration.onLayerShown == 'function') {
|
1627
|
-
configuration.onLayerShown(itemProps.name,
|
1591
|
+
configuration.onLayerShown(itemProps.name, btnRef.value!)
|
1628
1592
|
}
|
1629
1593
|
},
|
1630
1594
|
onLayerHidden: () => {
|
1631
1595
|
if (typeof configuration.onLayerHidden == 'function') {
|
1632
|
-
configuration.onLayerHidden(itemProps.name,
|
1596
|
+
configuration.onLayerHidden(itemProps.name, btnRef.value!)
|
1633
1597
|
}
|
1634
1598
|
},
|
1635
1599
|
onOperate: (name, val) => {
|
1636
1600
|
if (typeof configuration.onOperate == 'function') {
|
1637
|
-
configuration.onOperate(name, val,
|
1601
|
+
configuration.onOperate(name, val, btnRef.value!)
|
1638
1602
|
}
|
1639
1603
|
}
|
1640
1604
|
},
|
1641
1605
|
{
|
1642
1606
|
default: () => {
|
1643
1607
|
if (configuration.default) {
|
1644
|
-
return configuration.default(itemProps.name,
|
1608
|
+
return configuration.default(itemProps.name, btnRef.value!)
|
1645
1609
|
}
|
1646
1610
|
return null
|
1647
1611
|
},
|
1648
1612
|
layer: () => {
|
1649
1613
|
if (configuration.layer) {
|
1650
|
-
return configuration.layer(itemProps.name,
|
1614
|
+
return configuration.layer(itemProps.name, btnRef.value!)
|
1651
1615
|
}
|
1652
1616
|
return null
|
1653
1617
|
},
|
1654
1618
|
option: () => {
|
1655
1619
|
if (configuration.option) {
|
1656
|
-
return configuration.option(itemProps.name,
|
1620
|
+
return configuration.option(itemProps.name, btnRef.value!)
|
1657
1621
|
}
|
1658
1622
|
return null
|
1659
1623
|
}
|
@@ -1672,8 +1636,20 @@ const MenuItem = defineComponent(
|
|
1672
1636
|
}
|
1673
1637
|
)
|
1674
1638
|
|
1639
|
+
onMounted(() => {
|
1640
|
+
height.value = menuRef.value!.offsetHeight
|
1641
|
+
DapEvent.on(window, `resize.editify_menu_${instance.uid}`, () => {
|
1642
|
+
height.value = menuRef.value!.offsetHeight
|
1643
|
+
})
|
1644
|
+
})
|
1645
|
+
|
1646
|
+
onBeforeUnmount(() => {
|
1647
|
+
DapEvent.off(window, `resize.editify_menu_${instance.uid}`)
|
1648
|
+
})
|
1649
|
+
|
1675
1650
|
defineExpose({
|
1676
|
-
handleRangeUpdate
|
1651
|
+
handleRangeUpdate,
|
1652
|
+
height
|
1677
1653
|
})
|
1678
1654
|
</script>
|
1679
1655
|
<style scoped src="./menu.less"></style>
|
@@ -12,6 +12,11 @@ export const ToolbarProps = {
|
|
12
12
|
type: [String, Node] as PropType<string | HTMLElement>,
|
13
13
|
default: null
|
14
14
|
},
|
15
|
+
//滚动的容器元素
|
16
|
+
scrollNode: {
|
17
|
+
type: [String, Node] as PropType<string | HTMLElement>,
|
18
|
+
default: null
|
19
|
+
},
|
15
20
|
//类型
|
16
21
|
type: {
|
17
22
|
type: String as PropType<'text' | 'table' | 'link' | 'codeBlock' | 'image' | 'video'>,
|
@@ -29,6 +34,11 @@ export const ToolbarProps = {
|
|
29
34
|
color: {
|
30
35
|
type: String as PropType<string | null>,
|
31
36
|
default: ''
|
37
|
+
},
|
38
|
+
//层级
|
39
|
+
zIndex: {
|
40
|
+
type: Number,
|
41
|
+
default: 1
|
32
42
|
}
|
33
43
|
}
|
34
44
|
|