blob: a174a0c89efbabd17f3db13ed2e3339bb8ac40ae [file] [log] [blame]
// 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));
}
});