import { $$ } from '../../../infra-sk/modules/dom';
import { ParamSet, pivot } from '../json';
import './index';
import { PivotQueryChangedEventDetail, PivotQuerySk } from './pivot-query-sk';

const validPivotRequest: pivot.Request = {
  group_by: ['config', 'os'],
  operation: 'avg',
  summary: [],
};

const paramSet = ParamSet({
  config: ['8888', '565'],
  arch: ['x86', 'risc-v'],
  model: ['Pixel2', 'Pixel3'],
});

const valid = $$<PivotQuerySk>('#valid')!;
valid.pivotRequest = validPivotRequest;
valid.paramset = paramSet;

document.addEventListener('pivot-changed', ((e: CustomEvent<PivotQueryChangedEventDetail>) => {
  $$('#results')!.textContent = JSON.stringify(e.detail, null, '  ');
}) as EventListener);
