Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit b4c5856

Browse files
committed
Merge pull request #27 from appirio-tech/view-files
Add Previews for Files in Image Viewer
2 parents 3c46254 + 0bd2537 commit b4c5856

File tree

5 files changed

+58
-4
lines changed

5 files changed

+58
-4
lines changed

src/.DS_Store

2 KB
Binary file not shown.

src/images/file-icon.svg

Lines changed: 23 additions & 0 deletions
Loading

src/scripts/controllers/image-viewer.controller.coffee

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ ImageViewerController = ->
1919

2020
vm.onFileChange({file: vm.file}) if vm.onFileChange
2121

22+
vm.isImage = (file) ->
23+
pattern = new RegExp('image.*')
24+
testFile = if file then file else vm.file
25+
pattern.test(testFile.type)
26+
2227
vm.viewNext = ->
2328
update(vm.currentIndex + 1)
2429

src/styles/image-viewer.scss

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,30 @@ image-slide-viewer {
3838
text-align: center;
3939

4040
&.small, &.fit {
41-
img {
41+
.preview {
4242
position: absolute;
4343
top: 50%;
4444
left: 50%;
4545
transform: translateY(-50%) translateX(-50%);
4646
max-width: 100%;
4747
max-height: 100%;
48+
49+
&.file {
50+
background-color: $gray;
51+
height: 200px;
52+
width: 400px;
53+
min-width: 100px;
54+
min-height: 50px;
55+
56+
img {
57+
max-height: 100px;
58+
max-width: 100px;
59+
position: inherit;
60+
top: inherit;
61+
left: inherit;
62+
transform: inherit;
63+
}
64+
}
4865
}
4966
}
5067

@@ -85,11 +102,14 @@ image-slide-viewer {
85102
}
86103

87104
button {
88-
img {
105+
img, a {
89106
width : 60px;
90107
height : 50px;
91108
display: block;
92109
}
110+
.preview-container {
111+
background-color: $gray;
112+
}
93113
}
94114
}
95115
}

src/views/image-viewer.directive.jade

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ main.flex.column.light-bg
1010
button.clean.icon.arrow
1111

1212
.image-container.flex-grow(ng-class="{ 'small' : !vm.largeImage, 'fit' : vm.largeImage && !vm.zoom, 'full elevated': vm.largeImage && vm.zoom }")
13-
img.preview-image(ng-src="{{vm.file.url}}" ng-click="vm.toggleZoom()" ng-class="{ 'elevated': !vm.largeImage || (vm.largeImage && !vm.zoom) }")
13+
img.preview(ng-if="vm.isImage()" ng-src="{{vm.file.url}}" ng-click="vm.toggleZoom()" ng-class="{ 'elevated': !vm.largeImage || (vm.largeImage && !vm.zoom) }")
14+
15+
a.preview.file.flex.center.middle(ng-if="!vm.isImage()" href="{{vm.file.url}}" target="_blank")
16+
img(ng-src=require('../images/file-icon.svg'))
1417

1518
.next.flex
1619
a.arrow-next(ng-class="{invisible: !vm.nextFile}" ng-click="vm.viewNext()")
@@ -19,6 +22,9 @@ main.flex.column.light-bg
1922
ul.thumbnails
2023
li.thumbnail(ng-repeat="file in vm.files" ng-class="{ elevated: !vm.isCurrent(file) }")
2124
button.clean(ng-click="vm.selectFile(file)")
22-
img(ng-src="{{ file.url }}")
25+
img(ng-src="{{ file.url }}" ng-if="vm.isImage(file)")
26+
27+
a.preview-container.flex.middle.center(ng-if="!vm.isImage(file)")
28+
img(ng-src=require('../images/file-icon.svg'))
2329

2430
.notification.absolute(ng-if="file.unreadMessages > 0 && vm.showNotifications") {{ file.unreadMessages }}

0 commit comments

Comments
 (0)