Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

101 lines
4.3 KiB

<ng-container *ngIf="enableShortcut">
<sqx-shortcut keys="ctrl+shift+f" (trigger)="inputFind.focus()"></sqx-shortcut>
</ng-container>
<form [class]="formClass" (ngSubmit)="search()">
<input class="form-control form-control-expandable" #inputFind [placeholder]="placeholder"
[ngModel]="filter.query | async"
(ngModelChange)="filter.setQuery($event)"
[ngModelOptions]="{ standalone: true }" />
<ng-container *ngIf="expandable">
<a class="expand-search" (click)="searchModal.toggle()" #expand>
<i class="icon-caret-down"></i>
</a>
<sqx-onboarding-tooltip helpId="contentArchive" [for]="expand" position="bottom-right" after="60000">
Click this icon to show the advanced search menu and to show the archive!
</sqx-onboarding-tooltip>
</ng-container>
<ng-container *ngIf="queries">
<ng-container *ngIf="saveKey | async; else notBookmarked; let key">
<a class="save-search" (click)="queries.remove(key)">
<i class="icon-star-full"></i>
</a>
</ng-container>
<ng-template #notBookmarked>
<a class="save-search" (click)="saveQuery()" *ngIf="filter.query | async">
<i class="icon-star-empty"></i>
</a>
</ng-template>
</ng-container>
</form>
<sqx-onboarding-tooltip helpId="contentFind" [for]="inputFind" position="bottom-right" after="120000">
Search for content using full text search over all fields and languages!
</sqx-onboarding-tooltip>
<ng-container *sqxModal="searchModal">
<div class="dropdown-menu" [sqxAnchoredTo]="inputFind" @fade>
<div class="form-horizontal">
<div class="form-group row">
<label class="col-2 col-form-label" for="search">Text</label>
<div class="col-10">
<input type="text" class="form-control" id="search" placeholder="Fulltext search"
[ngModel]="filter.fullText | async"
(ngModelChange)="filter.setFullText($event)" />
</div>
</div>
<div class="form-group row">
<label class="col-2 col-form-label" for="filter">Filter</label>
<div class="col-10">
<input type="text" class="form-control" id="filter" placeholder="{{fieldExample}} eq [VALUE]"
[ngModel]="filter.filter | async"
(ngModelChange)="filter.setFilter($event)" />
</div>
</div>
<div class="form-group row">
<label class="col-2 col-form-label" for="orderBy">Order</label>
<div class="col-10">
<input type="text" class="form-control" id="orderBy" placeholder="{{fieldExample}} desc"
[ngModel]="filter.order | async"
(ngModelChange)="filter.setOrder($event)" />
</div>
</div>
<div class="link">
Read more about filtering in the <a href="https://docs.squidex.io/04-guides/02-api.html" sqxExternalLink>Documentation</a>.
</div>
</div>
</div>
</ng-container>
<ng-container *sqxModal="saveQueryDialog">
<form [formGroup]="saveQueryForm.form" (ngSubmit)="saveQueryComplete()">
<sqx-modal-dialog (close)="saveQueryDialog.hide()">
<ng-container title>
Name your query
</ng-container>
<ng-container content>
<div class="form-group">
<sqx-control-errors for="name" submitOnly="true" [submitted]="saveQueryForm.submitted | async"></sqx-control-errors>
<input type="text" class="form-control" id="appName" formControlName="name" autocomplete="off" sqxFocusOnInit />
</div>
</ng-container>
<ng-container footer>
<button type="reset" class="float-left btn btn-secondary" (click)="saveQueryDialog.hide()" [disabled]="saveQueryForm.submitted | async">Cancel</button>
<button type="submit" class="float-right btn btn-success">Create</button>
</ng-container>
</sqx-modal-dialog>
</form>
</ng-container>