🤖 Merge PR #55827 fix(bootstrap): modal/offcanvas toggle and show by @peterblazejewicz

- correct methods definitions to support optional related target:
https://github.com/twbs/bootstrap/blob/main/js/src/offcanvas.js#L91-L95
bdfb4cc54d/js/src/modal.js (L103-L107)

Thanks!

Fixes #55821
This commit is contained in:
Piotr Błażejewicz (Peter Blazejewicz)
2021-09-17 22:52:22 +02:00
committed by GitHub
parent 05eeed7854
commit 6cdbe55bab
3 changed files with 16 additions and 4 deletions

View File

@@ -12,6 +12,8 @@ import Tab from 'bootstrap/js/dist/tab';
import Toast from 'bootstrap/js/dist/toast';
import Tooltip from 'bootstrap/js/dist/tooltip';
declare const relatedTarget: HTMLElement;
// $ExpectType typeof Alert
Alert;
Alert.getInstance('#alert'); // $ExpectType Alert | null
@@ -34,9 +36,19 @@ Dropdown.getInstance('#dropdown'); // $ExpectType Dropdown | null
// $ExpectType typeof Modal
Modal;
Modal.getInstance('#modal'); // $ExpectType Modal | null
Modal.getInstance('#modal')!.toggle(); // $ExpectType void
Modal.getInstance('#modal')!.toggle(relatedTarget); // $ExpectType void
Modal.getInstance('#modal')!.show(); // $ExpectType void
Modal.getInstance('#modal')!.show(relatedTarget); // $ExpectType void
// $ExpectType typeof Offcanvas
Offcanvas;
Offcanvas.getInstance('#offcanvas'); // $ExpectType Offcanvas | null
Offcanvas.getInstance('#offcanvas')?.toggle();
Offcanvas.getInstance('#offcanvas')?.toggle(relatedTarget);
Offcanvas.getInstance('#offcanvas')?.show();
Offcanvas.getInstance('#offcanvas')?.show(relatedTarget);
// $ExpectType typeof Popover
Popover;
Popover.getInstance('#popover'); // $ExpectType Popover | null

View File

@@ -29,13 +29,13 @@ declare class Modal extends BaseComponent {
* actually been shown or hidden (i.e. before the shown.bs.modal or
* hidden.bs.modal event occurs).
*/
toggle(): void;
toggle(relatedTarget?: HTMLElement): void;
/**
* Manually opens a modal. Returns to the caller before the modal has
* actually been shown (i.e. before the shown.bs.modal event occurs).
*/
show(): void;
show(relatedTarget?: HTMLElement): void;
/**
* Manually hides a modal. Returns to the caller before the modal has

View File

@@ -11,9 +11,9 @@ declare class Offcanvas extends BaseComponent {
static jQueryInterface: Offcanvas.jQueryInterface;
toggle(relatedTarget: HTMLElement): void;
toggle(relatedTarget?: HTMLElement): void;
show(relatedTarget: HTMLElement): void;
show(relatedTarget?: HTMLElement): void;
hide(): void;
}