提交 83c9cd77 编写于 作者: 无木

feat(tinymce): support dark theme and I18n

支持暗黑主题和中英文(暂不支持动态切换)
上级 ba2bebb4
...@@ -66,6 +66,8 @@ ...@@ -66,6 +66,8 @@
import { onMountedOrActivated } from '/@/hooks/core/onMountedOrActivated'; import { onMountedOrActivated } from '/@/hooks/core/onMountedOrActivated';
import { useDesign } from '/@/hooks/web/useDesign'; import { useDesign } from '/@/hooks/web/useDesign';
import { isNumber } from '/@/utils/is'; import { isNumber } from '/@/utils/is';
import { useLocale } from '/@/locales/useLocale';
import { useAppStore } from '/@/store/modules/app';
const tinymceProps = { const tinymceProps = {
options: { options: {
...@@ -118,6 +120,8 @@ ...@@ -118,6 +120,8 @@
const { prefixCls } = useDesign('tinymce-container'); const { prefixCls } = useDesign('tinymce-container');
const appStore = useAppStore();
const tinymceContent = computed(() => props.modelValue); const tinymceContent = computed(() => props.modelValue);
const containerWidth = computed(() => { const containerWidth = computed(() => {
...@@ -128,6 +132,15 @@ ...@@ -128,6 +132,15 @@
return width; return width;
}); });
const skinName = computed(() => {
return appStore.getDarkMode === 'light' ? 'oxide' : 'oxide-dark';
});
const langName = computed(() => {
const lang = useLocale().getLocale.value;
return ['zh_CN', 'en'].includes(lang) ? lang : 'zh_CN';
});
const initOptions = computed(() => { const initOptions = computed(() => {
const { height, options, toolbar, plugins } = props; const { height, options, toolbar, plugins } = props;
const publicPath = import.meta.env.VITE_PUBLIC_PATH || '/'; const publicPath = import.meta.env.VITE_PUBLIC_PATH || '/';
...@@ -137,15 +150,16 @@ ...@@ -137,15 +150,16 @@
toolbar, toolbar,
menubar: 'file edit insert view format table', menubar: 'file edit insert view format table',
plugins, plugins,
language_url: publicPath + 'resource/tinymce/langs/zh_CN.js', language_url: publicPath + 'resource/tinymce/langs/' + langName.value + '.js',
language: 'zh_CN', language: langName.value,
branding: false, branding: false,
default_link_target: '_blank', default_link_target: '_blank',
link_title: false, link_title: false,
object_resizing: false, object_resizing: false,
skin: 'oxide', skin: skinName.value,
skin_url: publicPath + 'resource/tinymce/skins/ui/oxide', skin_url: publicPath + 'resource/tinymce/skins/ui/' + skinName.value,
content_css: publicPath + 'resource/tinymce/skins/ui/oxide/content.min.css', content_css:
publicPath + 'resource/tinymce/skins/ui/' + skinName.value + '/content.min.css',
...options, ...options,
setup: (editor: any) => { setup: (editor: any) => {
editorRef.value = editor; editorRef.value = editor;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册