
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
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.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.