v8/tools/system-analyzer/map-panel/map-details.mjs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.0 KiB
JavaScript
Raw Normal View History

// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {V8CustomElement, defineCustomElement} from '../helper.mjs';
import {SelectEvent} from '../events.mjs';
defineCustomElement('./map-panel/map-details', (templateText) =>
class MapDetails extends V8CustomElement {
constructor() {
super(templateText);
this.mapDetails.addEventListener('click', () => this.handleClickSourcePositions());
this.selectedMap = undefined;
}
get mapDetails() {
return this.$('#mapDetails');
}
setSelectedMap(value) {
this.selectedMap = value;
}
set mapDetails(map){
let details = '';
if (map) {
details += 'ID: ' + map.id;
details += '\nSource location: ' + map.filePosition;
details += '\n' + map.description;
this.setSelectedMap(map);
}
this.mapDetails.innerText = details;
}
handleClickSourcePositions(){
this.dispatchEvent(new SelectEvent(this.selectedMap.filePosition));
}
});