dbappobj highlight

This commit is contained in:
SPRINX0\prochazka
2024-11-20 08:16:13 +01:00
parent 598674a7e0
commit 5db8f11fd6
3 changed files with 27 additions and 2 deletions

View File

@@ -14,6 +14,7 @@
export let module = null; export let module = null;
export let isBold = false; export let isBold = false;
export let isChoosed = false;
export let isBusy = false; export let isBusy = false;
export let statusIcon = undefined; export let statusIcon = undefined;
export let statusIconBefore = undefined; export let statusIconBefore = undefined;
@@ -71,11 +72,16 @@
$: if (isBold && domDiv) { $: if (isBold && domDiv) {
domDiv.scrollIntoView({ block: 'nearest', inline: 'nearest' }); domDiv.scrollIntoView({ block: 'nearest', inline: 'nearest' });
} }
$: if (isChoosed && domDiv) {
domDiv.scrollIntoView({ block: 'nearest', inline: 'nearest' });
}
</script> </script>
<div <div
class="main" class="main"
class:isBold class:isBold
class:isChoosed
draggable={true} draggable={true}
on:click={handleClick} on:click={handleClick}
on:mouseup={handleMouseUp} on:mouseup={handleMouseUp}
@@ -186,6 +192,12 @@
.isBold { .isBold {
font-weight: bold; font-weight: bold;
} }
.isChoosed {
background-color: var(--theme-bg-3);
}
:global(.app-object-list-focused) .isChoosed {
background-color: var(--theme-bg-selected);
}
.status { .status {
margin-left: 5px; margin-left: 5px;
} }

View File

@@ -921,7 +921,7 @@
onPin={isPinned ? null : () => pinnedTables.update(list => [...list, data])} onPin={isPinned ? null : () => pinnedTables.update(list => [...list, data])}
onUnpin={isPinned ? () => pinnedTables.update(list => list.filter(x => !testEqual(x, data))) : null} onUnpin={isPinned ? () => pinnedTables.update(list => list.filter(x => !testEqual(x, data))) : null}
extInfo={getExtInfo(data)} extInfo={getExtInfo(data)}
isBold={matchDatabaseObjectAppObject($selectedDatabaseObjectAppObject, data)} isChoosed={matchDatabaseObjectAppObject($selectedDatabaseObjectAppObject, data)}
on:click={() => handleClick()} on:click={() => handleClick()}
on:middleclick={() => handleClick(true)} on:middleclick={() => handleClick(true)}
on:dblclick={() => handleClick(false, true)} on:dblclick={() => handleClick(false, true)}

View File

@@ -7,6 +7,8 @@
export let getSelectedObject; export let getSelectedObject;
export let selectedObjectMatcher; export let selectedObjectMatcher;
let isListFocused = false;
function handleKeyDown(ev) { function handleKeyDown(ev) {
function selectByDiff(diff) { function selectByDiff(diff) {
const selected = getSelectedObject(); const selected = getSelectedObject();
@@ -26,7 +28,18 @@
} }
</script> </script>
<div tabindex="0" on:keydown={handleKeyDown} class="wrapper"> <div
tabindex="0"
on:keydown={handleKeyDown}
class="wrapper"
class:app-object-list-focused={isListFocused}
on:focus={() => {
isListFocused = true;
}}
on:blur={() => {
isListFocused = false;
}}
>
<slot /> <slot />
</div> </div>