chrome-devtools-frontend
Version:
Chrome DevTools UI
46 lines (39 loc) • 1.82 kB
text/typescript
// Copyright 2020 The Chromium 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 * as EnvironmentHelpers from '../../../test/unittests/front_end/helpers/EnvironmentHelpers.js';
import * as ComponentHelpers from '../../component_helpers/component_helpers.js';
import * as Components from '../../ui/components/components.js';
await EnvironmentHelpers.initializeGlobalVars();
await ComponentHelpers.ComponentServerSetup.setup();
const component = new Components.DataGridController.DataGridController();
component.data = {
columns: [
{id: 'key', title: 'Key', sortable: true, widthWeighting: 1, visible: true, hideable: false},
{id: 'value', title: 'Value', sortable: true, widthWeighting: 1, visible: true, hideable: true},
],
rows: [
// Each key is the ID of a column, and the value is the value for that column
{cells: [{columnId: 'key', value: 'Bravo', title: 'Bravo'}, {columnId: 'value', value: 'Letter B'}]},
{cells: [{columnId: 'key', value: 'Alpha', title: 'Alpha'}, {columnId: 'value', value: 'Letter A'}]},
{cells: [{columnId: 'key', value: 'Charlie', title: 'Charlie'}, {columnId: 'value', value: 'Letter C'}]},
],
};
document.getElementById('container')?.appendChild(component);
function createRandomString(): string {
let ret = '';
for (let i = 0; i < 16; i++) {
const letter = String.fromCharCode(Math.floor(65 + Math.random() * 26));
ret += letter;
}
return ret;
}
document.getElementById('add')?.addEventListener('click', () => {
const newRow = {
cells: [{columnId: 'key', value: createRandomString()}, {columnId: 'value', value: createRandomString()}],
};
component.data = {
...component.data,
rows: [...component.data.rows, newRow],
};
});