history-panel.js
Go to the documentation of this file.
1 # -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 #
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
9 #
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
13 # License.
14 #
15 # The Original Code is mozilla.org code.
16 #
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1998
20 # the Initial Developer. All Rights Reserved.
21 #
22 # Contributor(s):
23 # Alec Flett <alecf@netscape.com> (original author of history.js)
24 # Seth Spitzer <sspizer@mozilla.org> (port to Places)
25 # Asaf Romano <mano@mozilla.com>
26 #
27 # Alternatively, the contents of this file may be used under the terms of
28 # either the GNU General Public License Version 2 or later (the "GPL"), or
29 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30 # in which case the provisions of the GPL or the LGPL are applicable instead
31 # of those above. If you wish to allow use of your version of this file only
32 # under the terms of either the GPL or the LGPL, and not to allow others to
33 # use your version of this file under the terms of the MPL, indicate your
34 # decision by deleting the provisions above and replace them with the notice
35 # and other provisions required by the GPL or the LGPL. If you do not delete
36 # the provisions above, a recipient may use your version of this file under
37 # the terms of any one of the MPL, the GPL or the LGPL.
38 #
39 # ***** END LICENSE BLOCK *****
40 
44 var gSearching = false;
45 
47 {
48  gHistoryTree = document.getElementById("historyTree");
49  gSearchBox = document.getElementById("search-box");
50 
51  gHistoryGrouping = document.getElementById("viewButton").
52  getAttribute("selectedsort");
53 
54  if (gHistoryGrouping == "site")
55  document.getElementById("bysite").setAttribute("checked", "true");
56  else if (gHistoryGrouping == "visited")
57  document.getElementById("byvisited").setAttribute("checked", "true");
58  else if (gHistoryGrouping == "lastvisited")
59  document.getElementById("bylastvisited").setAttribute("checked", "true");
60  else if (gHistoryGrouping == "dayandsite")
61  document.getElementById("bydayandsite").setAttribute("checked", "true");
62  else
63  document.getElementById("byday").setAttribute("checked", "true");
64 
65  searchHistory("");
66 }
67 
68 function GroupBy(groupingType)
69 {
70  gHistoryGrouping = groupingType;
72 }
73 
74 function searchHistory(aInput)
75 {
76  var query = PlacesUtils.history.getNewQuery();
77  var options = PlacesUtils.history.getNewQueryOptions();
78 
79  const NHQO = Ci.nsINavHistoryQueryOptions;
80  var sortingMode;
81  var resultType;
82 
83  switch (gHistoryGrouping) {
84  case "visited":
85  resultType = NHQO.RESULTS_AS_URI;
86  sortingMode = NHQO.SORT_BY_VISITCOUNT_DESCENDING;
87  break;
88  case "lastvisited":
89  resultType = NHQO.RESULTS_AS_URI;
90  sortingMode = NHQO.SORT_BY_DATE_DESCENDING;
91  break;
92  case "dayandsite":
93  resultType = NHQO.RESULTS_AS_DATE_SITE_QUERY;
94  break;
95  case "site":
96  resultType = NHQO.RESULTS_AS_SITE_QUERY;
97  sortingMode = NHQO.SORT_BY_TITLE_ASCENDING;
98  break;
99  case "day":
100  default:
101  resultType = NHQO.RESULTS_AS_DATE_QUERY;
102  break;
103  }
104 
105  if (aInput) {
106  query.searchTerms = aInput;
107  if (gHistoryGrouping != "visited" && gHistoryGrouping != "lastvisited") {
108  sortingMode = NHQO.SORT_BY_TITLE_ASCENDING;
109  resultType = NHQO.RESULTS_AS_URI;
110  }
111  }
112 
113  options.sortingMode = sortingMode;
114  options.resultType = resultType;
115 
116  // call load() on the tree manually
117  // instead of setting the place attribute in history-panel.xul
118  // otherwise, we will end up calling load() twice
119  gHistoryTree.load([query], options);
120 }
121 
122 window.addEventListener("SidebarFocused",
123  function()
124  gSearchBox.focus(),
125  false);
var gSearching
var gHistoryGrouping
let window
function HistorySidebarInit()
var gSearchBox
function searchHistory(aInput)
return aWindow document documentElement getAttribute(aAttribute)||dimension
function GroupBy(groupingType)
foldersync options
Definition: options.js:13
const Ci
var gHistoryTree