From f262a0c790da9cc183372b347ab8808018d09d00 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 8 Jan 2026 02:49:47 -0800 Subject: [PATCH] Create Shelf and allow rendering custom components between dag toolbar and dag renderer See: go/dc-lineage-ui-dag-utility-shelf-proposal PiperOrigin-RevId: 853646739 --- src/app/scaffold.ng.html | 1 + src/app/scaffold.spec.ts | 129 ++++++++++++++++++ .../chrome-linux/renders_shelf_correctly.png | Bin 0 -> 29925 bytes .../renders_without_shelf_by_default.png | Bin 0 -> 29876 bytes src/app/shelf.ng.html | 1 + src/app/shelf.ts | 33 +++++ 6 files changed, 164 insertions(+) create mode 100644 src/app/scaffold.spec.ts create mode 100644 src/app/scuba_goldens/scaffold/chrome-linux/renders_shelf_correctly.png create mode 100644 src/app/scuba_goldens/scaffold/chrome-linux/renders_without_shelf_by_default.png create mode 100644 src/app/shelf.ng.html create mode 100644 src/app/shelf.ts diff --git a/src/app/scaffold.ng.html b/src/app/scaffold.ng.html index 62264be..e9e6a7c 100644 --- a/src/app/scaffold.ng.html +++ b/src/app/scaffold.ng.html @@ -1,4 +1,5 @@ +
diff --git a/src/app/scaffold.spec.ts b/src/app/scaffold.spec.ts new file mode 100644 index 0000000..a43b59e --- /dev/null +++ b/src/app/scaffold.spec.ts @@ -0,0 +1,129 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {NgIf} from '@angular/common'; +import {Component} from '@angular/core'; +import {ComponentFixture, fakeAsync, TestBed, tick, waitForAsync} from '@angular/core/testing'; + +import {ScreenshotTest} from '../screenshot_test'; + +import {DirectedAcyclicGraphModule} from './directed_acyclic_graph'; +import {DagEdge, DagNode} from './node_spec'; +import {DagScaffoldModule} from './scaffold'; +import {AiDagShelf} from './shelf'; +import {initTestBed} from './test_resources/test_utils'; +import {DagToolbarModule} from './toolbar'; + +const FAKE_NODES: DagNode[] = [ + new DagNode('step1', 'execution', 'SUCCEEDED'), + new DagNode('artifact1', 'artifact', 'SUCCEEDED'), + new DagNode('step2', 'execution', 'RUNNING'), + new DagNode('step3', 'execution', 'PENDING'), + new DagNode('artifact2', 'artifact', 'NO_STATE_RUNTIME'), +]; +const FAKE_EDGES: DagEdge[] = [ + {from: 'step1', to: 'artifact1'}, + {from: 'artifact1', to: 'step2'}, + {from: 'artifact1', to: 'step3'}, + {from: 'step2', to: 'artifact2'}, +]; + +@Component({ + standalone: false, + template: ` + + + +
+
+ +
+ `, + styles: [` + ai-dag-scaffold { + display: block; + height: 1000px; + } + .shelf-content { + padding: 10px; + background-color: #eee; + } + `], + jit: true, +}) +class TestComponent { + features = {}; + includeToolbar = true; + includeShelf = false; + nodes = FAKE_NODES; + edges = FAKE_EDGES; +} + +describe('DagScaffold', () => { + beforeEach(waitForAsync(async () => { + await initTestBed({ + declarations: [TestComponent], + imports: [ + DagScaffoldModule, + DagToolbarModule, + DirectedAcyclicGraphModule, + AiDagShelf, + NgIf, + ], + }); + })); + + describe('Component', () => { + let fixture: ComponentFixture; + let screenShot: ScreenshotTest; + + beforeEach(() => { + fixture = TestBed.createComponent(TestComponent); + fixture.detectChanges(); + screenShot = new ScreenshotTest(module.id); + }); + + afterEach(fakeAsync(() => { + fixture.destroy(); + tick(); + })); + + it('renders without shelf by default', async () => { + expect(fixture.nativeElement.querySelector('ai-dag-shelf')).toBeNull(); + await screenShot.expectMatch('renders_without_shelf_by_default'); + }); + + describe('when shelf is included', () => { + beforeEach(fakeAsync(() => { + fixture.componentInstance.includeShelf = true; + fixture.detectChanges(); + tick(); + })); + + it('renders the shelf and its projected content', async () => { + const shelfElement = + fixture.nativeElement.querySelector('ai-dag-shelf'); + const shelfContent = shelfElement.querySelector('.shelf-content'); + + expect(shelfElement).toBeDefined(); + expect(shelfContent).toBeDefined(); + expect(shelfContent.textContent).toBe(''); + await screenShot.expectMatch('renders_shelf_correctly'); + }); + }); + }); +}); diff --git a/src/app/scuba_goldens/scaffold/chrome-linux/renders_shelf_correctly.png b/src/app/scuba_goldens/scaffold/chrome-linux/renders_shelf_correctly.png new file mode 100644 index 0000000000000000000000000000000000000000..f64ee3be3570af8a38a91cecbbd60daf57e288d2 GIT binary patch literal 29925 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 literal 0 HcmV?d00001 diff --git a/src/app/scuba_goldens/scaffold/chrome-linux/renders_without_shelf_by_default.png b/src/app/scuba_goldens/scaffold/chrome-linux/renders_without_shelf_by_default.png new file mode 100644 index 0000000000000000000000000000000000000000..707378637194a5f287846855da8e3beceacb89f0 GIT binary patch literal 29876 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/src/app/shelf.ng.html b/src/app/shelf.ng.html new file mode 100644 index 0000000..6dbc743 --- /dev/null +++ b/src/app/shelf.ng.html @@ -0,0 +1 @@ + diff --git a/src/app/shelf.ts b/src/app/shelf.ts new file mode 100644 index 0000000..f280053 --- /dev/null +++ b/src/app/shelf.ts @@ -0,0 +1,33 @@ +/** + * @license + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {ChangeDetectionStrategy, Component} from '@angular/core'; + +/** + * Shelf component for DAG graph. + */ +@Component({ + selector: 'ai-dag-shelf', + templateUrl: './shelf.ng.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + host: { + 'class': 'ai-dag-shelf', + }, +}) +export class AiDagShelf { +}