diff --git a/static/js/app/ui.js b/static/js/app/ui.js index 80520a77..d5323d38 100644 --- a/static/js/app/ui.js +++ b/static/js/app/ui.js @@ -1120,18 +1120,19 @@ const ui = { * ================================================================ */ _bindStarClick(el) { const star = el.querySelector('.favorite-star'); - if (!star) return; - - star.addEventListener('click', (e) => { + star?.addEventListener('click', (e) => { e.stopPropagation(); e.stopImmediatePropagation(); e.preventDefault(); if (!favorites) return; - const itemId = star.dataset.itemId; - const itemType = star.dataset.itemType; - const itemName = star.dataset.itemName; + // FIXME: make a function + const itemElement = shared?.closest('.file-item'); + + const itemId = itemElement.dataset.fileId ? itemElement.dataset.fileId : itemElement.dataset.folderId; + const itemType = itemElement.dataset.fileId ? 'file' : 'folder'; + const itemName = itemElement.dataset.fileId ? itemElement.dataset.fileName : itemElement.dataset.folderName; const isActive = star.classList.contains('active'); @@ -1148,6 +1149,30 @@ const ui = { contextMenus.syncFavoriteOptionLabels(); } }); + + const shared = el.querySelector('.file-badge-shared'); + shared?.addEventListener('click', (e) => { + e.stopPropagation(); + e.stopImmediatePropagation(); + e.preventDefault(); + + // FIXME: make a function + const itemElement = shared?.closest('.file-item'); + + const itemId = itemElement.dataset.fileId ? itemElement.dataset.fileId : itemElement.dataset.folderId; + const itemType = itemElement.dataset.fileId ? 'file' : 'folder'; + const itemName = itemElement.dataset.fileId ? itemElement.dataset.fileName : itemElement.dataset.folderName; + + // TODO corrently dirty + const item = { + id: itemId, + item_id: itemId, + item_type: itemType, + item_name: itemName + }; + + contextMenus.showShareDialog(item, itemType); + }); }, /** @@ -1230,7 +1255,7 @@ const ui = {
--
${formattedDate}
- @@ -1278,7 +1303,7 @@ const ui = {
${fileSize}
${formattedDate}
-