From b44daf080c64db0a52028f993f8bb8cfd3d42d29 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Tue, 26 Dec 2023 16:31:43 -0800 Subject: [PATCH] list_widget: Remove unknown generic defaults. Signed-off-by: Anders Kaseorg --- web/src/list_widget.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/web/src/list_widget.ts b/web/src/list_widget.ts index cfc53dd471..0001028e76 100644 --- a/web/src/list_widget.ts +++ b/web/src/list_widget.ts @@ -9,7 +9,7 @@ import * as scroll_util from "./scroll_util"; type SortingFunction = (a: T, b: T) => number; -type ListWidgetMeta = { +type ListWidgetMeta = { sorting_function: SortingFunction | null; sorting_functions: Map>; filter_value: string; @@ -21,7 +21,7 @@ type ListWidgetMeta = { }; // This type ensures the mutually exclusive nature of the predicate and filterer options. -type ListWidgetFilterOpts = { +type ListWidgetFilterOpts = { $element?: JQuery; onupdate?: () => void; } & ( @@ -35,7 +35,7 @@ type ListWidgetFilterOpts = { } ); -type ListWidgetOpts = { +type ListWidgetOpts = { name?: string; get_item: (key: Key) => Item; modifier_html: (item: Item, filter_value: string) => string; @@ -55,7 +55,11 @@ type ListWidgetOpts = { $parent_container?: JQuery; }; -type ListWidget = { +type BaseListWidget = { + clear_event_handlers(): void; +}; + +type ListWidget = BaseListWidget & { get_current_list(): Item[]; filter_and_sort(): void; retain_selected_items(): void; @@ -67,7 +71,6 @@ type ListWidget = { set_reverse_mode(reverse_mode: boolean): void; set_sorting_function(sorting_function: string | SortingFunction): void; set_up_event_handlers(): void; - clear_event_handlers(): void; increase_rendered_offset(): void; reduce_rendered_offset(): void; remove_rendered_row(row: JQuery): void; @@ -81,7 +84,7 @@ type ListWidget = { const DEFAULTS = { INITIAL_RENDER_COUNT: 80, LOAD_COUNT: 20, - instances: new Map(), + instances: new Map(), }; // ---------------------------------------------------- @@ -244,7 +247,7 @@ export function render_empty_list_message_if_needed( // $container: jQuery object to append to. // list: The list of items to progressively append. // opts: An object of random preferences. -export function create( +export function create( $container: JQuery, list: Key[], opts: ListWidgetOpts, @@ -594,4 +597,4 @@ export function handle_sort($th: JQuery, list: ListWidget) list.sort(sort_type, prop_name); } -export const default_get_item = (item: T): T => item; +export const default_get_item = (item: T): T => item;