* feat(ui): start assist stats * feat(ui): design mock up for stats * feat(ui): naming... * feat(ui): types, api service, some changes for recs and loaders * feat(ui): csv export button/request * feat(ui): csv export button/request * feat(ui): format dates * feat(ui): some fixes for stats requests * fix(tracker): fix test * fix(tracker): fix ci build * fix(tracker): fix assist tests * fix(tracker): bump test coverage, fix minor bug * fix(ui): more cypress fixes * fix(ui): add proj id to socket connection * fix(ui): remove console log * fix(ui): update filters * feat(ui):fix some api keys for stats * feat(ui): fix type * feat(ui): remove unused * feat(ui): some fixes * feat(ui): some fixes 2 * fix(ui): some search fixes * fix(ui): change api keys * fix(ui): change api keys * fix(ui): pdf button fix * fix(ui): pdf button fix * fix(ui): some ui fixes after review * fix(ui): fix csv export * fix(ui): change header for pds export for stats * fix(ui): change header width for exports
67 lines
2 KiB
TypeScript
67 lines
2 KiB
TypeScript
import SimpleStore from './common/SimpleStore'
|
|
import type { Store, SessionFilesInfo } from './common/types'
|
|
|
|
import WebPlayer from './web/WebPlayer'
|
|
import WebLivePlayer from './web/WebLivePlayer'
|
|
|
|
type WebState = typeof WebPlayer.INITIAL_STATE
|
|
type WebPlayerStore = Store<WebState>
|
|
export type IWebPlayer = WebPlayer
|
|
export type IWebPlayerStore = WebPlayerStore
|
|
|
|
type WebLiveState = typeof WebLivePlayer.INITIAL_STATE
|
|
type WebLivePlayerStore = Store<WebLiveState>
|
|
export type IWebLivePlayer = WebLivePlayer
|
|
export type IWebLivePlayerStore = WebLivePlayerStore
|
|
|
|
export function createWebPlayer(
|
|
session: SessionFilesInfo,
|
|
wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore,
|
|
uiErrorHandler?: { error: (msg: string) => void }
|
|
): [IWebPlayer, IWebPlayerStore] {
|
|
let store: WebPlayerStore = new SimpleStore<WebState>({
|
|
...WebPlayer.INITIAL_STATE,
|
|
})
|
|
if (wrapStore) {
|
|
store = wrapStore(store)
|
|
}
|
|
|
|
const player = new WebPlayer(store, session, false, false, uiErrorHandler)
|
|
return [player, store]
|
|
}
|
|
|
|
|
|
export function createClickMapPlayer(
|
|
session: SessionFilesInfo,
|
|
wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore,
|
|
uiErrorHandler?: { error: (msg: string) => void }
|
|
): [IWebPlayer, IWebPlayerStore] {
|
|
let store: WebPlayerStore = new SimpleStore<WebState>({
|
|
...WebPlayer.INITIAL_STATE,
|
|
})
|
|
if (wrapStore) {
|
|
store = wrapStore(store)
|
|
}
|
|
|
|
const player = new WebPlayer(store, session, false, true, uiErrorHandler)
|
|
return [player, store]
|
|
}
|
|
|
|
export function createLiveWebPlayer(
|
|
session: SessionFilesInfo,
|
|
config: RTCIceServer[] | null,
|
|
agentId: number,
|
|
projectId: number,
|
|
wrapStore?: (s:IWebLivePlayerStore) => IWebLivePlayerStore,
|
|
uiErrorHandler?: { error: (msg: string) => void }
|
|
): [IWebLivePlayer, IWebLivePlayerStore] {
|
|
let store: WebLivePlayerStore = new SimpleStore<WebLiveState>({
|
|
...WebLivePlayer.INITIAL_STATE,
|
|
})
|
|
if (wrapStore) {
|
|
store = wrapStore(store)
|
|
}
|
|
|
|
const player = new WebLivePlayer(store, session, config, agentId, projectId, uiErrorHandler)
|
|
return [player, store]
|
|
}
|