mirror of
https://github.com/dream-num/univer.git
synced 2026-08-29 07:13:59 +08:00
feat(sheets-ui): add disabled state support via observable for MenuItemInput (#6242)
This commit is contained in:
@@ -25,27 +25,27 @@
|
||||
"univer-cli": "bin/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@typescript-eslint/parser": "^8.48.0",
|
||||
"@typescript-eslint/parser": "^8.48.1",
|
||||
"@vitejs/plugin-react": "^5.1.1",
|
||||
"@vitejs/plugin-vue": "^6.0.2",
|
||||
"@vitest/coverage-istanbul": "^4.0.14",
|
||||
"@vitest/coverage-istanbul": "^4.0.15",
|
||||
"autoprefixer": "^10.4.22",
|
||||
"eslint-plugin-better-tailwindcss": "^3.7.11",
|
||||
"eslint-plugin-header": "^3.1.1",
|
||||
"eslint-plugin-no-barrel-import": "^0.0.2",
|
||||
"eslint-plugin-no-penetrating-import": "^0.0.1",
|
||||
"fs-extra": "^11.3.2",
|
||||
"happy-dom": "20.0.10",
|
||||
"javascript-obfuscator": "^4.1.1",
|
||||
"happy-dom": "20.0.11",
|
||||
"javascript-obfuscator": "^4.2.0",
|
||||
"postcss-preset-env": "^10.4.0",
|
||||
"postcss-replace": "^2.0.1",
|
||||
"sort-keys": "^6.0.0",
|
||||
"tailwind-scrollbar": "^3",
|
||||
"tailwindcss": "3.4.18",
|
||||
"vite": "^7.2.4",
|
||||
"vite": "^7.2.6",
|
||||
"vite-plugin-dts": "^4.5.4",
|
||||
"vite-plugin-external": "^6.2.2",
|
||||
"vitest": "^4.0.14"
|
||||
"vitest": "^4.0.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
|
||||
+6
-6
@@ -3,7 +3,7 @@
|
||||
"type": "module",
|
||||
"version": "0.12.3",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@10.23.0",
|
||||
"packageManager": "pnpm@10.24.0",
|
||||
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
||||
"license": "Apache-2.0",
|
||||
"funding": {
|
||||
@@ -45,10 +45,10 @@
|
||||
"release": "release-it"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config": "^6.2.0",
|
||||
"@antfu/eslint-config": "^6.3.0",
|
||||
"@commitlint/cli": "^20.1.0",
|
||||
"@commitlint/config-conventional": "^20.0.0",
|
||||
"@eslint-react/eslint-plugin": "^2.3.9",
|
||||
"@eslint-react/eslint-plugin": "^2.3.12",
|
||||
"@playwright/test": "^1.57.0",
|
||||
"@release-it-plugins/workspaces": "^5.0.3",
|
||||
"@release-it/conventional-changelog": "^10.0.2",
|
||||
@@ -67,16 +67,16 @@
|
||||
"fs-extra": "^11.3.2",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.2.7",
|
||||
"posthog-node": "^5.14.0",
|
||||
"posthog-node": "^5.15.0",
|
||||
"react": "19.2.0",
|
||||
"react-dom": "19.2.0",
|
||||
"release-it": "^19.0.6",
|
||||
"serve": "^14.2.5",
|
||||
"tailwindcss": "3.4.18",
|
||||
"tsx": "^4.20.6",
|
||||
"tsx": "^4.21.0",
|
||||
"turbo": "^2.6.1",
|
||||
"typescript": "^5.9.3",
|
||||
"vitest": "^4.0.14"
|
||||
"vitest": "^4.0.15"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
|
||||
@@ -76,8 +76,8 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14",
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15",
|
||||
"vue": "^3.5.25"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
"@univerjs/sheets": "workspace:*",
|
||||
"@univerjs/sheets-ui": "workspace:*",
|
||||
"@univerjs/ui": "workspace:*",
|
||||
"@xyflow/react": "^12.9.1"
|
||||
"@xyflow/react": "^12.9.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
@@ -80,7 +80,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
"@univerjs/sheets": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
"tailwindcss": "3.4.18",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,8 +73,8 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
},
|
||||
"browser": {
|
||||
"fs": false
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"@univerjs/icons-svg": "^1.0.2",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
"@univerjs/engine-render": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,10 +21,19 @@ import { IContextMenuService, useDependency } from '@univerjs/ui';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
export const MenuItemInput = (props: IMenuItemInputProps) => {
|
||||
const { prefix, suffix, value, onChange, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER } = props;
|
||||
const {
|
||||
prefix,
|
||||
suffix,
|
||||
value,
|
||||
min = Number.MIN_SAFE_INTEGER,
|
||||
max = Number.MAX_SAFE_INTEGER,
|
||||
disabled$,
|
||||
onChange,
|
||||
} = props;
|
||||
|
||||
const localeService = useDependency(LocaleService);
|
||||
const contextMenuService = useDependency(IContextMenuService);
|
||||
const [disabled, setDisabled] = useState<boolean>(false);
|
||||
const [inputValue, setInputValue] = useState<string>(); // Initialized to an empty string
|
||||
|
||||
const handleChange = (value: number | null) => {
|
||||
@@ -38,6 +47,18 @@ export const MenuItemInput = (props: IMenuItemInputProps) => {
|
||||
onChange(inputValue);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (!disabled$) {
|
||||
return;
|
||||
}
|
||||
const subscription = disabled$.subscribe((value) => {
|
||||
setDisabled(value);
|
||||
});
|
||||
return () => {
|
||||
subscription.unsubscribe();
|
||||
};
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (!contextMenuService.visible) {
|
||||
setInputValue(value);
|
||||
@@ -70,6 +91,7 @@ export const MenuItemInput = (props: IMenuItemInputProps) => {
|
||||
precision={0}
|
||||
min={min}
|
||||
max={max}
|
||||
disabled={disabled}
|
||||
onPressEnter={handlePressEnter}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { ICustomComponentProps } from '@univerjs/ui';
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import { COMPONENT_PREFIX } from '../const';
|
||||
|
||||
export const MENU_ITEM_INPUT_COMPONENT = `${COMPONENT_PREFIX}_MENU_ITEM_INPUT_COMPONENT`;
|
||||
@@ -25,4 +25,5 @@ export interface IMenuItemInputProps extends ICustomComponentProps<string> {
|
||||
suffix: string;
|
||||
min?: number;
|
||||
max?: number;
|
||||
disabled$?: Observable<boolean>;
|
||||
}
|
||||
|
||||
@@ -91,7 +91,11 @@ export function InsertRowBeforeMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.insertRowBefore',
|
||||
icon: 'InsertRowAboveDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission],
|
||||
worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
}
|
||||
@@ -106,6 +110,13 @@ export function InsertRowBeforeCellMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission],
|
||||
worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertRowBeforeCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -117,6 +128,7 @@ export function InsertRowBeforeCellMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertRowsAboveSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -140,7 +152,7 @@ export function InsertRowBeforeCellMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
update();
|
||||
return disposable.dispose;
|
||||
})),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
}
|
||||
@@ -151,7 +163,11 @@ export function InsertRowAfterMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.insertRow',
|
||||
icon: 'InsertRowBelowDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission],
|
||||
worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getInsertAfterMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
}
|
||||
@@ -165,6 +181,13 @@ export function InsertColLeftCellMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission],
|
||||
worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertColBeforeCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -176,6 +199,7 @@ export function InsertColLeftCellMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertColsLeftSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -199,7 +223,7 @@ export function InsertColLeftCellMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
update();
|
||||
return disposable.dispose;
|
||||
})),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
}
|
||||
@@ -210,7 +234,11 @@ export function InsertColBeforeMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.insertColumnBefore',
|
||||
icon: 'LeftInsertColumnDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission],
|
||||
worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
}
|
||||
@@ -221,7 +249,11 @@ export function InsertColAfterMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.insertColumn',
|
||||
icon: 'RightInsertColumnDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission],
|
||||
worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getInsertAfterMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
}
|
||||
@@ -232,7 +264,11 @@ export function InsertRangeMoveRightMenuItemFactory(accessor: IAccessor): IMenuB
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveRight',
|
||||
icon: 'InsertCellShiftRightDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission],
|
||||
worksheetTypes: [WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getCellMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
}
|
||||
@@ -247,7 +283,11 @@ export function InsertRangeMoveDownMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveDown',
|
||||
icon: 'InsertCellDownDoubleIcon',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission],
|
||||
worksheetTypes: [WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
}),
|
||||
hidden$: getCellMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
}
|
||||
@@ -261,6 +301,13 @@ export function InsertMultiRowsAfterHeaderMenuItemFactory(accessor: IAccessor):
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission],
|
||||
worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertMultiRowsAfterCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -272,6 +319,7 @@ export function InsertMultiRowsAfterHeaderMenuItemFactory(accessor: IAccessor):
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertRowsAfterSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -296,7 +344,7 @@ export function InsertMultiRowsAfterHeaderMenuItemFactory(accessor: IAccessor):
|
||||
return disposable.dispose;
|
||||
})),
|
||||
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
};
|
||||
}
|
||||
@@ -310,6 +358,13 @@ export function InsertMultiRowsAboveHeaderMenuItemFactory(accessor: IAccessor):
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission],
|
||||
worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertMultiRowsAboveCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -321,6 +376,7 @@ export function InsertMultiRowsAboveHeaderMenuItemFactory(accessor: IAccessor):
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertRowsAboveSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -344,7 +400,7 @@ export function InsertMultiRowsAboveHeaderMenuItemFactory(accessor: IAccessor):
|
||||
update();
|
||||
return disposable.dispose;
|
||||
})),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertRowPermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
};
|
||||
}
|
||||
@@ -358,6 +414,13 @@ export function InsertMultiColsLeftHeaderMenuItemFactory(accessor: IAccessor): I
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission],
|
||||
worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertMultiColsLeftCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -369,6 +432,7 @@ export function InsertMultiColsLeftHeaderMenuItemFactory(accessor: IAccessor): I
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertColsLeftSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -392,7 +456,7 @@ export function InsertMultiColsLeftHeaderMenuItemFactory(accessor: IAccessor): I
|
||||
update();
|
||||
return disposable.dispose;
|
||||
})),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
};
|
||||
}
|
||||
@@ -406,6 +470,13 @@ export function InsertMultiColsRightHeaderMenuItemFactory(accessor: IAccessor):
|
||||
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const defaultValue = 1;
|
||||
|
||||
const disabled$ = getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission],
|
||||
worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission],
|
||||
rangeTypes: [RangeProtectionPermissionEditPoint],
|
||||
});
|
||||
|
||||
return {
|
||||
id: InsertMultiColsRightCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
@@ -417,6 +488,7 @@ export function InsertMultiColsRightHeaderMenuItemFactory(accessor: IAccessor):
|
||||
min: 1,
|
||||
max: 1000,
|
||||
suffix: 'rightClick.insertColsRightSuffix',
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, () => new Observable((subscriber) => {
|
||||
@@ -440,7 +512,7 @@ export function InsertMultiColsRightHeaderMenuItemFactory(accessor: IAccessor):
|
||||
update();
|
||||
return disposable.dispose;
|
||||
})),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission, WorkbookInsertColumnPermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
disabled$,
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'Confirmar el color',
|
||||
|
||||
tipNameRepeat: 'El nom de la pestanya no es pot repetir! Si us plau, reviseu-lo',
|
||||
noMoreSheet:
|
||||
'El llibre de treball ha de contenir almenys un full de càlcul visible. Per suprimir el full de càlcul seleccionat, inseriu-ne un de nou o mostreu un full de càlcul amagat.',
|
||||
noMoreSheet: 'El llibre de treball ha de contenir almenys un full de càlcul visible. Per suprimir el full de càlcul seleccionat, inseriu-ne un de nou o mostreu un full de càlcul amagat.',
|
||||
confirmDelete: 'Esteu segur que el voleu suprimir?',
|
||||
redoDelete: 'Es pot desfer amb Ctrl+Z',
|
||||
noHide: 'No es pot amagar, manteniu almenys una pestanya de full',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: 'El nom del full ja existeix. Si us plau, introduïu un altre nom.',
|
||||
deleteSheet: 'Suprimir el full de càlcul',
|
||||
deleteSheetContent: 'Confirmeu per suprimir aquest full de càlcul?',
|
||||
deleteLargeSheetContent:
|
||||
'Confirmeu per suprimir aquest full de càlcul. No es podrà recuperar després de la supressió. Esteu segur que el voleu suprimir?',
|
||||
deleteLargeSheetContent: 'Confirmeu per suprimir aquest full de càlcul. No es podrà recuperar després de la supressió. Esteu segur que el voleu suprimir?',
|
||||
addProtectSheet: 'Protegir el full de càlcul',
|
||||
removeProtectSheet: 'Desprotegir el full de càlcul',
|
||||
changeSheetPermission: 'Canviar els permisos del full de càlcul',
|
||||
|
||||
@@ -165,8 +165,7 @@ const locale = {
|
||||
chooseText: 'Confirm color',
|
||||
|
||||
tipNameRepeat: 'The name of the tab page cannot be repeated! Please revise',
|
||||
noMoreSheet:
|
||||
'The workbook contains at least one visual worksheet. To delete the selected worksheet, please insert a new worksheet or show a hidden worksheet.',
|
||||
noMoreSheet: 'The workbook contains at least one visual worksheet. To delete the selected worksheet, please insert a new worksheet or show a hidden worksheet.',
|
||||
confirmDelete: 'Are you sure to delete',
|
||||
redoDelete: 'Can be undo by Ctrl+Z',
|
||||
noHide: "Can't hide, at least keep one sheet tag",
|
||||
@@ -177,8 +176,7 @@ const locale = {
|
||||
sheetNameAlreadyExistsError: 'The sheet name already exists. Please enter another name.',
|
||||
deleteSheet: 'Delete worksheet',
|
||||
deleteSheetContent: 'Confirm to delete this worksheet?',
|
||||
deleteLargeSheetContent:
|
||||
'Confirm to delete this worksheet. It will not be retrieved after deletion. Are you sure you want to delete it?',
|
||||
deleteLargeSheetContent: 'Confirm to delete this worksheet. It will not be retrieved after deletion. Are you sure you want to delete it?',
|
||||
addProtectSheet: 'Protect Worksheet',
|
||||
removeProtectSheet: 'Unprotect Worksheet',
|
||||
changeSheetPermission: 'Change Worksheet Permissions',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'Confirmar color',
|
||||
|
||||
tipNameRepeat: '¡El nombre de la pestaña no se puede repetir! Por favor, revisa',
|
||||
noMoreSheet:
|
||||
'El libro de trabajo debe contener al menos una hoja de cálculo visible. Para eliminar la hoja de cálculo seleccionada, inserte una nueva o muestre una hoja oculta.',
|
||||
noMoreSheet: 'El libro de trabajo debe contener al menos una hoja de cálculo visible. Para eliminar la hoja de cálculo seleccionada, inserte una nueva o muestre una hoja oculta.',
|
||||
confirmDelete: '¿Seguro que quieres eliminar?',
|
||||
redoDelete: 'Se puede deshacer con Ctrl+Z',
|
||||
noHide: 'No se puede ocultar, mantén al menos una pestaña de hoja',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: 'El nombre de la hoja ya existe. Por favor, introduce otro nombre.',
|
||||
deleteSheet: 'Eliminar hoja de cálculo',
|
||||
deleteSheetContent: '¿Confirmar para eliminar esta hoja de cálculo?',
|
||||
deleteLargeSheetContent:
|
||||
'Confirma para eliminar esta hoja de cálculo. No se podrá recuperar después de la eliminación. ¿Estás seguro de que quieres eliminarla?',
|
||||
deleteLargeSheetContent: 'Confirma para eliminar esta hoja de cálculo. No se podrá recuperar después de la eliminación. ¿Estás seguro de que quieres eliminarla?',
|
||||
addProtectSheet: 'Proteger hoja de cálculo',
|
||||
removeProtectSheet: 'Desproteger hoja de cálculo',
|
||||
changeSheetPermission: 'Cambiar permisos de la hoja de cálculo',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'تایید رنگ',
|
||||
|
||||
tipNameRepeat: 'نام برگه زبانه نمیتواند تکرار شود! لطفا تجدید نظر کنید',
|
||||
noMoreSheet:
|
||||
'کاربرگ حداقل شامل یک برگه بصری است. برای حذف برگه انتخاب شده، لطفا یک برگه جدید وارد کنید یا یک برگه پنهان را نمایش دهید.',
|
||||
noMoreSheet: 'کاربرگ حداقل شامل یک برگه بصری است. برای حذف برگه انتخاب شده، لطفا یک برگه جدید وارد کنید یا یک برگه پنهان را نمایش دهید.',
|
||||
confirmDelete: 'آیا مطمئن هستید که میخواهید حذف کنید',
|
||||
redoDelete: 'میتواند با Ctrl+Z لغو شود',
|
||||
noHide: 'نمیتوان پنهان کرد، حداقل یک برگه تگ را نگه دارید',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: 'نام برگه قبلاً وجود دارد. لطفا نام دیگری وارد کنید.',
|
||||
deleteSheet: 'حذف برگه',
|
||||
deleteSheetContent: 'تایید حذف این برگه؟',
|
||||
deleteLargeSheetContent:
|
||||
'تایید حذف این برگه. پس از حذف، بازیابی نخواهد شد. آیا مطمئن هستید که میخواهید آن را حذف کنید؟',
|
||||
deleteLargeSheetContent: 'تایید حذف این برگه. پس از حذف، بازیابی نخواهد شد. آیا مطمئن هستید که میخواهید آن را حذف کنید؟',
|
||||
addProtectSheet: 'محافظت از برگه',
|
||||
removeProtectSheet: 'لغو محافظت از برگه',
|
||||
changeSheetPermission: 'تغییر مجوزهای برگه',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'Confirmer la couleur',
|
||||
|
||||
tipNameRepeat: 'Le nom de l\'onglet ne peut pas être répété ! Veuillez modifier',
|
||||
noMoreSheet:
|
||||
'Le classeur contient au moins une feuille de calcul visible. Pour supprimer la feuille sélectionnée, veuillez insérer une nouvelle feuille ou afficher une feuille masquée.',
|
||||
noMoreSheet: 'Le classeur contient au moins une feuille de calcul visible. Pour supprimer la feuille sélectionnée, veuillez insérer une nouvelle feuille ou afficher une feuille masquée.',
|
||||
confirmDelete: 'Êtes-vous sûr de vouloir supprimer',
|
||||
redoDelete: 'Peut être annulé par Ctrl+Z',
|
||||
noHide: 'Impossible de masquer, au moins une étiquette de feuille doit être conservée',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: 'Le nom de la feuille existe déjà. Veuillez entrer un autre nom.',
|
||||
deleteSheet: 'Supprimer la feuille de calcul',
|
||||
deleteSheetContent: 'Confirmer la suppression de cette feuille de calcul ?',
|
||||
deleteLargeSheetContent:
|
||||
'Confirmer la suppression de cette feuille de calcul. Elle ne pourra pas être récupérée après suppression. Êtes-vous sûr de vouloir la supprimer ?',
|
||||
deleteLargeSheetContent: 'Confirmer la suppression de cette feuille de calcul. Elle ne pourra pas être récupérée après suppression. Êtes-vous sûr de vouloir la supprimer ?',
|
||||
addProtectSheet: 'Protéger la feuille de calcul',
|
||||
removeProtectSheet: 'Déprotéger la feuille de calcul',
|
||||
changeSheetPermission: 'Modifier les autorisations de la feuille de calcul',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: '색상 선택',
|
||||
|
||||
tipNameRepeat: '탭 페이지의 이름은 중복될 수 없습니다! 다시 작성해주세요',
|
||||
noMoreSheet:
|
||||
'통합 문서에는 최소한 하나의 시트가 있습니다. 선택한 시트를 삭제하려면 새 시트를 삽입하거나 숨겨진 시트를 표시해주세요.',
|
||||
noMoreSheet: '통합 문서에는 최소한 하나의 시트가 있습니다. 선택한 시트를 삭제하려면 새 시트를 삽입하거나 숨겨진 시트를 표시해주세요.',
|
||||
confirmDelete: '삭제하시겠습니까',
|
||||
redoDelete: 'Ctrl+Z로 실행 취소할 수 있습니다',
|
||||
noHide: '최소한 하나의 시트 태그를 유지해야 합니다',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: '시트 이름이 이미 존재합니다. 다른 이름을 입력해주세요.',
|
||||
deleteSheet: '시트 삭제',
|
||||
deleteSheetContent: '이 시트를 삭제하시겠습니까?',
|
||||
deleteLargeSheetContent:
|
||||
'이 시트를 삭제하시겠습니까? 삭제 후에는 복구할 수 없습니다. 삭제하시겠습니까?',
|
||||
deleteLargeSheetContent: '이 시트를 삭제하시겠습니까? 삭제 후에는 복구할 수 없습니다. 삭제하시겠습니까?',
|
||||
addProtectSheet: '시트 보호',
|
||||
removeProtectSheet: '시트 보호 해제',
|
||||
changeSheetPermission: '시트 권한 변경',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'Подтвердить цвет',
|
||||
|
||||
tipNameRepeat: 'Имя вкладки не может повторяться! Пожалуйста, исправьте',
|
||||
noMoreSheet:
|
||||
'В книге должен содержаться хотя бы один видимый лист. Чтобы удалить выбранный лист, вставьте новый лист или покажите скрытый лист.',
|
||||
noMoreSheet: 'В книге должен содержаться хотя бы один видимый лист. Чтобы удалить выбранный лист, вставьте новый лист или покажите скрытый лист.',
|
||||
confirmDelete: 'Вы уверены, что хотите удалить',
|
||||
redoDelete: 'Можно отменить с помощью Ctrl+Z',
|
||||
noHide: 'Нельзя скрыть, оставьте хотя бы одну вкладку листа',
|
||||
@@ -179,8 +178,7 @@ const locale: typeof enUS = {
|
||||
sheetNameAlreadyExistsError: 'Имя листа уже существует. Пожалуйста, введите другое имя.',
|
||||
deleteSheet: 'Удалить лист',
|
||||
deleteSheetContent: 'Подтвердите удаление этого листа?',
|
||||
deleteLargeSheetContent:
|
||||
'Подтвердите удаление этого листа. После удаления его нельзя будет восстановить. Вы уверены, что хотите удалить его?',
|
||||
deleteLargeSheetContent: 'Подтвердите удаление этого листа. После удаления его нельзя будет восстановить. Вы уверены, что хотите удалить его?',
|
||||
addProtectSheet: 'Защитить лист',
|
||||
removeProtectSheet: 'Снять защиту листа',
|
||||
changeSheetPermission: 'Изменить разрешения листа',
|
||||
|
||||
@@ -167,8 +167,7 @@ const locale: typeof enUS = {
|
||||
chooseText: 'Chọn màu',
|
||||
|
||||
tipNameRepeat: 'Tên tab không được trùng! Vui lòng đổi lại',
|
||||
noMoreSheet:
|
||||
'Tài liệu phải có ít nhất một trang bảng hiển thị. Nếu bạn muốn xóa trang bảng đã chọn, vui lòng thêm một trang bảng mới hoặc hiển thị trang bảng đã ẩn.',
|
||||
noMoreSheet: 'Tài liệu phải có ít nhất một trang bảng hiển thị. Nếu bạn muốn xóa trang bảng đã chọn, vui lòng thêm một trang bảng mới hoặc hiển thị trang bảng đã ẩn.',
|
||||
confirmDelete: 'Xác nhận xóa',
|
||||
redoDelete: 'Bạn có thể hoàn tác xóa bằng Ctrl+Z',
|
||||
noHide: 'Không thể ẩn, phải giữ lại ít nhất một tab trang',
|
||||
|
||||
@@ -168,8 +168,7 @@ const locale: typeof enUS = {
|
||||
chooseText: '确定颜色',
|
||||
|
||||
tipNameRepeat: '标签页的名称不能重复!请重新修改',
|
||||
noMoreSheet:
|
||||
'工作薄内至少含有一张可视工作表。若需删除选定的工作表,请先插入一张新工作表或显示一张隐藏的工作表。',
|
||||
noMoreSheet: '工作薄内至少含有一张可视工作表。若需删除选定的工作表,请先插入一张新工作表或显示一张隐藏的工作表。',
|
||||
confirmDelete: '是否删除',
|
||||
redoDelete: '可以通过Ctrl+Z撤销删除',
|
||||
noHide: '不能隐藏, 至少保留一个sheet标签',
|
||||
|
||||
@@ -17,18 +17,18 @@
|
||||
import type enUS from './en-US';
|
||||
|
||||
const locale: typeof enUS = {
|
||||
spreadsheetLabel: '插件',
|
||||
spreadsheetRightLabel: '更多 Sheets',
|
||||
spreadsheetLabel: '擴充功能',
|
||||
spreadsheetRightLabel: '更多試算表',
|
||||
|
||||
// toolbar.undo
|
||||
toolbar: {
|
||||
undo: '撤銷',
|
||||
undo: '復原',
|
||||
redo: '重做',
|
||||
formatPainter: '格式刷',
|
||||
font: '字體',
|
||||
fontSize: '字號',
|
||||
fontSizeIncrease: '增大字號',
|
||||
fontSizeDecrease: '減小字號',
|
||||
formatPainter: '複製格式',
|
||||
font: '字型',
|
||||
fontSize: '字型大小',
|
||||
fontSizeIncrease: '放大字型',
|
||||
fontSizeDecrease: '縮小字型',
|
||||
bold: '粗體',
|
||||
italic: '斜體',
|
||||
strikethrough: '刪除線',
|
||||
@@ -36,12 +36,12 @@ const locale: typeof enUS = {
|
||||
superscript: '上標',
|
||||
underline: '底線',
|
||||
textColor: {
|
||||
main: '文字顏色',
|
||||
main: '字型顏色',
|
||||
right: '顏色選擇',
|
||||
},
|
||||
resetColor: '重置顏色',
|
||||
fillColor: {
|
||||
main: '單元格顏色',
|
||||
main: '填滿色彩',
|
||||
right: '顏色選擇',
|
||||
},
|
||||
border: {
|
||||
@@ -61,7 +61,7 @@ const locale: typeof enUS = {
|
||||
right: '對齊方式',
|
||||
},
|
||||
textWrapMode: {
|
||||
main: '文字換行',
|
||||
main: '自動換行',
|
||||
right: '換行方式',
|
||||
},
|
||||
textRotateMode: {
|
||||
@@ -72,13 +72,13 @@ const locale: typeof enUS = {
|
||||
toggleGridlines: '切換網格線',
|
||||
},
|
||||
align: {
|
||||
left: '左對齊',
|
||||
center: '中間對齊',
|
||||
right: '右對齊',
|
||||
left: '靠左對齊',
|
||||
center: '置中',
|
||||
right: '靠右對齊',
|
||||
|
||||
top: '頂部對齊',
|
||||
middle: '居中對齊',
|
||||
bottom: '底部對齊',
|
||||
top: '靠上對齊',
|
||||
middle: '垂直置中',
|
||||
bottom: '靠下對齊',
|
||||
},
|
||||
|
||||
button: {
|
||||
@@ -87,7 +87,7 @@ const locale: typeof enUS = {
|
||||
close: '關閉',
|
||||
update: 'Update',
|
||||
delete: 'Delete',
|
||||
insert: '新建',
|
||||
insert: '插入',
|
||||
prevPage: '上一頁',
|
||||
nextPage: '下一頁',
|
||||
total: '總共:',
|
||||
@@ -114,8 +114,8 @@ const locale: typeof enUS = {
|
||||
borderAll: '所有',
|
||||
borderOutside: '外側',
|
||||
borderInside: '內側',
|
||||
borderHorizontal: '內側橫線',
|
||||
borderVertical: '內側垂直線',
|
||||
borderHorizontal: '內側水平框線',
|
||||
borderVertical: '內側垂直框線',
|
||||
borderColor: '邊框顏色',
|
||||
borderSize: '邊框粗細',
|
||||
borderType: '邊框線類型',
|
||||
@@ -157,29 +157,28 @@ const locale: typeof enUS = {
|
||||
sheetConfig: {
|
||||
delete: '刪除',
|
||||
copy: '複製',
|
||||
rename: '重命名',
|
||||
rename: '重新命名',
|
||||
changeColor: '更改顏色',
|
||||
hide: '隱藏',
|
||||
unhide: '取消隱藏',
|
||||
moveLeft: '向左移',
|
||||
moveRight: '向右移',
|
||||
moveLeft: '向左移動',
|
||||
moveRight: '向右移動',
|
||||
resetColor: '重置顏色',
|
||||
cancelText: '取消',
|
||||
chooseText: '確定顏色',
|
||||
|
||||
tipNameRepeat: '標籤頁的名稱不能重複!請重新修改',
|
||||
noMoreSheet:
|
||||
'工作薄內至少含有一張可視工作表。若需刪除選定的工作表,請先插入一張新工作表或顯示隱藏的工作表。 ',
|
||||
confirmDelete: '是否刪除',
|
||||
redoDelete: '可以透過Ctrl+Z撤銷刪除',
|
||||
noHide: '不能隱藏, 至少保留一個sheet標籤',
|
||||
tipNameRepeat: '工作表名稱已存在,請輸入其他名稱。',
|
||||
noMoreSheet: '活頁簿中至少需含有一張可見的工作表。若需刪除選定的工作表,請先插入一張新工作表或顯示隱藏的工作表。',
|
||||
confirmDelete: '確認刪除',
|
||||
redoDelete: '可以透過 Ctrl+Z 復原刪除',
|
||||
noHide: '不能隱藏,至少保留一個工作表',
|
||||
chartEditNoOpt: '圖表編輯模式下不允許該操作! ',
|
||||
sheetNameErrorTitle: '錯誤',
|
||||
sheetNameSpecCharError: "名稱不能超過 31 個字符,首尾不能是' 且名稱不能包含: [ ] : \\ ? * /",
|
||||
sheetNameSpecCharError: "名稱不能超過 31 個字元,首尾不能是' 且名稱不能包含: [ ] : \\ ? * /",
|
||||
sheetNameCannotIsEmptyError: '名稱不能為空。 ',
|
||||
sheetNameAlreadyExistsError: '工作表已存在,請輸入其它名稱。 ',
|
||||
deleteSheet: '刪除工作表',
|
||||
deleteSheetContent: '確認刪除此工作表?',
|
||||
deleteSheetContent: '您確定要刪除此工作表嗎?刪除後將無法復原。',
|
||||
deleteLargeSheetContent: '確認刪除此工作表,刪除後將不可找回,確定要刪除嗎?',
|
||||
addProtectSheet: '保護工作表',
|
||||
removeProtectSheet: '取消保護工作表',
|
||||
@@ -188,52 +187,52 @@ const locale: typeof enUS = {
|
||||
},
|
||||
rightClick: {
|
||||
copy: '複製',
|
||||
cut: '剪切',
|
||||
cut: '剪下',
|
||||
paste: '貼上',
|
||||
pasteSpecial: '選擇性貼上',
|
||||
pasteValue: '僅貼上值',
|
||||
pasteFormat: '僅貼上格式',
|
||||
pasteColWidth: '僅貼上列寬',
|
||||
pasteColWidth: '僅貼上欄寬',
|
||||
pasteBesidesBorder: '僅貼上邊框以外內容',
|
||||
insert: '插入',
|
||||
delete: '刪除',
|
||||
insertRow: '插入行',
|
||||
insertRowBefore: '上方插入行',
|
||||
insertRow: '插入列',
|
||||
insertRowBefore: '上方插入列',
|
||||
insertRowsAbove: '在上方插入',
|
||||
insertRowsAfter: '在下方插入',
|
||||
insertRowsAfterSuffix: '行',
|
||||
insertRowsAboveSuffix: '行',
|
||||
insertColumn: '插入列',
|
||||
insertColumnBefore: '在左側插入列',
|
||||
insertRowsAfterSuffix: '列',
|
||||
insertRowsAboveSuffix: '列',
|
||||
insertColumn: '插入欄',
|
||||
insertColumnBefore: '在左側插入欄',
|
||||
insertColsLeft: '在左側插入',
|
||||
insertColsRight: '在右側插入',
|
||||
insertColsLeftSuffix: '列',
|
||||
insertColsRightSuffix: '列',
|
||||
insertColsLeftSuffix: '欄',
|
||||
insertColsRightSuffix: '欄',
|
||||
deleteCell: '刪除儲存格',
|
||||
insertCell: '插入儲存格',
|
||||
deleteSelected: '刪除選取',
|
||||
hide: '隱藏',
|
||||
hideSelected: '隱藏選中',
|
||||
showHide: '顯示隱藏',
|
||||
hideSelected: '隱藏',
|
||||
showHide: '取消隱藏',
|
||||
toTopAdd: '向上增加',
|
||||
toBottomAdd: '向下增加',
|
||||
toLeftAdd: '向左增加',
|
||||
toRightAdd: '向右增加',
|
||||
deleteSelectedRow: '刪除選取行',
|
||||
deleteSelectedColumn: '刪除選取列',
|
||||
hideSelectedRow: '隱藏選中行',
|
||||
showHideRow: '顯示隱藏行',
|
||||
rowHeight: '行高',
|
||||
hideSelectedColumn: '隱藏選取列',
|
||||
showHideColumn: '顯示隱藏列',
|
||||
columnWidth: '列寬',
|
||||
deleteSelectedRow: '刪除選取列',
|
||||
deleteSelectedColumn: '刪除選取欄',
|
||||
hideSelectedRow: '隱藏選取列',
|
||||
showHideRow: '取消隱藏列',
|
||||
rowHeight: '列高',
|
||||
hideSelectedColumn: '隱藏選取欄',
|
||||
showHideColumn: '取消隱藏欄',
|
||||
columnWidth: '欄寬',
|
||||
moveLeft: '左移',
|
||||
moveUp: '上移',
|
||||
moveRight: '右移',
|
||||
moveDown: '下移',
|
||||
add: '增加',
|
||||
row: '行',
|
||||
column: '列',
|
||||
row: '列',
|
||||
column: '欄',
|
||||
confirm: '確認',
|
||||
clearSelection: '清除',
|
||||
clearContent: '清除內容',
|
||||
@@ -242,20 +241,20 @@ const locale: typeof enUS = {
|
||||
root: '次方根',
|
||||
log: 'log',
|
||||
delete0: '刪除兩端0值',
|
||||
removeDuplicate: '刪除重複值',
|
||||
byRow: '按行',
|
||||
byCol: '按列',
|
||||
removeDuplicate: '移除重複項',
|
||||
byRow: '按列',
|
||||
byCol: '按欄',
|
||||
generateNewMatrix: '產生新矩陣',
|
||||
fitContent: '適合數據',
|
||||
freeze: '凍結',
|
||||
freezeCol: '凍結列',
|
||||
freezeRow: '凍結行',
|
||||
freeze: '凍結窗格',
|
||||
freezeCol: '凍結欄',
|
||||
freezeRow: '凍結列',
|
||||
cancelFreeze: '取消凍結',
|
||||
deleteAllRowsAlert: '您無法刪除工作表上的所有行',
|
||||
deleteAllColumnsAlert: '您無法刪除工作表上的所有欄位',
|
||||
hideAllRowsAlert: '您無法隱藏工作表上的所有行',
|
||||
hideAllColumnsAlert: '您無法隱藏工作表上的所有欄位',
|
||||
protectRange: '保護行列',
|
||||
deleteAllRowsAlert: '您無法刪除工作表上的所有列',
|
||||
deleteAllColumnsAlert: '您無法刪除工作表上的所有欄',
|
||||
hideAllRowsAlert: '您無法隱藏工作表上的所有列',
|
||||
hideAllColumnsAlert: '您無法隱藏工作表上的所有欄',
|
||||
protectRange: '保護範圍',
|
||||
editProtectRange: '設定保護範圍',
|
||||
removeProtectRange: '移除保護範圍',
|
||||
turnOnProtectRange: '新增保護範圍',
|
||||
@@ -267,31 +266,31 @@ const locale: typeof enUS = {
|
||||
notChangeMerge: '不能對合併儲存格做部分更改',
|
||||
detailUpdate: '新開啟',
|
||||
detailSave: '已恢復本機快取',
|
||||
row: '行',
|
||||
column: '列',
|
||||
row: '列',
|
||||
column: '欄',
|
||||
loading: '渲染中···',
|
||||
|
||||
copy: '副本',
|
||||
return: '返回',
|
||||
rename: '重命名',
|
||||
rename: '重新命名',
|
||||
tips: '重命名',
|
||||
noName: '無標題的電子表格',
|
||||
noName: '未命名的試算表',
|
||||
wait: '待更新',
|
||||
|
||||
add: '新增',
|
||||
addLast: '在底部加上',
|
||||
backTop: '回到頂部',
|
||||
// eslint-disable-next-line no-template-curly-in-string
|
||||
pageInfo: '共${total}條,${totalPage}頁,目前已顯示${currentPage}頁',
|
||||
pageInfo: '共 ${total} 筆,${totalPage} 頁,目前已顯示 ${currentPage} 頁',
|
||||
nextPage: '下一頁',
|
||||
|
||||
tipInputNumber: '請輸入數字',
|
||||
tipInputNumberLimit: '增加範圍限制在1-100',
|
||||
|
||||
tipRowHeightLimit: '行高必須在0 ~ 545之間',
|
||||
tipColumnWidthLimit: '列寬必須在0 ~ 2038之間',
|
||||
tipRowHeightLimit: '列高必須在 0 ~ 545 之間',
|
||||
tipColumnWidthLimit: '欄寬必須在 0 ~ 2038 之間',
|
||||
// eslint-disable-next-line no-template-curly-in-string
|
||||
pageInfoFull: '共${total}條,${totalPage}頁,已顯示全部資料',
|
||||
pageInfoFull: '共 ${total} 筆,${totalPage} 頁,已顯示全部資料',
|
||||
problem: '出現了一個問題',
|
||||
forceStringInfo: '以文字形式儲存的數字',
|
||||
},
|
||||
@@ -317,9 +316,9 @@ const locale: typeof enUS = {
|
||||
},
|
||||
autoFill: {
|
||||
copy: '複製儲存格',
|
||||
series: '填充序列',
|
||||
formatOnly: '僅填滿格式',
|
||||
noFormat: '不含格式填滿',
|
||||
series: '填滿數列',
|
||||
formatOnly: '僅以格式填滿',
|
||||
noFormat: '填滿但不填入格式',
|
||||
},
|
||||
rangeSelector: {
|
||||
placeholder: '選擇範圍或輸入值',
|
||||
@@ -352,7 +351,7 @@ const locale: typeof enUS = {
|
||||
'toggle-editing': '開始 / 結束編輯',
|
||||
'delete-and-start-editing': '清空並開始編輯',
|
||||
'abort-editing': '放棄編輯',
|
||||
'break-line': '換行',
|
||||
'break-line': '強制換行',
|
||||
'set-bold': '切換粗體',
|
||||
'set-italic': '切換斜體',
|
||||
'set-underline': '切換底線',
|
||||
@@ -363,15 +362,15 @@ const locale: typeof enUS = {
|
||||
'sheet-view': '瀏覽表格',
|
||||
'sheet-edit': '編輯表格',
|
||||
definedName: {
|
||||
managerTitle: '名稱管理器',
|
||||
managerDescription: '透過選擇儲存格或公式,並在文字方塊中輸入您想要的名稱來建立定義名稱。 ',
|
||||
managerTitle: '名稱管理員',
|
||||
managerDescription: '透過選擇儲存格或公式,並在文字方塊中輸入您想要的名稱來建立已定義名稱。',
|
||||
addButton: '新建名稱',
|
||||
featureTitle: '定義名稱',
|
||||
featureTitle: '已定義名稱',
|
||||
ratioRange: '範圍',
|
||||
ratioFormula: '公式',
|
||||
confirm: '確認',
|
||||
cancel: '取消',
|
||||
scopeWorkbook: '工作簿',
|
||||
scopeWorkbook: '活頁簿',
|
||||
inputNamePlaceholder: '請輸入名稱(必填)',
|
||||
inputCommentPlaceholder: '請輸入備註',
|
||||
inputRangePlaceholder: '請輸入範圍(必填)',
|
||||
@@ -395,7 +394,7 @@ const locale: typeof enUS = {
|
||||
permission: {
|
||||
toolbarMenu: '保護',
|
||||
panel: {
|
||||
title: '保護行列',
|
||||
title: '保護範圍',
|
||||
name: '名稱',
|
||||
protectedRange: '保護區域',
|
||||
permissionDirection: '權限描述',
|
||||
@@ -414,18 +413,18 @@ const locale: typeof enUS = {
|
||||
currentSheet: '目前工作表',
|
||||
allSheet: '所有工作表',
|
||||
edit: '編輯',
|
||||
Print: '打印',
|
||||
Comment: '評論',
|
||||
Print: '列印',
|
||||
Comment: '註解',
|
||||
Copy: '複製',
|
||||
SetCellStyle: '設定儲存格樣式',
|
||||
SetCellValue: '設定單元格值',
|
||||
SetHyperLink: '設定超連結',
|
||||
Sort: '排序',
|
||||
Filter: '篩選',
|
||||
PivotTable: '資料透視表',
|
||||
PivotTable: '樞紐分析表',
|
||||
FloatImage: '浮動圖片',
|
||||
RowHeightColWidth: '行高列寬',
|
||||
RowHeightColWidthReadonly: '只讀行高列寬',
|
||||
RowHeightColWidth: '列高欄寬',
|
||||
RowHeightColWidthReadonly: '只讀列高欄寬',
|
||||
FilterReadonly: '唯讀篩選',
|
||||
nameError: '名稱不能為空',
|
||||
created: '創建',
|
||||
@@ -437,12 +436,12 @@ const locale: typeof enUS = {
|
||||
rangeOverlapError: '範圍不能重疊',
|
||||
rangeOverlapOverPermissionError: '範圍不能重疊已有權限範圍',
|
||||
InsertHyperlink: '插入超連結',
|
||||
SetRowStyle: '設定行樣式',
|
||||
SetColumnStyle: '設定列樣式',
|
||||
InsertColumn: '插入列',
|
||||
InsertRow: '插入行',
|
||||
DeleteRow: '刪除行',
|
||||
DeleteColumn: '刪除列',
|
||||
SetRowStyle: '設定列樣式',
|
||||
SetColumnStyle: '設定欄樣式',
|
||||
InsertColumn: '插入欄',
|
||||
InsertRow: '插入列',
|
||||
DeleteRow: '刪除列',
|
||||
DeleteColumn: '刪除欄',
|
||||
EditExtraObject: '編輯其他物件',
|
||||
},
|
||||
dialog: {
|
||||
@@ -461,9 +460,9 @@ const locale: typeof enUS = {
|
||||
pasteErr: '該範圍已被保護,目前無貼上權限。如需貼上,請聯絡創作者。 ',
|
||||
setStyleErr: '該範圍已被保護,目前無設定樣式權限。如需設定樣式,請聯絡建立者。 ',
|
||||
copyErr: '該範圍已被保護,目前無複製權限。如需複製,請聯絡創建者。 ',
|
||||
workbookCopyErr: '該工作簿已被保護,目前無複製權限。如需複製,請聯絡創建者。 ',
|
||||
setRowColStyleErr: '該範圍已被保護,目前無設定行列樣式權限。如需設定行列樣式,請聯絡建立者。 ',
|
||||
moveRowColErr: '該範圍已被保護,目前無移動行列權限。如需行動行列,請聯絡創作者。 ',
|
||||
workbookCopyErr: '該活頁簿已被保護,目前無複製權限。如需複製,請聯絡創建者。 ',
|
||||
setRowColStyleErr: '該範圍已被保護,目前無設定欄列樣式權限。如需設定欄列樣式,請聯絡建立者。 ',
|
||||
moveRowColErr: '該範圍已被保護,目前無移動欄列權限。如需行動欄列,請聯絡創作者。 ',
|
||||
moveRangeErr: '該範圍已被保護,目前無移動選取範圍權限。如需移動選區,請聯絡創作者。 ',
|
||||
autoFillErr: '範圍已被保護,目前無自動填入權限。如需自動填充,請聯絡建立者。 ',
|
||||
filterErr: '該範圍已被保護,目前無篩選權限。如需篩選,請聯絡創作者。 ',
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
"@univerjs/network": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,6 +57,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"vite": "^7.2.4"
|
||||
"vite": "^7.2.6"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,8 +67,8 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14",
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15",
|
||||
"vue": "^3.5.25"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
"tailwindcss": "3.4.18",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.4",
|
||||
"vitest": "^4.0.14"
|
||||
"vite": "^7.2.6",
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+743
-899
File diff suppressed because it is too large
Load Diff
@@ -27,6 +27,6 @@
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"typescript": "^5.9.3",
|
||||
"vitest": "^4.0.14"
|
||||
"vitest": "^4.0.15"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user