
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
searchpicker
Advanced tools
Searchpicker or combo-box dropdown with multiple choices support, written in typescript. No dependencies.
Searchpicker or combo-box dropdown with multiple choices support, written in typescript. No dependencies.
npm i searchpicker --save
npm start
Server stared at http://localhost:8080
Initialize picker control to specified container in your app:
import {SearchPicker} from 'searchpicker';
const picker = new SearchPicker(document.getElementById('searchpicker-container'), options);
placeholder: string - Default ''
maxSelectedChoices: number - amount of choices that user can select. 1 - single choice. Default - unlimited
minLengthToSearch: number - minimal text length in field length to start search from
searchInValues: boolean - instruct default searcher to search text in picker identifiers. Default - false
resultsLimit: number - maximum shown results. Default - all results returned by searcher.
pickerItemFactory?: (item: any) => IPickerItem - allow to convert source data to picker item for default searcher
source: any[] - data for search with default searcher.
resultRenderer: (item: IPickerItem, query: string) => Node - allow to override default picker item view.
noResultsRenderer: (query: string) => Node - allows to override default view when no results found
choiceRenderer: (item: IPickerItem, renderClose?:boolean) => Node - allow to override default choice view
searcher: ISearcher - allows to add custom logic for result search. For instance: async fetch data from server side.
export interface ISearcher {
/**
* Search data
* @param {string} query user query
* @param {ISearchPickerOptions} options current searchpicker options
* @param {(items: IPickerItem[]) => void} onresults callback with result
* @param {(message: string) => void} onerror callback with search error
*/
search(query: string
, options: ISearchPickerOptions
, onresults: (items: IPickerItem[]) => void
, onerror?: (message: string) => void);
}
Sample of custom data searcher
export class BackendSearcher implements ISearcher {
private pickerItems: IPickerItem[] = null;
private lastSearchText: string;
private foundItems: IPickerItem[] = [];
private tmrId: number;
search(query: string
, options: ISearchPickerOptions
, onresults: (items: IPickerItem[]) => void
, onerror?: (message: string) => void) {
if (this.tmrId)
clearTimeout(this.tmrId);
// fetch data from server
fetch("api/search?q=" + query)
.then((results) => {
onresults(results.map(r => { return {title: r.title, id: r.login} }));
}, err => {
onerror(err);
});
}
}
You can subscribe for picker events and read current selected values
Invokes when user add new choice
const picker = new SearchPicker(...);
picker.on("choiceAdded", (item: IPickerItem) => {
console.log(picker.getChoices());
});
Invokes when user remove selected choice
const picker = new SearchPicker(...);
picker.on("choiceRemoved", (item: IPickerItem) => {
console.log(picker.getChoices());
});
npm run test
npm run build:lib
FAQs
Searchpicker or combo-box dropdown with multiple choices support, written in typescript. No dependencies.
We found that searchpicker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.