@genspectrum/dashboard-components 1.11.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/util.d.ts CHANGED
@@ -955,7 +955,7 @@ declare global {
955
955
 
956
956
  declare global {
957
957
  interface HTMLElementTagNameMap {
958
- 'gs-genome-data-viewer': GenomeDataViewerComponent;
958
+ 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
959
959
  }
960
960
  }
961
961
 
@@ -963,7 +963,7 @@ declare global {
963
963
  declare global {
964
964
  namespace JSX {
965
965
  interface IntrinsicElements {
966
- 'gs-genome-data-viewer': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
966
+ 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
967
967
  }
968
968
  }
969
969
  }
@@ -971,7 +971,7 @@ declare global {
971
971
 
972
972
  declare global {
973
973
  interface HTMLElementTagNameMap {
974
- 'gs-mutation-comparison-component': MutationComparisonComponent;
974
+ 'gs-genome-data-viewer': GenomeDataViewerComponent;
975
975
  }
976
976
  }
977
977
 
@@ -979,7 +979,7 @@ declare global {
979
979
  declare global {
980
980
  namespace JSX {
981
981
  interface IntrinsicElements {
982
- 'gs-mutation-comparison-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
982
+ 'gs-genome-data-viewer': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
983
983
  }
984
984
  }
985
985
  }
@@ -987,7 +987,7 @@ declare global {
987
987
 
988
988
  declare global {
989
989
  interface HTMLElementTagNameMap {
990
- 'gs-mutations': MutationsComponent;
990
+ 'gs-mutation-comparison': MutationComparisonComponent;
991
991
  }
992
992
  }
993
993
 
@@ -995,7 +995,7 @@ declare global {
995
995
  declare global {
996
996
  namespace JSX {
997
997
  interface IntrinsicElements {
998
- 'gs-mutations': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
998
+ 'gs-mutation-comparison': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
999
999
  }
1000
1000
  }
1001
1001
  }
@@ -1003,7 +1003,7 @@ declare global {
1003
1003
 
1004
1004
  declare global {
1005
1005
  interface HTMLElementTagNameMap {
1006
- 'gs-prevalence-over-time': PrevalenceOverTimeComponent;
1006
+ 'gs-mutations': MutationsComponent;
1007
1007
  }
1008
1008
  }
1009
1009
 
@@ -1011,7 +1011,7 @@ declare global {
1011
1011
  declare global {
1012
1012
  namespace JSX {
1013
1013
  interface IntrinsicElements {
1014
- 'gs-prevalence-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1014
+ 'gs-mutations': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1015
1015
  }
1016
1016
  }
1017
1017
  }
@@ -1019,7 +1019,7 @@ declare global {
1019
1019
 
1020
1020
  declare global {
1021
1021
  interface HTMLElementTagNameMap {
1022
- 'gs-aggregate': AggregateComponent;
1022
+ 'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
1023
1023
  }
1024
1024
  }
1025
1025
 
@@ -1027,7 +1027,7 @@ declare global {
1027
1027
  declare global {
1028
1028
  namespace JSX {
1029
1029
  interface IntrinsicElements {
1030
- 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1030
+ 'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1031
1031
  }
1032
1032
  }
1033
1033
  }
@@ -1035,7 +1035,7 @@ declare global {
1035
1035
 
1036
1036
  declare global {
1037
1037
  interface HTMLElementTagNameMap {
1038
- 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1038
+ 'gs-prevalence-over-time': PrevalenceOverTimeComponent;
1039
1039
  }
1040
1040
  }
1041
1041
 
@@ -1043,7 +1043,7 @@ declare global {
1043
1043
  declare global {
1044
1044
  namespace JSX {
1045
1045
  interface IntrinsicElements {
1046
- 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1046
+ 'gs-prevalence-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1047
1047
  }
1048
1048
  }
1049
1049
  }
@@ -1051,7 +1051,7 @@ declare global {
1051
1051
 
1052
1052
  declare global {
1053
1053
  interface HTMLElementTagNameMap {
1054
- 'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
1054
+ 'gs-aggregate': AggregateComponent;
1055
1055
  }
1056
1056
  }
1057
1057
 
@@ -1059,7 +1059,7 @@ declare global {
1059
1059
  declare global {
1060
1060
  namespace JSX {
1061
1061
  interface IntrinsicElements {
1062
- 'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1062
+ 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1063
1063
  }
1064
1064
  }
1065
1065
  }
@@ -1067,7 +1067,7 @@ declare global {
1067
1067
 
1068
1068
  declare global {
1069
1069
  interface HTMLElementTagNameMap {
1070
- 'gs-mutations-over-time': MutationsOverTimeComponent;
1070
+ 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1071
1071
  }
1072
1072
  }
1073
1073
 
@@ -1075,7 +1075,7 @@ declare global {
1075
1075
  declare global {
1076
1076
  namespace JSX {
1077
1077
  interface IntrinsicElements {
1078
- 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1078
+ 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1079
1079
  }
1080
1080
  }
1081
1081
  }
@@ -1083,7 +1083,7 @@ declare global {
1083
1083
 
1084
1084
  declare global {
1085
1085
  interface HTMLElementTagNameMap {
1086
- 'gs-sequences-by-location': SequencesByLocationComponent;
1086
+ 'gs-statistics': StatisticsComponent;
1087
1087
  }
1088
1088
  }
1089
1089
 
@@ -1091,7 +1091,7 @@ declare global {
1091
1091
  declare global {
1092
1092
  namespace JSX {
1093
1093
  interface IntrinsicElements {
1094
- 'gs-sequences-by-location': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1094
+ 'gs-statistics': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1095
1095
  }
1096
1096
  }
1097
1097
  }
@@ -1099,7 +1099,7 @@ declare global {
1099
1099
 
1100
1100
  declare global {
1101
1101
  interface HTMLElementTagNameMap {
1102
- 'gs-statistics': StatisticsComponent;
1102
+ 'gs-sequences-by-location': SequencesByLocationComponent;
1103
1103
  }
1104
1104
  }
1105
1105
 
@@ -1107,7 +1107,7 @@ declare global {
1107
1107
  declare global {
1108
1108
  namespace JSX {
1109
1109
  interface IntrinsicElements {
1110
- 'gs-statistics': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1110
+ 'gs-sequences-by-location': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1111
1111
  }
1112
1112
  }
1113
1113
  }
@@ -1115,11 +1115,7 @@ declare global {
1115
1115
 
1116
1116
  declare global {
1117
1117
  interface HTMLElementTagNameMap {
1118
- 'gs-date-range-filter': DateRangeFilterComponent;
1119
- }
1120
- interface HTMLElementEventMap {
1121
- [gsEventNames.dateRangeFilterChanged]: CustomEvent<Record<string, string>>;
1122
- [gsEventNames.dateRangeOptionChanged]: DateRangeOptionChangedEvent;
1118
+ 'gs-mutations-over-time': MutationsOverTimeComponent;
1123
1119
  }
1124
1120
  }
1125
1121
 
@@ -1127,7 +1123,7 @@ declare global {
1127
1123
  declare global {
1128
1124
  namespace JSX {
1129
1125
  interface IntrinsicElements {
1130
- 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1126
+ 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1131
1127
  }
1132
1128
  }
1133
1129
  }
@@ -1135,10 +1131,11 @@ declare global {
1135
1131
 
1136
1132
  declare global {
1137
1133
  interface HTMLElementTagNameMap {
1138
- 'gs-location-filter': LocationFilterComponent;
1134
+ 'gs-date-range-filter': DateRangeFilterComponent;
1139
1135
  }
1140
1136
  interface HTMLElementEventMap {
1141
- [gsEventNames.locationChanged]: LocationChangedEvent;
1137
+ [gsEventNames.dateRangeFilterChanged]: CustomEvent<Record<string, string>>;
1138
+ [gsEventNames.dateRangeOptionChanged]: DateRangeOptionChangedEvent;
1142
1139
  }
1143
1140
  }
1144
1141
 
@@ -1146,7 +1143,7 @@ declare global {
1146
1143
  declare global {
1147
1144
  namespace JSX {
1148
1145
  interface IntrinsicElements {
1149
- 'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1146
+ 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1150
1147
  }
1151
1148
  }
1152
1149
  }
@@ -1173,10 +1170,10 @@ declare global {
1173
1170
 
1174
1171
  declare global {
1175
1172
  interface HTMLElementTagNameMap {
1176
- 'gs-mutation-filter': MutationFilterComponent;
1173
+ 'gs-location-filter': LocationFilterComponent;
1177
1174
  }
1178
1175
  interface HTMLElementEventMap {
1179
- [gsEventNames.mutationFilterChanged]: CustomEvent<MutationsFilter>;
1176
+ [gsEventNames.locationChanged]: LocationChangedEvent;
1180
1177
  }
1181
1178
  }
1182
1179
 
@@ -1184,7 +1181,7 @@ declare global {
1184
1181
  declare global {
1185
1182
  namespace JSX {
1186
1183
  interface IntrinsicElements {
1187
- 'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1184
+ 'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1188
1185
  }
1189
1186
  }
1190
1187
  }
@@ -1192,11 +1189,10 @@ declare global {
1192
1189
 
1193
1190
  declare global {
1194
1191
  interface HTMLElementTagNameMap {
1195
- 'gs-lineage-filter': LineageFilterComponent;
1192
+ 'gs-mutation-filter': MutationFilterComponent;
1196
1193
  }
1197
1194
  interface HTMLElementEventMap {
1198
- [gsEventNames.lineageFilterChanged]: LineageFilterChangedEvent;
1199
- [gsEventNames.lineageFilterMultiChanged]: LineageMultiFilterChangedEvent;
1195
+ [gsEventNames.mutationFilterChanged]: CustomEvent<MutationsFilter>;
1200
1196
  }
1201
1197
  }
1202
1198
 
@@ -1204,7 +1200,7 @@ declare global {
1204
1200
  declare global {
1205
1201
  namespace JSX {
1206
1202
  interface IntrinsicElements {
1207
- 'gs-lineage-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1203
+ 'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1208
1204
  }
1209
1205
  }
1210
1206
  }
@@ -1232,7 +1228,11 @@ declare global {
1232
1228
 
1233
1229
  declare global {
1234
1230
  interface HTMLElementTagNameMap {
1235
- 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
1231
+ 'gs-lineage-filter': LineageFilterComponent;
1232
+ }
1233
+ interface HTMLElementEventMap {
1234
+ [gsEventNames.lineageFilterChanged]: LineageFilterChangedEvent;
1235
+ [gsEventNames.lineageFilterMultiChanged]: LineageMultiFilterChangedEvent;
1236
1236
  }
1237
1237
  }
1238
1238
 
@@ -1240,7 +1240,7 @@ declare global {
1240
1240
  declare global {
1241
1241
  namespace JSX {
1242
1242
  interface IntrinsicElements {
1243
- 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1243
+ 'gs-lineage-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1244
1244
  }
1245
1245
  }
1246
1246
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genspectrum/dashboard-components",
3
- "version": "1.11.1",
3
+ "version": "1.12.0",
4
4
  "description": "GenSpectrum web components for building dashboards",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -62,6 +62,7 @@ export const mutationsOverTimeResponse = makeLapisResponse(
62
62
  }),
63
63
  ),
64
64
  ),
65
+ totalCountsByDateRange: z.array(z.number()),
65
66
  }),
66
67
  );
67
68
  export type MutationsOverTimeResponse = z.infer<typeof mutationsOverTimeResponse>;
@@ -256,19 +256,6 @@ async function queryMutationsOverTimeDataDirectEndpoint(
256
256
  }> {
257
257
  const overallMutationData = await overallMutationDataPromise;
258
258
  overallMutationData.sort((a, b) => sortSubstitutionsAndDeletions(a.mutation, b.mutation));
259
- const totalCounts = await Promise.all(
260
- allDates.map(async (date) => {
261
- const filter = {
262
- ...lapisFilter,
263
- [`${lapisDateField}From`]: date.firstDay.toString(),
264
- [`${lapisDateField}To`]: date.lastDay.toString(),
265
- };
266
-
267
- const totalCountQuery = await getTotalNumberOfSequencesInDateRange(filter).evaluate(lapis, signal);
268
-
269
- return totalCountQuery.content[0].count;
270
- }),
271
- );
272
259
 
273
260
  const includeMutations = overallMutationData.map((value) => value.mutation.code);
274
261
  const apiResult = await fetchMutationsOverTime(
@@ -286,6 +273,7 @@ async function queryMutationsOverTimeDataDirectEndpoint(
286
273
  signal,
287
274
  );
288
275
 
276
+ const totalCounts = apiResult.data.totalCountsByDateRange;
289
277
  const responseMutations = apiResult.data.mutations.map(parseMutationCode);
290
278
  const mutationEntries: SubstitutionOrDeletionEntry[] = responseMutations.map((mutation, i) => {
291
279
  const numbers = {