Septima.Search.DataSearcher
Extends Septima.Search.Searcher
Searches a {module:js/searchers/local/SearchableData}
Options
Name | Type | Mandatory | Default value | Description |
---|---|---|---|---|
searchableData | module:js/searchers/local/SearchableData | Yes |
Examples
Usage
YAML Declaration
persons:
personSearcher:
_type: Septima.Search.DataSearcher
_options:
searchableData:
_ref: "$.persons.searchablepersons"
iconURI: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE4LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDM1MCAzNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM1MCAzNTA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0xNzUsMTcxLjE3M2MzOC45MTQsMCw3MC40NjMtMzguMzE4LDcwLjQ2My04NS41ODZDMjQ1LjQ2MywzOC4zMTgsMjM1LjEwNSwwLDE3NSwwcy03MC40NjUsMzguMzE4LTcwLjQ2NSw4NS41ODcNCgkJQzEwNC41MzUsMTMyLjg1NSwxMzYuMDg0LDE3MS4xNzMsMTc1LDE3MS4xNzN6Ii8+DQoJPHBhdGggZD0iTTQxLjkwOSwzMDEuODUzQzQxLjg5NywyOTguOTcxLDQxLjg4NSwzMDEuMDQxLDQxLjkwOSwzMDEuODUzTDQxLjkwOSwzMDEuODUzeiIvPg0KCTxwYXRoIGQ9Ik0zMDguMDg1LDMwNC4xMDRDMzA4LjEyMywzMDMuMzE1LDMwOC4wOTgsMjk4LjYzLDMwOC4wODUsMzA0LjEwNEwzMDguMDg1LDMwNC4xMDR6Ii8+DQoJPHBhdGggZD0iTTMwNy45MzUsMjk4LjM5N2MtMS4zMDUtODIuMzQyLTEyLjA1OS0xMDUuODA1LTk0LjM1Mi0xMjAuNjU3YzAsMC0xMS41ODQsMTQuNzYxLTM4LjU4NCwxNC43NjENCgkJcy0zOC41ODYtMTQuNzYxLTM4LjU4Ni0xNC43NjFjLTgxLjM5NSwxNC42OS05Mi44MDMsMzcuODA1LTk0LjMwMywxMTcuOTgyYy0wLjEyMyw2LjU0Ny0wLjE4LDYuODkxLTAuMjAyLDYuMTMxDQoJCWMwLjAwNSwxLjQyNCwwLjAxMSw0LjA1OCwwLjAxMSw4LjY1MWMwLDAsMTkuNTkyLDM5LjQ5NiwxMzMuMDgsMzkuNDk2YzExMy40ODYsMCwxMzMuMDgtMzkuNDk2LDEzMy4wOC0zOS40OTYNCgkJYzAtMi45NTEsMC4wMDItNS4wMDMsMC4wMDUtNi4zOTlDMzA4LjA2MiwzMDQuNTc1LDMwOC4wMTgsMzAzLjY2NCwzMDcuOTM1LDI5OC4zOTd6Ii8+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==
searchablepersons:
_type: Septima.Search.SearchableData
_options:
singular: Person
plural: Persons
searchProperties:
- name
- hobby
displaynameProperty: name
descriptionProperty: hobby
idProperty: number
data:
_ref: "$.persons.persons"
persons:
- number: 1
name: Adam
age: 15
hobby: Chess
- number: 3
name: Christine
age: 17
hobby: Math
- number: 2
name: Bob
age: 16
hobby: Soccer
- number: 4
name: Jenny
age: 18
hobby: Geography
JS options:
persons = [
{number: 1, name: "Adam", age: 15, hobby: "Chess"},
{number: 3, name: "Christine", age: 17, hobby: "Math"},
{number: 2, name: "Bob", age: 16, hobby: "Soccer"},
{number: 4, name: "Jenny", age: 18, hobby: "Geography"},
]
searchAbleDataOptions = {
singular: "Person",
plural: "Personer",
searchProperties: ["name", "hobby"],
displaynameProperty: "name",
descriptionProperty: "age",
idProperty: "number",
data: persons
}
js client:
// Include septimaSearch
<script type="text/javascript" src="http://search.cdn.septima.dk/{version}/septimasearch.min.js"/>
var searchAbleData = new Septima.Search.SearchableData(searchAbleDataOptions)
controller.addSearcher(new Septima.Search.DataSearcher(searchAbleData))
ES6:
import DataSearcher from './searchers/DataSearcher.js'
import SearchableData from './searchers/local/SearchableData.js'
let searchAbleData = new SearchableData(searchAbleDataOptions)
controller.addSearcher(new DataSearcher(searchAbleData))