diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-05-05 16:08:43 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-05-05 16:08:43 +0200 |
commit | 1f0215a908c3b447cef03c10d4b089c0788922bd (patch) | |
tree | 2968e02707debeb91dfad0c5234da90d1e59ec38 /client/src/app/videos/video-list | |
parent | c24ac1c18e26b6a24a4d294744908fb0c53ddf3c (diff) | |
download | PeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.tar.gz PeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.tar.zst PeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.zip |
Client: little refractoring
Diffstat (limited to 'client/src/app/videos/video-list')
9 files changed, 39 insertions, 33 deletions
diff --git a/client/src/app/videos/video-list/index.ts b/client/src/app/videos/video-list/index.ts index 1f6d6a4e7..71d3b78e6 100644 --- a/client/src/app/videos/video-list/index.ts +++ b/client/src/app/videos/video-list/index.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | export * from './loader.component'; | ||
1 | export * from './video-list.component'; | 2 | export * from './video-list.component'; |
2 | export * from './video-miniature.component'; | 3 | export * from './video-miniature.component'; |
3 | export * from './video-sort.component'; | 4 | export * from './video-sort.component'; |
diff --git a/client/src/app/videos/video-list/loader.component.html b/client/src/app/videos/video-list/loader.component.html new file mode 100644 index 000000000..38d06950e --- /dev/null +++ b/client/src/app/videos/video-list/loader.component.html | |||
@@ -0,0 +1,3 @@ | |||
1 | <div id="video-loading" *ngIf="loading"> | ||
2 | <div class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></div> | ||
3 | </div> | ||
diff --git a/client/src/app/videos/video-list/loader.component.scss b/client/src/app/videos/video-list/loader.component.scss new file mode 100644 index 000000000..44cf1f9da --- /dev/null +++ b/client/src/app/videos/video-list/loader.component.scss | |||
@@ -0,0 +1,22 @@ | |||
1 | // Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d | ||
2 | .glyphicon-refresh-animate { | ||
3 | -animation: spin .7s infinite linear; | ||
4 | -ms-animation: spin .7s infinite linear; | ||
5 | -webkit-animation: spinw .7s infinite linear; | ||
6 | -moz-animation: spinm .7s infinite linear; | ||
7 | } | ||
8 | |||
9 | @keyframes spin { | ||
10 | from { transform: scale(1) rotate(0deg);} | ||
11 | to { transform: scale(1) rotate(360deg);} | ||
12 | } | ||
13 | |||
14 | @-webkit-keyframes spinw { | ||
15 | from { -webkit-transform: rotate(0deg);} | ||
16 | to { -webkit-transform: rotate(360deg);} | ||
17 | } | ||
18 | |||
19 | @-moz-keyframes spinm { | ||
20 | from { -moz-transform: rotate(0deg);} | ||
21 | to { -moz-transform: rotate(360deg);} | ||
22 | } | ||
diff --git a/client/src/app/videos/video-list/loader.component.ts b/client/src/app/videos/video-list/loader.component.ts new file mode 100644 index 000000000..e72d2f3f3 --- /dev/null +++ b/client/src/app/videos/video-list/loader.component.ts | |||
@@ -0,0 +1,11 @@ | |||
1 | import { Component, Input } from '@angular/core'; | ||
2 | |||
3 | @Component({ | ||
4 | selector: 'my-loader', | ||
5 | styleUrls: [ './loader.component.scss' ], | ||
6 | templateUrl: './loader.component.html' | ||
7 | }) | ||
8 | |||
9 | export class LoaderComponent { | ||
10 | @Input() loading: boolean; | ||
11 | } | ||
diff --git a/client/src/app/videos/video-list/video-list.component.scss b/client/src/app/videos/video-list/video-list.component.scss index b48a4f125..4b4409602 100644 --- a/client/src/app/videos/video-list/video-list.component.scss +++ b/client/src/app/videos/video-list/video-list.component.scss | |||
@@ -23,19 +23,6 @@ | |||
23 | 23 | ||
24 | my-video-miniature { | 24 | my-video-miniature { |
25 | text-align: left; | 25 | text-align: left; |
26 | transition: all 0.5s ease; | ||
27 | |||
28 | &.ng-enter { | ||
29 | opacity: 0; | ||
30 | } | ||
31 | |||
32 | &.ng-enter-active { | ||
33 | opacity: 1; | ||
34 | } | ||
35 | |||
36 | &.ng-leave { | ||
37 | opacity: 0; | ||
38 | } | ||
39 | } | 26 | } |
40 | 27 | ||
41 | .no-video { | 28 | .no-video { |
diff --git a/client/src/app/videos/video-list/video-list.component.ts b/client/src/app/videos/video-list/video-list.component.ts index 16e1b5bcc..16a40bdc4 100644 --- a/client/src/app/videos/video-list/video-list.component.ts +++ b/client/src/app/videos/video-list/video-list.component.ts | |||
@@ -76,10 +76,7 @@ export class VideoListComponent implements OnInit, OnDestroy { | |||
76 | this.loading.next(true); | 76 | this.loading.next(true); |
77 | this.videos = []; | 77 | this.videos = []; |
78 | 78 | ||
79 | this.changeDetector.detectChanges(); | ||
80 | |||
81 | let observable = null; | 79 | let observable = null; |
82 | |||
83 | if (this.search.value) { | 80 | if (this.search.value) { |
84 | observable = this.videoService.searchVideos(this.search, this.pagination, this.sort); | 81 | observable = this.videoService.searchVideos(this.search, this.pagination, this.sort); |
85 | } else { | 82 | } else { |
@@ -150,8 +147,6 @@ export class VideoListComponent implements OnInit, OnDestroy { | |||
150 | } else { | 147 | } else { |
151 | this.pagination.currentPage = 1; | 148 | this.pagination.currentPage = 1; |
152 | } | 149 | } |
153 | |||
154 | this.changeDetector.detectChanges(); | ||
155 | } | 150 | } |
156 | 151 | ||
157 | private navigateToNewParams() { | 152 | private navigateToNewParams() { |
diff --git a/client/src/app/videos/video-list/video-miniature.component.html b/client/src/app/videos/video-list/video-miniature.component.html index 1d3451c2b..648ef61b1 100644 --- a/client/src/app/videos/video-list/video-miniature.component.html +++ b/client/src/app/videos/video-list/video-miniature.component.html | |||
@@ -1,4 +1,4 @@ | |||
1 | <div class="video-miniature" (mouseenter)="onHover()" (mouseleave)="onBlur()"> | 1 | <div class="video-miniature"> |
2 | <a | 2 | <a |
3 | [routerLink]="['/videos/watch', video.id]" [attr.title]="video.description" | 3 | [routerLink]="['/videos/watch', video.id]" [attr.title]="video.description" |
4 | class="video-miniature-thumbnail" | 4 | class="video-miniature-thumbnail" |
diff --git a/client/src/app/videos/video-list/video-miniature.component.scss b/client/src/app/videos/video-list/video-miniature.component.scss index f7fecdc35..c2743c3be 100644 --- a/client/src/app/videos/video-list/video-miniature.component.scss +++ b/client/src/app/videos/video-list/video-miniature.component.scss | |||
@@ -1,5 +1,3 @@ | |||
1 | @import "../../../sass/pre-customizations.scss"; | ||
2 | |||
3 | .video-miniature { | 1 | .video-miniature { |
4 | margin-top: 30px; | 2 | margin-top: 30px; |
5 | display: inline-block; | 3 | display: inline-block; |
@@ -71,7 +69,7 @@ | |||
71 | } | 69 | } |
72 | 70 | ||
73 | .video-miniature-tags { | 71 | .video-miniature-tags { |
74 | // Fix for chrome when tags a long | 72 | // Fix for chrome when tags are long |
75 | width: 201px; | 73 | width: 201px; |
76 | 74 | ||
77 | .video-miniature-tag { | 75 | .video-miniature-tag { |
@@ -81,7 +79,6 @@ | |||
81 | top: -2px; | 79 | top: -2px; |
82 | 80 | ||
83 | .label { | 81 | .label { |
84 | line-height: $line-height-base; | ||
85 | transition: background-color 0.2s; | 82 | transition: background-color 0.2s; |
86 | } | 83 | } |
87 | } | 84 | } |
diff --git a/client/src/app/videos/video-list/video-miniature.component.ts b/client/src/app/videos/video-list/video-miniature.component.ts index 13deec381..28601ca7f 100644 --- a/client/src/app/videos/video-list/video-miniature.component.ts +++ b/client/src/app/videos/video-list/video-miniature.component.ts | |||
@@ -17,8 +17,6 @@ export class VideoMiniatureComponent { | |||
17 | @Input() user: User; | 17 | @Input() user: User; |
18 | @Input() video: Video; | 18 | @Input() video: Video; |
19 | 19 | ||
20 | hovering = false; | ||
21 | |||
22 | constructor( | 20 | constructor( |
23 | private notificationsService: NotificationsService, | 21 | private notificationsService: NotificationsService, |
24 | private confirmService: ConfirmService, | 22 | private confirmService: ConfirmService, |
@@ -33,14 +31,6 @@ export class VideoMiniatureComponent { | |||
33 | return this.video.name; | 31 | return this.video.name; |
34 | } | 32 | } |
35 | 33 | ||
36 | onBlur() { | ||
37 | this.hovering = false; | ||
38 | } | ||
39 | |||
40 | onHover() { | ||
41 | this.hovering = true; | ||
42 | } | ||
43 | |||
44 | isVideoNSFWForThisUser() { | 34 | isVideoNSFWForThisUser() { |
45 | return this.video.isVideoNSFWForUser(this.user); | 35 | return this.video.isVideoNSFWForUser(this.user); |
46 | } | 36 | } |