Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
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.
The npm package searchpicker receives a total of 384 weekly downloads. As such, searchpicker popularity was classified as not popular.
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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.