Bladeren bron

Split up mimeType filter

Danilo Bargen 8 jaren geleden
bovenliggende
commit
cd8af79e2a
2 gewijzigde bestanden met toevoegingen van 21 en 12 verwijderingen
  1. 8 4
      src/directives/message_media.html
  2. 13 8
      src/filters.ts

+ 8 - 4
src/directives/message_media.html

@@ -60,6 +60,7 @@
 
     <!-- Other file messages -->
     <div class="file-message" ng-if="ctrl.type === 'file' && !ctrl.isAnimGif" ng-click="ctrl.download()">
+
         <!-- Loading indicator -->
         <div class="circle"
              ng-class="{active: !ctrl.downloading}"
@@ -68,21 +69,24 @@
             <i class="material-icons md-24">file_download</i>
             <div class="loading" ng-class="{active: ctrl.downloading}"></div>
         </div>
-        <!-- Open Indicator -->
+
+        <!-- File type indicator -->
         <div class="circle"
              ng-if="ctrl.downloaded && ctrl.message.thumbnail.preview !== undefined"
              ng-style="{'background-image': 'url({{ctrl.message.thumbnail.preview | bufferToUrl: 'image/png'}})' }">
         </div>
-
         <div class="circle"
              ng-if="ctrl.downloaded && ctrl.message.thumbnail.preview == undefined">
-            <img ng-src="{{ ctrl.message.file.type | mimeType: false }}"/>
+            <img ng-src="{{ ctrl.message.file.type | mimeTypeIcon }}"/>
         </div>
+
+        <!-- File information -->
         <div class="info">
             <p>{{ctrl.message.file.name}}</p>
-            <p>{{ctrl.message.file.type | mimeType: true}}</p>
+            <p>{{ctrl.message.file.type | mimeTypeLabel}}</p>
             <p>{{ctrl.message.file.size | fileSize}}</p>
         </div>
+
     </div>
 </div>
 <!-- Ballot -->

+ 13 - 8
src/filters.ts

@@ -236,14 +236,19 @@ angular.module('3ema.filters', [])
         return (x + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]);
     };
 })
-.filter('mimeType', ['MimeService', function(mimeService: MimeService) {
-    return (mimeType: string, asText: boolean = true) => {
-        if (asText) {
-            return mimeService.getLabel(mimeType);
-        } else {
-            return mimeService.getIconUrl(mimeType);
-        }
-    };
+
+/**
+ * Return the MIME type label.
+ */
+.filter('mimeTypeLabel', ['MimeService', function(mimeService: MimeService) {
+    return (mimeType: string) => mimeService.getLabel(mimeType);
+}])
+
+/**
+ * Return the MIME type icon URL.
+ */
+.filter('mimeTypeIcon', ['MimeService', function(mimeService: MimeService) {
+    return (mimeType: string) => mimeService.getIconUrl(mimeType);
 }])
 
 /**