mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-22 20:03:39 +08:00
54 lines
1.1 KiB
JavaScript
54 lines
1.1 KiB
JavaScript
import BasicWidget from "./basic_widget.js";
|
|
|
|
/**
|
|
* Base class for widgets that need to track the active tab/note
|
|
*/
|
|
export default class TabAwareWidget extends BasicWidget {
|
|
constructor() {
|
|
super();
|
|
this.noteId = null;
|
|
this.noteType = null;
|
|
this.notePath = null;
|
|
this.isActiveTab = false;
|
|
}
|
|
|
|
/**
|
|
* Called when the active note is switched
|
|
*
|
|
* @param {string} noteId
|
|
* @param {string|null} noteType
|
|
* @param {string|null} notePath
|
|
*/
|
|
async noteSwitched(noteId, noteType, notePath) {
|
|
this.noteId = noteId;
|
|
this.noteType = noteType;
|
|
this.notePath = notePath;
|
|
}
|
|
|
|
/**
|
|
* Called when the widget's tab becomes active or inactive
|
|
*
|
|
* @param {boolean} active
|
|
*/
|
|
activeTabChanged(active) {
|
|
this.isActiveTab = active;
|
|
}
|
|
|
|
/**
|
|
* Called when entities (notes, attributes, etc.) are reloaded
|
|
*/
|
|
entitiesReloaded() {}
|
|
|
|
/**
|
|
* Check if this widget is enabled
|
|
*/
|
|
isEnabled() {
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Refresh widget with current data
|
|
*/
|
|
async refresh() {}
|
|
}
|