Skip to content

feat(ui): QueryaSplitButton, QueryaMenuButton and QueryaDialogActions #1335

Description

@ZhuchkaTriplesix

Part of #1331. Needs QueryaButton.

Problem

The compositions that went wrong in the review are two buttons placed side by side: Execute + its menu (generic_sql_workspace.dart), Export / Views menus next to action buttons (ERD), and every dialog's hand-assembled footer.

Scope

  • QueryaSplitButton: a primary action and a chevron that opens a menu, one border and radius, equal height, shared hover / focus / loading, one tooltip each. Replaces Execute + QueryaActionMenu.
  • QueryaMenuButton: a button that opens a menu (label or icon, chevron, isActive while open); replaces the trigger of QueryaActionMenu / ExportMenuButton, the menu surface stays QueryaDropdown's.
  • QueryaDialogActions: the footer row of the standard: order, spacing 8, lg size, right alignment, a divider; takes cancel, secondary, primary / destructive slots and enforces one primary; handles Esc -> cancel and Enter -> primary through the dialog's focus scope.
  • QueryaButtonGroup for segmented actions that are not tabs.

Acceptance

  • The Execute split button, the ERD toolbar and the results toolbar are built from these with no SizedBox between halves.
  • A dialog built with QueryaDialogActions cannot show two primaries (assert in debug).
  • Menu buttons, split buttons and footers have widget tests, including keyboard navigation.

Activity

  1. added
    enhancementNew feature or request
    frontendTheme parser epic label: frontend
    uiUser interface components and widgets
    uxUser experience, keyboard shortcuts and interactions
    P2Medium priority / Parity & Refactoring
    on Oct 10, 2026
  2. ZhuchkaTriplesix commented on Oct 11, 2026

    @ZhuchkaTriplesix
    MemberAuthor

    Done in dev: QueryaMenuButton, QueryaSplitButton, QueryaDialogActions (#1417) and QueryaButtonGroup (#1454).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priority / Parity & RefactoringenhancementNew feature or requestfrontendTheme parser epic label: frontenduiUser interface components and widgetsuxUser experience, keyboard shortcuts and interactions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions