import { ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { Location } from '@angular/common'
-import { isInMobileView } from '@app/shared/misc/utils'
import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
import { NotificationsService } from 'angular2-notifications'
import { fromEvent, Observable, Subscription } from 'rxjs'
import { ComponentPagination } from '../rest/component-pagination.model'
import { VideoSortField } from './sort-field.type'
import { Video } from './video.model'
+import { I18n } from '@ngx-translate/i18n-polyfill'
+import { ScreenService } from '@app/shared/misc/screen.service'
+import { OwnerDisplayType } from '@app/shared/video/video-miniature.component'
export abstract class AbstractVideoList implements OnInit, OnDestroy {
private static LINES_PER_PAGE = 4
totalItems: null
}
sort: VideoSortField = '-publishedAt'
+ categoryOneOf?: number
defaultSort: VideoSortField = '-publishedAt'
syndicationItems = []
videoWidth: number
videoHeight: number
videoPages: Video[][] = []
+ ownerDisplayType: OwnerDisplayType = 'account'
protected baseVideoWidth = 215
protected baseVideoHeight = 230
protected abstract authService: AuthService
protected abstract router: Router
protected abstract route: ActivatedRoute
+ protected abstract screenService: ScreenService
+ protected abstract i18n: I18n
protected abstract location: Location
protected abstract currentRoute: string
abstract titlePage: string
},
error => {
this.loadingPage[page] = false
- this.notificationsService.error('Error', error.message)
+ this.notificationsService.error(this.i18n('Error'), error.message)
}
)
}
protected loadRouteParams (routeParams: { [ key: string ]: any }) {
this.sort = routeParams['sort'] as VideoSortField || this.defaultSort
-
+ this.categoryOneOf = routeParams['categoryOneOf']
if (routeParams['page'] !== undefined) {
this.pagination.currentPage = parseInt(routeParams['page'], 10)
} else {
}
private calcPageSizes () {
- if (isInMobileView() || this.baseVideoWidth === -1) {
+ if (this.screenService.isInMobileView() || this.baseVideoWidth === -1) {
this.pagination.itemsPerPage = 5
// Video takes all the width