chore(ts): get rid of bootstrap related ts-ignores

This commit is contained in:
Panagiotis Papadopoulos 2025-02-12 08:49:09 +01:00
parent cc1a01955a
commit 65ad4c3a2b
3 changed files with 9 additions and 10 deletions

View File

@ -1,3 +1,4 @@
import { Tooltip } from "bootstrap";
import NoteContextAwareWidget from "../note_context_aware_widget.js";
const TPL = `<button class="button-widget bx"
@ -17,7 +18,7 @@ export interface AbstractButtonWidgetSettings {
export default class AbstractButtonWidget<SettingsT extends AbstractButtonWidgetSettings> extends NoteContextAwareWidget {
protected settings!: SettingsT;
protected tooltip!: bootstrap.Tooltip;
protected tooltip!: Tooltip;
isEnabled(): boolean | null | undefined {
return true;
@ -25,11 +26,10 @@ export default class AbstractButtonWidget<SettingsT extends AbstractButtonWidget
doRender() {
this.$widget = $(TPL);
// Fix once bootstrap is available as non-UMD
//@ts-ignore
this.tooltip = new bootstrap.Tooltip(this.$widget, {
this.tooltip = new Tooltip(this.$widget[0], {
html: true,
title: () => this.getTitle(),
// in case getTitle() returns null -> use empty string as fallback
title: () => this.getTitle() || "",
trigger: "hover",
placement: this.settings.titlePlacement,
fallbackPlacements: [this.settings.titlePlacement]

View File

@ -7,6 +7,7 @@ import openService from "../../services/open.js";
import BasicWidget from "../basic_widget.js";
import { t } from "../../services/i18n.js";
import type { EventData } from "../../components/app_context.js";
import { Modal } from "bootstrap";
const TPL = `
<div class="export-dialog modal fade mx-auto" tabindex="-1" role="dialog">
@ -127,7 +128,7 @@ export default class ExportDialog extends BasicWidget {
private taskId: string;
private branchId: string | null;
private modal?: bootstrap.Modal;
private modal?: Modal;
private $form!: JQuery<HTMLElement>;
private $noteTitle!: JQuery<HTMLElement>;
private $subtreeFormats!: JQuery<HTMLElement>;
@ -146,9 +147,7 @@ export default class ExportDialog extends BasicWidget {
doRender() {
this.$widget = $(TPL);
// Remove once bootstrap is fixed.
// @ts-ignore
this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
this.modal = Modal.getOrCreateInstance(this.$widget[0]);
this.$form = this.$widget.find(".export-form");
this.$noteTitle = this.$widget.find(".export-note-title");
this.$subtreeFormats = this.$widget.find(".export-subtree-formats");

View File

@ -60,7 +60,7 @@ const TPL = `
export default class EditabilitySelectWidget extends NoteContextAwareWidget {
private dropdown!: bootstrap.Dropdown;
private dropdown!: Dropdown;
private $editabilityActiveDesc!: JQuery<HTMLElement>;
doRender() {