kahuna/public/js/search/query.html (73 lines of code) (raw):
<form class="search">
<span class="search-query">
<gr-icon class="search-query__magnifier search-query__icon">search</gr-icon>
<gr-structured-query class="search-query__query"
ng-model="searchQuery.filter.query">
</gr-structured-query>
<button class="search-query__icon search-query__clear clear-button"
type="button"
title="Clear query"
ng-show="searchQuery.filter.query"
ng-click="searchQuery.resetQuery()"
aria-label="Clear search">
<gr-icon>cancel</gr-icon>
</button>
</span>
<button class="search__advanced-toggle" ng-class="searchQuery.usePermissionsFilter ? 'search__advanced-toggle-lbl' : ''"
type="button"
ng-click="searchInfo = !searchInfo"
gr-tooltip="Display advanced search information"
aria-label="Display advanced search information">
<gr-icon>info_outline</gr-icon>
</button>
<div ng-if="!searchQuery.usePermissionsFilter" class="search__modifier-container">
<button class="search__modifier-toggle"
type="button"
ng-click="filtersShown = !filtersShown ">
<gr-icon class="search__modifier-toggle__icon">filter_list</gr-icon>
<span class="search__modifier-toggle__text">Search filters</span>
</button>
<ul class="search__modifier search__filter" ng-class="filtersShown ? 'search__filter--show' : 'search__filter--hide'">
<li class="search__modifier-item search__modifier-checkbox">
<label>
<!-- minor mindfuck logic as we want an optional flag
when the option is off -->
<input type="checkbox"
ng-model="searchQuery.filter.nonFree"
ng-true-value="{{searchQuery.costFilterTrueValue}}"
ng-false-value="{{searchQuery.costFilterFalseValue}}" />
{{ searchQuery.costFilterLabel }}
<!-- TODO: Decide on correct cost filter model -->
<!--
<select ng-init="searchQuery.filter.payType = searchQuery.filter.payType || 'free'"
ng-model="searchQuery.filter.payType"
ng-options="item.value as item.label for item in searchQuery.payTypeOptions">
</select>
-->
</label>
</li>
<li ng-if="searchQuery.canUpload" id="my-uploads-checkbox" class="search__modifier-item search__modifier-checkbox">
<label>
<input type="checkbox"
ng-model="searchQuery.filter.uploadedByMe" />
My uploads
</label>
</li>
<li ng-if="searchQuery.maybeOrgOwnedValue" id="org-owned-checkbox" class="search__modifier-item search__modifier-checkbox">
<label>
<input type="checkbox"
ng-model="searchQuery.filter.orgOwned" />
{{ searchQuery.maybeOrgOwnedValue }}
</label>
</li>
<li class="search__modifier-item">
<gu-date-range class="search__date"
gu:start-date="searchQuery.dateFilter.since"
gu:end-date="searchQuery.dateFilter.until"
gu:preset-dates="searchQuery.sinceOptions"
gu:selected-field="searchQuery.dateFilter.field"
gu:fields="searchQuery.filterDateFieldsOptions"
gu:show-extras="true"
gu:first-day="1">
</gu-date-range>
</li>
</ul>
</div>
<div ng-if="!searchQuery.usePermissionsFilter" class="search__modifier-container">
<div class="search__modifier-sort">
<sort-control class="sort-control" props="searchQuery.sortProps"></sort-control>
</div>
</div>
</form>
<gr-syntax ng-if="searchInfo"></gr-syntax>