npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@samfurlong/directus-panel-table-record-picker

v1.0.6

Published

Output data in a table and allow the user to select a record

Readme

Directus Panel: Table Record Picker

A Directus panel extension that displays data in a table format and allows users to select a record, storing selected field values in a dashboard variable for use in other panels.

Features

  • Table Display: Shows data from any collection in a clean table format
  • Record Selection: Click to select any record from the table
  • Variable Storage: Stores the selected record's field values in a dashboard variable
  • Multiple Value Fields: Choose multiple fields to return when a record is selected
  • Configurable Fields: Choose which fields to display in the table
  • Filtering & Sorting: Apply filters and sort by any field
  • Responsive Design: Adapts to different panel sizes

Installation

  1. Download or clone this extension
  2. Place it in your Directus extensions folder
  3. Restart your Directus instance
  4. The panel will be available in your dashboard panel options

Configuration Options

Required Settings

  • Collection: Select the collection to display data from
  • Variable Name: Name of the dashboard variable to store the selected values
  • Value Fields: Choose which fields' values to store when a record is selected
  • Fields: Choose which fields to display in the table columns

Optional Settings

  • Sort Field: Field to sort the table by (defaults to primary key)
  • Sort Direction: Ascending or descending sort order
  • Filter: Apply filters to limit which records are shown
  • Limit: Maximum number of records to display (default: 10)

Usage

  1. Add the "Table View Record Picker" panel to your dashboard
  2. Configure the panel settings:
    • Select a collection
    • Set a variable name (e.g., selected_user)
    • Choose which field values to store (e.g., id, name, email)
    • Select which fields to display in the table
  3. Save the panel configuration
  4. Click on any row in the table to select that record
  5. The selected field values will be stored as an object in the specified dashboard variable
  6. Other panels can now use this variable (e.g., {{ selected_user.name }}, {{ selected_user.id }})

Example Use Cases

  • User Selection: Display a list of users and select one for detailed views, storing ID, name, and email
  • Product Picker: Show products in a table and select for inventory management, storing ID, name, and price
  • Order Dashboard: List orders and select one to show related data, storing order ID, customer info, and status
  • Content Management: Display articles/pages and select for editing workflows, storing ID, title, and status

Value Fields Output

When you select multiple value fields (e.g., id, name, email), the dashboard variable will contain an object like:

{
  "id": 123,
  "name": "John Doe", 
  "email": "[email protected]"
}

You can then access individual fields in other panels using dot notation: {{ selected_user.name }}, {{ selected_user.email }}, etc.

Technical Details

  • Type: Panel Extension

  • Minimum Directus Version: 11.5.1

  • Framework: Vue 3 + TypeScript

  • Variable Scope: Dashboard-level variables

Development

# Install dependencies
npm install

# Build for development (with watch mode)
npm run dev

# Build for production
npm run build

# Validate extension
npm run validate

# Link to local Directus instance
npm run link

License

MIT License

Author

Sam Furlong (@samfurlong)

Support

If you encounter any issues or have feature requests, please create an issue in the repository.