<!DOCTYPE html> <!------------------------------------------------------------------------------- * Copyright (c) 2013, Perforce Software * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------!> <html lang="en"> <head> <meta charset="utf-8"> <title>Perforce Search</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> <!-- Le styles --> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"> <style> body { padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */ } </style> <link href="bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet"> <link href="css/search.css" rel="stylesheet"> <script src="jquery/js/jquery.min.js"></script> <script src="jquery/js/jquery.timeago.js"></script> <script src="jquery/js/jquery.cookie.js"></script> <script src="bootstrap/js/bootstrap.js"></script> <script src="js/search.js"></script> <script src="handlebars/handlebars.js"></script> <script id="files-template" type="text/x-handlebars-template"> {{#each filedata}} <tr> <td><a href="{{swarmlink}}" target="_blank"><img class="no-resize" src="{{swarmicon}}" /></a> {{#if commonslink}}<a href="{{commonslink}}" target="_blank"><img class="no-resize" src="{{commonsicon}}" /></a>{{/if}}</td> <td><a href="{{filelink}}" target="_blank">{{filename}}</a></td> <td><a href="{{pathlink}}" target="_blank">{{path}}</a></td> <td>{{revision}}</td> <td>{{headAction}}</td> <td><a href="{{changelink}}" target="_blank">{{changelist}}</a></td> <td>{{date}}</td> </tr> {{/each}} </script> <script id="files-detailed-template" type="text/x-handlebars-template"> {{#each filedata}} <tr> <td>{{score}}</td> <td><a href="{{swarmlink}}" target="_blank"><img class="no-resize" src="{{swarmicon}}" /></a> {{#if commonslink}}<a href="{{commonslink}}" target="_blank"><img class="no-resize" src="{{commonsicon}}" /></a>{{/if}}</td> <td><a href="{{filelink}}" target="_blank">{{filename}}</a></td> <td>{{modifiedBy}}</td> <td><a href="{{pathlink}}" target="_blank">{{path}}</a></td> <td>{{revision}}</td> <td>{{headAction}}</td> <td><a href="{{changelink}}" target="_blank">{{changelist}}</a></td> <td>{{date}}</td> </tr> {{/each}} </script> <script id="fields-template" type="text/x-handlebars-template"> {{#each fields}} <tr> <td>{{name}}</td> <td>{{type}}</td> </tr> {{/each}} </script> <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> <!--[if lt IE 9]> <script src="bootstrap/js/html5shiv.js"></script> <![endif]--> <!-- Fav and touch icons --> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="bootstrap/ico/apple-touch-icon-144-precomposed.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="bootstrap/ico/apple-touch-icon-114-precomposed.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="bootstrap/ico/apple-touch-icon-72-precomposed.png"> <link rel="apple-touch-icon-precomposed" href="bootstrap/ico/apple-touch-icon-57-precomposed.png"> <link rel="shortcut icon" href="/favicon.png"> </head> <body> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="brand" href="javascript:void(0);"><img src="img/logo.png" /> Perforce Search</a> <div class="nav-collapse collapse"> <ul class="nav"> <li class="active" id="searchform"><a href="#search">Search</a></li> <li id="advancedsearchform"><a href="#advanced">Advanced</a></li> </ul> <ul class="nav pull-right"> <li class="divider-vertical"></li> <li id="username" class="dropdown" style="display: none"> <a class="dropdown-toggle" href="javascript:void(0);" data-toggle="dropdown"> <i class="icon-user icon-white"></i> <span id="userid"></span> <strong class="caret"></strong></a> </a> <ul id="optionsdropdown" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu"> <li><a tabindex="-1" href="/j_spring_security_logout" id="logout">Log out</a></li> </ul> </li> <li id="login"><a href="#login-div" role="button" data-toggle="modal">Log in</a></li> </ul> </div> </div> </div> </div> <div class="container" id="search"> <div class="input-append"> <input autocapitalize="off" class="span5 clickonenter" id="searchtext" type="text" placeholder="Type search text here" enterkey="#searchbtn"/> <button class="btn" id="searchbtn" type="button"><i class="icon-large icon-search"></i></button> </div> </div> <div class="container" style="display: none" id="advancedsearch"> <form class="form-horizontal"> <div class="control-group"> <label class="control-label" for="advancedsearchtext">Search for</label> <div class="controls"> <div class="input-append"> <input autocapitalize="off" type="text" class="span5 clickonenter" enterkey="#advancedsearchbtn" id="advancedsearchtext" placeholder="Words to search for" /> <button class="btn" id="clearbtn-text" type="button"><i class="icon-large icon-remove"></i></button> </div> </div> </div> <div class="control-group"> <label class="control-label" for="advancedsearchpath">Depot path</label> <div class="controls"> <div class="input-append"> <input autocapitalize="off" type="text" class="span5 clickonenter" enterkey="#advancedsearchbtn" id="advancedsearchpath" placeholder="Path in the server, e.g. //depot/intranet" /> <button class="btn" id="clearbtn-path" type="button"><i class="icon-large icon-remove"></i></button> </div> </div> </div> <div class="control-group"> <label class="control-label" for="advancedsearchpathparts">Path parts (CSV)</label> <div class="controls"> <div class="input-append"> <input autocapitalize="off" type="text" class="span5 clickonenter" enterkey="#advancedsearchbtn" id="advancedsearchpathparts" placeholder="Directories names, comma separated, e.g. depot, main" /> <button class="btn" id="clearbtn-parts" type="button"><i class="icon-large icon-remove"></i></button> </div> </div> </div> <div class="control-group"> <label class="control-label" for="modifiedby">Changed by</label> <div class="controls"> <div class="input-append"> <input autocapitalize="off" type="text" class="span5 clickonenter" enterkey="#advancedsearchbtn" id="modifiedby" placeholder="me, or another user id" /> <button class="btn" id="clearbtn-modifiedby" type="button"><i class="icon-large icon-remove"></i></button> </div> </div> </div> <span> <div class="control-group"> <label class="control-label" for="modifiedtime">Modified </label> <div class="controls"> <select id="modifiedtime"> <option id="hour">in the last hour</option> <option id="day">in the last day</option> <option id="week">in the last week</option> <option id="month">in the last month</option> <option id="6month">in the last 6 months</option> <option id="year">in the last year</option> <option id="ever" selected="selected">since the beginning of time</option> </select> </div> </div> <div class="control-group"> <label class="control-label" for="advancedsearchtags"><a id="indexfields" href="javascript:void(0);">Other indexed fields</a></label> <div class="controls"> <div class="input-append"> <input autocapitalize="off" type="text" class="span5 clickonenter" enterkey="#advancedsearchbtn" id="advancedsearchtags" placeholder="Comma separated field/value pairs, e.g. author:John* or headrevision:*" /> <button class="btn" id="clearbtn-tags" type="button"><i class="icon-large icon-remove"></i></button> </div> </div> </div> </span> <div class="control-group"> <div class="controls"> <div class="button-group"> <a class="btn" id="advancedsearchbtn" href="javascript:void(0);"><i class="icon-large icon-search"></i> Search</a> </div> </div> </div> </form> </div> <div class="container" id="results"> <div><span id="results-count"></span><div class="pull-right"><a id="prevpage" href="javascript:void(0);" style="display: none">< prev</a> <a id="nextpage" href="javascript:void(0);" style="display: none">next ></a></div></div> <table class="table table-striped"> <tr> <thead> <th id="scoreheader">Score</th><th></th><th>File name</th><th id="modifiedBy">Modified by</th><th>Path</th><th>Revision</th><th>Action</th><th>Change</th><th>Modified</th> </tbody> <tbody id="results-div"> </tbody> </tr> </table> <img src="images/ajax-loader.gif" id="loading-indicator" style="display: none"/> <div class="control-group error" id="search-errors"></div> </div> <!-- Modal --> <form id="login-div" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3>Log in</h3> </div> <div class="modal-body"> <div class="alert" id="login-error" style="display: none;">Invalid username or password.</div> <div class="control-group"> <label for="user">Username</label> <input autocapitalize="off" class="clickonenter" enterkey="#login-btn" type="text" id="user_username" name="user"> </div> <div class="control-group"> <label for="password">Password</label> <input autocapitalize="off" class="clickonenter" enterkey="#login-btn" type="password" id="user_password" name="password" autocomplete="off"> </div> <label class="checkbox" for="remember"> <input type="checkbox" id="remember" name="remember" checked="">Remember Me </label> </div> <div class="modal-footer"> <input type="button" name="login-btn" class="btn btn-primary" id="login-btn" value="Log in" /> </div> </form> <!-- Modal --> <div id="indexfieldsdlg" class="fields modal hide fade" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3>Field types</h3> </div> <div class="modal-body"> <table class="table table-striped"> <thead> <tr><th>Name</th><th>Type</th></tr> </thead> <tbody id="indexfieldstable"> </tbody> </table> </div> <div class="modal-footer"> <button type="button" class="close" data-dismiss="modal">×</button> </div> </form> </body> </html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 18866 | Sven Erik Knop | Updated with latest version | ||
#1 | 9795 | Sven Erik Knop |
Populate //guest/sven_erik_knop/p4search/... from //guest/perforce_software/p4search/.... |
||
//guest/perforce_software/p4search/search/webapp/src/main/webapp/ui/search.html | |||||
#2 | 9015 | Doug Scheirer | Adding paging code, more detailed results, and some scanning bug fixes to p4-search | ||
#1 | 8975 | Matt Attaway | Populate official version of p4-search from the original Doug Scheirer source | ||
//guest/doug_scheirer/p4-search/search/webapp/src/main/webapp/ui/search.html | |||||
#1 | 8476 | Doug Scheirer | p4-search copy from //depot/main/p4-search |