|
|
@@ -1,26 +1,35 @@
|
|
|
|
|
|
-function MediaStorage()
|
|
|
-{
|
|
|
- this.medias = [];
|
|
|
- this.oldest = null;
|
|
|
- this.newest = null;
|
|
|
+class Media {
|
|
|
+ constructor(data) {
|
|
|
+ this.date = new Date(data.date);
|
|
|
+ this.md5sum = data.md5sum;
|
|
|
+ this.path = data.path;
|
|
|
+ this.meta = data.meta || {};
|
|
|
+ this.tags = data.tags || [];
|
|
|
+ this.thumbnail = `/api/media/thumbnail/${data.md5sum}.png`;
|
|
|
+ this.ui = null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-MediaStorage.prototype.pushAll = function(arr) {
|
|
|
- for (let i of arr) {
|
|
|
- this.medias.push(i);
|
|
|
- this.oldest = !this.oldest || this.oldest.date.getTime() < i.date.getTime() ? i : this.oldest;
|
|
|
- this.newest = !this.newest || this.newest.date.getTime() > i.date.getTime() ? i : this.newest;
|
|
|
+class MediaStorage extends EventTarget
|
|
|
+{
|
|
|
+ constructor() {
|
|
|
+ super();
|
|
|
+ this.medias = [];
|
|
|
+ this.oldest = null;
|
|
|
+ this.newest = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ pushAll(arr) {
|
|
|
+ for (let i of arr) {
|
|
|
+ this.medias.push(i);
|
|
|
+ this.oldest = !this.oldest || this.oldest.date.getTime() < i.date.getTime() ? i : this.oldest;
|
|
|
+ this.newest = !this.newest || this.newest.date.getTime() > i.date.getTime() ? i : this.newest;
|
|
|
+ }
|
|
|
+ for (let i of arr)
|
|
|
+ this.dispatchEvent(new CustomEvent("newMedia", { detail: i }));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
MediaStorage.Instance = new MediaStorage();
|
|
|
|
|
|
-function Media(data) {
|
|
|
- this.date = new Date(data.date);
|
|
|
- this.md5sum = data.md5sum;
|
|
|
- this.path = data.path;
|
|
|
- this.meta = data.meta || {};
|
|
|
- this.tags = data.tags || [];
|
|
|
- this.thumbnail = data.thumbnail;
|
|
|
-}
|