perf(08-02): migrate track-list and queue-panel virtualizers to repeat() directive
- track-list uses repeat() with FilePath key for efficient DOM reuse - queue-panel uses repeat() with QueueTrack.id key - Removed .renderItem property, kept .items for virtualization sizing
This commit is contained in:
@@ -25,6 +25,7 @@ import {
|
||||
DEFAULT_COLUMN_IDS,
|
||||
} from './columns';
|
||||
import type { ColumnDef } from './columns';
|
||||
import { repeat } from 'lit/directives/repeat.js';
|
||||
import {
|
||||
rankTracks,
|
||||
highlightText,
|
||||
@@ -1736,9 +1737,12 @@ export class TrackList extends LitElement implements SelectionHost, ContextMenuH
|
||||
<lit-virtualizer
|
||||
scroller
|
||||
.items=${visibleTracks}
|
||||
.renderItem=${this.renderTrackRow}
|
||||
.layout=${this.flowLayout}
|
||||
></lit-virtualizer>
|
||||
>${repeat(
|
||||
visibleTracks,
|
||||
(track) => track.FilePath,
|
||||
(track, index) => this.renderTrackRow(track, index),
|
||||
)}</lit-virtualizer>
|
||||
`}
|
||||
|
||||
${this.searchCtrl.term && visibleTracks.length > 0
|
||||
|
||||
Reference in New Issue
Block a user