Make bib previews more robust.

This commit is contained in:
Shane Kilkelly 2016-05-19 11:11:23 +01:00
parent 199844db2d
commit b70a993572
2 changed files with 16 additions and 5 deletions

View file

@ -19,11 +19,11 @@ div.binary-file.full-size(
onabort="sl_binaryFilePreviewError()"
)
div(ng-if="(['bib'].indexOf(extension(openFile)) > -1) && !bibtex.error", ng-init="loadBibtexFilePreview()")
div.bib-loading(ng-if="bibtexPreview.loading")
div(ng-if="(['bib'].indexOf(extension(openFile)) > -1) && !bibtexPreview.error")
div.bib-loading(ng-show="bibtexPreview.loading == true")
| #{translate('loading')}...
div.bib-preview(ng-if="!bibtexPreview.loading && !bibtexPreview.error")
div.bib-preview(ng-show="bibtexPreview.data && !bibtexPreview.loading && !bibtexPreview.error")
div.scroll-container
p
| {{ bibtexPreview.data }}
@ -31,7 +31,7 @@ div.binary-file.full-size(
| ...
p.no-preview(
ng-if="failedLoad || bibtex.error || ['bib', 'png', 'jpg', 'jpeg', 'gif', 'pdf', 'eps'].indexOf(extension(openFile)) == -1"
ng-if="failedLoad || bibtexPreview.error || ['bib', 'png', 'jpg', 'jpeg', 'gif', 'pdf', 'eps'].indexOf(extension(openFile)) == -1"
) #{translate("no_preview_available")}
a.btn.btn-info(

View file

@ -8,11 +8,18 @@ define [
$scope.bibtexPreview =
loading: false
error: false
data: ""
data: null
$scope.failedLoad = false
$rootScope.$on 'entity:selected', () ->
$scope.failedLoad = false
$scope.loadBibtexIfRequired()
$scope.loadBibtexIfRequired = () ->
if $scope.extension($scope.openFile) == 'bib'
$scope.bibtexPreview.data = null
$timeout($scope.loadBibtexFilePreview, 0)
window.sl_binaryFilePreviewError = () =>
$scope.failedLoad = true
@ -24,6 +31,7 @@ define [
$scope.loadBibtexFilePreview = () ->
url = "/project/#{project_id}/file/#{$scope.openFile.id}?range=0-#{TWO_MEGABYTES}"
$scope.bibtexPreview.loading = true
$scope.$apply()
$http.get(url)
.success (data) ->
$scope.bibtexPreview.loading = false
@ -47,4 +55,7 @@ define [
if table_wrap.offsetHeight > desired_height
table_wrap.style.height = desired_height + 'px'
table_wrap.style['max-height'] = desired_height + 'px'
$scope.loadBibtexIfRequired()
]