CompanyManagerTile Documentation
Overview
CompanyManagerTile is a full CRUD (Create, Read, Update, Delete) management tile designed for managing company records within the Vantage analytics and data platform. This component empowers users to interactively manage company data, includes features for searching, sorting, syncing contacts, and importing data through CSV files. The design allows for easy integration into dashboards within the Vantage platform, facilitating enhanced data visibility and management for users.
Purpose
The primary purpose of the CompanyManagerTile is to provide users with a user-friendly interface for the management of company-related data. Users can perform various operations, such as adding new companies, editing existing records, deleting companies, and importing data from CSV files, while also facilitating contact synchronization to enhance data integrity.
Settings
The tile has several configurable settings that dictate its behavior and appearance. Below is an exhaustive detail of each:
Settings Overview
| Setting Name | Input Type | Description | Default Value |
|---|---|---|---|
| title | String | The title displayed on the tile. Configures the header of the tile. | "Companies" |
| subtitle | String | Additional information displayed beneath the title. Provides context about the tile's purpose. | "" (empty string) |
| tileId | String | Unique identifier for synchronizing the tile with the dashboard store, ensuring data consistency. | N/A |
| storageProvider | Dropdown | Determines the storage system being used (e.g., OneDrive). Changing this affects data retrieval methods. | "onedrive" |
| searchQuery | String | User input for searching specific companies within the list. Updates filtered results in real-time. | "" (empty string) |
| sortField | Dropdown | Field by which the company list is sorted. Options include: name, domain, industry, etc. Altering this setting changes the order in which companies are presented. | "name" |
| sortDir | Dropdown | Direction for sorting: ascending or descending. Changing this will rearrange the order of displayed companies accordingly. | "asc" |
| visibleRows | Numeric | Specifies how many rows of companies are visible at once. Adjusting this affects the pagination of displayed records. | 100 |
| filename | String | The name of the file when exporting or saving data. Altering this setting allows customization for better identification of downloaded files. | "companies_export" |
Detailed Explanation of Settings
-
Title
- Input Type: String
- Description: This setting allows users to set a title for the tile, making it easily identifiable within the dashboard.
- Default Value: "Companies"
-
Subtitle
- Input Type: String
- Description: Provides additional context to the title. It aids users in understanding the specific purpose of the tile.
- Default Value: "" (empty string)
-
Tile ID
- Input Type: String
- Description: A unique identifier essential for the synchronization of this tile with dashboard data. Ensures that interactions with the tile reflect accurate data.
- Default Value: N/A
-
Storage Provider
- Input Type: Dropdown
- Description: Specifies where the data is being stored. It allows for flexibility in data source management, such as switching between storage providers.
- Default Value: "onedrive"
-
Search Query
- Input Type: String
- Description: Captures user input for searching through company records. It filters the displayed list in real-time based on user queries.
- Default Value: "" (empty string)
-
Sort Field
- Input Type: Dropdown
- Description: Defines which attribute of the companies is used to sort the displayed list, allowing users to quickly locate the required information based on various fields (e.g., name, domain).
- Default Value: "name"
-
Sort Direction
- Input Type: Dropdown
- Description: Sets the sorting order of the company list to either ascending or descending. Users can toggle this to get preferred sorting without changing the "sort field".
- Default Value: "asc"
-
Visible Rows
- Input Type: Numeric
- Description: Controls the number of rows shown at any one time within the tile's display. Adjusting this allows users to navigate through larger datasets efficiently.
- Default Value: 100
-
Filename
- Input Type: String
- Description: The default name for the exported file if the user exports company data. This helps in keeping the data organized.
- Default Value: "companies_export"
How It Works
Data Interaction
The tile fetches company data from the back-end API upon loading. This data is displayed in a table format, where users can perform CRUD operations. The key features include:
- Add/Edit: Users can add a new company or edit an existing one by entering data into a form.
- Delete: Companies can be removed from the system with a delete operation.
- Search and Filter: Users can quickly locate companies using the search functionality.
- Sort: Users can sort the displayed companies based on various fields.
- CSV Import: Users can import company data from CSV files, ensuring that integration with external data sources is seamless.
Synchronization with Contacts
A notable feature of CompanyManagerTile is its ability to synchronize data with contacts. This ensures that companies are consistent with the latest contact information, and it includes functionality for deduplication and addition of new companies based on unique contact entries.
AI Integration
While no explicit AI integration details are outlined in the provided code, the tile does interact with dashboard context and records which could potentially be enhanced with AI-driven analytics in future versions. This could include predictive analytics on company performance based on historical data or insights based on metadata from entries.
Use Cases & Examples
Use Case 1: Streamlined Company Onboarding
A user needs to onboard multiple companies into the system for reporting purposes. Using the CompanyManagerTile, they can quickly add profiles for new clients and enter key details directly via the interface.
Use Case 2: Data Synchronization for Accuracy
A company manages a large number of contacts and wants to ensure their company list is always up-to-date. They can utilize the sync functionality of the tile to automatically update their company list based on the latest data from their contacts.
Example Configuration for Use Case 1
To onboard several companies quickly, here's how the CompanyManagerTile might be configured:
{
"title": "Clients Overview",
"subtitle": "Manage client data and track onboarding",
"tileId": "clients_overview_001",
"storageProvider": "onedrive",
"visibleRows": 100,
"initialCompanies": [
{
"name": "Acme Corp",
"domain": "acmecorp.com",
"industry": "Manufacturing",
"size": "Mid-Market",
"address": "123 Industrial Rd",
"phone": "555-1234",
"revenue": "5000000",
"tags": ["Client", "Manufacturing"],
"notes": "New client onboarding"
},
{
"name": "Beta LLC",
"domain": "betallc.org",
"industry": "Information Technology",
"size": "Startup",
"address": "456 Tech Ave",
"phone": "555-5678",
"revenue": "250000",
"tags": ["Potential"],
"notes": "Initial discussions ongoing"
}
]
}This configuration allows a user to manage and track their clients effectively, facilitating organized data management and reporting within the Vantage platform.