mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
Make tags and tag suggestions able to be styled by add-ons (#2941)
* Expose tag name to add-ons via data attribute * Expose autocomplete items to add-ons as data attributes * Use common data-addon* prefix for attributes
This commit is contained in:
parent
7d37fe3daf
commit
db9aaba929
4 changed files with 14 additions and 1 deletions
|
@ -5,6 +5,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
<script lang="ts">
|
||||
export let selected = false;
|
||||
export let active = false;
|
||||
export let suggestion: string; // used by add-ons to target individual suggestions
|
||||
|
||||
let buttonRef: HTMLElement;
|
||||
|
||||
|
@ -24,6 +25,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
class="autocomplete-item"
|
||||
class:selected
|
||||
class:active
|
||||
data-addon-suggestion={suggestion}
|
||||
on:mousedown|preventDefault
|
||||
on:mouseup
|
||||
on:mouseenter
|
||||
|
|
|
@ -8,6 +8,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
let className: string = "";
|
||||
export { className as class };
|
||||
|
||||
export let tagName: string; // used by add-ons to target individual tag elements
|
||||
export let tooltip: string | undefined = undefined;
|
||||
export let selected = false;
|
||||
|
||||
|
@ -32,6 +33,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
class:flashing
|
||||
tabindex="-1"
|
||||
title={tooltip}
|
||||
data-addon-tag={tagName}
|
||||
on:mousemove
|
||||
on:click
|
||||
>
|
||||
|
|
|
@ -69,7 +69,12 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
class:empty={name === ""}
|
||||
>
|
||||
{#if active}
|
||||
<Tag class={className} on:mousemove={setControlShift} on:click={onClick}>
|
||||
<Tag
|
||||
class={className}
|
||||
tagName={name}
|
||||
on:mousemove={setControlShift}
|
||||
on:click={onClick}
|
||||
>
|
||||
{name}
|
||||
<slot {selectMode} {hoverClass} />
|
||||
</Tag>
|
||||
|
@ -77,6 +82,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
<WithTooltip {tooltip} trigger="hover" placement="top" let:createTooltip>
|
||||
<Tag
|
||||
class={className}
|
||||
tagName={name}
|
||||
bind:flash
|
||||
bind:selected
|
||||
on:mousemove={setControlShift}
|
||||
|
@ -90,6 +96,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
{:else}
|
||||
<Tag
|
||||
class={className}
|
||||
tagName={name}
|
||||
bind:flash
|
||||
bind:selected
|
||||
on:mousemove={setControlShift}
|
||||
|
|
|
@ -143,6 +143,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
<AutocompleteItem
|
||||
selected
|
||||
{active}
|
||||
{suggestion}
|
||||
on:mousedown={() => setSelectedAndActive(index)}
|
||||
on:mouseup={() => {
|
||||
selectIndex(index);
|
||||
|
@ -155,6 +156,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
</AutocompleteItem>
|
||||
{:else}
|
||||
<AutocompleteItem
|
||||
{suggestion}
|
||||
on:mousedown={() => setSelectedAndActive(index)}
|
||||
on:mouseup={() => {
|
||||
selectIndex(index);
|
||||
|
|
Loading…
Reference in a new issue