glass-app-manager
Version:
Informatica's Glass Framework CLI for bootstrapping
32 lines (25 loc) • 798 B
JavaScript
import React from "react";
export const filterOptions = (options, query) => {
let filteredOptions = query
? options.filter(item => !query || item.text.toUpperCase().includes(query.toUpperCase()))
: options;
if (filteredOptions.length < 1) {
// TODO: Implement no match found here
}
return filteredOptions;
};
export const highlightQuery = (str, query) => {
let start = str.toUpperCase().indexOf(query.toUpperCase());
let end = start + query.length;
if (start < 0) {
start = 0;
end = 0;
}
return (
<span>
{str.substr(0, start)}
<span className="highlighted">{str.substr(start, end - start)}</span>
{str.substr(end)}
</span>
);
};