4 min readUpdated Mar 2, 2026

UserEditorModal Documentation

Overview

The UserEditorModal component is a modal dialog for creating or editing user information within the Vantage analytics and data platform. It provides a user-friendly interface for administrators to input and save user details, including personal information, security settings, and company affiliation. The modal manages user states and permissions effectively, with dynamic data handling.

Purpose

UserEditorModal serves the following core purposes:

Settings

1. isOpen

2. onClose

3. user

4. onSave

5. clients

6. roles

Data Handling

The modal uses the following internal states:

Initialization

When the editor opens, initial values are set for the form. If a user object is provided, the modal populates with that user's information; otherwise, it uses default values.

AI Integrations

Currently, the UserEditorModal does not include any specific AI functionalities directly. However, it can be integrated with AI systems for tasks such as:

Billing Impact

The UserEditorModal itself does not directly impact billing; however, the number of users and roles configured can affect the usage and subscription tier of the Vantage platform. Each new user can potentially increase the billing tier based on the licensing structure.

Use Cases & Examples

Use Cases

  1. Adding New Users: An organization wants to onboard new employees to the Vantage platform and needs an intuitive interface to enter their information.
  2. Editing User Information: Admins need to update an existing user's details, including their email address and associated roles due to a change in job functions.
  3. Managing User Roles: A business needs to frequently modify user roles to accommodate changes in project team structures, requiring an efficient way to toggle user permissions.

Example Configuration

For a specific case where an admin wants to create a new user for the sales department, the configuration might look as follows:

javascript
<UserEditorModal 
    isOpen={true} 
    onClose={handleModalClose} 
    user={null} 
    onSave={saveUser} 
    clients={[
        { id: 1, name: "Tech Corp" }, 
        { id: 2, name: "Health Inc." }
    ]} 
    roles={[
        { id: 'admin', name: 'Administrator' }, 
        { id: 'sales', name: 'Sales' }
    ]} 
/>

In this scenario: