Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Unified Diff: ui/file_manager/file_manager/foreground/elements/files_metadata_box.js

Issue 2527333002: Quick View: Added Genre, Track and Duration metadata. (Closed)
Patch Set: Updated polymer element. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/file_manager/file_manager/foreground/elements/files_metadata_box.js
diff --git a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js
index 86e72e30a7db95f4e1b6158e1dcfb587fd4e1165..a6eb126d6dba68b89941319d93ca88f271f4df51 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_metadata_box.js
@@ -14,14 +14,46 @@ var FilesMetadataBox = Polymer({
mediaMimeType: String,
// File type specific metadata below.
- imageWidth: Number,
- imageHeight: Number,
- mediaAlbum: String,
- mediaArtist: String,
- mediaTitle: String,
+ imageWidth: {
+ type: Number,
+ observer: 'metadataUpdated_',
+ },
+ imageHeight: {
+ type: Number,
+ observer: 'metadataUpdated_',
+ },
+ mediaAlbum: {
+ type: String,
+ observer: 'metadataUpdated_',
+ },
+ mediaArtist: {
+ type: String,
+ observer: 'metadataUpdated_',
+ },
+ mediaDuration: {
+ type: Number,
+ observer: 'metadataUpdated_',
+ },
+ mediaGenre: {
+ type: String,
+ observer: 'metadataUpdated_',
+ },
+ mediaTitle: {
+ type: String,
+ observer: 'metadataUpdated_',
+ },
+ mediaTrack: {
+ type: Number,
+ observer: 'metadataUpdated_',
+ },
// Whether the size is the middle of loading.
isSizeLoading: Boolean,
+
+ /**
+ * @private
+ */
+ hasFileSpecificInfo_: Boolean,
},
// Clears fields.
@@ -37,6 +69,9 @@ var FilesMetadataBox = Polymer({
this.mediaTitle = '';
this.mediaArtist = '';
this.mediaAlbum = '';
+ this.mediaDuration = 0;
+ this.mediaGenre = '';
+ this.mediaTrack = 0;
this.isSizeLoading = false;
},
@@ -66,18 +101,33 @@ var FilesMetadataBox = Polymer({
isAudio_: function(type) { return type === 'audio'; },
/**
- * @param {number} imageWidth
- * @param {number} imageHeight
- * @param {string} mediaTitle
- * @param {string} mediaArtist
- * @return {boolean}
- *
+ * Update private properties computed from metadata.
* @private
*/
- hasFileSpecificInfo_: function(
- imageWidth, imageHeight, mediaTitle, mediaArtist) {
- var result = (imageWidth && imageHeight) || mediaTitle || mediaArtist;
- return !!result;
+ metadataUpdated_: function() {
+ this.hasFileSpecificInfo_ =
+ !!(this.imageWidth && this.imageHeight || this.mediaTitle ||
+ this.mediaArtist || this.mediaAlbum || this.mediaDuration ||
+ this.mediaGenre || this.mediaTrack);
+ },
+
+ /**
+ * Converts the duration into human friendly string.
+ * @param {number} time the duration in seconds.
+ * @return {string} String representation of the given duration.
+ **/
+ time2string_: function(time) {
+ if (!time)
+ return '';
+
+ var seconds = time % 60;
+ var minutes = Math.floor(time / 60) % 60;
+ var hours = Math.floor(time / 60 / 60);
+
+ if (hours === 0) {
+ return minutes + ':' + ('0' + seconds).slice(-2);
+ }
+ return hours + ':' + ('0' + minutes).slice(-2) + ('0' + seconds).slice(-2);
},
/**

Powered by Google App Engine
This is Rietveld 408576698