blob: 1b1dc2bc8f3624bb8ee951eca077c964eee68ac5 [file] [log] [blame]
import './index';
import { $$ } from 'common-sk/modules/dom';
import { CorpusSelectorSk } from './corpus-selector-sk';
import { TestCorpus, customTypeCorpora, stringCorpora } from './test_data';
const handleCorpusSelected = (corpusName: string) => {
const log = $$<HTMLTextAreaElement>('#event-log')!;
log.value = `${corpusName.padEnd(15) + new Date()}\n${log.value}`;
};
// Basic example using the default corpus render function and simple string corpora.
const basicExample = new CorpusSelectorSk();
basicExample.corpora = stringCorpora;
basicExample.selectedCorpus = 'gm';
basicExample.addEventListener(
'corpus-selected', (e: Event) => handleCorpusSelected((e as CustomEvent<string>).detail));
$$('#default')!.appendChild(basicExample);
// Example using a more interesting corpus type and a custom corpus renderer function.
const withCustomRendererFn = new CorpusSelectorSk<TestCorpus>();
withCustomRendererFn.corpora = customTypeCorpora;
withCustomRendererFn.selectedCorpus = customTypeCorpora.find((c) => c.name === 'gm')!;
withCustomRendererFn.corpusRendererFn =
(corpus) => `${corpus.name} : ${corpus.untriagedCount} / ${corpus.negativeCount}`;
withCustomRendererFn.addEventListener(
'corpus-selected', (e) => handleCorpusSelected((e as CustomEvent<TestCorpus>).detail.name));
$$('#custom-fn')!.appendChild(withCustomRendererFn);
// Example using a custom corpus renderer function that produces long corpus names.
const withLongCorpusNames = new CorpusSelectorSk();
withLongCorpusNames.corpora = stringCorpora;
withLongCorpusNames.selectedCorpus = customTypeCorpora.find((c) => c.name === 'gm')!;
withLongCorpusNames.corpusRendererFn = (corpus) => `${corpus} : yadda yadda yadda yadda yadda`;
withLongCorpusNames.addEventListener(
'corpus-selected', (e) => handleCorpusSelected((e as CustomEvent<string>).detail));
$$('#custom-fn-long-corpus')!.appendChild(withLongCorpusNames);