WebUI: Use Map instead of Mootools Hash in Torrents table
[qBittorrent.git] / src / webui / www / private / views / search.html
blobddc9ee86366f06ba2148931a10c14f60926e5056
1 <style>
2 #searchPattern {
3 width: 300px;
4 background-image: url("images/edit-find.svg");
5 background-repeat: no-repeat;
6 background-size: 1.5em;
7 background-position: left;
8 border: 1px solid var(--color-border-default);
9 border-radius: 3px;
10 padding: 4px 2px 4px 25px;
13 #categorySelect {
14 width: 150px;
17 #pluginsSelect {
18 width: 150px;
21 #searchResultsNoPlugins,
22 #searchResultsNoSearches {
23 height: calc(100% - 110px);
25 table {
26 height: 100%;
27 width: 100%;
28 text-align: center;
32 #searchResultsFilters {
33 height: 30px;
34 overflow: auto;
37 #searchInNameFilter {
38 width: 150px;
39 margin-right: 20px;
42 #searchMinSeedsFilter,
43 #searchMaxSeedsFilter,
44 #searchMinSizeFilter,
45 #searchMaxSizeFilter {
46 width: 4em;
49 #manageSearchPlugins {
50 float: right;
53 #searchResultsGranularFilters {
54 display: none;
57 #searchResultsGranularFiltersWarning {
58 vertical-align: bottom;
59 margin-left: 10px;
62 #manageSearchPlugins,
63 #startSearchButton {
64 padding: 4px 6px;
67 #startSearchButton img,
68 #manageSearchPlugins img {
69 margin: 0 5px -3px 0;
72 @media (min-width: 1060px) {
73 #searchResultsGranularFilters {
74 display: inline-block;
77 #searchResultsGranularFiltersWarning {
78 display: none;
81 #searchPattern {
82 width: 500px;
86 </style>
88 <div id="searchResults">
89 <div style="overflow: hidden; height: 60px;">
90 <div style="margin: 20px 0 10px 0; height: 30px;">
91 <input type="text" id="searchPattern" class="searchInputField" placeholder="QBT_TR(Search)QBT_TR[CONTEXT=SearchEngineWidget]" aria-label="QBT_TR(Search)QBT_TR[CONTEXT=SearchEngineWidget]" autocorrect="off" autocomplete="off" autocapitalize="none" oninput="qBittorrent.Search.onSearchPatternChanged()">
92 <select id="categorySelect" class="searchInputField" aria-label="QBT_TR(Select category)QBT_TR[CONTEXT=SearchEngineWidget]" onchange="qBittorrent.Search.categorySelected()"></select>
93 <select id="pluginsSelect" class="searchInputField" aria-label="QBT_TR(Select plugins)QBT_TR[CONTEXT=SearchEngineWidget]" onchange="qBittorrent.Search.pluginSelected()"></select>
94 <button type="button" id="startSearchButton" class="searchInputField" onclick="qBittorrent.Search.startStopSearch()">
95 <img src="images/edit-find.svg" alt="QBT_TR(Search)QBT_TR[CONTEXT=SearchEngineWidget]" width="16" height="16">QBT_TR(Search)QBT_TR[CONTEXT=SearchEngineWidget]
96 </button>
97 </div>
98 </div>
100 <div id="searchResultsNoPlugins">
101 <table>
102 <tbody>
103 <tr>
104 <td>
105 QBT_TR(There aren't any search plugins installed.)QBT_TR[CONTEXT=SearchEngineWidget]
106 <br>
107 QBT_TR(Click the "Search plugins..." button at the bottom right of the window to install some.)QBT_TR[CONTEXT=SearchEngineWidget]
108 </td>
109 </tr>
110 </tbody>
111 </table>
112 <span></span>
113 </div>
115 <div id="searchResultsNoSearches" style="display: none">
116 <table>
117 <tbody>
118 <tr>
119 <td>
120 QBT_TR(Start a search above.)QBT_TR[CONTEXT=SearchEngineWidget]
121 </td>
122 </tr>
123 </tbody>
124 </table>
125 <span></span>
126 </div>
128 <div id="searchTabsToolbar" class="toolbarTabs" style="border-bottom: 1px solid var(--color-border-default); display: none">
129 <ul id="searchTabs" class="tab-menu"></ul>
130 <div class="clear"></div>
131 </div>
133 <div id="searchResultsFilters" style="padding-top: 10px; display: none">
134 <input type="text" id="searchInNameFilter" placeholder="QBT_TR(Filter)QBT_TR[CONTEXT=SearchEngineWidget]" autocorrect="off" autocapitalize="none">
136 <span>QBT_TR(Results)QBT_TR[CONTEXT=SearchEngineWidget] (QBT_TR(showing)QBT_TR[CONTEXT=SearchEngineWidget] <span id="numSearchResultsVisible" class="numSearchResults">0</span> QBT_TR(out of)QBT_TR[CONTEXT=SearchEngineWidget] <span id="numSearchResultsTotal" class="numSearchResults">0</span>):</span>
138 <div style="display: inline-block; float: right;">
139 <label for="searchInTorrentName" style="margin-left: 15px;">QBT_TR(Search in:)QBT_TR[CONTEXT=SearchEngineWidget]</label>
140 <select id="searchInTorrentName" onchange="qBittorrent.Search.searchInTorrentName()">
141 <option value="names">QBT_TR(Torrent names only)QBT_TR[CONTEXT=SearchEngineWidget]</option>
142 <option value="everywhere">QBT_TR(Everywhere)QBT_TR[CONTEXT=SearchEngineWidget]</option>
143 </select>
145 <img id="searchResultsGranularFiltersWarning" src="images/dialog-warning.svg" title="QBT_TR(Increase window width to display additional filters)QBT_TR[CONTEXT=SearchEngineWidget]" alt="QBT_TR(Warning)QBT_TR[CONTEXT=SearchEngineWidget]" width="24" height="24">
147 <div id="searchResultsGranularFilters">
148 <span style="margin-left: 15px;">QBT_TR(Seeds:)QBT_TR[CONTEXT=SearchEngineWidget]</span>
149 <input type="number" min="0" max="1000" id="searchMinSeedsFilter" value="0" onchange="qBittorrent.Search.searchSeedsFilterChanged()">
150 <span>QBT_TR(to)QBT_TR[CONTEXT=SearchEngineWidget]</span>
151 <input type="number" min="0" max="1000" id="searchMaxSeedsFilter" value="0" onchange="qBittorrent.Search.searchSeedsFilterChanged()">
153 <span style="margin-left: 15px;">QBT_TR(Size:)QBT_TR[CONTEXT=SearchEngineWidget]</span>
154 <input type="number" min="0" max="1000" step=".01" value="0.00" id="searchMinSizeFilter" onchange="qBittorrent.Search.searchSizeFilterChanged()">
155 <select id="searchMinSizePrefix" onchange="qBittorrent.Search.searchSizeFilterPrefixChanged()">
156 <option value="0">QBT_TR(B)QBT_TR[CONTEXT=misc]</option>
157 <option value="1">QBT_TR(KiB)QBT_TR[CONTEXT=misc]</option>
158 <option value="2" selected>QBT_TR(MiB)QBT_TR[CONTEXT=misc]</option>
159 <option value="3">QBT_TR(GiB)QBT_TR[CONTEXT=misc]</option>
160 <option value="4">QBT_TR(TiB)QBT_TR[CONTEXT=misc]</option>
161 <option value="5">QBT_TR(PiB)QBT_TR[CONTEXT=misc]</option>
162 <option value="6">QBT_TR(EiB)QBT_TR[CONTEXT=misc]</option>
163 </select>
164 <span>QBT_TR(to)QBT_TR[CONTEXT=SearchEngineWidget]</span>
165 <input type="number" min="0" max="1000" step=".01" value="0.00" id="searchMaxSizeFilter" onchange="qBittorrent.Search.searchSizeFilterChanged()">
166 <select id="searchMaxSizePrefix" onchange="qBittorrent.Search.searchSizeFilterPrefixChanged()">
167 <option value="0">QBT_TR(B)QBT_TR[CONTEXT=misc]</option>
168 <option value="1">QBT_TR(KiB)QBT_TR[CONTEXT=misc]</option>
169 <option value="2">QBT_TR(MiB)QBT_TR[CONTEXT=misc]</option>
170 <option value="3" selected>QBT_TR(GiB)QBT_TR[CONTEXT=misc]</option>
171 <option value="4">QBT_TR(TiB)QBT_TR[CONTEXT=misc]</option>
172 <option value="5">QBT_TR(PiB)QBT_TR[CONTEXT=misc]</option>
173 <option value="6">QBT_TR(EiB)QBT_TR[CONTEXT=misc]</option>
174 </select>
175 </div>
176 </div>
177 </div>
179 <div id="searchResultsTableContainer" style="display: none">
180 <div id="searchResultsTableFixedHeaderDiv" class="dynamicTableFixedHeaderDiv">
181 <table class="dynamicTable unselectable" style="position:relative;">
182 <thead>
183 <tr class="dynamicTableHeader"></tr>
184 </thead>
185 </table>
186 </div>
187 <div id="searchResultsTableDiv" class="dynamicTableDiv">
188 <table class="dynamicTable unselectable">
189 <thead>
190 <tr class="dynamicTableHeader"></tr>
191 </thead>
192 <tbody></tbody>
193 </table>
194 </div>
195 </div>
197 <div style="height: 30px; padding-top: 10px;">
198 <button type="button" id="manageSearchPlugins" onclick="qBittorrent.Search.manageSearchPlugins()">
199 <img alt="QBT_TR(Search plugins...)QBT_TR[CONTEXT=SearchEngineWidget]" src="images/plugins.svg" width="16" height="16">QBT_TR(Search plugins...)QBT_TR[CONTEXT=SearchEngineWidget]
200 </button>
201 </div>
202 </div>
204 <ul id="searchResultsTableMenu" class="contextMenu">
205 <li><a href="#Download"><img src="images/downloading.svg" alt="QBT_TR(Download)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Download)QBT_TR[CONTEXT=SearchJobWidget]</a></li>
206 <li class="separator"><a href="#OpenDescriptionUrl"><img src="images/application-url.svg" alt="QBT_TR(Open description page)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Open description page)QBT_TR[CONTEXT=SearchJobWidget]</a></li>
207 <li>
208 <a href="#" class="arrow-right"><img src="images/edit-copy.svg" alt="QBT_TR(Copy)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Copy)QBT_TR[CONTEXT=SearchJobWidget]</a>
209 <ul>
210 <li><a href="#" id="copySearchTorrentName" class="copySearchDataToClipboard"><img src="images/name.svg" alt="QBT_TR(Name)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Name)QBT_TR[CONTEXT=SearchJobWidget]</a></li>
211 <li><a href="#" id="copySearchTorrentDownloadLink" class="copySearchDataToClipboard"><img src="images/insert-link.svg" alt="QBT_TR(Download link)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Download link)QBT_TR[CONTEXT=SearchJobWidget]</a></li>
212 <li><a href="#" id="copySearchTorrentDescriptionUrl" class="copySearchDataToClipboard"><img src="images/application-url.svg" alt="QBT_TR(Description page URL)QBT_TR[CONTEXT=SearchJobWidget]"> QBT_TR(Description page URL)QBT_TR[CONTEXT=SearchJobWidget]</a></li>
213 </ul>
214 </li>
215 </ul>