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 🙏

© 2024 – Pkg Stats / Ryan Hefner

select-posts-dropdown

v0.0.15

Published

A react component for listing and selecting wordpress posts using wp-api

Downloads

4

Readme

select-posts-dropdown

A react component for listing and selecting wordpress posts using wp-api

SelectPostsDropdown is a React component to render a dropdown that will be populated with the posts, of the type specificed, and allows the user to search through items. This components takes care of updating the state of the dropdown menu and uses render props to fetch and then load the posts listed by title.

Install

  yarn install select-posts-dropdown

Usage

import SelectPostsDropdown from 'select-posts-dropdown';

const PostDropdown = () => (
  <SelectPostsDropdown
    onChange={ ( { id, title } ) => {
      console.log( 'post selected', { id, title } )
    } }
  />
);

Props

The component accepts the following props. Props not included in this set will be applied to the element wrapping Popover content.

className

className of the outermost container

  • Type: String
  • Required: No

onChange

A callback invoked when a selection is made on the dropdown menu.

  • Type: Function
  • Required: Yes

The first argument of the callback is an object containing the following properties:

  • title: The title of the post
  • id: The ID of the post

options

The values to load on initial render. These options will be replaced when the api call returns with data.

  • Type: Array
  • Required: No

placeholder

The text to place into the dropdown on it's initial state when no selection is active

  • Type: String
  • Required: No

saveToWpData

If Boolean :: true, whenever a request is made from the wp-api the resulting posts are saving in a window object window.wpData.[postType]

If string :: !empty, resulting posts data is saved to the window under this name (eg: data == window.data)

  • Type: Boolean or string
  • Required: No
  • Default: true

selectedValue

The value to set the dropdown to after render.

  • Type: String
  • Required: No

heading

Some text to place above the dropdown, if left empty no text will appear.

  • Type: string
  • Required: No

limit

Limit to only this number of selected posts

  • Type: number
  • Required: No

License & Attribution

GPL3 © Ken Eucker.

This project is inspired by the hard work of everyone at Auttomatic and their dedication to open source software.