From 82db036bfb1d1c8581c5bebe93bb122caad71d7c Mon Sep 17 00:00:00 2001 From: Bao Nguyen Date: Tue, 14 Feb 2023 12:01:37 +0700 Subject: [PATCH] enable draggability for icons on desktop --- src/routes/xp/desktop_folder.svelte | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/routes/xp/desktop_folder.svelte b/src/routes/xp/desktop_folder.svelte index 53b2738..4347534 100644 --- a/src/routes/xp/desktop_folder.svelte +++ b/src/routes/xp/desktop_folder.svelte @@ -8,7 +8,7 @@ import { onMount, tick } from 'svelte'; import short from 'short-uuid'; import {get, set} from 'idb-keyval'; - import { filter, map } from 'lodash'; + import { filter, map, transform } from 'lodash'; import DragSelect from 'dragselect'; import RecycleBin from '../../lib/components/xp/RecycleBin.svelte'; import { parse_dir } from '../../lib/dir_parser'; @@ -27,14 +27,22 @@ const ds = new DragSelect({ customStyles: false, - draggability: false + draggability: true }); ds.subscribe('callback', (e) => { - $selectingItems = e.items + for(let node of e.items){ + let fs_id = node.getAttribute('fs-id'); + if(fs_id == null) continue; + if($hardDrive[fs_id] == null) continue; + if(utils.is_empty(node.style.transform)) continue; + + $hardDrive[fs_id]['desktop_css_transform'] = node.style.transform; + } + $selectingItems = e.items .map(el => el.getAttribute('fs-id')) .filter(el => $hardDrive[el] != null); - console.log($selectingItems.map(el => $hardDrive[el])); + console.log($selectingItems.map(el => $hardDrive[el])); }); const observer = new MutationObserver(mutations => { ds.setSettings({ @@ -223,7 +231,7 @@
open(item.id)} on:contextmenu={(e) => on_rightclick(e, item)} - + style:transform="{item.desktop_css_transform}" style:width="{cell_size}px" style:height="{cell_size}px">