From 3ad4665ee252f10bc8d5235e346676dcd0be8422 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Thu, 16 Dec 2021 02:41:10 -0800 Subject: [PATCH] added guid's to list items for selection --- resources/cider-ui/index.js | 22 +++++++--- .../views/components/mediaitem-list-item.ejs | 44 +++++++++++-------- 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/resources/cider-ui/index.js b/resources/cider-ui/index.js index 82f6e02f..08617c2f 100644 --- a/resources/cider-ui/index.js +++ b/resources/cider-ui/index.js @@ -424,18 +424,22 @@ const app = new Vue({ }) }, select_hasMediaItem(id) { - let found = this.selectedMediaItems.find(item => item.id == id) + let found = this.selectedMediaItems.find(item => item.guid == id) if(found) { return true }else{ return false } }, - select_selectMediaItem(id, kind) { - this.selectedMediaItems.push({ - id: id, - kind: kind - }) + select_selectMediaItem(id, kind, index, guid) { + if(!this.select_hasMediaItem(guid)) { + this.selectedMediaItems.push({ + id: id, + kind: kind, + index: index, + guid: guid + }) + } }, async showCollection(response, title, type) { let self = this @@ -1857,6 +1861,12 @@ document.addEventListener('musickitloaded', function () { request.send(); }); +function uuidv4() { + return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => + (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) + ); +} + function refreshFocus() { if (document.hasFocus() == false) { app.windowFocus(false) diff --git a/resources/cider-ui/views/components/mediaitem-list-item.ejs b/resources/cider-ui/views/components/mediaitem-list-item.ejs index 2300d912..f209eb09 100644 --- a/resources/cider-ui/views/components/mediaitem-list-item.ejs +++ b/resources/cider-ui/views/components/mediaitem-list-item.ejs @@ -6,9 +6,9 @@ :data-id="item.attributes.playParams.id ?? item.id" :data-type="item.attributes.playParams.kind ?? item.type" :data-index="index" - :data-selectorder="selectedOrder" + :data-guid="guid" class="cd-mediaitem-list-item" - :class="{'mediaitem-selected': app.select_hasMediaItem(item.attributes.playParams.id ?? item.id)}"> + :class="{'mediaitem-selected': app.select_hasMediaItem(guid)}">