blob: fa124278ac32cc62fb5f82ef443ffef154fbc3ab [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Simple view for files in bootfs.
*/
class BootfsView {
constructor() {
this.bootfsResults = document.getElementById('bootfs-results');
}
async init() {
console.log('[Bootfs] - Loading all files');
this.bootfs = await post_request(location.origin + '/api/zbi/bootfs', null);
this.bootfs.sort();
}
async showFiles() {
// Clear out all the current search tiles.
while (this.bootfsResults.firstChild) {
this.bootfsResults.removeChild(this.bootfsResults.firstChild);
}
let stats = document.createElement('pre');
stats.className = 'search-stats';
stats.appendChild(document.createTextNode(this.bootfs.length + ' results'));
this.bootfsResults.appendChild(stats);
let tile = document.createElement('div');
tile.className = 'tile tile-content';
let header = document.createElement('div');
header.className = 'tile-header tile-header-search';
let title = document.createElement('span');
title.className = 'search-header-text';
title.appendChild(document.createTextNode('BootFS Files'));
header.appendChild(title);
let body = document.createElement('div');
body.className = 'tile-body';
let text = document.createElement('pre');
text.appendChild(document.createTextNode(this.bootfs.join('\n')));
body.appendChild(text);
tile.appendChild(header);
tile.appendChild(body);
this.bootfsResults.appendChild(tile);
}
}
window.onload = async function(e) {
const view = new BootfsView();
await view.init();
await view.showFiles();
}