From fb99bde396b0b97674a89423d9d8ccf5ffeeaee6 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 27 Mar 2025 09:20:41 -0700 Subject: [PATCH] Introduce the latest Feature options from workflow_graph into the Dart wrapper. #gnp #journey #graph PiperOrigin-RevId: 741178693 --- package.json | 3 +- pnpm-lock.yaml | 55 ++++++++---------- src/app/data_types_internal.ts | 8 +++ src/app/directed_acyclic_graph.spec.ts | 9 ++- src/app/directed_acyclic_graph.ts | 2 +- src/app/directed_acyclic_graph_raw.ts | 11 +++- ...panded_with_custom_control_node_hidden.png | Bin 41503 -> 30039 bytes 7 files changed, 46 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 72e8cf5..b7b85dd 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@angular/compiler": "^17.0.7", "@angular/compiler-cli": "^17.0.7", "@angular/localize": "^17.0.7", - "@types/dagre": "0.7.48", "@types/jasmine": "~4.3.0", "@types/lodash": "^4.14.196", "@types/node": "18.11.9", @@ -58,7 +57,7 @@ "@angular/material": "^17.0.4", "@angular/platform-browser": "^17.0.7", "@angular/platform-browser-dynamic": "^17.0.7", - "dagre": "^0.8.5", + "@dagrejs/dagre": "1.1.3", "lodash": "^4.17.21", "rxjs": "7.5.7", "safevalues": "^1.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4d0c83..a167c04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,9 +35,9 @@ importers: '@angular/platform-browser-dynamic': specifier: ^17.0.7 version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10))(rxjs@7.5.7))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10))(rxjs@7.5.7))(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10))) - dagre: - specifier: ^0.8.5 - version: 0.8.5 + '@dagrejs/dagre': + specifier: 1.1.3 + version: 1.1.3 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -45,8 +45,8 @@ importers: specifier: 7.5.7 version: 7.5.7 safevalues: - specifier: ^0.4.3 - version: 0.4.3 + specifier: ^1.0.1 + version: 1.2.0 systemjs: specifier: 6.1.2 version: 6.1.2 @@ -75,9 +75,6 @@ importers: '@angular/localize': specifier: ^17.0.7 version: 17.3.12(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10)))(typescript@5.2.2))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.5.7)(zone.js@0.14.10))) - '@types/dagre': - specifier: 0.7.48 - version: 0.7.48 '@types/jasmine': specifier: ~4.3.0 version: 4.3.0 @@ -1031,6 +1028,13 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} + '@dagrejs/dagre@1.1.3': + resolution: {integrity: sha512-umT7fBPECI4zgxxXW07H3vJN7W1WZcnBjk613eOEAKcwoFrYNyMZO+1SHmoC8zPZWR18DquK2wRUp9VHUE+94g==} + + '@dagrejs/graphlib@2.2.2': + resolution: {integrity: sha512-CbyGpCDKsiTg/wuk79S7Muoj8mghDGAESWGxcSyhHX5jD35vYMBZochYVFzlHxynpE9unpu6O+4ZuhrLxASsOg==} + engines: {node: '>17.0.0'} + '@discoveryjs/json-ext@0.5.7': resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -2096,9 +2100,6 @@ packages: '@types/cors@2.8.13': resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} - '@types/dagre@0.7.48': - resolution: {integrity: sha512-rF3yXSwHIrDxEkN6edCE4TXknb5YSEpiXfLaspw1I08grC49ZFuAVGOQCmZGIuLUGoFgcqGlUFBL/XrpgYpQgw==} - '@types/estree@1.0.0': resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} @@ -2650,9 +2651,6 @@ packages: custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} - dagre@0.8.5: - resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} - date-format@4.0.14: resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} engines: {node: '>=4.0'} @@ -3096,6 +3094,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -3114,9 +3113,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} - handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -3256,6 +3252,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -4274,6 +4271,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rollup@4.24.4: @@ -4306,8 +4304,8 @@ packages: safevalues@0.3.4: resolution: {integrity: sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==} - safevalues@0.4.3: - resolution: {integrity: sha512-pNCNTkx3xs7G5YJ/9CoeZZVUSPRjH0SEPM0QI5Z1FZRlLBviTFWlNKPs8PTvZvERV0gO7ie/t/Zc0S96JS4Xew==} + safevalues@1.2.0: + resolution: {integrity: sha512-zIsuhjYvJCjfsfjoim2ab6gLKFYAnTiDSJGh0cC3T44L/4kNLL90hBG2BzrXPrHA3f8Ms8FSJ1mljKH5dVR1cw==} sass-loader@14.1.1: resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} @@ -6254,6 +6252,12 @@ snapshots: '@colors/colors@1.5.0': {} + '@dagrejs/dagre@1.1.3': + dependencies: + '@dagrejs/graphlib': 2.2.2 + + '@dagrejs/graphlib@2.2.2': {} + '@discoveryjs/json-ext@0.5.7': {} '@esbuild/aix-ppc64@0.19.12': @@ -7477,8 +7481,6 @@ snapshots: dependencies: '@types/node': 18.11.9 - '@types/dagre@0.7.48': {} - '@types/estree@1.0.0': {} '@types/estree@1.0.6': {} @@ -8104,11 +8106,6 @@ snapshots: custom-event@1.0.1: {} - dagre@0.8.5: - dependencies: - graphlib: 2.1.8 - lodash: 4.17.21 - date-format@4.0.14: {} debug@2.6.9: @@ -8644,10 +8641,6 @@ snapshots: graceful-fs@4.2.11: {} - graphlib@2.1.8: - dependencies: - lodash: 4.17.21 - handle-thing@2.0.1: {} has-flag@3.0.0: {} @@ -9913,7 +9906,7 @@ snapshots: safevalues@0.3.4: {} - safevalues@0.4.3: {} + safevalues@1.2.0: {} sass-loader@14.1.1(sass@1.71.1)(webpack@5.94.0(esbuild@0.20.1)): dependencies: diff --git a/src/app/data_types_internal.ts b/src/app/data_types_internal.ts index e6d7e98..1d4724a 100644 --- a/src/app/data_types_internal.ts +++ b/src/app/data_types_internal.ts @@ -489,6 +489,13 @@ export interface FeatureToggleOptions { * Custom themes can override the theme behavior. */ theme?: Theme; + + /** + * Whether the layout should respect the order of the nodes in the graph + * instead of optimizing for space according to the layout algorithm. + * Defaults to `false`. + */ + respectNodeOrder?: boolean; } /** * Default set of functionality to enable / disable in the DAG Component @@ -513,6 +520,7 @@ export const defaultFeatures: FeatureToggleOptions = { hideProgressCell: false, disableLoadingMaterialStyles: false, theme: 'light', + respectNodeOrder: false, }; /** diff --git a/src/app/directed_acyclic_graph.spec.ts b/src/app/directed_acyclic_graph.spec.ts index e7f2ad5..45fdf16 100644 --- a/src/app/directed_acyclic_graph.spec.ts +++ b/src/app/directed_acyclic_graph.spec.ts @@ -19,7 +19,6 @@ import {CdkDragMove} from '@angular/cdk/drag-drop'; import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed'; import {Component, EventEmitter, Input, ViewChild} from '@angular/core'; import {ComponentFixture, fakeAsync, flush, TestBed, tick, waitForAsync} from '@angular/core/testing'; -import {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing'; import {ScreenshotTest} from '../screenshot_test'; @@ -28,7 +27,6 @@ import {DagStateService} from './dag-state.service'; import {STATE_SERVICE_PROVIDER} from './dag-state.service.provider'; import {DirectedAcyclicGraph, DirectedAcyclicGraphModule, generateTheme} from './directed_acyclic_graph'; import {DagNode as Node, type GraphSpec, type NodeRef} from './node_spec'; -import {TEST_IMPORTS, TEST_PROVIDERS} from './test_providers'; import {DirectedAcyclicGraphHarness} from './test_resources/directed_acyclic_graph_harness'; import {createDagSkeletonWithCustomGroups, createDagSkeletonWithGroups, fakeGraph, fakeGraphWithEdgeOffsets} from './test_resources/fake_data'; import {initTestBed} from './test_resources/test_utils'; @@ -140,7 +138,7 @@ describe('Directed Acyclic Graph Renderer', () => { fixture.destroy(); })); - function setup( + async function setup( options: {hideControlNodeOnExpand?: boolean, expanded?: boolean} = {}) { const { @@ -153,16 +151,17 @@ describe('Directed Acyclic Graph Renderer', () => { Node.createFromSkeleton(skeleton.skeleton, skeleton.state); fixture.componentRef.setInput('graph', graphSpec); fixture.detectChanges(); + await fixture.whenStable(); } it('renders correctly', async () => { - setup(); + await setup(); await screenShot.expectMatch(`graph_custom_control_node`); }); it('renders correctly with group expanded and control hidden', async () => { - setup({expanded: true}); + await setup({expanded: true}); await screenShot.expectMatch( `graph_expanded_with_custom_control_node_hidden`); }); diff --git a/src/app/directed_acyclic_graph.ts b/src/app/directed_acyclic_graph.ts index 6f3752e..0e436ac 100644 --- a/src/app/directed_acyclic_graph.ts +++ b/src/app/directed_acyclic_graph.ts @@ -20,7 +20,7 @@ import {CdkDragEnd, CdkDragMove, CdkDragStart, DragDropModule} from '@angular/cd import {CommonModule} from '@angular/common'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, NgModule, OnDestroy, OnInit, Optional, Output, TemplateRef, ViewChild} from '@angular/core'; import {MatProgressSpinnerModule} from '@angular/material/progress-spinner'; -import * as dagre from 'dagre'; // from //third_party/javascript/typings/dagre +import * as dagre from '@dagrejs/dagre'; import {Subject, Subscription} from 'rxjs'; import {takeUntil, throttleTime} from 'rxjs/operators'; diff --git a/src/app/directed_acyclic_graph_raw.ts b/src/app/directed_acyclic_graph_raw.ts index c4d3730..5630374 100644 --- a/src/app/directed_acyclic_graph_raw.ts +++ b/src/app/directed_acyclic_graph_raw.ts @@ -19,7 +19,7 @@ import {LiveAnnouncer} from '@angular/cdk/a11y'; import {CdkDrag, CdkDragMove, CdkDragStart, DragDropModule} from '@angular/cdk/drag-drop'; import {CommonModule} from '@angular/common'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, DoCheck, ElementRef, EventEmitter, Input, KeyValueDiffer, KeyValueDiffers, NgModule, OnDestroy, OnInit, Optional, Output, QueryList, TemplateRef, ViewChildren} from '@angular/core'; -import * as dagre from 'dagre'; // from //third_party/javascript/typings/dagre +import * as dagre from '@dagrejs/dagre'; import {Subscription} from 'rxjs'; import {DagStateService} from './dag-state.service'; @@ -637,7 +637,10 @@ export class DagRaw implements DoCheck, OnInit, OnDestroy { for (const node of this.nodes) { g.setNode(node.id, setNodeSizeProps(node, this.dims, this.collapsed)); } - dagre.layout(g); + + dagre.layout(g, { + disableOptimalOrderHeuristic: this.features.respectNodeOrder ?? false + }); this.positionAllElementsOnGraph(); @@ -697,7 +700,9 @@ export class DagRaw implements DoCheck, OnInit, OnDestroy { g.setEdge(e.from, e.to, e); } - dagre.layout(g); + dagre.layout(g, { + disableOptimalOrderHeuristic: this.features.respectNodeOrder ?? false + }); this.positionAllElementsOnGraph(); this.updateGraphSize(); diff --git a/src/app/scuba_goldens/directed_acyclic_graph/chrome-linux/graph_expanded_with_custom_control_node_hidden.png b/src/app/scuba_goldens/directed_acyclic_graph/chrome-linux/graph_expanded_with_custom_control_node_hidden.png index a28878fa9688f08cd44fc34af6d8a634bf4840d7..0055ec2ac9f9db4556729f790128c5d4034787cf 100644 GIT binary patch literal 30039 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 RVTV90&CeXqJ9hE*{{So(o@)RA literal 41503 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