diff options
Diffstat (limited to 'src/js/NextSearch/Field/FieldMatches.js')
-rw-r--r-- | src/js/NextSearch/Field/FieldMatches.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/js/NextSearch/Field/FieldMatches.js b/src/js/NextSearch/Field/FieldMatches.js new file mode 100644 index 0000000..18f14ef --- /dev/null +++ b/src/js/NextSearch/Field/FieldMatches.js @@ -0,0 +1,25 @@ +import AbstractSearchField from '@js/NextSearch/Field/AbstractSearchField'; + +export default class FieldMatches extends AbstractSearchField { + + get TYPE() { + return 'matches'; + } + + /** + * @inheritDoc + */ + evaluate(item) { + let value = item.getProperty(this._name); + + if(!value) return {passed: false}; + + let regexp = new RegExp(this._value, 'g'), + matches = regexp.exec(value); + if(matches.length > 1) { + return {matches: 1, checks: 1, passed: true}; + } + + return {passed: false}; + } +}
\ No newline at end of file |