1 <form role=
"form" (ngSubmit)=
"formUpdated()">
4 <div class=
"col-lg-4 col-md-6 col-xs-12">
5 <div class=
"form-group">
6 <div class=
"radio-label label-container">
7 <label i18n
>Sort
</label>
8 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('sort', '-match')" *
ngIf=
"advancedSearch.sort !== '-match'">
13 <div class=
"peertube-radio-container" *
ngFor=
"let sort of sorts">
14 <input type=
"radio" name=
"sort" [id]=
"sort.id" [value]=
"sort.id" [(ngModel)]=
"advancedSearch.sort">
15 <label [for]=
"sort.id" class=
"radio">{{ sort.label }}
</label>
19 <div class=
"form-group">
20 <div class=
"radio-label label-container">
21 <label i18n
>Display sensitive content
</label>
22 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('nsfw')" *
ngIf=
"advancedSearch.nsfw !== undefined">
27 <div class=
"peertube-radio-container">
28 <input type=
"radio" name=
"sensitiveContent" id=
"sensitiveContentYes" value=
"both" [(ngModel)]=
"advancedSearch.nsfw">
29 <label i18n
for=
"sensitiveContentYes" class=
"radio">Yes
</label>
32 <div class=
"peertube-radio-container">
33 <input type=
"radio" name=
"sensitiveContent" id=
"sensitiveContentNo" value=
"false" [(ngModel)]=
"advancedSearch.nsfw">
34 <label i18n
for=
"sensitiveContentNo" class=
"radio">No
</label>
38 <div class=
"form-group">
39 <div class=
"radio-label label-container">
40 <label i18n
>Published date
</label>
41 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetLocalField('publishedDateRange')" *
ngIf=
"publishedDateRange !== undefined">
46 <div class=
"peertube-radio-container" *
ngFor=
"let date of publishedDateRanges">
47 <input type=
"radio" (change)=
"inputUpdated()" name=
"publishedDateRange" [id]=
"date.id" [value]=
"date.id" [(ngModel)]=
"publishedDateRange">
48 <label [for]=
"date.id" class=
"radio">{{ date.label }}
</label>
52 <div class=
"form-group">
53 <div class=
"label-container">
54 <label i18n
for=
"original-publication-after">Original publication year
</label>
55 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetOriginalPublicationYears()" *
ngIf=
"originallyPublishedStartYear || originallyPublishedEndYear">
61 <div class=
"pl-0 col-sm-6">
63 (change)=
"inputUpdated()"
64 (keydown.enter)=
"$event.preventDefault()"
65 type=
"text" id=
"original-publication-after" name=
"original-publication-after"
66 i18n-placeholder
placeholder=
"After..."
67 [(ngModel)]=
"originallyPublishedStartYear"
71 <div class=
"pr-0 col-sm-6">
73 (change)=
"inputUpdated()"
74 (keydown.enter)=
"$event.preventDefault()"
75 type=
"text" id=
"original-publication-before" name=
"original-publication-before"
76 i18n-placeholder
placeholder=
"Before..."
77 [(ngModel)]=
"originallyPublishedEndYear"
86 <div class=
"col-lg-4 col-md-6 col-xs-12">
87 <div class=
"form-group">
88 <div class=
"radio-label label-container">
89 <label i18n
>Duration
</label>
90 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetLocalField('durationRange')" *
ngIf=
"durationRange !== undefined">
95 <div class=
"peertube-radio-container" *
ngFor=
"let duration of durationRanges">
96 <input type=
"radio" (change)=
"inputUpdated()" name=
"durationRange" [id]=
"duration.id" [value]=
"duration.id" [(ngModel)]=
"durationRange">
97 <label [for]=
"duration.id" class=
"radio">{{ duration.label }}
</label>
101 <div class=
"form-group">
102 <label i18n
for=
"category">Category
</label>
103 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('categoryOneOf')" *
ngIf=
"advancedSearch.categoryOneOf !== undefined">
106 <div class=
"peertube-select-container">
107 <select id=
"category" name=
"category" [(ngModel)]=
"advancedSearch.categoryOneOf" class=
"form-control">
108 <option [value]=
"undefined" i18n
>Display all categories
</option>
109 <option *
ngFor=
"let category of videoCategories" [value]=
"category.id">{{ category.label }}
</option>
114 <div class=
"form-group">
115 <label i18n
for=
"licence">Licence
</label>
116 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('licenceOneOf')" *
ngIf=
"advancedSearch.licenceOneOf !== undefined">
119 <div class=
"peertube-select-container">
120 <select id=
"licence" name=
"licence" [(ngModel)]=
"advancedSearch.licenceOneOf" class=
"form-control">
121 <option [value]=
"undefined" i18n
>Display all licenses
</option>
122 <option *
ngFor=
"let licence of videoLicences" [value]=
"licence.id">{{ licence.label }}
</option>
127 <div class=
"form-group">
128 <label i18n
for=
"language">Language
</label>
129 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('languageOneOf')" *
ngIf=
"advancedSearch.languageOneOf !== undefined">
132 <div class=
"peertube-select-container">
133 <select id=
"language" name=
"language" [(ngModel)]=
"advancedSearch.languageOneOf" class=
"form-control">
134 <option [value]=
"undefined" i18n
>Display all languages
</option>
135 <option *
ngFor=
"let language of videoLanguages" [value]=
"language.id">{{ language.label }}
</option>
141 <div class=
"col-lg-4 col-md-6 col-xs-12">
142 <div class=
"form-group">
143 <label i18n
for=
"tagsAllOf">All of these tags
</label>
144 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('tagsAllOf')" *
ngIf=
"advancedSearch.tagsAllOf">
148 [(ngModel)]=
"advancedSearch.tagsAllOf" name=
"tagsAllOf" id=
"tagsAllOf"
149 [validators]=
"tagValidators" [errorMessages]=
"tagValidatorsMessages"
150 i18n-placeholder
placeholder=
"+ Tag" i18n-secondaryPlaceholder
secondaryPlaceholder=
"Enter a tag"
151 [maxItems]=
"5" [modelAsStrings]=
"true"
155 <div class=
"form-group">
156 <label i18n
for=
"tagsOneOf">One of these tags
</label>
157 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('tagsOneOf')" *
ngIf=
"advancedSearch.tagsOneOf">
161 [(ngModel)]=
"advancedSearch.tagsOneOf" name=
"tagsOneOf" id=
"tagsOneOf"
162 [validators]=
"tagValidators" [errorMessages]=
"tagValidatorsMessages"
163 i18n-placeholder
placeholder=
"+ Tag" i18n-secondaryPlaceholder
secondaryPlaceholder=
"Enter a tag"
164 [maxItems]=
"5" [modelAsStrings]=
"true"
168 <div class=
"form-group" *
ngIf=
"isSearchTargetEnabled()">
169 <div class=
"radio-label label-container">
170 <label i18n
>Search target
</label>
173 <div class=
"peertube-radio-container">
174 <input type=
"radio" name=
"searchTarget" id=
"searchTargetLocal" value=
"local" [(ngModel)]=
"advancedSearch.searchTarget">
175 <label i18n
for=
"searchTargetLocal" class=
"radio">Instance
</label>
178 <div class=
"peertube-radio-container">
179 <input type=
"radio" name=
"searchTarget" id=
"searchTargetSearchIndex" value=
"search-index" [(ngModel)]=
"advancedSearch.searchTarget">
180 <label i18n
for=
"searchTargetSearchIndex" class=
"radio">Vidiverse
</label>
186 <div class=
"submit-button">
187 <button i18n
class=
"reset-button" (click)=
"reset()" *
ngIf=
"advancedSearch.size()">
191 <input type=
"submit" i18n-value
value=
"Filter">