@milaboratories/graph-maker 1.1.3 → 1.1.4

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.
@@ -14,19 +14,143 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
14
14
  required: true;
15
15
  };
16
16
  chartType: {
17
- type: import('vue').PropType<import('@milaboratories/pf-plots').ChartType>;
17
+ type: import('vue').PropType<"discrete">;
18
18
  required: true;
19
19
  };
20
20
  defaultOptions: {
21
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"discrete">[]>;
22
+ };
23
+ fixedOptions: {
21
24
  type: import('vue').PropType<{
22
- inputName: keyof import('@milaboratories/pf-plots').InputStateParent<import('@milaboratories/pf-plots').ChartType>["components"];
23
- selectedSource: import('@milaboratories/pf-plots').AxisSpec | import('@milaboratories/pf-plots').PColumnSpec;
25
+ inputName: "y" | "primaryGrouping" | "secondaryGrouping" | "filters" | "tabBy" | "facetBy";
26
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
24
27
  selectedFilterValue?: string | number;
25
28
  }[]>;
26
29
  };
30
+ allowChartDeleting: {
31
+ type: import('vue').PropType<boolean>;
32
+ };
33
+ driver: {
34
+ type: import('vue').PropType<PFrameDriver>;
35
+ };
36
+ labelsModifier: {
37
+ type: import('vue').PropType<(id: string, label: string) => string>;
38
+ };
39
+ } | {
40
+ modelValue: {
41
+ required: true;
42
+ type: import('vue').PropType<GraphMakerState>;
43
+ };
44
+ pFrame: {
45
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
46
+ required: true;
47
+ };
48
+ chartType: {
49
+ type: import('vue').PropType<"scatterplot">;
50
+ required: true;
51
+ };
52
+ defaultOptions: {
53
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"scatterplot">[]>;
54
+ };
55
+ fixedOptions: {
56
+ type: import('vue').PropType<{
57
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "grouping";
58
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
59
+ selectedFilterValue?: string | number;
60
+ }[]>;
61
+ };
62
+ allowChartDeleting: {
63
+ type: import('vue').PropType<boolean>;
64
+ };
65
+ driver: {
66
+ type: import('vue').PropType<PFrameDriver>;
67
+ };
68
+ labelsModifier: {
69
+ type: import('vue').PropType<(id: string, label: string) => string>;
70
+ };
71
+ } | {
72
+ modelValue: {
73
+ required: true;
74
+ type: import('vue').PropType<GraphMakerState>;
75
+ };
76
+ pFrame: {
77
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
78
+ required: true;
79
+ };
80
+ chartType: {
81
+ type: import('vue').PropType<"scatterplot-umap">;
82
+ required: true;
83
+ };
84
+ defaultOptions: {
85
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"scatterplot-umap">[]>;
86
+ };
87
+ fixedOptions: {
88
+ type: import('vue').PropType<{
89
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "grouping";
90
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
91
+ selectedFilterValue?: string | number;
92
+ }[]>;
93
+ };
94
+ allowChartDeleting: {
95
+ type: import('vue').PropType<boolean>;
96
+ };
97
+ driver: {
98
+ type: import('vue').PropType<PFrameDriver>;
99
+ };
100
+ labelsModifier: {
101
+ type: import('vue').PropType<(id: string, label: string) => string>;
102
+ };
103
+ } | {
104
+ modelValue: {
105
+ required: true;
106
+ type: import('vue').PropType<GraphMakerState>;
107
+ };
108
+ pFrame: {
109
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
110
+ required: true;
111
+ };
112
+ chartType: {
113
+ type: import('vue').PropType<"heatmap">;
114
+ required: true;
115
+ };
116
+ defaultOptions: {
117
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"heatmap">[]>;
118
+ };
119
+ fixedOptions: {
120
+ type: import('vue').PropType<{
121
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "value" | "xGroupBy" | "yGroupBy" | "annotations";
122
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
123
+ selectedFilterValue?: string | number;
124
+ }[]>;
125
+ };
126
+ allowChartDeleting: {
127
+ type: import('vue').PropType<boolean>;
128
+ };
129
+ driver: {
130
+ type: import('vue').PropType<PFrameDriver>;
131
+ };
132
+ labelsModifier: {
133
+ type: import('vue').PropType<(id: string, label: string) => string>;
134
+ };
135
+ } | {
136
+ modelValue: {
137
+ required: true;
138
+ type: import('vue').PropType<GraphMakerState>;
139
+ };
140
+ pFrame: {
141
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
142
+ required: true;
143
+ };
144
+ chartType: {
145
+ type: import('vue').PropType<"dendro">;
146
+ required: true;
147
+ };
148
+ defaultOptions: {
149
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"dendro">[]>;
150
+ };
27
151
  fixedOptions: {
28
152
  type: import('vue').PropType<{
29
- inputName: keyof import('@milaboratories/pf-plots').InputStateParent<import('@milaboratories/pf-plots').ChartType>["components"];
153
+ inputName: "height" | "lineColor" | "filters" | "tabBy" | "facetBy" | "nodeColor" | "nodeShape" | "value" | "labels" | "tableContent" | "nodeSize" | "heatmapForSequence" | "heatmapAnnotation" | "heatmapAxis" | "heatmapGroup";
30
154
  selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
31
155
  selectedFilterValue?: string | number;
32
156
  }[]>;
@@ -52,19 +176,143 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
52
176
  required: true;
53
177
  };
54
178
  chartType: {
55
- type: import('vue').PropType<import('@milaboratories/pf-plots').ChartType>;
179
+ type: import('vue').PropType<"discrete">;
56
180
  required: true;
57
181
  };
58
182
  defaultOptions: {
183
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"discrete">[]>;
184
+ };
185
+ fixedOptions: {
59
186
  type: import('vue').PropType<{
60
- inputName: keyof import('@milaboratories/pf-plots').InputStateParent<import('@milaboratories/pf-plots').ChartType>["components"];
61
- selectedSource: import('@milaboratories/pf-plots').AxisSpec | import('@milaboratories/pf-plots').PColumnSpec;
187
+ inputName: "y" | "primaryGrouping" | "secondaryGrouping" | "filters" | "tabBy" | "facetBy";
188
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
62
189
  selectedFilterValue?: string | number;
63
190
  }[]>;
64
191
  };
192
+ allowChartDeleting: {
193
+ type: import('vue').PropType<boolean>;
194
+ };
195
+ driver: {
196
+ type: import('vue').PropType<PFrameDriver>;
197
+ };
198
+ labelsModifier: {
199
+ type: import('vue').PropType<(id: string, label: string) => string>;
200
+ };
201
+ } | {
202
+ modelValue: {
203
+ required: true;
204
+ type: import('vue').PropType<GraphMakerState>;
205
+ };
206
+ pFrame: {
207
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
208
+ required: true;
209
+ };
210
+ chartType: {
211
+ type: import('vue').PropType<"scatterplot">;
212
+ required: true;
213
+ };
214
+ defaultOptions: {
215
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"scatterplot">[]>;
216
+ };
217
+ fixedOptions: {
218
+ type: import('vue').PropType<{
219
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "grouping";
220
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
221
+ selectedFilterValue?: string | number;
222
+ }[]>;
223
+ };
224
+ allowChartDeleting: {
225
+ type: import('vue').PropType<boolean>;
226
+ };
227
+ driver: {
228
+ type: import('vue').PropType<PFrameDriver>;
229
+ };
230
+ labelsModifier: {
231
+ type: import('vue').PropType<(id: string, label: string) => string>;
232
+ };
233
+ } | {
234
+ modelValue: {
235
+ required: true;
236
+ type: import('vue').PropType<GraphMakerState>;
237
+ };
238
+ pFrame: {
239
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
240
+ required: true;
241
+ };
242
+ chartType: {
243
+ type: import('vue').PropType<"scatterplot-umap">;
244
+ required: true;
245
+ };
246
+ defaultOptions: {
247
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"scatterplot-umap">[]>;
248
+ };
249
+ fixedOptions: {
250
+ type: import('vue').PropType<{
251
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "grouping";
252
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
253
+ selectedFilterValue?: string | number;
254
+ }[]>;
255
+ };
256
+ allowChartDeleting: {
257
+ type: import('vue').PropType<boolean>;
258
+ };
259
+ driver: {
260
+ type: import('vue').PropType<PFrameDriver>;
261
+ };
262
+ labelsModifier: {
263
+ type: import('vue').PropType<(id: string, label: string) => string>;
264
+ };
265
+ } | {
266
+ modelValue: {
267
+ required: true;
268
+ type: import('vue').PropType<GraphMakerState>;
269
+ };
270
+ pFrame: {
271
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
272
+ required: true;
273
+ };
274
+ chartType: {
275
+ type: import('vue').PropType<"heatmap">;
276
+ required: true;
277
+ };
278
+ defaultOptions: {
279
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"heatmap">[]>;
280
+ };
281
+ fixedOptions: {
282
+ type: import('vue').PropType<{
283
+ inputName: "x" | "y" | "filters" | "tabBy" | "facetBy" | "value" | "xGroupBy" | "yGroupBy" | "annotations";
284
+ selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
285
+ selectedFilterValue?: string | number;
286
+ }[]>;
287
+ };
288
+ allowChartDeleting: {
289
+ type: import('vue').PropType<boolean>;
290
+ };
291
+ driver: {
292
+ type: import('vue').PropType<PFrameDriver>;
293
+ };
294
+ labelsModifier: {
295
+ type: import('vue').PropType<(id: string, label: string) => string>;
296
+ };
297
+ } | {
298
+ modelValue: {
299
+ required: true;
300
+ type: import('vue').PropType<GraphMakerState>;
301
+ };
302
+ pFrame: {
303
+ type: import('vue').PropType<import('@platforma-sdk/model').PFrameHandle | undefined>;
304
+ required: true;
305
+ };
306
+ chartType: {
307
+ type: import('vue').PropType<"dendro">;
308
+ required: true;
309
+ };
310
+ defaultOptions: {
311
+ type: import('vue').PropType<import('./types.ts').PredefinedGraphOption<"dendro">[]>;
312
+ };
65
313
  fixedOptions: {
66
314
  type: import('vue').PropType<{
67
- inputName: keyof import('@milaboratories/pf-plots').InputStateParent<import('@milaboratories/pf-plots').ChartType>["components"];
315
+ inputName: "height" | "lineColor" | "filters" | "tabBy" | "facetBy" | "nodeColor" | "nodeShape" | "value" | "labels" | "tableContent" | "nodeSize" | "heatmapForSequence" | "heatmapAnnotation" | "heatmapAxis" | "heatmapGroup";
68
316
  selectedSource: import('@platforma-sdk/model').PTableRecordSingleValueFilter["column"];
69
317
  selectedFilterValue?: string | number;
70
318
  }[]>;
@@ -80,7 +328,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
80
328
  };
81
329
  }>> & Readonly<{
82
330
  "onDelete-this-graph"?: ((...args: any[]) => any) | undefined;
83
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
331
+ }>, {} | {} | {} | {} | {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
84
332
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
85
333
  export default _default;
86
334
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -545,6 +545,7 @@ export declare function factoryStore(reactiveState: Reactive<ReactiveState>, dat
545
545
  };
546
546
  loading: {
547
547
  initialInputGuide: boolean;
548
+ initialCharts: boolean;
548
549
  inputGuide: boolean;
549
550
  chartData: boolean;
550
551
  dendroTableData: boolean;
@@ -841,6 +842,7 @@ export declare function provideStore(initialState: GraphMakerState, dataStoreRef
841
842
  };
842
843
  loading: {
843
844
  initialInputGuide: boolean;
845
+ initialCharts: boolean;
844
846
  inputGuide: boolean;
845
847
  chartData: boolean;
846
848
  dendroTableData: boolean;
@@ -1,4 +1,4 @@
1
- import { ChartType, InputState, InputStateParent } from '@milaboratories/pf-plots';
1
+ import { ChartType, InputState, InputNamesByChartType } from '@milaboratories/pf-plots';
2
2
  import { AxesState, getDefaultLayersSettings, LayersSettings, StatisticsState } from './constant.ts';
3
3
  import { AestheticMappingCategorical } from './dataBindAes.ts';
4
4
  import { AxisSpec, PColumnSpec, PTableRecordSingleValueFilter, PFrameDriver, PFrameHandle } from '@platforma-sdk/model';
@@ -12,23 +12,26 @@ export type GraphMakerState = {
12
12
  layersSettings?: ReturnType<typeof getDefaultLayersSettings>;
13
13
  dataBindAes?: Record<string, AestheticMappingCategorical>;
14
14
  };
15
- export type GraphMakerProps = {
15
+ export type PredefinedGraphOption<T extends ChartType> = {
16
+ inputName: InputNamesByChartType[T];
17
+ selectedSource: AxisSpec | PColumnSpec;
18
+ selectedFilterValue?: string | number;
19
+ };
20
+ export interface GraphMakerPropsTyped<T extends ChartType> {
16
21
  pFrame: PFrameHandle | undefined;
17
- chartType: ChartType;
18
- defaultOptions?: {
19
- inputName: keyof InputStateParent<ChartType>['components'];
20
- selectedSource: AxisSpec | PColumnSpec;
21
- selectedFilterValue?: string | number;
22
- }[];
22
+ chartType: T;
23
+ defaultOptions?: PredefinedGraphOption<T>[];
23
24
  fixedOptions?: {
24
- inputName: keyof InputStateParent<ChartType>['components'];
25
+ inputName: InputNamesByChartType[T];
25
26
  selectedSource: PTableRecordSingleValueFilter['column'];
26
27
  selectedFilterValue?: string | number;
27
28
  }[];
28
29
  allowChartDeleting?: boolean;
29
30
  driver?: PFrameDriver;
30
31
  labelsModifier?: (id: string, label: string) => string;
31
- };
32
+ }
33
+ export type GraphMakerProps = GraphMakerPropsTyped<'discrete'> | GraphMakerPropsTyped<'scatterplot'> | GraphMakerPropsTyped<'scatterplot-umap'> | GraphMakerPropsTyped<'heatmap'> | GraphMakerPropsTyped<'dendro'>;
34
+ export type GraphMakerInputName<T extends ChartType> = InputNamesByChartType[T];
32
35
  export type ReactiveState = {
33
36
  chartType: ChartType;
34
37
  template: LayersTemplate;
@@ -45,8 +48,8 @@ export type ReactiveState = {
45
48
  };
46
49
  dendroSelectedNodeId: null | number;
47
50
  };
48
- export type DiscreteLayer = "box" | "binnedDots" | "jitteredDots" | "violin" | "bar" | "stackedBar" | "line" | "errorbar" | "sina";
49
- export type DiscreteLayersTemplate = DiscreteLayer | "box_binnedDots" | "box_jitteredDots" | "violin_binnedDots" | "violin_jitteredDots" | 'line_jitteredDots' | 'line_binnedDots' | 'line_errorbar' | 'bar_line' | 'bar_errorbar';
51
+ export type DiscreteLayer = 'box' | 'binnedDots' | 'jitteredDots' | 'violin' | 'bar' | 'stackedBar' | 'line' | 'errorbar' | 'sina';
52
+ export type DiscreteLayersTemplate = DiscreteLayer | 'box_binnedDots' | 'box_jitteredDots' | 'violin_binnedDots' | 'violin_jitteredDots' | 'line_jitteredDots' | 'line_binnedDots' | 'line_errorbar' | 'bar_line' | 'bar_errorbar';
50
53
  export type ScatterplotLayer = 'dots' | 'curve';
51
54
  export type ScatterplotLayersTemplate = ScatterplotLayer | 'curve_dots';
52
55
  export type HeatmapLayer = 'heatmap';