diff options
author | Louis Chemineau <louis@chmn.me> | 2022-07-27 12:47:27 +0300 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2022-08-22 21:04:58 +0300 |
commit | c8bf3a52d6affb175b17ed3380a6f39746e1c28a (patch) | |
tree | db04fc10248c33dc05f42c760880c008b31ddb0d /src/store/files.js | |
parent | 0f2bcdaab726739e16930e73e9e00b6079374e78 (diff) |
Add Albums viewfeat/album_frontend
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'src/store/files.js')
-rw-r--r-- | src/store/files.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/store/files.js b/src/store/files.js index fa5ee4fe..278516fb 100644 --- a/src/store/files.js +++ b/src/store/files.js @@ -44,13 +44,14 @@ const mutations = { return } if (file.fileid >= 0) { - if (file.fileMetadataSize) { - file.fileMetadataSizeParsed = JSON.parse(file.fileMetadataSize.replace(/"/g, '"')) - } + file.fileMetadataSizeParsed = JSON.parse(file.fileMetadataSize?.replace(/"/g, '"') ?? '{}') file.fileMetadataSizeParsed.width = file.fileMetadataSizeParsed?.width ?? 256 file.fileMetadataSizeParsed.height = file.fileMetadataSizeParsed?.height ?? 256 } + // Make the fileId a string once and for all. + file.fileid = file.fileid.toString() + // Precalculate dates as it is expensive. file.timestamp = moment(file.lastmod).unix() // For sorting file.month = moment(file.lastmod).format('YYYYMM') // For grouping by month @@ -165,7 +166,10 @@ const actions = { deleteFiles(context, fileIds) { const semaphore = new Semaphore(5) - const files = fileIds.map(fileId => state.files[fileId]).reduce((files, file) => ({ ...files, [file.fileid]: file }), {}) + const files = fileIds + .map(fileId => state.files[fileId]) + .reduce((files, file) => ({ ...files, [file.fileid]: file }), {}) + fileIds.forEach(fileId => context.commit('deleteFile', fileId)) const promises = fileIds @@ -197,10 +201,10 @@ const actions = { const promises = fileIds .map(async (fileId) => { - await semaphore.acquire() + const symbole = await semaphore.acquire() await favoriteFile(state.files[fileId].filename, favoriteState) context.commit('favoriteFile', { fileId, favoriteState }) - return semaphore.release() + return semaphore.release(symbole) }) return Promise.all(promises) |