@moxa/graph 3.0.0-beta.11 → 3.0.0-beta.13

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 (48) hide show
  1. package/behaviors/brush-select/index.d.ts.map +1 -1
  2. package/behaviors/click-select/index.d.ts.map +1 -1
  3. package/behaviors/drill-down/drill-down-manager.d.ts +16 -2
  4. package/behaviors/drill-down/drill-down-manager.d.ts.map +1 -1
  5. package/components/shared/utils/group-utils/label-background.d.ts.map +1 -1
  6. package/core/graph/data-manager.d.ts +4 -0
  7. package/core/graph/data-manager.d.ts.map +1 -1
  8. package/core/graph/graph.d.ts +127 -36
  9. package/core/graph/graph.d.ts.map +1 -1
  10. package/core/graph/group-manager.d.ts +98 -0
  11. package/core/graph/group-manager.d.ts.map +1 -0
  12. package/core/graph/index.d.ts +1 -0
  13. package/core/graph/index.d.ts.map +1 -1
  14. package/core/model/event.model.d.ts +16 -2
  15. package/core/model/event.model.d.ts.map +1 -1
  16. package/core/model/group.model.d.ts +22 -0
  17. package/core/model/group.model.d.ts.map +1 -1
  18. package/core/model/plugin.model.d.ts +5 -1
  19. package/core/model/plugin.model.d.ts.map +1 -1
  20. package/core/model/state.model.d.ts +5 -3
  21. package/core/model/state.model.d.ts.map +1 -1
  22. package/core/utils/bounding-box.d.ts +27 -0
  23. package/core/utils/bounding-box.d.ts.map +1 -0
  24. package/core/utils/group-validation.d.ts +51 -0
  25. package/core/utils/group-validation.d.ts.map +1 -0
  26. package/core/utils/index.d.ts +3 -0
  27. package/core/utils/index.d.ts.map +1 -1
  28. package/core/utils/lca-calculation.d.ts +36 -0
  29. package/core/utils/lca-calculation.d.ts.map +1 -0
  30. package/index.cjs +71 -71
  31. package/index.d.ts +1 -0
  32. package/index.d.ts.map +1 -1
  33. package/index.js +16789 -15640
  34. package/package.json +5 -1
  35. package/plugins/history/config/command-filter.d.ts.map +1 -1
  36. package/plugins/hull/hull-events.d.ts +88 -0
  37. package/plugins/hull/hull-events.d.ts.map +1 -0
  38. package/plugins/hull/hull-metadata.d.ts +154 -0
  39. package/plugins/hull/hull-metadata.d.ts.map +1 -0
  40. package/plugins/hull/hull.model.d.ts +155 -0
  41. package/plugins/hull/hull.model.d.ts.map +1 -0
  42. package/plugins/hull/index.d.ts +90 -0
  43. package/plugins/hull/index.d.ts.map +1 -0
  44. package/plugins/index.d.ts +1 -0
  45. package/plugins/index.d.ts.map +1 -1
  46. package/plugins/tooltip/index.d.ts.map +1 -1
  47. package/shared/transforms/plugin-transform.d.ts +2 -1
  48. package/shared/transforms/plugin-transform.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"state.model.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/model/state.model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,eAAe,CAAC;AAGvD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;AAGtC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"state.model.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/model/state.model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAGf,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,eAAe,GAAG,sBAAsB,CAAC;AAE/E,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,eAAe,GAAG,sBAAsB,CAAC;AAE/E,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,eAAe,GACf,sBAAsB,GACtB,oBAAoB,CAAC;AAGzB,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;AAGtC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ID } from '@antv/g6';
2
+ export interface BoundingBox {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export interface ElementBounds {
9
+ id: ID;
10
+ x: number;
11
+ y: number;
12
+ width?: number;
13
+ height?: number;
14
+ }
15
+ /**
16
+ * Calculates the bounding box that encompasses all given elements
17
+ */
18
+ export declare function calculateBoundingBox(elements: ElementBounds[]): BoundingBox | null;
19
+ /**
20
+ * Updates bounding box with padding
21
+ */
22
+ export declare function applyPadding(bbox: BoundingBox, padding: number): BoundingBox;
23
+ /**
24
+ * Merges multiple bounding boxes into one
25
+ */
26
+ export declare function mergeBoundingBoxes(boxes: BoundingBox[]): BoundingBox | null;
27
+ //# sourceMappingURL=bounding-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounding-box.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/utils/bounding-box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAE9B,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,EAAE,CAAC;IACP,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EAAE,GACxB,WAAW,GAAG,IAAI,CA4BpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAO5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,IAAI,CAc3E"}
@@ -0,0 +1,51 @@
1
+ import { ID } from '@antv/g6';
2
+ import { ElementType } from '../model';
3
+ export declare const MAX_GROUP_DEPTH = 5;
4
+ export type ElementState = 'locked' | 'frozen' | 'hidden' | 'collapsed' | 'normal';
5
+ export interface ValidationResult {
6
+ isValid: boolean;
7
+ error?: string;
8
+ }
9
+ export interface ElementWithState {
10
+ id: ID;
11
+ type: ElementType;
12
+ state?: ElementState;
13
+ parentId?: ID;
14
+ }
15
+ /**
16
+ * Validates minimum selection requirement for group creation
17
+ */
18
+ export declare function validateMinimumSelection(elementIds: ID[]): ValidationResult;
19
+ /**
20
+ * Validates element states for group operations
21
+ */
22
+ export declare function validateElementStates(elements: ElementWithState[], operation: 'create' | 'ungroup'): ValidationResult;
23
+ /**
24
+ * Checks if elements have parent-child relationship
25
+ */
26
+ export declare function hasParentChildRelationship(elements: ElementWithState[], getAncestors: (id: ID) => ID[]): boolean;
27
+ /**
28
+ * Validates that selection doesn't include parent-child relationships
29
+ */
30
+ export declare function validateParentChildRelationships(elements: ElementWithState[], getAncestors: (id: ID) => ID[]): ValidationResult;
31
+ /**
32
+ * Calculates the depth of an element in the hierarchy
33
+ */
34
+ export declare function calculateElementDepth(elementId: ID, getParent: (id: ID) => ID | undefined): number;
35
+ /**
36
+ * Calculates maximum depth after group operation
37
+ */
38
+ export declare function calculateMaxDepthAfterGrouping(selectedElements: ElementWithState[], lcaDepth: number, getDescendants: (id: ID) => ElementWithState[]): number;
39
+ /**
40
+ * Validates depth limit for group operation
41
+ */
42
+ export declare function validateDepthLimit(selectedElements: ElementWithState[], lcaDepth: number, getDescendants: (id: ID) => ElementWithState[]): ValidationResult;
43
+ /**
44
+ * Validates complete group selection (no partial selection)
45
+ */
46
+ export declare function validateCompleteGroupSelection(selectedIds: Set<ID>, getChildren: (id: ID) => ID[]): ValidationResult;
47
+ /**
48
+ * Validates that selection contains only groups for ungroup operation
49
+ */
50
+ export declare function validateGroupsOnly(elements: ElementWithState[]): ValidationResult;
51
+ //# sourceMappingURL=group-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-validation.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/utils/group-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,eAAe,IAAI,CAAC;AAGjC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAQ3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,SAAS,EAAE,QAAQ,GAAG,SAAS,GAC9B,gBAAgB,CAoClB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAC7B,OAAO,CAeT;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAC7B,gBAAgB,CAQlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,EAAE,EACb,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,GACpC,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,gBAAgB,EAAE,GAC7C,MAAM,CAoDR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,gBAAgB,EAAE,GAC7C,gBAAgB,CAelB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EACpB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAC5B,gBAAgB,CAgBlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,CAWlB"}
@@ -6,4 +6,7 @@ export * from './rect.helper';
6
6
  export * from './state.helper';
7
7
  export * from './theme.helper';
8
8
  export * from './tree.helper';
9
+ export * from './group-validation';
10
+ export * from './lca-calculation';
11
+ export * from './bounding-box';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { ID } from '@antv/g6';
2
+ export interface LCAResult {
3
+ id: ID | null;
4
+ depth: number;
5
+ path: ID[];
6
+ }
7
+ /**
8
+ * Builds the path from root to the given element
9
+ * @param elementId - The element ID to build path for
10
+ * @param getParent - Function to get parent ID
11
+ * @param maxDepth - Safety limit to prevent infinite loops (default: MAX_GROUP_DEPTH)
12
+ */
13
+ export declare function buildParentPath(elementId: ID, getParent: (id: ID) => ID | undefined, maxDepth?: number): ID[];
14
+ /**
15
+ * Calculates the Lowest Common Ancestor of multiple elements.
16
+ *
17
+ * The returned LCA is the deepest common ancestor that will become
18
+ * the parent of a newly created group containing all selected elements.
19
+ *
20
+ * Path format: [root_ancestor, ..., parent, element]
21
+ * - paths[0][0] is the root-most ancestor
22
+ * - paths[0][length-1] is the element itself
23
+ */
24
+ export declare function calculateLCA(elementIds: ID[], getParent: (id: ID) => ID | undefined): LCAResult;
25
+ /**
26
+ * Cache for parent paths to optimize repeated LCA calculations
27
+ */
28
+ export declare class ParentPathCache {
29
+ private getParent;
30
+ private cache;
31
+ constructor(getParent: (id: ID) => ID | undefined);
32
+ getPath(elementId: ID): ID[];
33
+ clear(): void;
34
+ invalidate(elementIds: ID[]): void;
35
+ }
36
+ //# sourceMappingURL=lca-calculation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lca-calculation.d.ts","sourceRoot":"","sources":["../../../../libs/graph/src/core/utils/lca-calculation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAG9B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,EAAE,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,EAAE,EACb,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,EACrC,QAAQ,SAAkB,GACzB,EAAE,EAAE,CAwBN;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,EAAE,EAAE,EAChB,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,GACpC,SAAS,CAoDX;AAED;;GAEG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,KAAK,CAAuB;gBAEhB,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS;IAEzD,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE;IAO5B,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,IAAI;CAMnC"}