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
>Published date
</label>
22 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetLocalField('publishedDateRange')" *
ngIf=
"publishedDateRange !== undefined">
27 <div class=
"peertube-radio-container" *
ngFor=
"let date of publishedDateRanges">
28 <input type=
"radio" (change)=
"inputUpdated()" name=
"publishedDateRange" [id]=
"date.id" [value]=
"date.id" [(ngModel)]=
"publishedDateRange">
29 <label [for]=
"date.id" class=
"radio">{{ date.label }}
</label>
33 <div class=
"form-group">
34 <div class=
"label-container">
35 <label i18n
for=
"original-publication-after">Original publication year
</label>
36 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetOriginalPublicationYears()" *
ngIf=
"originallyPublishedStartYear || originallyPublishedEndYear">
42 <div class=
"col-sm-6">
44 (change)=
"inputUpdated()"
45 (keydown.enter)=
"$event.preventDefault()"
46 type=
"text" id=
"original-publication-after" name=
"original-publication-after"
47 i18n-placeholder
placeholder=
"After..."
48 [(ngModel)]=
"originallyPublishedStartYear"
51 <div class=
"col-sm-6">
53 (change)=
"inputUpdated()"
54 (keydown.enter)=
"$event.preventDefault()"
55 type=
"text" id=
"original-publication-before" name=
"original-publication-before"
56 i18n-placeholder
placeholder=
"Before..."
57 [(ngModel)]=
"originallyPublishedEndYear"
63 <div class=
"form-group">
64 <div class=
"radio-label label-container">
65 <label i18n
>Duration
</label>
66 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetLocalField('durationRange')" *
ngIf=
"durationRange !== undefined">
71 <div class=
"peertube-radio-container" *
ngFor=
"let duration of durationRanges">
72 <input type=
"radio" (change)=
"inputUpdated()" name=
"durationRange" [id]=
"duration.id" [value]=
"duration.id" [(ngModel)]=
"durationRange">
73 <label [for]=
"duration.id" class=
"radio">{{ duration.label }}
</label>
77 <div class=
"form-group">
78 <div class=
"radio-label label-container">
79 <label i18n
>Display sensitive content
</label>
80 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('nsfw')" *
ngIf=
"advancedSearch.nsfw !== undefined">
85 <div class=
"peertube-radio-container">
86 <input type=
"radio" name=
"sensitiveContent" id=
"sensitiveContentYes" value=
"both" [(ngModel)]=
"advancedSearch.nsfw">
87 <label i18n
for=
"sensitiveContentYes" class=
"radio">Yes
</label>
90 <div class=
"peertube-radio-container">
91 <input type=
"radio" name=
"sensitiveContent" id=
"sensitiveContentNo" value=
"false" [(ngModel)]=
"advancedSearch.nsfw">
92 <label i18n
for=
"sensitiveContentNo" class=
"radio">No
</label>
98 <div class=
"col-lg-4 col-md-6 col-xs-12">
99 <div class=
"form-group">
100 <label i18n
for=
"category">Category
</label>
101 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('categoryOneOf')" *
ngIf=
"advancedSearch.categoryOneOf !== undefined">
104 <div class=
"peertube-select-container">
105 <select id=
"category" name=
"category" [(ngModel)]=
"advancedSearch.categoryOneOf">
106 <option [value]=
"undefined" i18n
>Any or no category set
</option>
107 <option *
ngFor=
"let category of videoCategories" [value]=
"category.id">{{ category.label }}
</option>
112 <div class=
"form-group">
113 <label i18n
for=
"licence">Licence
</label>
114 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('licenceOneOf')" *
ngIf=
"advancedSearch.licenceOneOf !== undefined">
117 <div class=
"peertube-select-container">
118 <select id=
"licence" name=
"licence" [(ngModel)]=
"advancedSearch.licenceOneOf">
119 <option [value]=
"undefined" i18n
>Any or no license set
</option>
120 <option *
ngFor=
"let licence of videoLicences" [value]=
"licence.id">{{ licence.label }}
</option>
125 <div class=
"form-group">
126 <label i18n
for=
"language">Language
</label>
127 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('languageOneOf')" *
ngIf=
"advancedSearch.languageOneOf !== undefined">
130 <div class=
"peertube-select-container">
131 <select id=
"language" name=
"language" [(ngModel)]=
"advancedSearch.languageOneOf">
132 <option [value]=
"undefined" i18n
>Any or no language set
</option>
133 <option *
ngFor=
"let language of videoLanguages" [value]=
"language.id">{{ language.label }}
</option>
139 <div class=
"col-lg-4 col-md-6 col-xs-12">
140 <div class=
"form-group">
141 <label i18n
for=
"tagsAllOf">All of these tags
</label>
142 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('tagsAllOf')" *
ngIf=
"advancedSearch.tagsAllOf">
146 [(ngModel)]=
"advancedSearch.tagsAllOf" name=
"tagsAllOf" id=
"tagsAllOf"
147 [validators]=
"tagValidators" [errorMessages]=
"tagValidatorsMessages"
148 i18n-placeholder
placeholder=
"+ Tag" i18n-secondaryPlaceholder
secondaryPlaceholder=
"Enter a tag"
149 maxItems=
"5" modelAsStrings=
"true"
153 <div class=
"form-group">
154 <label i18n
for=
"tagsOneOf">One of these tags
</label>
155 <button i18n
class=
"reset-button reset-button-small" (click)=
"resetField('tagsOneOf')" *
ngIf=
"advancedSearch.tagsOneOf">
159 [(ngModel)]=
"advancedSearch.tagsOneOf" name=
"tagsOneOf" id=
"tagsOneOf"
160 [validators]=
"tagValidators" [errorMessages]=
"tagValidatorsMessages"
161 i18n-placeholder
placeholder=
"+ Tag" i18n-secondaryPlaceholder
secondaryPlaceholder=
"Enter a tag"
162 maxItems=
"5" modelAsStrings=
"true"
168 <div class=
"submit-button">
169 <button i18n
class=
"reset-button" (click)=
"reset()" *
ngIf=
"advancedSearch.size()">
173 <input type=
"submit" i18n-value
value=
"Filter">