vue-editify 0.2.8 → 0.2.10
Sign up to get free protection for your applications and to get access to all the features.
- 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 +472 -382
- 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 +6 -6
- 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 +111 -84
- 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
|
|