@prefecthq/graphs 0.1.18 → 1.0.0

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 (26) hide show
  1. package/dist/assets/nodeLayout.worker-eea3d42c.js.map +1 -0
  2. package/dist/graphs.mjs +1 -1
  3. package/dist/graphs.umd.js +62 -62
  4. package/dist/graphs.umd.js.map +1 -1
  5. package/dist/{index-f0bc7447.mjs → index-84d70f95.mjs} +4521 -3886
  6. package/dist/index-84d70f95.mjs.map +1 -0
  7. package/dist/types/demo/sections/components/TimescaleTable.vue.d.ts +8 -8
  8. package/dist/types/demo/utilities/timescaleData.d.ts +3 -10
  9. package/dist/types/src/FlowRunTimeline.vue.d.ts +28 -12
  10. package/dist/types/src/models/FlowRunTimeline.d.ts +62 -10
  11. package/dist/types/src/pixiFunctions/index.d.ts +2 -0
  12. package/dist/types/src/pixiFunctions/nodeSprites.d.ts +19 -5
  13. package/dist/types/src/pixiFunctions/roundedBorderRect.d.ts +39 -0
  14. package/dist/types/src/pixiFunctions/subNodesToggle.d.ts +40 -0
  15. package/dist/types/src/pixiFunctions/timelineEdge.d.ts +31 -13
  16. package/dist/types/src/pixiFunctions/timelineGuide.d.ts +10 -6
  17. package/dist/types/src/pixiFunctions/timelineGuides.d.ts +6 -3
  18. package/dist/types/src/pixiFunctions/timelineNode.d.ts +83 -29
  19. package/dist/types/src/pixiFunctions/timelineNodes.d.ts +34 -35
  20. package/dist/types/src/pixiFunctions/timelinePlayhead.d.ts +7 -3
  21. package/dist/types/src/pixiFunctions/timelineScale.d.ts +2 -2
  22. package/dist/{viewport.es-5fa29f11.mjs → viewport.es-435cc2e6.mjs} +2 -2
  23. package/dist/{viewport.es-5fa29f11.mjs.map → viewport.es-435cc2e6.mjs.map} +1 -1
  24. package/package.json +1 -1
  25. package/dist/assets/nodeLayout.worker-33cd3cd7.js.map +0 -1
  26. package/dist/index-f0bc7447.mjs.map +0 -1
@@ -1,47 +1,101 @@
1
- import { Application, Container } from 'pixi.js';
2
- import { ComputedRef } from 'vue';
3
- import { ParsedThemeStyles, TimelineNodeData, NodeThemeFn } from '../models';
4
- type TimelineNodeProps = {
5
- appRef: Application;
6
- nodeData: TimelineNodeData;
7
- styles: ComputedRef<ParsedThemeStyles>;
8
- styleNode: ComputedRef<NodeThemeFn>;
9
- layoutPosition: number;
1
+ import { Container } from 'pixi.js';
2
+ import { Ref } from 'vue';
3
+ import { GraphTimelineNode, GraphState, NodeLayoutRow, NodesLayout } from '../models';
4
+ export declare const nodeClickEvents: {
5
+ nodeDetails: string;
6
+ subNodesToggle: string;
10
7
  };
8
+ export declare const nodeResizeEvent = "nodeResize";
11
9
  export declare const nodeAnimationDurations: {
12
10
  fadeIn: number;
13
11
  move: number;
14
12
  };
15
13
  export declare const timelineNodeBoxName = "box";
14
+ type TimelineNodeProps = {
15
+ nodeData: GraphTimelineNode;
16
+ graphState: GraphState;
17
+ layout: Ref<NodesLayout>;
18
+ layoutRows: Ref<NodeLayoutRow[]>;
19
+ };
16
20
  export declare class TimelineNode extends Container {
17
- private readonly appRef;
18
- nodeData: TimelineNodeData;
19
- private readonly styles;
20
- private readonly styleNode;
21
- private readonly unwatch;
22
- private label;
21
+ nodeData: GraphTimelineNode;
22
+ private readonly graphState;
23
+ private readonly layout;
24
+ private readonly layoutRows;
25
+ private currentState;
26
+ private readonly hasSubNodes;
27
+ private isRunningNode;
28
+ private runningNodeTicker;
29
+ private readonly unWatchers;
30
+ positionInitialized: boolean;
31
+ private nodeWidth;
32
+ private readonly nodeHeight;
23
33
  private readonly boxCapWidth;
24
34
  private readonly box;
35
+ private leftBoxCap;
36
+ private rightBoxCap;
37
+ private boxBody;
38
+ private subNodesToggle;
39
+ private subNodesToggleWidth;
40
+ private isSubNodesToggleFloating;
41
+ private label;
25
42
  private apxLabelWidth;
26
- private nodeWidth;
27
- private readonly layoutPositionOffset;
28
- layoutPosition: number;
29
43
  private isLabelInBox;
30
- private readonly selectedRing;
31
- constructor({ appRef, nodeData, styles, styleNode, layoutPosition, }: TimelineNodeProps);
32
- private getNodeWidth;
33
- private getLayoutPositionOffset;
44
+ private isSubNodesExpanded;
45
+ private readonly subNodesOutlineContainer;
46
+ private subNodesOutline;
47
+ private subNodesContent;
48
+ private subNodesHeight;
49
+ private subNodesContentTicker;
50
+ private isSelected;
51
+ private selectedRing;
52
+ constructor({ nodeData, graphState, layout, layoutRows, }: TimelineNodeProps);
53
+ private initWatchers;
54
+ readonly initializePosition: () => void;
55
+ private drawSubNodesOutline;
56
+ private initBox;
34
57
  private drawBox;
35
- private getBoxBodyWidth;
58
+ private initSubNodesToggle;
36
59
  private drawLabel;
37
- private drawSelectedRing;
38
- private animateIn;
39
- private updateBoxWidth;
40
- updatePosition(skipAnimation?: boolean): Promise<void>;
41
- private updateLabelPosition;
42
- update(newNodeData?: TimelineNodeData): Promise<void>;
60
+ private initSelectedRing;
61
+ /**
62
+ * Node Selection
63
+ */
43
64
  select(): void;
44
65
  deselect(): void;
66
+ private centerViewportToNodeAfterDelay;
67
+ /**
68
+ * Subnodes
69
+ */
70
+ expandSubNodes(): void;
71
+ updateSubNodesContentPosition(): void;
72
+ private initSubNodesTicker;
73
+ collapseSubNodes(): Promise<void>;
74
+ /**
75
+ * Update Functions
76
+ */
77
+ update(newData?: GraphTimelineNode): void;
78
+ private updatePosition;
79
+ private updateIsRunningNode;
80
+ private updateBoxWidth;
81
+ private updateSubNodesOutlineSize;
82
+ private updateLabelPosition;
83
+ private updateSelectedRingSize;
84
+ private updateSubNodesTogglePosition;
85
+ /**
86
+ * Utilities
87
+ */
88
+ private getNodeWidth;
89
+ private getNodeHeight;
90
+ private getBoxBodyWidth;
91
+ private getOutlineWidth;
92
+ private getLabelText;
93
+ private checkIsLabelInBox;
94
+ private getSelectedRingSize;
95
+ private emitSelection;
96
+ private destroySubNodesContent;
97
+ private destroyRunningNodeTicker;
98
+ private killTweens;
45
99
  destroy(): void;
46
100
  }
47
101
  export {};
@@ -1,55 +1,54 @@
1
- import type { Viewport } from 'pixi-viewport';
2
- import { Application, Container } from 'pixi.js';
3
- import { ComputedRef } from 'vue';
4
- import { NodeThemeFn, ParsedThemeStyles, TimelineNodeData, TimelineNodesLayoutOptions, InitTimelineScaleProps, CenterViewportOptions } from '../models';
1
+ import { Container } from 'pixi.js';
2
+ import { GraphTimelineNode, GraphState } from '../models';
5
3
  import { TimelineNode } from '../pixiFunctions';
4
+ export declare const timelineUpdateEvent = "timelineUpdateEvent";
6
5
  type TimelineNodesProps = {
7
- appRef: Application;
8
- viewportRef: Viewport;
9
- graphData: TimelineNodeData[];
10
- styles: ComputedRef<ParsedThemeStyles>;
11
- styleNode: ComputedRef<NodeThemeFn>;
12
- layoutSetting: TimelineNodesLayoutOptions;
13
- hideEdges: boolean;
14
- timeScaleProps: InitTimelineScaleProps;
15
- centerViewport: (options?: CenterViewportOptions) => void;
6
+ nodeContentContainerName?: string;
7
+ isSubNodes?: boolean;
8
+ graphData: GraphTimelineNode[];
9
+ graphState: GraphState;
16
10
  };
17
- export declare const nodeContainerName = "nodeContainer";
18
11
  export declare class TimelineNodes extends Container {
19
- private readonly appRef;
20
- private readonly viewportRef;
12
+ private readonly layoutWorker;
13
+ private readonly isSubNodes;
21
14
  private graphData;
22
- private readonly styles;
23
- private readonly styleNode;
24
- private readonly centerViewport;
15
+ private readonly graphState;
25
16
  private readonly nodeContainer;
26
17
  readonly nodeRecords: Map<string, TimelineNode>;
27
- selectedNodeId: string | null | undefined;
28
- private layoutSetting;
29
- private hideEdges;
30
- private readonly layoutWorker;
31
- private layout;
18
+ private readonly layout;
19
+ private readonly layoutRows;
32
20
  private readonly edgeContainer;
33
21
  private readonly edgeRecords;
34
- constructor({ appRef, viewportRef, graphData, styles, styleNode, layoutSetting, hideEdges, timeScaleProps: { minimumStartTime, overallGraphWidth, initialOverallTimeSpan, }, centerViewport, }: TimelineNodesProps);
22
+ private readonly unWatchers;
23
+ private isSelectionPathHighlighted;
24
+ constructor({ nodeContentContainerName, isSubNodes, graphData, graphState, }: TimelineNodesProps);
25
+ private initWatchers;
35
26
  private initLayoutWorker;
36
- private centerViewportAfterDelay;
37
27
  private initDeselectLayer;
38
28
  private renderLayout;
39
- private updateNodeRecordAndEdgesLayout;
29
+ private updateLayoutRows;
40
30
  private createNode;
41
31
  private addNodeEdges;
42
- update(newData?: TimelineNodeData[]): void;
43
- updateSelection(selectedNodeId?: string | null): void;
44
- updateHideEdges(hideEdges: boolean): void;
45
- updateLayoutSetting(layoutSetting: TimelineNodesLayoutOptions): void;
46
- private clearNodeSelection;
47
- private setNodeSelection;
48
- private centerViewportToNodeAfterDelay;
32
+ /**
33
+ * Update Functions
34
+ */
35
+ update(newData: GraphTimelineNode[]): void;
36
+ updateHideEdges(): void;
37
+ updateLayoutSetting(): void;
38
+ /**
39
+ * Node Selection
40
+ */
49
41
  private highlightSelectedNodePath;
50
- private unHighlightAll;
51
42
  private getAllUpstreamEdges;
52
43
  private getAllDownstreamEdges;
44
+ private unHighlightSelectedNodePath;
45
+ /**
46
+ * Utilities
47
+ */
48
+ private registerEmits;
49
+ private emitNullSelection;
50
+ private getNodeData;
51
+ getEarliestNodeStart(): Date | null;
53
52
  destroy(): void;
54
53
  }
55
54
  export {};
@@ -1,3 +1,4 @@
1
+ import { Cull } from '@pixi-essentials/cull';
1
2
  import type { Viewport } from 'pixi-viewport';
2
3
  import { Application, Container } from 'pixi.js';
3
4
  import { ComputedRef } from 'vue';
@@ -5,20 +6,23 @@ import { FormatDateFns, ParsedThemeStyles } from '../models';
5
6
  type TimelinePlayheadProps = {
6
7
  viewportRef: Viewport;
7
8
  appRef: Application;
9
+ cull: Cull;
8
10
  formatDateFns: ComputedRef<FormatDateFns>;
9
- styles: ComputedRef<ParsedThemeStyles>;
11
+ styleOptions: ComputedRef<ParsedThemeStyles>;
10
12
  };
11
13
  export declare class TimelinePlayhead extends Container {
12
14
  private readonly viewportRef;
13
15
  private readonly appRef;
16
+ private readonly cull;
14
17
  private readonly formatDateFns;
15
- private readonly styles;
18
+ private readonly styleOptions;
16
19
  private readonly unwatch;
17
20
  private readonly playhead;
18
21
  private label;
19
- constructor({ viewportRef, appRef, formatDateFns, styles, }: TimelinePlayheadProps);
22
+ constructor({ viewportRef, appRef, cull, formatDateFns, styleOptions, }: TimelinePlayheadProps);
20
23
  private drawPlayhead;
21
24
  private drawTimeLabel;
25
+ private getTimeLabelY;
22
26
  updatePosition(): void;
23
27
  destroy(): void;
24
28
  }
@@ -3,5 +3,5 @@ export declare let timelineScale: {
3
3
  dateToX: DateToX;
4
4
  xToDate: XToDate;
5
5
  };
6
- export declare const createTimelineScale: ({ minimumStartTime, overallGraphWidth, initialOverallTimeSpan, }: InitTimelineScaleProps) => TimelineScale;
7
- export declare const initTimelineScale: ({ minimumStartTime, overallGraphWidth, initialOverallTimeSpan, }: InitTimelineScaleProps) => TimelineScale;
6
+ export declare const createTimelineScale: ({ minimumStartTime, graphXDomain, initialOverallTimeSpan, }: InitTimelineScaleProps) => TimelineScale;
7
+ export declare const initTimelineScale: ({ minimumStartTime, graphXDomain, initialOverallTimeSpan, }: InitTimelineScaleProps) => TimelineScale;
@@ -1,4 +1,4 @@
1
- import { P as c, R as b, T as C, C as P } from "./index-f0bc7447.mjs";
1
+ import { P as c, R as b, T as C, C as P } from "./index-84d70f95.mjs";
2
2
  import "vue";
3
3
  class u {
4
4
  constructor(t) {
@@ -1530,4 +1530,4 @@ export {
1530
1530
  O as Viewport,
1531
1531
  $ as Wheel
1532
1532
  };
1533
- //# sourceMappingURL=viewport.es-5fa29f11.mjs.map
1533
+ //# sourceMappingURL=viewport.es-435cc2e6.mjs.map