import { Quake } from "./quakeml.mjs"; import type { QuakeClickEventMap } from "./quakeml.mjs"; import { Channel, Station } from "./stationxml.mjs"; import type { StationClickEventMap, ChannelClickEventMap } from "./stationxml.mjs"; import { SeisPlotElement } from "./spelement.mjs"; import { SeismogramDisplayData } from "./seismogram.mjs"; import { SeismographConfig } from "./seismographconfig.mjs"; import { Zone } from "luxon"; export declare const INFO_ELEMENT = "sp-station-quake-table"; export declare const QUAKE_INFO_ELEMENT = "sp-quake-table"; export declare enum QUAKE_COLUMN { LAT = "Lat", LON = "Lon", TIME = "Time", LOCALTIME = "Local Time", MAG = "Mag", MAGTYPE = "MagType", DEPTH = "Depth", DESC = "Description", EVENTID = "EventId" } export declare enum CHANNEL_COLUMN { LAT = "Lat", LON = "Lon", AZIMUTH = "Az", DIP = "Dip", START = "Start", END = "End", ELEVATION = "Elev", DEPTH = "Depth", SOURCEID = "SourceId", CODE = "Code", NETWORK_CODE = "NetworkCode", STATION_CODE = "StationCode", LOCATION_CODE = "LocationCode", CHANNEL_CODE = "ChannelCode" } export declare enum STATION_COLUMN { LAT = "Lat", LON = "Lon", START = "Start", END = "End", ELEVATION = "Elev", SOURCEID = "SourceId", CODE = "Code", NETWORK_CODE = "NetworkCode", STATION_CODE = "StationCode", DESCRIPTION = "Description" } export declare enum SEISMOGRAM_COLUMN { START = "Start", DURATION = "Duration", END = "End", NUM_POINTS = "Num Pts", SAMPLE_RATE = "Sample Rate", SAMPLE_PERIOD = "Sample Period", SEGMENTS = "Segments", SOURCEID = "SourceId", CODE = "Codes", NETWORK_CODE = "NetworkCode", STATION_CODE = "StationCode" } export declare const DEFAULT_TEMPLATE = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n {{#each seisDataList as |sdd|}}\n \n \n \n \n \n \n \n \n \n\n {{#if sdd.channel}}\n \n \n \n \n {{else}}\n \n \n \n \n \n \n \n {{else}}\n \n \n \n \n \n {{/if}}\n {{/if}}\n \n {{/each}}\n \n
WaveformChannelEventDistAz
CodesStartDurationEndNum PtsSample RateYUnitSegLatLonElevDepthTimeLatLonMagDepthDist degDist kmAzimuthBack Azimuth
{{sdd.nslc}}{{formatIsoDate sdd.seismogram.startTime}}{{formatDuration sdd.seismogram.timeRange}}{{formatIsoDate sdd.seismogram.endTime}}{{sdd.seismogram.numPoints}}{{sdd.seismogram.sampleRate}}{{sdd.seismogram.yUnit}}{{sdd.seismogram.segments.length}}{{sdd.channel.latitude}}{{sdd.channel.longitude}}{{sdd.channel.elevation}}{{sdd.channel.depth}}no channel\n \n \n {{/if}}\n\n {{#if sdd.quake }}\n {{formatIsoDate sdd.quake.time}}{{sdd.quake.latitude}}{{sdd.quake.longitude}}{{sdd.quake.magnitude.mag}}{{sdd.quake.magnitude.type}}{{sdd.quake.depthKm}}no quake\n \n \n \n \n {{/if}}\n {{#if sdd.quake }}\n {{#if sdd.channel }}\n {{formatNumber sdd.distaz.distanceDeg 2}}{{formatNumber sdd.distaz.distanceKm 0}}{{formatNumber sdd.distaz.az 2}}{{formatNumber sdd.distaz.baz 2}}
\n"; export declare const TABLE_CSS = "\ntbody tr:nth-child(even)\n{\n background: var(--even-row-background, Cornsilk);\n}\ntbody tr:nth-child(odd)\n{\n background: var(--odd-row-background);\n}\ntable {\n display: block;\n overflow-x: auto;\n white-space: nowrap;\n}\ncaption {\n caption-side: bottom;\n}\n"; /** * Table displaying information about waveforms, quakes, channels and stations. * * The CSS vars --even-row-background and --odd-row-background will change * the color of even and odd rows. Default for odd is nothing, even is Cornsilk. * * @param seisData Array of SeismogramDisplayData for display * @param seisConfig configuration */ export declare class QuakeStationTable extends SeisPlotElement { _template: string; constructor(seisData?: Array, seisConfig?: SeismographConfig); get template(): string; set template(t: string); draw(): void; } export interface QuakeTable extends HTMLElement { addEventListener(type: E, listener: (ev: QuakeClickEventMap[E]) => any): void; } export declare class QuakeTable extends HTMLElement { _columnLabels: Map; _quakeList: Array; _rowToQuake: Map; _timezone?: Zone; _timeFormat?: any; lastSortAsc: boolean; lastSortCol: string | undefined; _columnValues: Map string | HTMLElement>; _caption?: string | HTMLElement; constructor(quakeList?: Array, columnLabels?: Map, columnValues?: Map string>); get quakeList(): Array; set quakeList(ql: Array); get columnLabels(): Map; set columnLabels(cols: Map); get columnValues(): Map string | HTMLElement>; set columnValues(cols: Map string | HTMLElement>); get timeZone(): Zone | undefined; set timeZone(timezone: Zone | undefined); get caption(): string | HTMLElement | undefined; set caption(cap: string | HTMLElement | undefined); addColumn(key: string, label: string, valueFn: (q: Quake) => string | HTMLElement): void; /** * Time format, passed to luxon toLocaleString() * https://moment.github.io/luxon/api-docs/index.html#datetimetolocalestring * @return time as a string */ get timeFormat(): any | undefined; set timeFormat(timeFormat: any | undefined); static createDefaultColumnLabels(): Map; static createDefaultColumnValues(): Map string>; addStyle(css: string, id?: string): HTMLStyleElement; findRowForQuake(q: Quake): HTMLTableRowElement | null; draw(): void; headers(): Array; populateRow(q: Quake, row: HTMLTableRowElement, index: number): void; tableToCSV(): string; getQuakeValue(q: Quake, h: string): string | HTMLElement; sort(h: string, _headerCell: HTMLTableCellElement): void; } export interface ChannelTable extends HTMLElement { addEventListener(type: E, listener: (ev: ChannelClickEventMap[E]) => any): void; } export declare class ChannelTable extends HTMLElement { _columnLabels: Map; _columnValues: Map string | HTMLElement>; _channelList: Array; _rowToChannel: Map; lastSortAsc: boolean; lastSortCol: string | undefined; _caption?: string | HTMLElement; constructor(channelList?: Array, columnLabels?: Map, columnValues?: Map string | HTMLElement>); get channelList(): Array; set channelList(ql: Array); get columnLabels(): Map; set columnLabels(cols: Map); get columnValues(): Map string | HTMLElement>; set columnValues(cols: Map string | HTMLElement>); addColumn(key: string, label: string, valueFn: (c: Channel) => string | HTMLElement): void; get caption(): string | HTMLElement | undefined; set caption(cap: string | HTMLElement | undefined); addStyle(css: string, id?: string): HTMLStyleElement; draw(): void; headers(): Array; populateRow(q: Channel, row: HTMLTableRowElement, index: number): void; tableToCSV(): string; getChannelValue(c: Channel, h: string): string | HTMLElement; static createDefaultColumnValues(): Map string | HTMLElement>; static getChannelValue(q: Channel, h: CHANNEL_COLUMN): string; sort(h: string, _headerCell: HTMLTableCellElement): void; } export declare const CHANNEL_INFO_ELEMENT = "sp-channel-table"; export interface StationTable extends HTMLElement { addEventListener(type: E, listener: (ev: StationClickEventMap[E]) => any): void; } export declare class StationTable extends HTMLElement { _columnLabels: Map; _stationList: Array; _rowToStation: Map; lastSortAsc: boolean; lastSortCol: string | undefined; _columnValues: Map string | HTMLElement>; _caption?: string | HTMLElement; constructor(stationList?: Array, columnLabels?: Map, columnValues?: Map string | HTMLElement>); get stationList(): Array; set stationList(ql: Array); get columnLabels(): Map; set columnLabels(cols: Map); get columnValues(): Map string | HTMLElement>; set columnValues(cols: Map string | HTMLElement>); addColumn(key: string, label: string, valueFn: (q: Station) => string | HTMLElement): void; get caption(): string | HTMLElement | undefined; set caption(cap: string | HTMLElement | undefined); addStyle(css: string, id?: string): HTMLStyleElement; draw(): void; headers(): Array; populateRow(q: Station, row: HTMLTableRowElement, index: number): void; tableToCSV(): string; static createDefaultColumnLabels(): Map; static createDefaultColumnValues(): Map string>; getStationValue(q: Station, h: string): string | HTMLElement; sort(h: string, _headerCell: HTMLTableCellElement): void; } export declare const STATION_INFO_ELEMENT = "sp-station-table"; export declare class SeismogramTable extends HTMLElement { _columnLabels: Map; _columnValues: Map string | HTMLElement>; _sddList: Array; _rowToSDD: Map; lastSortAsc: boolean; lastSortCol: string | undefined; _caption?: string | HTMLElement; constructor(sddList?: Array, columnLabels?: Map, columnValues?: Map string | HTMLElement>); get seisData(): Array; set seisData(ql: Array); get columnLabels(): Map; set columnLabels(cols: Map); get columnValues(): Map string | HTMLElement>; set columnValues(cols: Map string | HTMLElement>); addColumn(key: string, label: string, valueFn: (q: SeismogramDisplayData) => string | HTMLElement): void; get caption(): string | HTMLElement | undefined; set caption(cap: string | HTMLElement | undefined); addStyle(css: string, id?: string): HTMLStyleElement; draw(): void; headers(): Array; populateRow(q: SeismogramDisplayData, row: HTMLTableRowElement, index: number): void; tableToCSV(): string; getSeismogramValue(q: SeismogramDisplayData, h: string): string | HTMLElement; static createDefaultColumnValues(): Map string>; static getSeismogramValue(q: SeismogramDisplayData, h: string): string; sort(h: string, _headerCell: HTMLTableCellElement): void; } export declare const SDD_INFO_ELEMENT = "sp-seismogram-table"; export declare const latlonFormat: Intl.NumberFormat; export declare const magFormat: Intl.NumberFormat; export declare const depthFormat: Intl.NumberFormat; export declare const depthNoUnitFormat: Intl.NumberFormat; export declare const depthMeterFormat: Intl.NumberFormat; //# sourceMappingURL=infotable.d.mts.map