mirror of
				https://github.com/simon987/sist2.git
				synced 2025-11-04 09:36:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			345 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			345 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html lang="en">
 | 
						|
<head>
 | 
						|
    <meta charset="utf-8">
 | 
						|
    <title>sist2 - Search</title>
 | 
						|
    <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'/>
 | 
						|
 | 
						|
    <link href="css" rel="stylesheet" type="text/css">
 | 
						|
    <style id="style"></style>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
 | 
						|
<nav class="navbar navbar-expand-lg">
 | 
						|
    <a class="navbar-brand" href="/">sist2</a>
 | 
						|
    <span class="badge badge-pill version">2.8.5</span>
 | 
						|
    <span class="tagline">Lightning-fast file system indexer and search tool </span>
 | 
						|
    <a class="btn ml-auto" href="/stats">Stats</a>
 | 
						|
    <button class="btn" type="button" data-toggle="modal" data-target="#settings" onclick="loadSettings()">Settings
 | 
						|
    </button>
 | 
						|
    <button class="btn" title="Toggle theme" onclick="toggleTheme()">Theme</button>
 | 
						|
</nav>
 | 
						|
 | 
						|
<div class="container">
 | 
						|
    <div class="card">
 | 
						|
        <div class="card-body">
 | 
						|
            <div class="input-group">
 | 
						|
                <div class="input-group-prepend">
 | 
						|
                    <div class="input-group-text">
 | 
						|
                        <span title="Toggle fuzzy searching" onclick="document.getElementById('fuzzyToggle').click()">Fuzzy </span>
 | 
						|
                        <input title="Toggle fuzzy searching" type="checkbox" id="fuzzyToggle"
 | 
						|
                               onclick="toggleFuzzy()" checked>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
                <input id="searchBar" type="search" class="form-control" placeholder="Search">
 | 
						|
                <div class="input-group-append">
 | 
						|
                    <button class="btn btn-outline-secondary small-btn" type="button" data-toggle="modal"
 | 
						|
                            data-target="#help">?
 | 
						|
                    </button>
 | 
						|
                    <button class="btn btn-outline-secondary large-btn" type="button" data-toggle="modal"
 | 
						|
                            data-target="#help">Help
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
 | 
						|
            <div class="row">
 | 
						|
                <div class="col">
 | 
						|
                    <input title="File size" id="sizeSlider" name="size" width="100%">
 | 
						|
                </div>
 | 
						|
 | 
						|
                <div class="col">
 | 
						|
                    <div class="input-group" style="margin-bottom: 0.5em; margin-top: 1em">
 | 
						|
                        <div class="input-group-prepend">
 | 
						|
                            <button id="pathBarHelper" class="btn btn-outline-secondary" data-toggle="modal"
 | 
						|
                                    data-target="#pathTreeModal">
 | 
						|
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" width="20px">
 | 
						|
                                    <path d="M288 224h224a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32H400L368 0h-80a32 32 0 0 0-32 32v64H64V8a8 8 0 0 0-8-8H40a8 8 0 0 0-8 8v392a16 16 0 0 0 16 16h208v64a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32H400l-32-32h-80a32 32 0 0 0-32 32v64H64V128h192v64a32 32 0 0 0 32 32zm0 96h66.74l32 32H512v128H288zm0-288h66.74l32 32H512v128H288z"/>
 | 
						|
                                </svg>
 | 
						|
                            </button>
 | 
						|
                        </div>
 | 
						|
                        <input id="pathBar" type="search" class="form-control" placeholder="Filter path">
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
 | 
						|
            <input title="Date filter" id="dateSlider" name="size" width="100%">
 | 
						|
 | 
						|
            <div class="row">
 | 
						|
                <div class="col">
 | 
						|
                    <label for="indices">Search in indices</label>
 | 
						|
                    <select class="custom-select" id="indices" multiple size="6"></select>
 | 
						|
                </div>
 | 
						|
 | 
						|
                <div class="col" id="treeTabs">
 | 
						|
                    <ul class="nav nav-tabs" role="tablist">
 | 
						|
                        <li class="nav-item">
 | 
						|
                            <a class="nav-link active" data-toggle="tab" href="#mime" role="tab" aria-controls="home"
 | 
						|
                               aria-selected="true">Mime Types</a>
 | 
						|
                        </li>
 | 
						|
                        <li class="nav-item">
 | 
						|
                            <a class="nav-link" data-toggle="tab" href="#tag" role="tab" aria-controls="profile"
 | 
						|
                               aria-selected="false" title="User-defined tags">Tags</a>
 | 
						|
                        </li>
 | 
						|
                    </ul>
 | 
						|
                    <div class="tab-content" id="myTabContent">
 | 
						|
                        <div class="tab-pane fade show active" id="mime" role="tabpanel" aria-labelledby="home-tab">
 | 
						|
                            <div id="mimeTree" class="tree"></div>
 | 
						|
                        </div>
 | 
						|
                        <div class="tab-pane fade" id="tag" role="tabpanel" aria-labelledby="profile-tab">
 | 
						|
                            <div id="tagTree" class="tree"></div>
 | 
						|
                        </div>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="modal" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
 | 
						|
        <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
 | 
						|
            <div class="modal-content">
 | 
						|
                <div class="modal-header">
 | 
						|
                    <h5 class="modal-title" id="modal-title"></h5>
 | 
						|
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                        <span aria-hidden="true">×</span>
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
                <div class="modal-body" id="modal-body"></div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="modal" id="help" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
 | 
						|
        <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
 | 
						|
            <div class="modal-content">
 | 
						|
                <div class="modal-header">
 | 
						|
                    <h5 class="modal-title">Search help</h5>
 | 
						|
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                        <span aria-hidden="true">×</span>
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
                <div class="modal-body">
 | 
						|
 | 
						|
                    <table class="table">
 | 
						|
                        <tbody>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>+</code></td>
 | 
						|
                            <td>signifies AND operation</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>|</code></td>
 | 
						|
                            <td>signifies OR operation</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>-</code></td>
 | 
						|
                            <td>negates a single token</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>""</code></td>
 | 
						|
                            <td>wraps a number of tokens to signify a phrase for searching</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>*</code></td>
 | 
						|
                            <td>at the end of a term signifies a prefix query</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>(</code> and <code>)</code></td>
 | 
						|
                            <td>signify precedence</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>~N</code></td>
 | 
						|
                            <td>after a word signifies edit distance (fuzziness)</td>
 | 
						|
                        </tr>
 | 
						|
                        <tr>
 | 
						|
                            <td><code>~N</code></td>
 | 
						|
                            <td>after a phrase signifies slop amount</td>
 | 
						|
                        </tr>
 | 
						|
                        </tbody>
 | 
						|
                    </table>
 | 
						|
 | 
						|
                    <p>For example: <code>"fried eggs" +(eggplant | potato) -frittata</code> will match the phrase
 | 
						|
                        <i>fried eggs</i> and either <i>eggplant</i> or <i>potato</i>, but will ignore results
 | 
						|
                        containing <i>frittata</i>.</p>
 | 
						|
 | 
						|
                    <p>When neither <code>+</code> or <code>|</code> is specified, the default operator is
 | 
						|
                        <code>+</code> (and).</p>
 | 
						|
                    <p>When the <b>Fuzzy</b> option is checked, partial matches are also returned.</p>
 | 
						|
                    <br>
 | 
						|
                    <p>For more information, see <a target="_blank"
 | 
						|
                                                    href="//www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html">Elasticsearch
 | 
						|
                        documentation</a></p>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="modal" id="settings" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
 | 
						|
        <div class="modal-dialog modal-dialog-centered" role="document">
 | 
						|
            <div class="modal-content">
 | 
						|
                <div class="modal-header">
 | 
						|
                    <h5 class="modal-title">Settings</h5>
 | 
						|
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                        <span aria-hidden="true">×</span>
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
                <div class="modal-body">
 | 
						|
                    <div class="custom-control custom-checkbox">
 | 
						|
                        <input type="checkbox" class="custom-control-input" id="settingHighlight">
 | 
						|
                        <label class="custom-control-label" for="settingHighlight">Enable highlighting</label>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="custom-control custom-checkbox">
 | 
						|
                        <input type="checkbox" class="custom-control-input" id="settingFuzzy">
 | 
						|
                        <label class="custom-control-label" for="settingFuzzy">Set fuzzy search by default</label>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="custom-control custom-checkbox">
 | 
						|
                        <input type="checkbox" class="custom-control-input" id="settingSearchInPath">
 | 
						|
                        <label class="custom-control-label" for="settingSearchInPath">Enable matching query against
 | 
						|
                            document path</label>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="custom-control custom-checkbox">
 | 
						|
                        <input type="checkbox" class="custom-control-input" id="settingSuggestPath">
 | 
						|
                        <label class="custom-control-label" for="settingSuggestPath">Enable auto-complete in path filter
 | 
						|
                            bar</label>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <br/>
 | 
						|
                    <div class="form-group">
 | 
						|
                        <input type="number" class="form-control" id="settingFragmentSize">
 | 
						|
                        <label for="settingFragmentSize">Highlight context size in characters</label>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <label for="settingDisplay">Display</label>
 | 
						|
                    <select id="settingDisplay" class="form-control form-control-sm">
 | 
						|
                        <option value="grid">Grid</option>
 | 
						|
                        <option value="list">List</option>
 | 
						|
                    </select>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingColumns">Maximum column count</label>
 | 
						|
                        <select id="settingColumns" class="form-control form-control-sm">
 | 
						|
                            <option value="3">3</option>
 | 
						|
                            <option value="4">4</option>
 | 
						|
                            <option value="5">5</option>
 | 
						|
                            <option value="6">6</option>
 | 
						|
                            <option value="7">7</option>
 | 
						|
                            <option value="8">8</option>
 | 
						|
                            <option value="9">9</option>
 | 
						|
                        </select>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <hr/>
 | 
						|
                    <h4>Stats</h4>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingTreemapType">Treemap type</label>
 | 
						|
                        <select id="settingTreemapType" class="form-control form-control-sm">
 | 
						|
                            <option value="cascaded">Cascaded</option>
 | 
						|
                            <option value="flat">Flat (compact)</option>
 | 
						|
                        </select>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingTreemapTiling">Treemap tiling</label>
 | 
						|
                        <select id="settingTreemapTiling" class="form-control form-control-sm">
 | 
						|
                            <option value="binary">Binary</option>
 | 
						|
                            <option value="squarify">Squarify</option>
 | 
						|
                            <option value="slice">Slice</option>
 | 
						|
                            <option value="dice">Dice</option>
 | 
						|
                            <option value="sliceDice">Slide & Dice</option>
 | 
						|
                        </select>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingTreemapGroupingDepth">Treemap color grouping depth (flat)</label>
 | 
						|
                        <input type="number" class="form-control" id="settingTreemapGroupingDepth" min="1" max="10">
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingTreemapColor">Treemap color (cascaded)</label>
 | 
						|
                        <select id="settingTreemapColor" class="form-control form-control-sm">
 | 
						|
                            <option value="PuBuGn">Purple-Blue-Green</option>
 | 
						|
                            <option value="PuRd">Purple-Red</option>
 | 
						|
                            <option value="PuBu">Purple-Blue</option>
 | 
						|
                            <option value="YlOrBr">Yellow-Orange-Brown</option>
 | 
						|
                            <option value="YlOrRd">Yellow-Orange-Red</option>
 | 
						|
                            <option value="YlGn">Yellow-Green</option>
 | 
						|
                            <option value="YlGnBu">Yellow-Green-Blue</option>
 | 
						|
                            <option value="Plasma">Plasma</option>
 | 
						|
                            <option value="Magma">Magma</option>
 | 
						|
                            <option value="Inferno">Inferno</option>
 | 
						|
                            <option value="Viridis">Viridis</option>
 | 
						|
                            <option value="Turbo">Turbo</option>
 | 
						|
                        </select>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <div class="form-group">
 | 
						|
                        <label for="settingTreemapSize">Treemap size</label>
 | 
						|
                        <select id="settingTreemapSize" class="form-control form-control-sm">
 | 
						|
                            <option value="small">Small</option>
 | 
						|
                            <option value="medium">Medium</option>
 | 
						|
                            <option value="large">Large</option>
 | 
						|
                            <option value="x-large">X-Large</option>
 | 
						|
                            <option value="xx-large">XX-Large</option>
 | 
						|
                        </select>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    <br>
 | 
						|
                    <button class="btn btn-primary ml-auto" onclick="updateSettings()">Update settings</button>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="modal" id="pathTreeModal" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
 | 
						|
        <div class="modal-dialog modal-lg" role="document">
 | 
						|
            <div class="modal-content">
 | 
						|
                <div class="modal-header">
 | 
						|
                    <h5 class="modal-title">Select path</h5>
 | 
						|
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                        <span aria-hidden="true">×</span>
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
                <div class="modal-body">
 | 
						|
                    <div id="pathTree" class="tree"></div>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="modal" id="tagModal" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
 | 
						|
        <div class="modal-dialog modal-dialog-centered" role="document">
 | 
						|
            <div class="modal-content">
 | 
						|
                <div class="modal-header">
 | 
						|
                    <h5 class="modal-title">Add tag</h5>
 | 
						|
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                        <span aria-hidden="true">×</span>
 | 
						|
                    </button>
 | 
						|
                </div>
 | 
						|
 | 
						|
                <div class="modal-body">
 | 
						|
                    <div class="form-group">
 | 
						|
                        <div class="row">
 | 
						|
                            <div class="col col-8">
 | 
						|
                                <input type="text" id="tagBar" class="form-control">
 | 
						|
                            </div>
 | 
						|
                            <div class="col col-4">
 | 
						|
                                <input type="text" id="tag-color" value="" class="form-control"/>
 | 
						|
                            </div>
 | 
						|
                        </div>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div id="searchResults"></div>
 | 
						|
</div>
 | 
						|
 | 
						|
<script src="jslib" type="text/javascript"></script>
 | 
						|
<script src="jssearch" type="text/javascript"></script>
 | 
						|
</body>
 | 
						|
</html>
 |