|
@@ -3,13 +3,18 @@ import { defaultStyle as rectDefStyle } from "@/core/components/rectangle";
|
|
|
import { defaultStyle as circleDefStyle } from "@/core/components/circle";
|
|
|
import { defaultStyle as triangleDefStyle } from "@/core/components/triangle";
|
|
|
import { defaultStyle as arrowDefStyle } from "@/core/components/arrow";
|
|
|
-import { defaultStyle as serialDefStyle, defaultTableStyle as serialTableDefStyle } from "@/core/components/serial";
|
|
|
+import {
|
|
|
+ defaultStyle as serialDefStyle,
|
|
|
+ defaultTableStyle as serialTableDefStyle,
|
|
|
+ joinKey,
|
|
|
+} from "@/core/components/serial";
|
|
|
import { defaultStyle as tableDefStyle } from "@/core/components/table";
|
|
|
import { PaperKey } from "@/example/components/slide/actions";
|
|
|
import { mergeFuns } from "@/utils/shared";
|
|
|
import { getRealPixel } from "./tabulation/gen-tab";
|
|
|
import { Draw } from "@/example/components/container/use-draw";
|
|
|
import { ShapeType } from "@/index";
|
|
|
+import { watch } from "vue";
|
|
|
|
|
|
const setDefStyle = <T extends {}>(
|
|
|
sys: T,
|
|
@@ -29,7 +34,16 @@ const setDefStyle = <T extends {}>(
|
|
|
};
|
|
|
|
|
|
export const tabCustomStyle = (p: PaperKey, draw: Draw) => {
|
|
|
- const types = ["icon", "table", "serial", 'arrow', 'circle', 'rectangle', 'triangle', 'polygon'] as ShapeType[];
|
|
|
+ const types = [
|
|
|
+ "icon",
|
|
|
+ "table",
|
|
|
+ "serial",
|
|
|
+ "arrow",
|
|
|
+ "circle",
|
|
|
+ "rectangle",
|
|
|
+ "triangle",
|
|
|
+ "polygon",
|
|
|
+ ] as ShapeType[];
|
|
|
types.forEach((type) => {
|
|
|
draw.mountFilter.setMenusFilter(type, (data) => {
|
|
|
data.strokeWidth.props = {
|
|
@@ -37,17 +51,23 @@ export const tabCustomStyle = (p: PaperKey, draw: Draw) => {
|
|
|
proportion: true,
|
|
|
step: 0.1,
|
|
|
min: 0.1,
|
|
|
- max: 10
|
|
|
+ max: 10,
|
|
|
};
|
|
|
return data;
|
|
|
});
|
|
|
});
|
|
|
+ draw.mountFilter.setMenusFilter('serial', data => {
|
|
|
+ data = {...data}
|
|
|
+ delete data.fontStyle
|
|
|
+ return data
|
|
|
+ })
|
|
|
|
|
|
const backs = [
|
|
|
() => {
|
|
|
types.forEach((type) => {
|
|
|
draw.mountFilter.setMenusFilter(type);
|
|
|
});
|
|
|
+ draw.mountFilter.setMenusFilter('serial')
|
|
|
},
|
|
|
setDefStyle(
|
|
|
iconDefStyle,
|
|
@@ -76,6 +96,22 @@ export const tabCustomStyle = (p: PaperKey, draw: Draw) => {
|
|
|
setDefStyle(circleDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
|
|
|
setDefStyle(triangleDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
|
|
|
setDefStyle(arrowDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
|
|
|
+ watch(
|
|
|
+ () =>
|
|
|
+ draw.store.getTypeItems("table").filter((item) => item.key === joinKey),
|
|
|
+ (serialTables, _, onCleanup) => {
|
|
|
+ const fns = serialTables.map((item) => {
|
|
|
+ draw.mountFilter.setShapeMenusFilter(item.id, item => {
|
|
|
+ const c = {...item}
|
|
|
+ delete c.align
|
|
|
+ return c
|
|
|
+ })
|
|
|
+ return () => draw.menusFilter.setShapeMenusFilter(item.id)
|
|
|
+ });
|
|
|
+ onCleanup(mergeFuns(fns))
|
|
|
+ },
|
|
|
+ { immediate: true }
|
|
|
+ ),
|
|
|
];
|
|
|
|
|
|
return mergeFuns(backs);
|
|
@@ -90,9 +126,7 @@ export const overviewCustomStyle = (draw: Draw) => {
|
|
|
return data;
|
|
|
});
|
|
|
const backs = [
|
|
|
- () => {
|
|
|
- draw.mountFilter.setMenusFilter("icon");
|
|
|
- },
|
|
|
+ () => draw.mountFilter.setMenusFilter("icon"),
|
|
|
setDefStyle(
|
|
|
iconDefStyle,
|
|
|
{
|