vue-editify 0.2.8 → 0.2.10
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 +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 |  |