Skip to content

Issue #9 - [FEATURE] Add deselect all button for OAuth scopes #15

@rogelio-cmj

Description

@rogelio-cmj

Motivation

When configuring OAuth authentication in the API client, users need to select which scopes to request. Currently, there isn't a way to "Deselect All" which harms user experience.

Current Behavior

The OAuth scopes input component only shows a "Select All" button under specific conditions. There is no way to quickly deselect all scopes. Users must manually uncheck each scope individually.

Reproduction Steps:

  1. Navigate to the API client and configure a request with OAuth authentication that has multiple scopes (e.g., an API with 10+ available scopes)
  2. Select 5 or more scopes (but not all)
  3. Observe: "Select All" button appears
  4. Click "Select All" to select all available scopes
  5. Observe: The button disappears and there's no way to quickly deselect all scopes

Expected Behavior

The scopes input should display a button that allows users to quickly deselect all scopes. When all scopes are selected, show "Deselect All". This provides a consistent, predictable interface for managing scope selections.

Acceptance Criteria:

  • "Deselect All" button appears when all scopes are selected
  • Clicking "Deselect All" removes all scope selections
  • The button toggles appropriately between "Select All" and "Deselect All" based on current selection state

Steps to Test

  1. Open the API client with an OAuth-enabled API specification that includes multiple scopes
  2. Select all the scopes
  3. Verify the button changes to "Deselect All"
  4. Click "Deselect All" and verify all scopes become deselected

Submission

Download https://cap.so/ to record your screen (use Studio mode). Export as an mp4, and drag and drop into an issue comment below.

Guide to submitting pull requests: https://hackmd.io/@timothy1ee/Hky8kV3hlx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions