@logicflow/extension 1.1.0-alpha.0 → 1.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/cjs/NodeResize/Control/Control.js +2 -1
  2. package/cjs/NodeResize/Control/Util.js +1 -0
  3. package/cjs/NodeResize/Node/EllipseResize.js +1 -17
  4. package/cjs/NodeResize/Node/HtmlResize.js +72 -0
  5. package/cjs/NodeResize/index.js +6 -0
  6. package/cjs/components/context-menu/index.js +4 -1
  7. package/cjs/components/menu/index.js +3 -3
  8. package/cjs/group-shrink/index.js +213 -0
  9. package/cjs/index.js +1 -0
  10. package/cjs/materials/group/GroupNode.js +186 -23
  11. package/cjs/materials/group/index.js +28 -9
  12. package/cjs/style/index.css +3 -2
  13. package/cjs/tools/snapshot/index.js +7 -2
  14. package/es/NodeResize/Control/Control.js +2 -1
  15. package/es/NodeResize/Control/Util.d.ts +1 -0
  16. package/es/NodeResize/Control/Util.js +1 -0
  17. package/es/NodeResize/Node/EllipseResize.js +1 -17
  18. package/es/NodeResize/Node/HtmlResize.d.ts +20 -0
  19. package/es/NodeResize/Node/HtmlResize.js +70 -0
  20. package/es/NodeResize/index.js +6 -0
  21. package/es/components/context-menu/index.d.ts +1 -0
  22. package/es/components/context-menu/index.js +4 -1
  23. package/es/components/menu/index.js +3 -3
  24. package/es/group-shrink/index.d.ts +28 -0
  25. package/es/group-shrink/index.js +210 -0
  26. package/es/index.d.ts +1 -0
  27. package/es/index.js +1 -0
  28. package/es/materials/group/GroupNode.d.ts +35 -11
  29. package/es/materials/group/GroupNode.js +187 -24
  30. package/es/materials/group/index.d.ts +3 -1
  31. package/es/materials/group/index.js +27 -9
  32. package/es/style/index.css +3 -2
  33. package/es/tools/snapshot/index.js +7 -2
  34. package/lib/AutoLayout.js +1 -1
  35. package/lib/BpmnAdapter.js +1 -1
  36. package/lib/BpmnElement.js +1 -1
  37. package/lib/ContextMenu.js +1 -1
  38. package/lib/Control.js +1 -1
  39. package/lib/CurvedEdge.js +1 -1
  40. package/lib/DndPanel.js +1 -1
  41. package/lib/FlowPath.js +1 -1
  42. package/lib/Group.js +1 -1
  43. package/lib/GroupShrink.js +1 -0
  44. package/lib/InsertNodeInPolyline.js +1 -1
  45. package/lib/Menu.js +1 -1
  46. package/lib/MiniMap.js +1 -1
  47. package/lib/NodeResize.js +1 -1
  48. package/lib/RectLabelNode.js +1 -1
  49. package/lib/SelectionSelect.js +1 -1
  50. package/lib/Snapshot.js +1 -1
  51. package/lib/TurboAdapter.js +1 -1
  52. package/lib/lfJson2Xml.js +1 -1
  53. package/lib/lfXml2Json.js +1 -1
  54. package/lib/style/index.css +3 -2
  55. package/package.json +2 -2
  56. package/types/NodeResize/Control/Util.d.ts +1 -0
  57. package/types/NodeResize/Node/HtmlResize.d.ts +20 -0
  58. package/types/components/context-menu/index.d.ts +1 -0
  59. package/types/group-shrink/index.d.ts +28 -0
  60. package/types/index.d.ts +1 -0
  61. package/types/materials/group/GroupNode.d.ts +35 -11
  62. package/types/materials/group/index.d.ts +3 -1
  63. package/cjs/NodeResize/BasicShape/Ellipse.js +0 -21
  64. package/es/NodeResize/BasicShape/Ellipse.d.ts +0 -2
  65. package/es/NodeResize/BasicShape/Ellipse.js +0 -18
@@ -10,6 +10,7 @@ declare class ContextMenu {
10
10
  lf: any;
11
11
  });
12
12
  render(lf: any, container: any): void;
13
+ setContextMenuByType(type: any, menus: any): void;
13
14
  /**
14
15
  * 隐藏菜单
15
16
  */
@@ -0,0 +1,28 @@
1
+ declare class GroupShrink {
2
+ static pluginName: string;
3
+ group: any;
4
+ lf: any;
5
+ shrinkWidth: number;
6
+ shrinkHeight: number;
7
+ constructor({ lf }: {
8
+ lf: any;
9
+ });
10
+ /**
11
+ * 收缩
12
+ */
13
+ startShrink(group: any): void;
14
+ /**
15
+ * 展开
16
+ */
17
+ startExpand(group: any): void;
18
+ /**
19
+ * 获取分组内的节点上的所有边,以及计算新的分组节点需要连接的边,之后删除原来的边
20
+ */
21
+ private getGroupEdges;
22
+ /**
23
+ * 获取分组内的节点和左上角节点,获取到有效信息后,删除节点
24
+ */
25
+ private getGroupNodes;
26
+ private getGraphDataWithGroup;
27
+ }
28
+ export { GroupShrink, };
package/types/index.d.ts CHANGED
@@ -16,3 +16,4 @@ export * from './tools/flow-path';
16
16
  export * from './tools/auto-layout';
17
17
  export * from './bpmn-adapter/xml2json';
18
18
  export * from './bpmn-adapter/json2xml';
19
+ export * from './group-shrink';
@@ -1,13 +1,23 @@
1
- import { RectNode, RectNodeModel } from '@logicflow/core';
2
- declare class GroupNodeModel extends RectNodeModel {
1
+ import { h } from '@logicflow/core';
2
+ import { RectResize } from '../../NodeResize';
3
+ declare class GroupNodeModel extends RectResize.model {
3
4
  readonly isGroup = true;
4
- children: Set<unknown>;
5
+ children: Set<string>;
5
6
  isRestrict: boolean;
6
- setAttributes(): void;
7
+ resizable: boolean;
8
+ foldedWidth: number;
9
+ foldedHeight: number;
10
+ unfoldedWidth: number;
11
+ unfoldedHight: number;
12
+ initNodeData(data: any): void;
13
+ foldGroup(isFolded: any): void;
7
14
  /**
8
- * 设置是否允许子节点被拖动移除分组
15
+ * 折叠分组的时候,处理分组内部子节点上的连线
16
+ * 1. 为了保证校验规则不被打乱,所以只隐藏子节点上面的连线。
17
+ * 2. 重新创建一个属性一样的边。
18
+ * 3. 这个边拥有virtual=true的属性,表示不支持直接修改此边内容。
9
19
  */
10
- setIsRestrict(isRestrict: any): void;
20
+ private foldEdge;
11
21
  isInRange({ x1, y1, x2, y2 }: {
12
22
  x1: any;
13
23
  y1: any;
@@ -15,15 +25,29 @@ declare class GroupNodeModel extends RectNodeModel {
15
25
  y2: any;
16
26
  }): boolean;
17
27
  setAllowAppendChild(isAllow: any): void;
28
+ /**
29
+ * 添加分组子节点
30
+ * @param id 节点id
31
+ */
18
32
  addChild(id: any): void;
33
+ /**
34
+ * 删除分组子节点
35
+ * @param id 节点id
36
+ */
19
37
  removeChild(id: any): void;
38
+ getAddableOutlineStyle(): {
39
+ stroke: string;
40
+ strokeWidth: number;
41
+ strokeDasharray: string;
42
+ fill: string;
43
+ };
20
44
  getData(): import("@logicflow/core").NodeData;
21
45
  }
22
- declare class GroupNode extends RectNode {
23
- /**
24
- * 重新toFront,阻止其置顶
25
- */
26
- toFront(): void;
46
+ declare class GroupNode extends RectResize.view {
47
+ getControlGroup(): h.JSX.Element;
48
+ getAddedableShape(): import("preact").VNode<any>;
49
+ getFoldIcon(): import("preact").VNode<any>;
50
+ getResizeShape(): import("preact").VNode<any>;
27
51
  }
28
52
  declare const _default: {
29
53
  type: string;
@@ -1,4 +1,5 @@
1
1
  import LogicFlow, { BaseNodeModel } from '@logicflow/core';
2
+ import GroupNode from './GroupNode';
2
3
  declare type BaseNodeId = string;
3
4
  declare type GroupId = string;
4
5
  declare type Bounds = {
@@ -15,6 +16,7 @@ declare class Group {
15
16
  constructor({ lf }: {
16
17
  lf: any;
17
18
  });
19
+ graphRendered: (data: any) => void;
18
20
  appendNodeToGrop: ({ data }: {
19
21
  data: any;
20
22
  }) => void;
@@ -27,4 +29,4 @@ declare class Group {
27
29
  */
28
30
  getGroup(bounds: Bounds): BaseNodeModel | undefined;
29
31
  }
30
- export { Group };
32
+ export { Group, GroupNode, };
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- var core_1 = require("@logicflow/core");
15
- function Ellipse(props) {
16
- var _a = props.x, x = _a === void 0 ? 0 : _a, _b = props.y, y = _b === void 0 ? 0 : _b, _c = props.rx, rx = _c === void 0 ? 4 : _c, _d = props.ry, ry = _d === void 0 ? 4 : _d;
17
- var attrs = __assign({ cx: x, cy: y, rx: rx,
18
- ry: ry, fill: 'transparent', fillOpacity: 1, strokeWidth: 1, stroke: '#000', strokeOpacity: 1 }, props);
19
- return (core_1.h("ellipse", __assign({}, attrs)));
20
- }
21
- exports.default = Ellipse;
@@ -1,2 +0,0 @@
1
- import { h } from '@logicflow/core';
2
- export default function Ellipse(props: any): h.JSX.Element;
@@ -1,18 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { h } from '@logicflow/core';
13
- export default function Ellipse(props) {
14
- var _a = props.x, x = _a === void 0 ? 0 : _a, _b = props.y, y = _b === void 0 ? 0 : _b, _c = props.rx, rx = _c === void 0 ? 4 : _c, _d = props.ry, ry = _d === void 0 ? 4 : _d;
15
- var attrs = __assign({ cx: x, cy: y, rx: rx,
16
- ry: ry, fill: 'transparent', fillOpacity: 1, strokeWidth: 1, stroke: '#000', strokeOpacity: 1 }, props);
17
- return (h("ellipse", __assign({}, attrs)));
18
- }