| |
| |
| |
| |
|
|
| import * as d3 from 'd3'; |
| import { SimpleEventHandler } from './utils/SimpleEventHandler'; |
| import { TextAnalysisAPI } from './api/GLTR_API'; |
| import { initForceNarrowFromStorage } from './utils/responsive'; |
| import { getTokenSurprisalColor, getByteSurprisalColor, HISTOGRAM_MIN_ALPHA } from './utils/SurprisalColorConfig'; |
| import { initClientActivityPing } from './utils/clientActivityPing'; |
|
|
| |
| |
| |
| export interface CommonAppContext { |
| eventHandler: SimpleEventHandler; |
| api: TextAnalysisAPI; |
| tokenSurprisalColorScale: (value: number) => string; |
| byteSurprisalColorScale: (value: number) => string; |
| totalSurprisalFormat: (n: number | null) => string; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| export function initializeCommonApp(apiPrefix: string = '', element?: Element): CommonAppContext { |
| initForceNarrowFromStorage(); |
| initClientActivityPing(apiPrefix); |
|
|
| |
| const targetElement = element || document.body; |
| |
| const format = d3.format('.2f'); |
| return { |
| eventHandler: new SimpleEventHandler(targetElement), |
| api: new TextAnalysisAPI(apiPrefix), |
| tokenSurprisalColorScale: (v) => getTokenSurprisalColor(v, HISTOGRAM_MIN_ALPHA), |
| byteSurprisalColorScale: (v) => getByteSurprisalColor(v, 1, HISTOGRAM_MIN_ALPHA), |
| totalSurprisalFormat: (n: number | null) => n !== null && Number.isFinite(n) ? format(n) : String(n) |
| }; |
| } |
|
|
|
|