Search: Implement basic improved UI (#46758)

This commit is contained in:
Nathan Marrs
2022-03-30 09:50:32 -07:00
committed by GitHub
parent 851c54b3b1
commit 4449439a41
24 changed files with 1334 additions and 351 deletions

View File

@@ -1,4 +1,4 @@
import { DataFrame } from '../types/dataFrame';
import { DataFrame, Field } from '../types/dataFrame';
import { DisplayProcessor } from '../types';
import { FunctionalVector } from '../vector/FunctionalVector';
@@ -16,13 +16,22 @@ import { FunctionalVector } from '../vector/FunctionalVector';
export class DataFrameView<T = any> extends FunctionalVector<T> {
private index = 0;
private obj: T;
readonly fields: {
readonly [Property in keyof T]: Field<T[Property]>;
};
constructor(private data: DataFrame) {
super();
const obj = {} as unknown as T;
const fields = {} as any;
for (let i = 0; i < data.fields.length; i++) {
const field = data.fields[i];
if (!field.name) {
continue; // unsupported
}
fields[field.name] = field;
const getter = () => field.values.get(this.index);
if (!(obj as any).hasOwnProperty(field.name)) {
@@ -41,6 +50,7 @@ export class DataFrameView<T = any> extends FunctionalVector<T> {
}
this.obj = obj;
this.fields = fields;
}
get dataFrame() {

View File

@@ -21,4 +21,7 @@ export enum DataFrameType {
* All values in the grid exist and have regular spacing
*/
HeatmapScanlines = 'heatmap-scanlines',
/** Directory listing */
DirectoryListing = 'directory-listing',
}