feat: 添加部署脚本并简化iframe加载逻辑
refactor(demo): 移除文件上传功能,仅支持URL拼接加载 refactor(main): 根据URL参数动态设置编辑模式 chore: 在package.json中添加部署相关脚本
This commit is contained in:
1 parent
41313ac835
commit
1c14e28469
3 files changed
+57
-75
No files matched your search
+41
-34
@@ -1,4 +1,4 @@
|
||||
import { commentList, data, options } from './mock'
|
||||
import { commentList, options } from './mock'
|
||||
import './style.css'
|
||||
import prism from 'prismjs'
|
||||
import Editor, {
|
||||
@@ -36,29 +36,9 @@ window.onload = function () {
|
||||
const instance = new Editor(
|
||||
container,
|
||||
{
|
||||
header: [
|
||||
{
|
||||
value: '教材在线编辑器',
|
||||
size: 32,
|
||||
rowFlex: RowFlex.CENTER
|
||||
},
|
||||
{
|
||||
value: '\n测试数据',
|
||||
size: 18,
|
||||
rowFlex: RowFlex.CENTER
|
||||
},
|
||||
{
|
||||
value: '\n',
|
||||
type: ElementType.SEPARATOR
|
||||
}
|
||||
],
|
||||
main: <IElement[]>data,
|
||||
// footer: [
|
||||
// {
|
||||
// value: 'canvas-editor',
|
||||
// size: 12
|
||||
// }
|
||||
// ]
|
||||
header: [],
|
||||
main: [],
|
||||
footer: []
|
||||
},
|
||||
options
|
||||
)
|
||||
@@ -1609,22 +1589,49 @@ window.onload = function () {
|
||||
}
|
||||
]
|
||||
const modeElement = document.querySelector<HTMLDivElement>('.editor-mode')!
|
||||
modeElement.onclick = function () {
|
||||
// 模式选择循环
|
||||
modeIndex === modeList.length - 1 ? (modeIndex = 0) : modeIndex++
|
||||
// 设置模式
|
||||
const { name, mode } = modeList[modeIndex]
|
||||
modeElement.innerText = name
|
||||
instance.command.executeMode(mode)
|
||||
// 设置菜单栏权限视觉反馈
|
||||
const isReadonly = mode === EditorMode.READONLY
|
||||
const menuTextDom = document.querySelector<HTMLDivElement>('.menu-item-text')!
|
||||
const modeParam = params.get('mode')?.toLowerCase()
|
||||
const isEditMode = modeParam === 'edit'
|
||||
|
||||
if (!isEditMode) {
|
||||
// 默认只读模式:隐藏模式切换与导出/打开/保存
|
||||
modeElement.style.display = 'none'
|
||||
menuTextDom.style.display = 'none'
|
||||
instance.command.executeMode(EditorMode.READONLY)
|
||||
// 设置菜单栏权限视觉反馈(只读允许搜索与打印)
|
||||
const enableMenuList = ['search', 'print']
|
||||
document.querySelectorAll<HTMLDivElement>('.menu-item>div').forEach(dom => {
|
||||
const menu = dom.dataset.menu
|
||||
isReadonly && (!menu || !enableMenuList.includes(menu))
|
||||
!menu || !enableMenuList.includes(menu)
|
||||
? dom.classList.add('disable')
|
||||
: dom.classList.remove('disable')
|
||||
})
|
||||
} else {
|
||||
// URL 指定编辑模式:显示模式切换与导出/打开/保存,并默认切为编辑模式
|
||||
modeElement.style.display = ''
|
||||
menuTextDom.style.display = ''
|
||||
modeElement.innerText = '编辑模式'
|
||||
instance.command.executeMode(EditorMode.EDIT)
|
||||
// 仅在编辑模式下允许模式切换
|
||||
modeElement.onclick = function () {
|
||||
// 模式选择循环
|
||||
modeIndex === modeList.length - 1 ? (modeIndex = 0) : modeIndex++
|
||||
// 设置模式
|
||||
const { name, mode } = modeList[modeIndex]
|
||||
modeElement.innerText = name
|
||||
instance.command.executeMode(mode)
|
||||
// 设置菜单栏权限视觉反馈
|
||||
const isReadonly = mode === EditorMode.READONLY
|
||||
const enableMenuList = ['search', 'print']
|
||||
document
|
||||
.querySelectorAll<HTMLDivElement>('.menu-item>div')
|
||||
.forEach(dom => {
|
||||
const menu = dom.dataset.menu
|
||||
isReadonly && (!menu || !enableMenuList.includes(menu))
|
||||
? dom.classList.add('disable')
|
||||
: dom.classList.remove('disable')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 模拟批注
|
||||
|
||||
Reference in new issue
Block a user