@genspectrum/dashboard-components 0.18.0 → 0.18.2
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/custom-elements.json +7 -7
- package/dist/{LineageFilterChangedEvent-DkvWdq_G.js → LineageFilterChangedEvent-ixHQkq8y.js} +2 -2
- package/dist/{LineageFilterChangedEvent-DkvWdq_G.js.map → LineageFilterChangedEvent-ixHQkq8y.js.map} +1 -1
- package/dist/assets/{mutationOverTimeWorker-CPfQDLe6.js.map → mutationOverTimeWorker-ChQTFL68.js.map} +1 -1
- package/dist/components.d.ts +33 -31
- package/dist/components.js +114 -63
- package/dist/components.js.map +1 -1
- package/dist/util.d.ts +28 -28
- package/dist/util.js +1 -1
- package/package.json +1 -1
- package/src/preact/components/color-scale-selector.tsx +1 -1
- package/src/preact/dateRangeFilter/computeInitialValues.spec.ts +2 -2
- package/src/preact/dateRangeFilter/computeInitialValues.ts +1 -1
- package/src/preact/dateRangeFilter/date-range-filter.stories.tsx +3 -5
- package/src/preact/dateRangeFilter/date-range-filter.tsx +12 -7
- package/src/preact/dateRangeFilter/dateRangeOption.ts +1 -1
- package/src/preact/mutationFilter/mutation-filter.tsx +1 -1
- package/src/preact/mutationsOverTime/__mockData__/aminoAcidMutationsByDay.ts +3773 -2290
- package/src/preact/mutationsOverTime/__mockData__/byWeek.ts +3012 -948
- package/src/preact/mutationsOverTime/__mockData__/defaultMockData.ts +8799 -4406
- package/src/preact/mutationsOverTime/__mockData__/showsMessageWhenTooManyMutations.ts +1836 -0
- package/src/preact/mutationsOverTime/getFilteredMutationsOverTime.spec.ts +3 -1
- package/src/preact/mutationsOverTime/mutations-over-time-grid-tooltip.stories.tsx +108 -0
- package/src/preact/mutationsOverTime/mutations-over-time-grid-tooltip.tsx +93 -0
- package/src/preact/mutationsOverTime/mutations-over-time-grid.tsx +12 -48
- package/src/preact/mutationsOverTime/mutations-over-time.tsx +2 -1
- package/src/preact/wastewater/mutationsOverTime/computeWastewaterMutationsOverTimeDataPerLocation.spec.ts +5 -5
- package/src/preact/wastewater/mutationsOverTime/computeWastewaterMutationsOverTimeDataPerLocation.ts +1 -3
- package/src/query/queryMutationsOverTime.spec.ts +28 -26
- package/src/query/queryMutationsOverTime.ts +20 -8
- package/src/web-components/input/gs-date-range-filter.stories.ts +1 -1
- package/src/web-components/input/gs-date-range-filter.tsx +7 -5
- package/standalone-bundle/assets/{mutationOverTimeWorker-CERZSdcA.js.map → mutationOverTimeWorker-jChgWnwp.js.map} +1 -1
- package/standalone-bundle/dashboard-components.js +2189 -2149
- package/standalone-bundle/dashboard-components.js.map +1 -1
package/dist/util.d.ts
CHANGED
|
@@ -138,7 +138,7 @@ declare const dateRangeOptionSchema: default_2.ZodObject<{
|
|
|
138
138
|
|
|
139
139
|
export declare type DateRangeValue = default_2.infer<typeof dateRangeValueSchema>;
|
|
140
140
|
|
|
141
|
-
declare const dateRangeValueSchema: default_2.
|
|
141
|
+
declare const dateRangeValueSchema: default_2.ZodNullable<default_2.ZodUnion<[default_2.ZodString, default_2.ZodObject<{
|
|
142
142
|
dateFrom: default_2.ZodOptional<default_2.ZodString>;
|
|
143
143
|
dateTo: default_2.ZodOptional<default_2.ZodString>;
|
|
144
144
|
}, "strip", default_2.ZodTypeAny, {
|
|
@@ -906,7 +906,7 @@ declare global {
|
|
|
906
906
|
|
|
907
907
|
declare global {
|
|
908
908
|
interface HTMLElementTagNameMap {
|
|
909
|
-
'gs-
|
|
909
|
+
'gs-mutations-component': MutationsComponent;
|
|
910
910
|
}
|
|
911
911
|
}
|
|
912
912
|
|
|
@@ -914,7 +914,7 @@ declare global {
|
|
|
914
914
|
declare global {
|
|
915
915
|
namespace JSX {
|
|
916
916
|
interface IntrinsicElements {
|
|
917
|
-
'gs-
|
|
917
|
+
'gs-mutations-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
918
918
|
}
|
|
919
919
|
}
|
|
920
920
|
}
|
|
@@ -922,7 +922,7 @@ declare global {
|
|
|
922
922
|
|
|
923
923
|
declare global {
|
|
924
924
|
interface HTMLElementTagNameMap {
|
|
925
|
-
'gs-
|
|
925
|
+
'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
|
|
926
926
|
}
|
|
927
927
|
}
|
|
928
928
|
|
|
@@ -930,7 +930,7 @@ declare global {
|
|
|
930
930
|
declare global {
|
|
931
931
|
namespace JSX {
|
|
932
932
|
interface IntrinsicElements {
|
|
933
|
-
'gs-
|
|
933
|
+
'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
934
934
|
}
|
|
935
935
|
}
|
|
936
936
|
}
|
|
@@ -938,7 +938,7 @@ declare global {
|
|
|
938
938
|
|
|
939
939
|
declare global {
|
|
940
940
|
interface HTMLElementTagNameMap {
|
|
941
|
-
'gs-
|
|
941
|
+
'gs-prevalence-over-time': PrevalenceOverTimeComponent;
|
|
942
942
|
}
|
|
943
943
|
}
|
|
944
944
|
|
|
@@ -946,7 +946,7 @@ declare global {
|
|
|
946
946
|
declare global {
|
|
947
947
|
namespace JSX {
|
|
948
948
|
interface IntrinsicElements {
|
|
949
|
-
'gs-
|
|
949
|
+
'gs-prevalence-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
950
950
|
}
|
|
951
951
|
}
|
|
952
952
|
}
|
|
@@ -1002,7 +1002,7 @@ declare global {
|
|
|
1002
1002
|
|
|
1003
1003
|
declare global {
|
|
1004
1004
|
interface HTMLElementTagNameMap {
|
|
1005
|
-
'gs-
|
|
1005
|
+
'gs-statistics': StatisticsComponent;
|
|
1006
1006
|
}
|
|
1007
1007
|
}
|
|
1008
1008
|
|
|
@@ -1010,7 +1010,7 @@ declare global {
|
|
|
1010
1010
|
declare global {
|
|
1011
1011
|
namespace JSX {
|
|
1012
1012
|
interface IntrinsicElements {
|
|
1013
|
-
'gs-
|
|
1013
|
+
'gs-statistics': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|
|
1016
1016
|
}
|
|
@@ -1018,7 +1018,7 @@ declare global {
|
|
|
1018
1018
|
|
|
1019
1019
|
declare global {
|
|
1020
1020
|
interface HTMLElementTagNameMap {
|
|
1021
|
-
'gs-
|
|
1021
|
+
'gs-sequences-by-location': SequencesByLocationComponent;
|
|
1022
1022
|
}
|
|
1023
1023
|
}
|
|
1024
1024
|
|
|
@@ -1026,7 +1026,7 @@ declare global {
|
|
|
1026
1026
|
declare global {
|
|
1027
1027
|
namespace JSX {
|
|
1028
1028
|
interface IntrinsicElements {
|
|
1029
|
-
'gs-
|
|
1029
|
+
'gs-sequences-by-location': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1030
1030
|
}
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
@@ -1034,7 +1034,11 @@ declare global {
|
|
|
1034
1034
|
|
|
1035
1035
|
declare global {
|
|
1036
1036
|
interface HTMLElementTagNameMap {
|
|
1037
|
-
'gs-
|
|
1037
|
+
'gs-date-range-filter': DateRangeFilterComponent;
|
|
1038
|
+
}
|
|
1039
|
+
interface HTMLElementEventMap {
|
|
1040
|
+
'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
|
|
1041
|
+
'gs-date-range-option-changed': DateRangeOptionChangedEvent;
|
|
1038
1042
|
}
|
|
1039
1043
|
}
|
|
1040
1044
|
|
|
@@ -1042,7 +1046,7 @@ declare global {
|
|
|
1042
1046
|
declare global {
|
|
1043
1047
|
namespace JSX {
|
|
1044
1048
|
interface IntrinsicElements {
|
|
1045
|
-
'gs-
|
|
1049
|
+
'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1046
1050
|
}
|
|
1047
1051
|
}
|
|
1048
1052
|
}
|
|
@@ -1069,11 +1073,10 @@ declare global {
|
|
|
1069
1073
|
|
|
1070
1074
|
declare global {
|
|
1071
1075
|
interface HTMLElementTagNameMap {
|
|
1072
|
-
'gs-
|
|
1076
|
+
'gs-text-filter': TextFilterComponent;
|
|
1073
1077
|
}
|
|
1074
1078
|
interface HTMLElementEventMap {
|
|
1075
|
-
'gs-
|
|
1076
|
-
'gs-date-range-option-changed': DateRangeOptionChangedEvent;
|
|
1079
|
+
'gs-text-filter-changed': TextFilterChangedEvent;
|
|
1077
1080
|
}
|
|
1078
1081
|
}
|
|
1079
1082
|
|
|
@@ -1081,7 +1084,7 @@ declare global {
|
|
|
1081
1084
|
declare global {
|
|
1082
1085
|
namespace JSX {
|
|
1083
1086
|
interface IntrinsicElements {
|
|
1084
|
-
'gs-
|
|
1087
|
+
'gs-text-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1085
1088
|
}
|
|
1086
1089
|
}
|
|
1087
1090
|
}
|
|
@@ -1089,10 +1092,10 @@ declare global {
|
|
|
1089
1092
|
|
|
1090
1093
|
declare global {
|
|
1091
1094
|
interface HTMLElementTagNameMap {
|
|
1092
|
-
'gs-
|
|
1095
|
+
'gs-mutation-filter': MutationFilterComponent;
|
|
1093
1096
|
}
|
|
1094
1097
|
interface HTMLElementEventMap {
|
|
1095
|
-
'gs-
|
|
1098
|
+
'gs-mutation-filter-changed': CustomEvent<MutationsFilter>;
|
|
1096
1099
|
}
|
|
1097
1100
|
}
|
|
1098
1101
|
|
|
@@ -1100,7 +1103,7 @@ declare global {
|
|
|
1100
1103
|
declare global {
|
|
1101
1104
|
namespace JSX {
|
|
1102
1105
|
interface IntrinsicElements {
|
|
1103
|
-
'gs-
|
|
1106
|
+
'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1104
1107
|
}
|
|
1105
1108
|
}
|
|
1106
1109
|
}
|
|
@@ -1108,10 +1111,10 @@ declare global {
|
|
|
1108
1111
|
|
|
1109
1112
|
declare global {
|
|
1110
1113
|
interface HTMLElementTagNameMap {
|
|
1111
|
-
'gs-
|
|
1114
|
+
'gs-lineage-filter': LineageFilterComponent;
|
|
1112
1115
|
}
|
|
1113
1116
|
interface HTMLElementEventMap {
|
|
1114
|
-
'gs-
|
|
1117
|
+
'gs-lineage-filter-changed': LineageFilterChangedEvent;
|
|
1115
1118
|
}
|
|
1116
1119
|
}
|
|
1117
1120
|
|
|
@@ -1119,7 +1122,7 @@ declare global {
|
|
|
1119
1122
|
declare global {
|
|
1120
1123
|
namespace JSX {
|
|
1121
1124
|
interface IntrinsicElements {
|
|
1122
|
-
'gs-
|
|
1125
|
+
'gs-lineage-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1123
1126
|
}
|
|
1124
1127
|
}
|
|
1125
1128
|
}
|
|
@@ -1127,10 +1130,7 @@ declare global {
|
|
|
1127
1130
|
|
|
1128
1131
|
declare global {
|
|
1129
1132
|
interface HTMLElementTagNameMap {
|
|
1130
|
-
'gs-
|
|
1131
|
-
}
|
|
1132
|
-
interface HTMLElementEventMap {
|
|
1133
|
-
'gs-lineage-filter-changed': LineageFilterChangedEvent;
|
|
1133
|
+
'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
|
|
1134
1134
|
}
|
|
1135
1135
|
}
|
|
1136
1136
|
|
|
@@ -1138,7 +1138,7 @@ declare global {
|
|
|
1138
1138
|
declare global {
|
|
1139
1139
|
namespace JSX {
|
|
1140
1140
|
interface IntrinsicElements {
|
|
1141
|
-
'gs-
|
|
1141
|
+
'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1142
1142
|
}
|
|
1143
1143
|
}
|
|
1144
1144
|
}
|
package/dist/util.js
CHANGED
package/package.json
CHANGED
|
@@ -54,7 +54,7 @@ export const ColorScaleSelector: FunctionComponent<ColorScaleSelectorProps> = ({
|
|
|
54
54
|
);
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
export const
|
|
57
|
+
export const getColorWithinScale = (value: number | undefined, colorScale: ColorScale) => {
|
|
58
58
|
if (value === undefined) {
|
|
59
59
|
return 'lightgrey';
|
|
60
60
|
}
|
|
@@ -18,8 +18,8 @@ const dateRangeOptions = [
|
|
|
18
18
|
];
|
|
19
19
|
|
|
20
20
|
describe('computeInitialValues', () => {
|
|
21
|
-
it('should return undefined for
|
|
22
|
-
const result = computeInitialValues(
|
|
21
|
+
it('should return undefined for null value', () => {
|
|
22
|
+
const result = computeInitialValues(null, earliestDate, dateRangeOptions);
|
|
23
23
|
|
|
24
24
|
expect(result).toBeUndefined();
|
|
25
25
|
});
|
|
@@ -3,7 +3,7 @@ import { getDatesForSelectorValue, getSelectableOptions } from './selectableOpti
|
|
|
3
3
|
import { UserFacingError } from '../components/error-display';
|
|
4
4
|
|
|
5
5
|
export function computeInitialValues(value: DateRangeValue, earliestDate: string, dateRangeOptions: DateRangeOption[]) {
|
|
6
|
-
if (value ===
|
|
6
|
+
if (value === null) {
|
|
7
7
|
return undefined;
|
|
8
8
|
}
|
|
9
9
|
|
|
@@ -56,7 +56,7 @@ const meta: Meta<DateRangeFilterProps> = {
|
|
|
56
56
|
args: {
|
|
57
57
|
dateRangeOptions: [dateRangeOptionPresets.lastMonth, dateRangeOptionPresets.allTimes, customDateRange],
|
|
58
58
|
earliestDate,
|
|
59
|
-
value:
|
|
59
|
+
value: null,
|
|
60
60
|
lapisDateField: 'aDateColumn',
|
|
61
61
|
width: '100%',
|
|
62
62
|
placeholder,
|
|
@@ -194,16 +194,14 @@ export const ChangingTheValueProgrammatically: StoryObj<DateRangeFilterProps> =
|
|
|
194
194
|
...Primary,
|
|
195
195
|
render: (args) => {
|
|
196
196
|
const StatefulWrapper = () => {
|
|
197
|
-
const [value, setValue] = useState<DateRangeValue
|
|
197
|
+
const [value, setValue] = useState<DateRangeValue>('Last month');
|
|
198
198
|
const ref = useRef<HTMLDivElement>(null);
|
|
199
199
|
|
|
200
200
|
useEffect(() => {
|
|
201
201
|
ref.current?.addEventListener('gs-date-range-option-changed', (event) => {
|
|
202
|
-
|
|
203
|
-
setValue(newValue ?? undefined);
|
|
202
|
+
setValue(event.detail);
|
|
204
203
|
});
|
|
205
204
|
}, []);
|
|
206
|
-
|
|
207
205
|
return (
|
|
208
206
|
<div ref={ref}>
|
|
209
207
|
<LapisUrlContextProvider value={LAPIS_URL}>
|
|
@@ -179,13 +179,18 @@ export const DateRangeFilterInner = ({
|
|
|
179
179
|
};
|
|
180
180
|
|
|
181
181
|
const fireOptionChangedEvent = (state: DateRangeFilterState) => {
|
|
182
|
-
const eventDetail =
|
|
183
|
-
state
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
182
|
+
const eventDetail = (() => {
|
|
183
|
+
if (state === null) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
if (state.label === customOption) {
|
|
187
|
+
return {
|
|
188
|
+
dateFrom: state.dateFrom !== undefined ? toYYYYMMDD(state.dateFrom) : undefined,
|
|
189
|
+
dateTo: state.dateTo !== undefined ? toYYYYMMDD(state.dateTo) : undefined,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return state.label;
|
|
193
|
+
})();
|
|
189
194
|
|
|
190
195
|
divRef.current?.dispatchEvent(new DateRangeOptionChangedEvent(eventDetail));
|
|
191
196
|
};
|
|
@@ -326,7 +326,7 @@ const SelectedFilter = ({ handleRemoveValue, mutationFilter }: SelectedFilterPro
|
|
|
326
326
|
}}
|
|
327
327
|
>
|
|
328
328
|
{mutationFilter.value.toString()}
|
|
329
|
-
<button className='ml-1' onClick={() => handleRemoveValue(mutationFilter)}>
|
|
329
|
+
<button className='ml-1 cursor-pointer' onClick={() => handleRemoveValue(mutationFilter)}>
|
|
330
330
|
×
|
|
331
331
|
</button>
|
|
332
332
|
</span>
|