MissPlete
This repository is forked from the original to quickly integrate with out styling.
MissPlete is a misspelling-tolerant autocomplete written in ECMAScript 2015, aka ECMAScript 6 (ES6).
It supports synonyms and it can be customized with any algorithm to select and sort the completions. By default it uses a Jaro–Winkler distance algorithm, which allows for better sloppy interaction than the usual completion based on exact substring matches.
Less than 220 lines of code. No dependencies.
Demo
http://xavi.github.io/miss-plete
Installation
npm install miss-plete-js --save
The library is published to the npm registry transpiled to ES5 and UMD, so it can be used in ES5 (examples/es5/
) and ES6 (examples/es6/
).
Usage
;; input: document // Each subarray contains an option and all its synonyms options: "Barcelona" "BCN" "San Francisco" "SF" // The class name for the dropdown. Ex. 'miss-plete' className: 'miss-plete' // OPTIONAL // It must return an object with at least the properties `score` and // `displayValue`. // Default is a Jaro–Winkler similarity function. { // Crazy random example const score = Math; return score: score displayValue: ` ()` ; } // OPTIONAL // Called for each scored option, in order, starting with the one with the // greatest score. It's passed the scored option (as returned by scoreFn) // and its index in the score-sorted list. It must return the <li> node // to display, or null if nothing else has to be displayed. // Default returns <li> nodes for the 8 best-scored options. { const li = scoredOptionscore < 05 ? null : document; li && li; return li; };
License
Copyright © 2015 Xavi Caballé
Licensed under the MIT License.