| import './index'; |
| import { ParamSet } from '../query'; |
| import { |
| ParamSetSk, |
| ParamSetSkClickEventDetail, |
| ParamSetSkRemoveClickEventDetail, |
| ParamSetSkCheckboxClickEventDetail, |
| } from './paramset-sk'; |
| import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk'; |
| import { $$ } from '../dom'; |
| |
| const paramSet1: ParamSet = { |
| arch: ['Arm7', 'Arm64', 'x86_64', 'x86'], |
| bench_type: ['micro', 'playback', 'recording'], |
| compiler: ['GCC', 'MSVC', 'Clang'], |
| cpu_or_gpu: ['GPU', 'CPU'], |
| }; |
| |
| const paramSet2: ParamSet = { |
| arch: ['Arm7'], |
| bench_type: ['playback', 'recording'], |
| compiler: [], |
| extra_config: ['Android', 'Android_NoGPUThreads'], |
| cpu_or_gpu: ['GPU'], |
| }; |
| |
| const title1 = 'ParamSet 1'; |
| const title2 = 'ParamSet 2'; |
| |
| const allParamSetSks: ParamSetSk[] = []; |
| |
| const findParamSetSk = (selector: string): ParamSetSk => { |
| const paramSetSk = document.querySelector<ParamSetSk>(selector)!; |
| allParamSetSks.push(paramSetSk); |
| return paramSetSk; |
| }; |
| |
| let paramSetSk = findParamSetSk('#one-paramset-no-titles'); |
| paramSetSk.paramsets = [paramSet1]; |
| |
| paramSetSk = findParamSetSk('#one-paramset-with-titles'); |
| paramSetSk.paramsets = [paramSet1]; |
| paramSetSk.titles = [title1]; |
| |
| paramSetSk = findParamSetSk('#many-paramsets-no-titles'); |
| paramSetSk.paramsets = [paramSet1, paramSet2]; |
| |
| paramSetSk = findParamSetSk('#many-paramsets-with-titles'); |
| paramSetSk.paramsets = [paramSet1, paramSet2]; |
| paramSetSk.titles = [title1, title2]; |
| |
| paramSetSk = findParamSetSk('#many-paramsets-with-titles-values-clickable'); |
| paramSetSk.paramsets = [paramSet1, paramSet2]; |
| paramSetSk.titles = [title1, title2]; |
| paramSetSk.clickable_values = true; |
| |
| paramSetSk = findParamSetSk( |
| '#many-paramsets-with-titles-keys-and-values-clickable' |
| ); |
| paramSetSk.paramsets = [paramSet1, paramSet2]; |
| paramSetSk.titles = [title1, title2]; |
| paramSetSk.clickable = true; |
| |
| paramSetSk = findParamSetSk('#clickable-plus'); |
| paramSetSk.paramsets = [paramSet1]; |
| paramSetSk.titles = [title1]; |
| |
| paramSetSk = findParamSetSk('#clickable-plus-with-clickable-values'); |
| paramSetSk.paramsets = [paramSet1]; |
| paramSetSk.titles = [title1]; |
| |
| paramSetSk = findParamSetSk('#copy-content'); |
| paramSetSk.paramsets = [paramSet1]; |
| paramSetSk.titles = [title1]; |
| |
| paramSetSk = findParamSetSk('#removable-values'); |
| paramSetSk.paramsets = [paramSet1]; |
| |
| paramSetSk = findParamSetSk('#checkbox-values'); |
| paramSetSk.paramsets = [paramSet1]; |
| $$<CheckOrRadio>('#checkbox-cpu_or_gpu-GPU', paramSetSk)!.click(); |
| |
| allParamSetSks.forEach((paramSetSk) => { |
| paramSetSk.addEventListener('paramset-key-click', (e) => { |
| const detail = (e as CustomEvent<ParamSetSkClickEventDetail>).detail; |
| document.querySelector<HTMLPreElement>('#key-click-event')!.textContent = |
| JSON.stringify(detail, null, ' '); |
| }); |
| |
| paramSetSk.addEventListener('paramset-key-value-click', (e) => { |
| const detail = (e as CustomEvent<ParamSetSkClickEventDetail>).detail; |
| document.querySelector<HTMLPreElement>( |
| '#key-value-click-event' |
| )!.textContent = JSON.stringify(detail, null, ' '); |
| }); |
| |
| paramSetSk.addEventListener('plus-click', (e) => { |
| const detail = (e as CustomEvent<ParamSetSkClickEventDetail>).detail; |
| document.querySelector<HTMLPreElement>('#plus-click-event')!.textContent = |
| JSON.stringify(detail, null, ' '); |
| }); |
| |
| paramSetSk.addEventListener('paramset-value-remove-click', (e) => { |
| const detail = (e as CustomEvent<ParamSetSkRemoveClickEventDetail>).detail; |
| document.querySelector<HTMLPreElement>('#remove-click-event')!.textContent = |
| JSON.stringify(detail, null, ' '); |
| }); |
| |
| paramSetSk.addEventListener('paramset-checkbox-click', (e) => { |
| const detail = (e as CustomEvent<ParamSetSkCheckboxClickEventDetail>) |
| .detail; |
| document.querySelector<HTMLPreElement>( |
| '#paramset-checkbox-click' |
| )!.textContent = JSON.stringify(detail, null, ' '); |
| }); |
| }); |
| |
| document.querySelector('#highlight')!.addEventListener('click', () => { |
| allParamSetSks.forEach( |
| (paramSetSk) => (paramSetSk.highlight = { arch: 'Arm7', cpu_or_gpu: 'GPU' }) |
| ); |
| }); |
| |
| document.querySelector('#clear')!.addEventListener('click', () => { |
| allParamSetSks.forEach((paramSetSk) => (paramSetSk.highlight = {})); |
| }); |