Skip to content

Commit

Permalink
feat: add tinymce embedded form example
Browse files Browse the repository at this point in the history
  • Loading branch information
anncwb committed Nov 5, 2020
1 parent 2859067 commit 58f988a
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 32 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@
"postcss-import": "^12.0.1",
"prettier": "^2.1.2",
"rimraf": "^3.0.2",
"rollup-plugin-analyzer": "^3.3.0",
"rollup-plugin-visualizer": "^4.1.2",
"stylelint": "^13.7.2",
"stylelint-config-prettier": "^8.0.2",
Expand Down
41 changes: 28 additions & 13 deletions src/components/Tinymce/src/Editor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
watch,
onUnmounted,
onDeactivated,
watchEffect,
} from 'vue';
import { basicProps } from './props';
import toolbar from './toolbar';
Expand Down Expand Up @@ -57,6 +58,8 @@
const { height, options } = props;
return {
selector: `#${unref(tinymceId)}`,
base_url: CDN_URL,
suffix: '.min',
height: height,
toolbar: toolbar,
menubar: 'file edit insert view format table',
Expand Down Expand Up @@ -134,36 +137,48 @@
bindHandlers(e, attrs, unref(editorRef));
}
function setValue(editor: any, val: string, prevVal: string) {
if (
editor &&
typeof val === 'string' &&
val !== prevVal &&
val !== editor.getContent({ format: attrs.outputFormat })
) {
editor.setContent(val);
}
}
function bindModelHandlers(editor: any) {
const modelEvents = attrs.modelEvents ? attrs.modelEvents : null;
const normalizedEvents = Array.isArray(modelEvents) ? modelEvents.join(' ') : modelEvents;
watch(
() => props.modelValue,
(val: string, prevVal: string) => {
if (
editor &&
typeof val === 'string' &&
val !== prevVal &&
val !== editor.getContent({ format: attrs.outputFormat })
) {
editor.setContent(val);
}
setValue(editor, val, prevVal);
}
);
watch(
() => props.value,
(val: string, prevVal: string) => {
setValue(editor, val, prevVal);
},
{
immediate: true,
}
);
editor.on(normalizedEvents ? normalizedEvents : 'change keyup undo redo', () => {
emit('update:modelValue', editor.getContent({ format: attrs.outputFormat }));
const content = editor.getContent({ format: attrs.outputFormat });
emit('update:modelValue', content);
emit('change', content);
});
}
function handleChange(value: string) {
emit('change', value);
}
return {
containerWidth,
initOptions,
tinymceContent,
handleChange,
tinymceScriptSrc,
elRef,
tinymceId,
Expand Down
8 changes: 4 additions & 4 deletions src/router/menus/modules/demo/editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ const menu: MenuModule = {
path: 'index',
name: '基础使用',
},
// {
// path: 'editor',
// name: '嵌入form使用',
// },
{
path: 'editor',
name: '嵌入form使用',
},
],
},
],
Expand Down
16 changes: 8 additions & 8 deletions src/router/routes/modules/demo/editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ export default {
},
},
// TODO
// {
// path: 'editor',
// name: 'TinymceFormDemo',
// component: () => import('/@/views/demo/comp/tinymce/Editor.vue'),
// meta: {
// title: '嵌入form使用',
// },
// },
{
path: 'editor',
name: 'TinymceFormDemo',
component: () => import('/@/views/demo/editor/tinymce/Editor.vue'),
meta: {
title: '嵌入form使用',
},
},
],
},
],
Expand Down
4 changes: 3 additions & 1 deletion src/utils/helper/routeHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@ export function genRouteModule(moduleList: AppRouteModule[]) {
// 动态引入
function asyncImportRoute(routes: AppRouteRecordRaw[]) {
routes.forEach((item) => {
const { component, children } = item;
let { component } = item;
const { children } = item;
if (component) {
component = component.replace(/^\//, '');
item.component = () => import(`/@/views/${component}`);
}
children && asyncImportRoute(children);
Expand Down
5 changes: 0 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6757,11 +6757,6 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"

rollup-plugin-analyzer@^3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/rollup-plugin-analyzer/-/rollup-plugin-analyzer-3.3.0.tgz#52fb30465ae927d9c078b6ec90c578cfb9164fc2"
integrity sha512-zUPGitW4usmZcVa0nKecRvw3odtXgnxdCben9Hx1kxVoR3demek8RU9tmRG/R35hnRPQTb7wEsYEe3GUcjxIMA==

rollup-plugin-babel@^4.3.3:
version "4.4.0"
resolved "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb"
Expand Down

0 comments on commit 58f988a

Please sign in to comment.