aws / aws/graph-explorer

Migrate all Cytoscape visual properties to ele.data() mappers

Open
#1,726 0 comments 0 reactions 0 assignees View on GitHub
enhancement performance schema
Dominant language
TypeScript
Stars
481
Forks
108
Avg merge
8d 9h
Merged PRs (30d)
7

Description

## Description

After #1725 validates the `ele.data()` + `data()` mapper approach for `background-color`, this slice migrates all remaining Cytoscape visual properties to the new system.

Properties to migrate include: icon/background-image, shape, background-opacity, border (width, color, style), and all edge visual properties (line-color, line-thickness, line-style, arrows, label styles).

## Preferred Solution

- Move all visual properties to `ge_`-prefixed fields in `ele.data()`
- Replace all per-type selectors in the stylesheet with generic `data()` mappers
- Extend `useSyncStylesToGraph` to handle all properties
- Delete `useGraphStyles` / `createGraphStyles` and the per-type selector generation
- Delete `useAllVertexPreferences()` / `useAllEdgePreferences()` if no longer needed

## Related Issues

- Part of #1677
- Depends on #1725
- Supersedes #1678

---

> [!IMPORTANT]
> If you are interested in working on this issue, please leave a comment.

> [!TIP]
> Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.

Contributor guide

Open the contributing guide

Research direction

Start with the useSyncStylesToGraph entry point and trace the existing useGraphStyles, createGraphStyles, useAllVertexPreferences(), and useAllEdgePreferences() flows; review dependency #1725 first. Done means the listed vertex and edge visual properties use ge_-prefixed ele.data() fields and generic data() mappers, with the old per-type selector generation and obsolete hooks removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.