mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-02 21:42:15 +08:00
fix(client): note icon not hiding after switching notes (closes #964)
This commit is contained in:
parent
06e1b0f720
commit
4ac57c6b46
@ -5,6 +5,7 @@ import server from "../services/server.js";
|
|||||||
import type FNote from "../entities/fnote.js";
|
import type FNote from "../entities/fnote.js";
|
||||||
import type { EventData } from "../components/app_context.js";
|
import type { EventData } from "../components/app_context.js";
|
||||||
import type { Icon } from "./icon_list.js";
|
import type { Icon } from "./icon_list.js";
|
||||||
|
import { Dropdown } from "bootstrap";
|
||||||
|
|
||||||
const TPL = `
|
const TPL = `
|
||||||
<div class="note-icon-widget dropdown">
|
<div class="note-icon-widget dropdown">
|
||||||
@ -88,6 +89,7 @@ interface IconToCountCache {
|
|||||||
|
|
||||||
export default class NoteIconWidget extends NoteContextAwareWidget {
|
export default class NoteIconWidget extends NoteContextAwareWidget {
|
||||||
|
|
||||||
|
private dropdown!: bootstrap.Dropdown;
|
||||||
private $icon!: JQuery<HTMLElement>;
|
private $icon!: JQuery<HTMLElement>;
|
||||||
private $iconList!: JQuery<HTMLElement>;
|
private $iconList!: JQuery<HTMLElement>;
|
||||||
private $iconCategory!: JQuery<HTMLElement>;
|
private $iconCategory!: JQuery<HTMLElement>;
|
||||||
@ -96,6 +98,8 @@ export default class NoteIconWidget extends NoteContextAwareWidget {
|
|||||||
|
|
||||||
doRender() {
|
doRender() {
|
||||||
this.$widget = $(TPL);
|
this.$widget = $(TPL);
|
||||||
|
this.dropdown = Dropdown.getOrCreateInstance(this.$widget.find("[data-bs-toggle='dropdown']")[0]);
|
||||||
|
|
||||||
this.$icon = this.$widget.find("button.note-icon");
|
this.$icon = this.$widget.find("button.note-icon");
|
||||||
this.$iconList = this.$widget.find(".icon-list");
|
this.$iconList = this.$widget.find(".icon-list");
|
||||||
this.$iconList.on("click", "span", async (e) => {
|
this.$iconList.on("click", "span", async (e) => {
|
||||||
@ -130,6 +134,7 @@ export default class NoteIconWidget extends NoteContextAwareWidget {
|
|||||||
|
|
||||||
async refreshWithNote(note: FNote) {
|
async refreshWithNote(note: FNote) {
|
||||||
this.$icon.removeClass().addClass(`${note.getIcon()} note-icon`);
|
this.$icon.removeClass().addClass(`${note.getIcon()} note-icon`);
|
||||||
|
this.dropdown.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {
|
async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user