UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 2.31 kB
import*as Common from"../../core/common/common.js";import*as TraceEngine from"../../models/trace/trace.js";import*as PerfUI from"../../ui/legacy/components/perf_ui/perf_ui.js";import*as UI from"../../ui/legacy/legacy.js";import{TimelineEventOverviewCPUActivity,TimelineEventOverviewMemory,TimelineEventOverviewNetwork,TimelineEventOverviewResponsiveness,TimelineFilmStripOverview}from"./TimelineEventOverview.js";import miniMapStyles from"./timelineMiniMap.css.js";import{TimelineUIUtils}from"./TimelineUIUtils.js";export class TimelineMiniMap extends(Common.ObjectWrapper.eventMixin(UI.Widget.VBox)){#e=new PerfUI.TimelineOverviewPane.TimelineOverviewPane("timeline");#i=[];constructor(){super(),this.element.classList.add("timeline-minimap"),this.#e.show(this.element),this.#e.addEventListener(PerfUI.TimelineOverviewPane.Events.WindowChanged,(e=>{this.dispatchEventToListeners(PerfUI.TimelineOverviewPane.Events.WindowChanged,e.data)}))}wasShown(){super.wasShown(),this.registerCSSFiles([miniMapStyles])}reset(){this.#e.reset()}setBounds(e,i){this.#e.setBounds(e,i)}setWindowTimes(e,i){this.#e.setWindowTimes(e,i)}#t(e){const i=new Map,{Meta:t,PageLoadMetrics:s}=e,n=t.mainFrameNavigations,r=TraceEngine.Helpers.Timing.microSecondsToMilliseconds(t.traceBounds.min);for(const e of n){const{startTime:t}=TraceEngine.Legacy.timesForEventInMilliseconds(e);i.set(t,TimelineUIUtils.createEventDivider(e,r))}for(const e of s.allMarkerEvents){const{startTime:t}=TraceEngine.Legacy.timesForEventInMilliseconds(e);i.set(t,TimelineUIUtils.createEventDivider(e,r))}this.#e.setMarkers(i)}#s(e){this.#e.setNavStartTimes(e.Meta.mainFrameNavigations)}setData(e){if(this.#i=[],e.traceParsedData&&(this.#t(e.traceParsedData),this.#s(e.traceParsedData),this.#i.push(new TimelineEventOverviewResponsiveness(e.traceParsedData))),e.performanceModel&&this.#i.push(new TimelineEventOverviewCPUActivity(e.performanceModel)),e.traceParsedData&&this.#i.push(new TimelineEventOverviewNetwork(e.traceParsedData)),e.settings.showScreenshots&&e.traceParsedData){const i=TraceEngine.Extras.FilmStrip.fromTraceData(e.traceParsedData);i.frames.length&&this.#i.push(new TimelineFilmStripOverview(i))}e.settings.showMemory&&e.traceParsedData&&this.#i.push(new TimelineEventOverviewMemory(e.traceParsedData)),this.#e.setOverviewControls(this.#i)}}