Introduction
This feature allows you to define a set of predefined search terms. To enable this functionality you must add the predefinedSearch property to the Viewer parameters. The following example shows you how:
Example
<script type="text/javascript">
$(document).ready(function () {
var pluginOptions = {
documentID: viewingSessionId,
language: languageItems,
template: htmlTemplates,
predefinedSearch: {
highlightColor: "#ee3a8c",
searchOnInit: false,
globalOptions: {
matchCase: false,
endsWith: false,
beginsWith: false,
matchWholeWord: false,
wildcard: false
},
terms: [{
searchTerm: "llama",
selected: true,
options: {
matchWholeWord: true,
wildcard: false
}
},
{
searchTerm: "Words that begin with ll",
userDefinedRegex: "\\bll(\\w*)\\b",
searchTermIsRegex: true,
selected: true,
highlightColor: "#4169e1",
options: {
matchCase: true
}
}]
}
};
var viewerControl = $("#viewer1").pccViewer(pluginOptions).viewerControl;
});
</script>
PredefinedSearch.JSON
Predefined Search can also be specified using a text file (predefinedSearch.json
). The predefinedSearch.json
file provides several sample search terms and custom regular expressions; the file is parsed by the web-tier and loaded in the Viewer. The following example shows you how:
Example
<script type="text/javascript"\>
var viewingSessionId = '<%=HttpUtility.JavaScriptStringEncode(viewingSessionId)%>';
//Retrieve the searchJson (search data) into javascript var searchTerms = <%=searchJson%>;
var pluginOptions = {
documentID: viewingSessionId,
predefinedSearch: searchTerms,
};
$(document).ready(function () {
var viewerControl = $("#viewer1").pccViewer(pluginOptions).viewerControl;
});
</script>
Predefined Search Patterns
The following table shows the predefined search pattern parameters:
Parameter | Data Type | Description |
highlightColor |
String | The default highlight color of the search terms. This is overridden by the term-level parameter. This must be in 6 digit hexadecimal format preceded by a #.Example: " #ee3a8c " |
searchOnInit |
Boolean | Run search on launch. |
globalOptions |
Object | Set the default search options for each of the predefined search terms. This is overridden by the term-level options parameter. Example: predefinedSearch: { globalOptions: { matchCase: false, endsWith: false, beginsWith: false, matchWholeWord: false } } |
terms |
Array | An array of objects that represent the search terms that will be available in the predefined search menu. Example: predefinedSearch: { terms: [{ searchTerm: "llama" } ] } |
Predefined Search Terms
The following table shows the predefined search term parameters:
Parameter | Data Type | Description |
searchTerm |
String | The search string for the term object. This is overridden by the userDefinedRegex parameter. |
userDefinedRegex |
String | A regular expression that will be searched in place of searchTerm . The first and last forward slashes, as well as the flags, are stripped from the string. For example, /Pa(\w+)/ig will become Pa(\w+) . When special characters (ex: backslash) are used in the userDefinedRegex field, they need to be properly escaped. For example, for searching words that begins with "Pa", the regular expression will be Pa(\w+) , this regular expression should be properly escaped like this Pa(\w+) . All patterns use the Global(g) flag.Example: predefinedSearch: { terms: [{ searchTerm: "4 digits", userdefinedRegex: "(\\\d{4})" } ] } |
selected |
Boolean | Whether or not this term will be selected in the menu. |
options |
Object | Set the search options for this term. If a parameter is not defined it will inherit the globalOptions-level parameter.Example: predefinedSearch: { terms: [{ searchTerm: "Lla", options: { matchCase: true, endsWith: false, beginsWith: true, matchWholeWord: false } } ] } |