feat:备份
This commit is contained in:
parent
e24e50f68e
commit
57fbb7a259
|
@ -20,7 +20,7 @@ module.exports = {
|
|||
// 修改output.publicPath为'./'
|
||||
// webpackConfig.output.publicPath = './';
|
||||
webpackConfig.output.path = path.join(__dirname,);
|
||||
webpackConfig.output.publicPath = path.join(__dirname,path.sep);
|
||||
webpackConfig.output.publicPath = "";
|
||||
return webpackConfig;
|
||||
},
|
||||
}
|
||||
|
|
|
@ -30,24 +30,6 @@ const readDirLocal=async (filePath) => {
|
|||
}
|
||||
exports.menuRebuild = (mainWindow) => {
|
||||
return template = [
|
||||
// { role: 'appMenu' }
|
||||
...(isMac
|
||||
? [{
|
||||
label: app.name,
|
||||
submenu: [
|
||||
{role: 'about'},
|
||||
{type: 'separator'},
|
||||
{role: 'services'},
|
||||
{type: 'separator'},
|
||||
{role: 'hide'},
|
||||
{role: 'hideOthers'},
|
||||
{role: 'unhide'},
|
||||
{type: 'separator'},
|
||||
{role: 'quit'}
|
||||
]
|
||||
}]
|
||||
: []),
|
||||
// { role: 'fileMenu' }
|
||||
{
|
||||
label: '文件',
|
||||
submenu: [
|
||||
|
@ -89,78 +71,30 @@ exports.menuRebuild = (mainWindow) => {
|
|||
isMac ? {role: 'close'} : {role: 'quit'},
|
||||
]
|
||||
},
|
||||
// { role: 'editMenu' }
|
||||
{
|
||||
label: 'Edit',
|
||||
label: '编辑',
|
||||
submenu: [
|
||||
{role: 'undo'},
|
||||
{role: 'redo'},
|
||||
{label: '撤销'},
|
||||
{label: '取消撤销'},
|
||||
{type: 'separator'},// 分割线
|
||||
{role: 'cut'},
|
||||
{role: 'copy'},
|
||||
{role: 'paste'},
|
||||
...(isMac
|
||||
? [
|
||||
{role: 'pasteAndMatchStyle'},
|
||||
{role: 'delete'},
|
||||
{role: 'selectAll'},
|
||||
{type: 'separator'},
|
||||
{
|
||||
label: 'Speech',
|
||||
submenu: [
|
||||
{role: 'startSpeaking'},
|
||||
{role: 'stopSpeaking'}
|
||||
]
|
||||
}
|
||||
]
|
||||
: [
|
||||
{role: 'delete'},
|
||||
{type: 'separator'},
|
||||
{role: 'selectAll'}
|
||||
])
|
||||
{label: '剪切'},
|
||||
{label: '复制'},
|
||||
{label: '粘贴'},
|
||||
]
|
||||
},
|
||||
// { role: 'viewMenu' }
|
||||
{
|
||||
label: 'View',
|
||||
label: '视图',
|
||||
submenu: [
|
||||
{label: '界面布局'},
|
||||
{role: 'reload'},
|
||||
{role: 'forceReload'},
|
||||
{role: 'toggleDevTools'},
|
||||
{type: 'separator'},
|
||||
{role: 'resetZoom'},
|
||||
{role: 'zoomIn'},
|
||||
{role: 'zoomOut'},
|
||||
{type: 'separator'},
|
||||
{role: 'togglefullscreen'}
|
||||
]
|
||||
},
|
||||
// { role: 'windowMenu' }
|
||||
{
|
||||
label: 'Window',
|
||||
submenu: [
|
||||
{role: 'minimize'},
|
||||
{role: 'zoom'},
|
||||
...(isMac
|
||||
? [
|
||||
{type: 'separator'},
|
||||
{role: 'front'},
|
||||
{type: 'separator'},
|
||||
{role: 'window'}
|
||||
]
|
||||
: [
|
||||
{role: 'close'}
|
||||
])
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'help',
|
||||
label: '帮助',
|
||||
submenu: [
|
||||
{
|
||||
label: 'Learn More',
|
||||
label: '了解更多',
|
||||
click: async () => {
|
||||
const {shell} = require('electron')
|
||||
await shell.openExternal('http://www.huaruyu.com')
|
||||
}
|
||||
}
|
|
@ -1,22 +1,50 @@
|
|||
const pathOp=require("path")
|
||||
module.exports = {
|
||||
packagerConfig: {},
|
||||
packagerConfig: {
|
||||
// 参考网址:https://electron.github.io/packager/main/interfaces/Options.html#afterCopy
|
||||
"name": "xbb",
|
||||
"executableName": "xbb",
|
||||
"icon": pathOp.join(__dirname,pathOp.sep)+"public"+pathOp.sep+"favicon.ico",
|
||||
"out": "build/",
|
||||
"overwrite": true,
|
||||
"asar":true,
|
||||
"version": "1.0.0",
|
||||
"copyright": "Copyright © 2023",
|
||||
"platform": "linux,win32"
|
||||
// "ignore": [ // 不需要打包的文件和文件夹的路径列表
|
||||
// ".git",
|
||||
// ".vscode",
|
||||
// "node_modules",
|
||||
// ]
|
||||
},
|
||||
rebuildConfig: {},
|
||||
makers: [
|
||||
{
|
||||
name: '@electron-forge/maker-squirrel',
|
||||
config: {},
|
||||
config: {
|
||||
"name":"electron_quick_start"
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '@electron-forge/maker-zip',
|
||||
platforms: ['darwin'],
|
||||
config: {
|
||||
"name": "xbb",
|
||||
"executableName": "xbb",
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '@electron-forge/maker-deb',
|
||||
config: {},
|
||||
config: {
|
||||
"name": "xbb",
|
||||
"executableName": "xbb",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '@electron-forge/maker-rpm',
|
||||
config: {},
|
||||
config: {
|
||||
"name": "xbb"
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
|
22
main.js
22
main.js
|
@ -1,8 +1,9 @@
|
|||
const {app, Menu, BrowserWindow,ipcMain,dialog} = require('electron')
|
||||
const path = require('path')
|
||||
const {menuRebuild} = require('./src/comment/TopMenu.js')
|
||||
const {menuRebuild} = require('./elsrc/TopMenu.js')
|
||||
const Store = require('electron-store');
|
||||
const store = new Store();
|
||||
const isDev = require('electron-is-dev')
|
||||
const createWindow = () => {
|
||||
// Create the browser window.
|
||||
const win = new BrowserWindow({
|
||||
|
@ -15,11 +16,16 @@ const createWindow = () => {
|
|||
preload: path.join(__dirname, 'preload.js')
|
||||
}
|
||||
})
|
||||
if (isDev){
|
||||
// 加载 index.html
|
||||
win.loadFile('./index.html')
|
||||
// win.loadURL('http://localhost:3000')
|
||||
win.loadURL('http://localhost:3000')
|
||||
// 打开开发工具
|
||||
win.webContents.openDevTools()
|
||||
}else {
|
||||
// 加载 index.html
|
||||
win.loadFile('./index.html')
|
||||
}
|
||||
|
||||
// let okPush =false
|
||||
let devToolPush = false
|
||||
win.webContents.on('before-input-event', (event, input) => {
|
||||
|
@ -45,17 +51,25 @@ const createWindow = () => {
|
|||
|
||||
})
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(menuRebuild(win)))
|
||||
win.once('ready-to-show', () => {
|
||||
win.show()
|
||||
})
|
||||
return win
|
||||
}
|
||||
|
||||
// 这段程序将会在 Electron 结束初始化和创建浏览器窗口的时候调用
|
||||
// 部分 API 在 ready 事件触发后才能使用。
|
||||
app.whenReady().then(() => {
|
||||
createWindow()
|
||||
let browserWindow = createWindow();
|
||||
// 在 macOS 系统内, 如果没有已开启的应用窗口
|
||||
// 点击托盘图标时通常会重新创建一个新窗口
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) createWindow()
|
||||
})
|
||||
// ipcMain.on("redirectUrlTo",(event,value)=>
|
||||
// browserWindow.webContents.send('redirectUrl', value)
|
||||
// )
|
||||
|
||||
ipcMain.handle("saveFileWithName",(listen,args)=>{
|
||||
console.log("saveFileWithName")
|
||||
return dialog.showSaveDialog({"title":"保存文件",})
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"electron-is-dev": "^1.1.0",
|
||||
"electron-squirrel-startup": "^1.0.0",
|
||||
"electron-store": "^8.1.0",
|
||||
"md5": "^2.3.0",
|
||||
|
@ -36,8 +37,6 @@
|
|||
"concurrently": "^4.1.1",
|
||||
"craco-less": "^2.0.0",
|
||||
"cross-env": "^5.2.0",
|
||||
"echarts": "^5.4.1",
|
||||
"echarts-for-react": "^3.0.2",
|
||||
"electron": "^22.1.0",
|
||||
"formik": "^2.2.9",
|
||||
"lexical": "^0.12.6",
|
||||
|
@ -10786,36 +10785,6 @@
|
|||
"safer-buffer": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/echarts": {
|
||||
"version": "5.4.3",
|
||||
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.3.tgz",
|
||||
"integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"tslib": "2.3.0",
|
||||
"zrender": "5.4.4"
|
||||
}
|
||||
},
|
||||
"node_modules/echarts-for-react": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz",
|
||||
"integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"size-sensor": "^1.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"echarts": "^3.0.0 || ^4.0.0 || ^5.0.0",
|
||||
"react": "^15.0.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/echarts/node_modules/tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
|
||||
|
@ -11269,6 +11238,11 @@
|
|||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/electron-is-dev": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/electron-is-dev/-/electron-is-dev-1.2.0.tgz",
|
||||
"integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw=="
|
||||
},
|
||||
"node_modules/electron-packager": {
|
||||
"version": "17.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/electron-packager/-/electron-packager-17.1.1.tgz",
|
||||
|
@ -22668,6 +22642,40 @@
|
|||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/react-scripts/node_modules/sass-loader": {
|
||||
"version": "12.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz",
|
||||
"integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"klona": "^2.0.4",
|
||||
"neo-async": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
|
||||
"sass": "^1.3.0",
|
||||
"sass-embedded": "*",
|
||||
"webpack": "^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"fibers": {
|
||||
"optional": true
|
||||
},
|
||||
"node-sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass-embedded": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-scripts/node_modules/semver": {
|
||||
"version": "7.5.4",
|
||||
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
|
||||
|
@ -23513,40 +23521,6 @@
|
|||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/sass-loader": {
|
||||
"version": "12.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz",
|
||||
"integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"klona": "^2.0.4",
|
||||
"neo-async": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
|
||||
"sass": "^1.3.0",
|
||||
"sass-embedded": "*",
|
||||
"webpack": "^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"fibers": {
|
||||
"optional": true
|
||||
},
|
||||
"node-sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass-embedded": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/sax": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
|
||||
|
@ -23903,12 +23877,6 @@
|
|||
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/size-sensor": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/size-sensor/-/size-sensor-1.0.2.tgz",
|
||||
"integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz",
|
||||
|
@ -27182,21 +27150,6 @@
|
|||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/zrender": {
|
||||
"version": "5.4.4",
|
||||
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.4.tgz",
|
||||
"integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"tslib": "2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/zrender/node_modules/tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
"devDependencies": {
|
||||
"@ant-design/pro-components": "^2.3.57",
|
||||
"@craco/craco": "^6.0.0",
|
||||
"@excalidraw/excalidraw": "^0.17.0",
|
||||
"@electron-forge/cli": "^6.0.4",
|
||||
"@electron-forge/maker-deb": "^6.0.4",
|
||||
"@electron-forge/maker-rpm": "^6.0.4",
|
||||
"@electron-forge/maker-squirrel": "^6.0.4",
|
||||
"@electron-forge/maker-zip": "^6.0.4",
|
||||
"@excalidraw/excalidraw": "^0.17.0",
|
||||
"@lexical/react": "^0.12.6",
|
||||
"@reduxjs/toolkit": "^1.9.3",
|
||||
"@testing-library/jest-dom": "^5.16.5",
|
||||
|
@ -52,6 +52,7 @@
|
|||
"make": "electron-forge make"
|
||||
},
|
||||
"dependencies": {
|
||||
"electron-is-dev": "^1.1.0",
|
||||
"electron-squirrel-startup": "^1.0.0",
|
||||
"electron-store": "^8.1.0",
|
||||
"md5": "^2.3.0",
|
||||
|
@ -74,5 +75,8 @@
|
|||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"forge": "./forge.config.js"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||
<!-- 应用加壳 -->
|
||||
<!-- <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> -->
|
||||
<title>工作小能手</title>
|
||||
<title>送给最亲爱的小宝贝</title>
|
||||
<!--[if IE]>
|
||||
<script src="js/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<![endif]-->
|
||||
<script src="index.jsx"></script>
|
||||
|
||||
</head>
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
const path = require("path");
|
||||
_webpack_public_path=path.join(__dirname,path.sep)
|
||||
console.log("_webpack_public_path:",_webpack_public_path)
|
|
@ -5,6 +5,7 @@ import useIpcRenderer from '../src/utils/useIpcRenderer'
|
|||
import {dirAdd} from "./redux/dirMessage_reducer";
|
||||
import {pushHotkeys} from "./redux/pushHotkeys_reducer";
|
||||
import {useDispatch} from "react-redux";
|
||||
import Note from "./pages/Note";
|
||||
|
||||
function App() {
|
||||
|
||||
|
@ -32,9 +33,9 @@ function App() {
|
|||
return (
|
||||
<>
|
||||
{/* 注册路由 */}
|
||||
{element}
|
||||
{element}<Note/>
|
||||
</>
|
||||
)
|
||||
|
||||
};
|
||||
}
|
||||
export default App;
|
|
@ -698,22 +698,22 @@ i.redo {
|
|||
background-image: url(images/icons/type-h2.svg);
|
||||
}
|
||||
|
||||
.icon.small-heading,
|
||||
|
||||
.icon.h3 {
|
||||
background-image: url(images/icons/type-h3.svg);
|
||||
}
|
||||
|
||||
.icon.small-heading,
|
||||
|
||||
.icon.h4 {
|
||||
background-image: url(images/icons/type-h4.svg);
|
||||
}
|
||||
|
||||
.icon.small-heading,
|
||||
|
||||
.icon.h5 {
|
||||
background-image: url(images/icons/type-h5.svg);
|
||||
}
|
||||
|
||||
.icon.small-heading,
|
||||
|
||||
.icon.h6 {
|
||||
background-image: url(images/icons/type-h6.svg);
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ export function InsertImageUriDialogBody({
|
|||
data-test-id="image-modal-confirm-btn"
|
||||
disabled={isDisabled}
|
||||
onClick={() => onClick({altText, src})}>
|
||||
Confirm
|
||||
确认
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</>
|
||||
|
@ -114,7 +114,7 @@ export function InsertImageUploadedDialogBody({
|
|||
data-test-id="image-modal-file-upload-btn"
|
||||
disabled={isDisabled}
|
||||
onClick={() => onClick({altText, src})}>
|
||||
Confirm
|
||||
确认
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</>
|
||||
|
|
|
@ -222,16 +222,16 @@ export default function ImageResizer({
|
|||
};
|
||||
return (
|
||||
<div ref={controlWrapperRef}>
|
||||
{!showCaption && captionsEnabled && (
|
||||
<button
|
||||
className="image-caption-button"
|
||||
ref={buttonRef}
|
||||
onClick={() => {
|
||||
setShowCaption(!showCaption);
|
||||
}}>
|
||||
Add Caption
|
||||
</button>
|
||||
)}
|
||||
{/*{!showCaption && captionsEnabled && (*/}
|
||||
{/* <button*/}
|
||||
{/* className="image-caption-button"*/}
|
||||
{/* ref={buttonRef}*/}
|
||||
{/* onClick={() => {*/}
|
||||
{/* setShowCaption(!showCaption);*/}
|
||||
{/* }}>*/}
|
||||
{/* Add Caption*/}
|
||||
{/* </button>*/}
|
||||
{/*)}*/}
|
||||
<div
|
||||
className="image-resizer image-resizer-n"
|
||||
onPointerDown={(event) => {
|
||||
|
|
|
@ -451,7 +451,7 @@ function TableActionMenu({
|
|||
className="item"
|
||||
onClick={() => mergeTableCellsAtSelection()}
|
||||
data-test-id="table-merge-cells">
|
||||
Merge cells
|
||||
和并单元格
|
||||
</button>
|
||||
);
|
||||
} else if (canUnmergeCell) {
|
||||
|
@ -460,7 +460,7 @@ function TableActionMenu({
|
|||
className="item"
|
||||
onClick={() => unmergeTableCellsAtSelection()}
|
||||
data-test-id="table-unmerge-cells">
|
||||
Unmerge cells
|
||||
拆分单元格
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ export function InsertTableDialog({activeEditor,
|
|||
<>
|
||||
<TextInput
|
||||
placeholder={'# of rows (1-500)'}
|
||||
label="Rows"
|
||||
label="行"
|
||||
onChange={setRows}
|
||||
value={rows}
|
||||
data-test-id="table-modal-rows"
|
||||
|
@ -87,7 +87,7 @@ export function InsertTableDialog({activeEditor,
|
|||
/>
|
||||
<TextInput
|
||||
placeholder={'# of columns (1-50)'}
|
||||
label="Columns"
|
||||
label="列"
|
||||
onChange={setColumns}
|
||||
value={columns}
|
||||
data-test-id="table-modal-columns"
|
||||
|
@ -95,7 +95,7 @@ export function InsertTableDialog({activeEditor,
|
|||
/>
|
||||
<DialogActions data-test-id="table-model-confirm-insert">
|
||||
<Button disabled={isDisabled} onClick={onClick}>
|
||||
Confirm
|
||||
确认
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</>
|
||||
|
|
|
@ -400,7 +400,7 @@ function BlockOptionsDropdownList({
|
|||
{blockType === "h1" && <span className="active"/>}
|
||||
</button>
|
||||
<button className="item" onClick={formatSmallHeading}>
|
||||
<span className="icon small-heading"/>
|
||||
<span className="icon small-heading h2"/>
|
||||
<span className="text">二级标题</span>
|
||||
{blockType === "h2" && <span className="active"/>}
|
||||
</button>
|
||||
|
|
|
@ -4,6 +4,10 @@ import GateWay from '../pages/GateWay'
|
|||
import Note from '../pages/Note'
|
||||
import Hlexical from '../pages/Note/Hlexical'
|
||||
export default [
|
||||
{
|
||||
path:'/',
|
||||
element:<Navigate to="/note"/>
|
||||
},
|
||||
{
|
||||
path:'/note',
|
||||
element:<Note/>,
|
||||
|
@ -22,16 +26,6 @@ export default [
|
|||
path:'/GateWay',
|
||||
element:<GateWay/>,
|
||||
},
|
||||
{
|
||||
path:'/',
|
||||
// element:<Navigate to="/note"/>
|
||||
element:<Note/>,
|
||||
children:[
|
||||
{
|
||||
path:'Hlexical',
|
||||
element:<Hlexical/>
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
|
|
|
@ -26,7 +26,11 @@ export function fileDirFormat(dir,fileName){
|
|||
}
|
||||
export function fileDirFormatArray(dirArray){
|
||||
// todo 不同系统处理
|
||||
if(process.platform==="win32"){
|
||||
return dirArray.join(pathOperate.sep)
|
||||
}else {
|
||||
return pathOperate.sep+dirArray.join(pathOperate.sep)
|
||||
}
|
||||
}
|
||||
|
||||
export function fullFileNameFormat(dir,fileName){
|
||||
|
|
Loading…
Reference in New Issue