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 🙏

© 2025 – Pkg Stats / Ryan Hefner

strapi-custom-action-perform-page

v0.0.15

Published

A configurable Strapi admin page to trigger custom actions via buttons linked to API endpoints.

Readme

Custom Action Perform Page Plugin


The Custom Action Perform Page Plugin for Strapi allows you to create a configurable page in the Strapi admin panel. This page displays a dropdown menu populated with options defined in the plugin configuration. Each option is linked to a specific API endpoint, and a customizable button allows users to trigger actions on those endpoints.

Features

  • Display a dropdown list with configurable options in the Strapi admin panel.
  • Set Custom Component Heading Title
  • Each option is associated with a unique API endpoint to perform custom actions.
  • Support for multiple environments (e.g., localhost, production) with environment-specific endpoints.
  • Customizable button text for each option.
  • Easy JSON-based configuration via the plugin settings.

Screenshots

Plugin UI Plugin UI Plugin UI

Installation

To install and use the Get Download Page Plugin for your Strapi project:

  1. Install the plugin from npm:
  npm i strapi-custom-action-perform-page
  1. Enable the plugin by adding it to your Strapi configuration: In your Strapi project, navigate to config/plugins.js (create this file if it doesn't exist) and add the following configuration:
module.exports = ({ env }) => ({
  "strapi-custom-action-perform-page": {
    enabled: true,
    config: {
      title: 'Component Title',
      downloadButtons: [
        {
          label: "Service Enquiries",
          endpoints: {
            localhost: "http://localhost:1337/api/collection(api)/controllerfunction",
            production: "https://your-domain.com/api/collection(api)/controllerfunction",
          },
        },
        {
          label: "Download Users",
          endpoints: {
             localhost: "http://localhost:1337/api/collection(api)/controllerfunction",
            production: "https://your-domain.com/api/collection(api)/controllerfunction",
          },
        },
        // Add more buttons as needed
      ],
      someSetting: true,
    },
  },
});
  1. Install dependencies and start your Strapi project: npm install npm run develop

Configuration

The plugin is configured via the Strapi plugin configuration config/plugins.js. Here’s an example configuration:

module.exports = ({ env }) => ({
  "strapi-custom-action-perform-page": {
    enabled: true,
    config: {
      title: 'Component Title',
      downloadButtons: [
        {
          label: "Name (will render in select dropdown)",
          buttonText: "Send Notification", // 👈 Custom button text
          endpoints: {
            localhost: "http://localhost:1337/api/collection(api)/controllerfunction",
            production: "https://your-domain.com/api/collection(api)/controllerfunction",
          },
        },
        {
          label: "Name (will render in select dropdown)",
          buttonText: "Download Data", // 👈 Custom button text
          endpoints: {
            localhost: "http://localhost:1337/api/collection(api)/controllerfunction",
            production: "https://your-domain.com/api/collection(api)/controllerfunction",
          },
        },
        // Add more buttons as needed
      ],
      someSetting: true,
    },
  },
});

Re Run Strapi by npm run develop after configuration

Configuration Notes

Each object in downloadButtons must include:

  • label: Text shown in the dropdown.

  • buttonText: Text displayed on the action button (required).

  • endpoints: Object with URLs for different environments (localhost, production).

  • title: Plain Text for the component heading (Not required contains fallback 'Perform Action)

Example Usage

Once configured, go to the Get Download Page from the Strapi admin left sidebar. Select an option and click the custom download button to trigger the respective endpoint.

Make sure you give the permission to this Plugin

Enable permission