version bump
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@hediet/visualization-core",
|
||||
"description": "Provides infrastructure to find registered visualizations for given json data",
|
||||
"version": "0.3.0",
|
||||
"version": "0.3.1",
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/hediet/visualization",
|
||||
"repository": {
|
||||
|
||||
@@ -64,7 +64,7 @@ export function createReactVisualization(
|
||||
args: ReactVisualizationArgs,
|
||||
renderReactNode: (args: ReactVisualizationRenderArgs) => React.ReactChild
|
||||
) {
|
||||
return new ReactVisualization(sourceVisualizer, args, (options) => {
|
||||
return new ReactVisualization(sourceVisualizer, args, options => {
|
||||
const deferred = new Deferred();
|
||||
return {
|
||||
node: (
|
||||
@@ -86,7 +86,7 @@ class ComponentWithOnMount extends React.Component<{
|
||||
this.props.onDidMount();
|
||||
}
|
||||
|
||||
render() {
|
||||
render(): React.ReactNode {
|
||||
return this.props.child;
|
||||
}
|
||||
}
|
||||
@@ -94,7 +94,9 @@ class ComponentWithOnMount extends React.Component<{
|
||||
export function createLazyReactVisualization(
|
||||
sourceVisualizer: Visualizer,
|
||||
args: ReactVisualizationArgs,
|
||||
renderReactNode: (args: ReactVisualizationRenderArgs) => {
|
||||
renderReactNode: (
|
||||
args: ReactVisualizationRenderArgs
|
||||
) => {
|
||||
node: React.ReactChild;
|
||||
ready: Promise<void>;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Visualizer, Visualization, VisualizationId } from "./Visualizer";
|
||||
import { VisualizationData } from "./VisualizationData";
|
||||
import { JSONValue, sUnionMany } from "@hediet/semantic-json";
|
||||
import { JSONValue, Serializer, sUnionMany } from "@hediet/semantic-json";
|
||||
import { ObservableMap } from "mobx";
|
||||
|
||||
export class VisualizationFactory {
|
||||
@@ -10,13 +10,17 @@ export class VisualizationFactory {
|
||||
Visualizer
|
||||
>();
|
||||
|
||||
public getSerializer() {
|
||||
public getSerializer(): Serializer<[Visualization<any>, Visualizer][]> {
|
||||
return this._getSerializer(this.visualizers);
|
||||
}
|
||||
|
||||
private _getSerializer(map: ObservableMap<string, Visualizer>) {
|
||||
private _getSerializer(map: ObservableMap<string, Visualizer>): Serializer<[Visualization<any>, Visualizer][]> {
|
||||
return sUnionMany(
|
||||
[...map.values()].map((v) => v.serializer.asSerializer()),
|
||||
[...map.values()].map((v) => v.serializer.asSerializer().refine<[Visualization, Visualizer]>({
|
||||
canSerialize: (v): v is [Visualization, Visualizer] => false,
|
||||
fromIntermediate: value => [value, v],
|
||||
toIntermediate: () => { throw new Error("not supported"); }
|
||||
})),
|
||||
{ processingStrategy: "all" }
|
||||
);
|
||||
}
|
||||
@@ -53,15 +57,15 @@ export class VisualizationFactory {
|
||||
const hiddenResult = u2.deserialize(data as unknown as JSONValue);
|
||||
allVisualizations.push(...(hiddenResult.value || []));
|
||||
|
||||
allVisualizations.sort((a, b) => b.priority - a.priority);
|
||||
allVisualizations.sort(([a], [b]) => b.priority - a.priority);
|
||||
|
||||
let bestVisualization: Visualization | undefined = allVisualizations[0];
|
||||
if (bestVisualization && bestVisualization.priority < 0) {
|
||||
let bestVisualization: [Visualization, Visualizer] | undefined = allVisualizations[0];
|
||||
if (bestVisualization && bestVisualization[0].priority < 0) {
|
||||
bestVisualization = undefined;
|
||||
}
|
||||
if (preferredVisualization) {
|
||||
const preferred = allVisualizations.find(
|
||||
(vis) => vis.id === preferredVisualization
|
||||
([vis]) => vis.id === preferredVisualization
|
||||
);
|
||||
if (preferred) {
|
||||
bestVisualization = preferred;
|
||||
@@ -69,8 +73,9 @@ export class VisualizationFactory {
|
||||
}
|
||||
|
||||
return {
|
||||
bestVisualization,
|
||||
allVisualizations,
|
||||
bestVisualization: bestVisualization ? bestVisualization[0] : undefined,
|
||||
bestVisualizationVisualizer: bestVisualization ? bestVisualization[1] : undefined,
|
||||
allVisualizations: allVisualizations.map(v => v[0]),
|
||||
visualizationDataErrors: [],
|
||||
};
|
||||
}
|
||||
@@ -78,6 +83,7 @@ export class VisualizationFactory {
|
||||
|
||||
export interface Visualizations {
|
||||
bestVisualization: Visualization | undefined;
|
||||
bestVisualizationVisualizer: Visualizer | undefined;
|
||||
allVisualizations: Visualization[];
|
||||
visualizationDataErrors: VisualizationDataError[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user