Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TELESTION-460 Dashboard layout editor #417

Merged
merged 1 commit into from
Jan 26, 2024

Conversation

pklaschka
Copy link
Member

@pklaschka pklaschka commented Jan 14, 2024

A layout editor for dashboards to make them configurable by users.

Interaction can be performed using both the mouse and the keyboard.

Changes are handled completely independently from the UI, allowing for both an easier way to ensure invalid states cannot occur as well as testability. During the user interaction, no actual state changes are performed. Once the interaction finishes, the changes get interpreted to the closest possible state change and "committed" to the state, where (in compliance with any business logic) the changes are applied and, thus, updates in the UI. This also allows us to implement any interactions without absolute positioning and resize observers. Instead, the native CSS grid can be used.

Due to the relative complexity and clear boundaries of this subsystem, a separate folder structure which also includes a README.md was created.

Screenshot

localhost_5173_ (1).png

@pklaschka pklaschka self-assigned this Jan 14, 2024
@pklaschka pklaschka added the 🌷 enhancement New feature or request label Jan 14, 2024 — with Graphite App
@pklaschka pklaschka requested a review from fussel178 January 14, 2024 22:44
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch 3 times, most recently from 324b35f to f7cca4b Compare January 15, 2024 15:54
@pklaschka pklaschka force-pushed the 01-12-Disallow_widgets_to_resize_based_on_their_content branch from b3cd735 to 3ec4e61 Compare January 17, 2024 15:47
Base automatically changed from 01-12-Disallow_widgets_to_resize_based_on_their_content to main January 17, 2024 15:48
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch from f7cca4b to f704a73 Compare January 17, 2024 17:50
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch 9 times, most recently from 2419e1e to e6c60f0 Compare January 19, 2024 09:55
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch 6 times, most recently from 1156d48 to 31bb241 Compare January 20, 2024 16:45
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch 8 times, most recently from 40aef50 to 835d7fa Compare January 21, 2024 14:43
@pklaschka pklaschka marked this pull request as ready for review January 21, 2024 14:44
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch from 835d7fa to 05e2707 Compare January 21, 2024 16:39
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch 5 times, most recently from 61d9145 to 0ee0c4e Compare January 26, 2024 17:34
Copy link
Member

@fussel178 fussel178 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some little things. The rest looks good to me. 😄

A layout editor for dashboards to make them configurable by users.

Interaction can be performed using both the mouse and the keyboard.

Changes are handled completely independently from the UI, allowing for both an easier way to ensure invalid states cannot occur as well as testability. During the user interaction, no actual state changes are performed. Once the interaction finishes, the changes get interpreted to the closest possible state change and "committed" to the state, where (in compliance with any business logic) the changes are applied and, thus, updates in the UI. This also allows us to implement any interactions without absolute positioning and resize observers. Instead, the native CSS grid can be used.

Due to the relative complexity and clear boundaries of this subsystem, a separate folder structure which also includes a `README.md` was created.
@pklaschka pklaschka force-pushed the 01-14-TELESTION-460_Dashboard_layout_editor branch from 0ee0c4e to 81b92d9 Compare January 26, 2024 18:13
@pklaschka pklaschka requested a review from fussel178 January 26, 2024 18:14
@pklaschka pklaschka merged commit 6a83e2f into main Jan 26, 2024
25 checks passed
Copy link
Member Author

Merge activity

@pklaschka pklaschka deleted the 01-14-TELESTION-460_Dashboard_layout_editor branch January 26, 2024 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌷 enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants