Files
Mozilla/mozilla/xpfe/components/search/resources/find.js
rjc%netscape.com 2ce1c54d3c Now we can save find queries in bookmarks.
git-svn-id: svn://10.0.0.236/trunk@42938 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-10 06:07:53 +00:00

94 lines
2.6 KiB
JavaScript

var gDatasourceName = "";
var gMatchName = "";
var gMethodName = "";
var gTextName = "";
function doFind()
{
gDatasourceName = "";
gMatchName = "";
gMethodName = "";
gTextName = "";
// get RDF datasource to query
var datasourceNode = document.getElementById("datasource");
if (!datasourceNode) return(false);
var x = datasourceNode.selectedIndex;
if (x < 0) return(false);
var datasource = datasourceNode.options[x].value;
if (!datasource) return(false);
gDatasourceName = datasourceNode.options[x].text;
dump("Datasource: " + gDatasourceName + "\n");
// get match
var matchNode = document.getElementById("match");
if (!matchNode) return(false);
x = matchNode.selectedIndex;
if (x < 0) return(false);
var match = matchNode.options[x].value;
if (!match) return(false);
gMatchName = matchNode.options[x].text;
dump("Match: " + gMatchName + "\n");
// get method
var methodNode = document.getElementById("method");
if (!methodNode) return(false);
x = methodNode.selectedIndex;
if (x < 0) return(false);
var method = methodNode.options[x].value;
if (!method) return(false);
gMethodName = methodNode.options[x].text;
dump("Method: " + method + "\n");
// get user text to find
var textNode = document.getElementById("findtext");
if (!textNode) return(false);
var text = textNode.value;
if (!text) return(false);
gTextName = text;
dump("Find text: " + text + "\n");
// construct find URL
var url = "find:datasource=" + datasource;
url += "&match=" + match;
url += "&method=" + method;
url += "&text=" + text;
dump("Find URL: " + url + "\n");
// load find URL into results pane
var resultsTree = parent.frames[1].document.getElementById("findresultstree");
if (!resultsTree) return(false);
resultsTree.setAttribute("ref", url);
// enable "Save Search" button
var searchButton = document.getElementById("SaveSearch");
if (searchButton)
{
searchButton.removeAttribute("disabled", "false");
}
dump("doFind done.\n");
return(true);
}
function saveSearch()
{
var resultsTree = parent.frames[1].document.getElementById("findresultstree");
if (!resultsTree) return(false);
var searchURL = resultsTree.getAttribute("ref");
if ((!searchURL) || (searchURL == "")) return(false);
dump("Bookmark search URL: " + searchURL + "\n");
var searchTitle = "Search: " + gMatchName + " " + gMethodName + " '" + gTextName + "' in " + gDatasourceName;
dump("Title: " + searchTitle + "\n\n");
var bmks = Components.classes["component://netscape/browser/bookmarks-service"].getService();
if (bmks) bmks = bmks.QueryInterface(Components.interfaces.nsIBookmarksService);
if (bmks) bmks.AddBookmark(searchURL, searchTitle);
return(true);
}