@milaboratories/graph-maker 1.1.216 → 1.1.217

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.
@@ -5,7 +5,7 @@ export type PaletteInfo = {
5
5
  title: string;
6
6
  colors: PaletteData;
7
7
  };
8
- export type CategoricalPalette = 'light' | 'bright' | 'dark' | 'paired' | 'triadic';
8
+ export type CategoricalPalette = 'light' | 'bright' | 'dark' | 'paired' | 'triadic' | 'magnetic';
9
9
  export type SequentialPalette = 'viridis' | 'magma' | 'density' | 'salinity' | 'sunset' | 'perceptual_rainbow';
10
10
  export type DivergingPalette = 'spectrum' | 'teal_red' | 'blue_red' | 'lime_rose' | 'viridis_magma';
11
11
  export type ContinuousPalette = SequentialPalette | DivergingPalette;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/AesSettings/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,CAAC;AACd,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,oBAAoB,CAAC;AACzB,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,eAAe,CAAC;AACpB,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AACrE,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,2BAA2B,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,0BAA0B,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC7C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,0BAA0B,CAAC;AACxF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC3C,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AACd,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/AesSettings/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AACf,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,oBAAoB,CAAC;AACzB,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,eAAe,CAAC;AACpB,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AACrE,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,2BAA2B,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,0BAA0B,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC7C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,0BAA0B,CAAC;AACxF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC3C,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AACd,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constantsAesthetic.d.ts","sourceRoot":"","sources":["../src/constantsAesthetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAAE,iBAAiB,EACrC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAClD,OAAO,EACP,WAAW,EACX,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EA+BzD,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,gBAAgB;UACE,MAAM;WAAS,MAAM;EAKnD,CAAC;AAgCF,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EAMhD,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAO9C,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAM5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEzE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAMnE,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAOjE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAM/D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CAIpD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,kBAA4B,CAAC;AACvE,eAAO,MAAM,0BAA0B,EAAE,iBAA8B,CAAC;AACxE,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAKtC,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAAoE,CAAC;AAE5G,eAAO,MAAM,iBAAiB,EAAE,QAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CAOzD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;CAwBnC,CAAC"}
1
+ {"version":3,"file":"constantsAesthetic.d.ts","sourceRoot":"","sources":["../src/constantsAesthetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAAE,iBAAiB,EACrC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAClD,OAAO,EACP,WAAW,EACX,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EA+BzD,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,gBAAgB;UACE,MAAM;WAAS,MAAM;EAKnD,CAAC;AAiCF,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EAOhD,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAO9C,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAM5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEzE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAOnE,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAOjE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAM/D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CAIpD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,kBAA4B,CAAC;AACvE,eAAO,MAAM,0BAA0B,EAAE,iBAA8B,CAAC;AACxE,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAKtC,CAAC;AAEF,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAAoE,CAAC;AAE5G,eAAO,MAAM,iBAAiB,EAAE,QAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CAOzD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;CAwBnC,CAAC"}
@@ -29,12 +29,12 @@ const l = [
29
29
  { name: "Black", color: "#110529" },
30
30
  { name: "White", color: "#FFFFFF" },
31
31
  { name: "None", color: "transparent" }
32
- ], B = "#FFFFFF", h = "#110529";
32
+ ], h = "#FFFFFF", O = "#110529";
33
33
  l.reduce(
34
34
  (o, e) => (o[e.color] = e, o),
35
35
  {}
36
36
  );
37
- const t = l.slice(0, -3).map((o) => o.color), r = t.filter((o, e) => e % 3 === 0), a = t.filter((o, e) => e % 3 === 1), c = t.filter((o, e) => e % 3 === 2), i = t.filter((o, e) => e % 3 !== 2), n = t, s = ["#FFF680", "#53D788", "#36739D", "#4A005C"], F = ["#FFF680", "#F77E5B", "#902B83", "#2B125C"], A = ["#DFFADC", "#74CFD1", "#635AC1", "#611347"], E = ["#FAFAB4", "#8DDA7F", "#337E90", "#1C0F5C"], C = ["#FFEA80", "#F07A76", "#7535A4", "#003752"], D = ["#FFF780", "#6CEA90", "#6C90F0", "#942AAE"], _ = ["#43317B", "#7ACFAC", "#F5F5B7", "#F07B75", "#5C1243"], L = ["#122B5C", "#41B5A8", "#F0F0F0", "#F07C80", "#5C1243"], d = ["#0E0E8F", "#7E93FB", "#F0F0F0", "#ED7883", "#5C1243"], m = ["#2E5C00", "#9ED26A", "#F0F0F0", "#EB8BDB", "#701260"], T = [
37
+ const t = l.slice(0, -3).map((o) => o.color), r = t.filter((o, e) => e % 3 === 0), c = t.filter((o, e) => e % 3 === 1), a = t.filter((o, e) => e % 3 === 2), i = t.filter((o, e) => e % 3 !== 2), n = t, s = ["#4bbecf", "#db5197", "#c8d400", "#ffdd00", "#4a96d2", "#f7a600", "#00a9cb"], F = ["#FFF680", "#53D788", "#36739D", "#4A005C"], A = ["#FFF680", "#F77E5B", "#902B83", "#2B125C"], E = ["#DFFADC", "#74CFD1", "#635AC1", "#611347"], C = ["#FAFAB4", "#8DDA7F", "#337E90", "#1C0F5C"], d = ["#FFEA80", "#F07A76", "#7535A4", "#003752"], D = ["#FFF780", "#6CEA90", "#6C90F0", "#942AAE"], _ = ["#43317B", "#7ACFAC", "#F5F5B7", "#F07B75", "#5C1243"], L = ["#122B5C", "#41B5A8", "#F0F0F0", "#F07C80", "#5C1243"], m = ["#0E0E8F", "#7E93FB", "#F0F0F0", "#ED7883", "#5C1243"], T = ["#2E5C00", "#9ED26A", "#F0F0F0", "#EB8BDB", "#701260"], I = [
38
38
  "#4A005C",
39
39
  "#36749D",
40
40
  "#56D688",
@@ -42,53 +42,55 @@ const t = l.slice(0, -3).map((o) => o.color), r = t.filter((o, e) => e % 3 === 0
42
42
  "#F77E5E",
43
43
  "#902B82",
44
44
  "#2B125C"
45
- ], I = [
45
+ ], f = [
46
46
  "light",
47
47
  "bright",
48
48
  "dark",
49
49
  "paired",
50
- "triadic"
51
- ], O = [
50
+ "triadic",
51
+ "magnetic"
52
+ ], S = [
52
53
  "viridis",
53
54
  "magma",
54
55
  "density",
55
56
  "salinity",
56
57
  "sunset",
57
58
  "perceptual_rainbow"
58
- ], S = [
59
+ ], G = [
59
60
  "spectrum",
60
61
  "teal_red",
61
62
  "blue_red",
62
63
  "lime_rose",
63
64
  "viridis_magma"
64
65
  ];
65
- function P(o) {
66
- return I.includes(o);
66
+ function N(o) {
67
+ return f.includes(o);
67
68
  }
68
- const f = {
69
+ const g = {
69
70
  light: { title: "Light", colors: r },
70
- bright: { title: "Bright", colors: a },
71
- dark: { title: "Dark", colors: c },
71
+ bright: { title: "Bright", colors: c },
72
+ dark: { title: "Dark", colors: a },
72
73
  paired: { title: "Paired", colors: i },
73
- triadic: { title: "Triadic", colors: n }
74
+ triadic: { title: "Triadic", colors: n },
75
+ magnetic: { title: "Magnetic", colors: s }
74
76
  }, R = {
75
- viridis: { title: "Viridis", colors: s },
76
- magma: { title: "Magma", colors: F },
77
- density: { title: "Density", colors: A },
78
- salinity: { title: "Salinity", colors: E },
79
- sunset: { title: "Sunset", colors: C },
77
+ viridis: { title: "Viridis", colors: F },
78
+ magma: { title: "Magma", colors: A },
79
+ density: { title: "Density", colors: E },
80
+ salinity: { title: "Salinity", colors: C },
81
+ sunset: { title: "Sunset", colors: d },
80
82
  perceptual_rainbow: { title: "Rainbow", colors: D }
81
- }, g = {
83
+ }, B = {
82
84
  spectrum: { title: "Spectrum", colors: _ },
83
85
  teal_red: { title: "Teal-Red", colors: L },
84
- blue_red: { title: "Blue-Red", colors: d },
85
- lime_rose: { title: "Lime-Rose", colors: m },
86
- viridis_magma: { title: "Vir-Mag", colors: T }
87
- }, G = {
88
- ...f,
86
+ blue_red: { title: "Blue-Red", colors: m },
87
+ lime_rose: { title: "Lime-Rose", colors: T },
88
+ viridis_magma: { title: "Vir-Mag", colors: I }
89
+ }, P = {
90
+ ...g,
89
91
  ...R,
90
- ...g
91
- }, N = "light", u = "salinity", M = [
92
+ ...B
93
+ }, u = "light", M = "salinity", U = [
92
94
  "0",
93
95
  "5",
94
96
  "1",
@@ -109,20 +111,20 @@ const f = {
109
111
  "21",
110
112
  "24",
111
113
  "25"
112
- ], U = "#F0F0F0", k = "21", b = ["solid", "dashed", "dotted", "dotdash", "longdash", "twodash"], p = "solid", y = {
114
+ ], b = "#F0F0F0", k = "21", p = ["solid", "dashed", "dotted", "dotdash", "longdash", "twodash"], y = "solid", V = {
113
115
  solid: { title: "Solid" },
114
116
  dashed: { title: "Dashed" },
115
117
  dotted: { title: "Dotted" },
116
118
  dotdash: { title: "Dotdash" },
117
119
  longdash: { title: "Longdash" },
118
120
  twodash: { title: "Twodash" }
119
- }, V = {
121
+ }, v = {
120
122
  A: "#cc0100",
121
123
  C: "#0000cc",
122
124
  G: "#ffb300",
123
125
  T: "#027f00",
124
126
  U: "#027f00"
125
- }, v = {
127
+ }, w = {
126
128
  A: "#7fa0f0",
127
129
  R: "#ef1405",
128
130
  N: "#01ff00",
@@ -148,26 +150,26 @@ const f = {
148
150
  Z: "#eeeeee"
149
151
  };
150
152
  export {
151
- v as AMINOACID_COLOR_MAPPING,
152
- I as CATEGORICAL_LIST,
153
- f as CATEGORICAL_MAP,
154
- h as DEFAULT_BLACK,
155
- N as DEFAULT_CATEGORICAL_PALETTE,
156
- u as DEFAULT_CONTINUOUS_PALETTE,
153
+ w as AMINOACID_COLOR_MAPPING,
154
+ f as CATEGORICAL_LIST,
155
+ g as CATEGORICAL_MAP,
156
+ O as DEFAULT_BLACK,
157
+ u as DEFAULT_CATEGORICAL_PALETTE,
158
+ M as DEFAULT_CONTINUOUS_PALETTE,
157
159
  k as DEFAULT_DOT_SHAPE,
158
- p as DEFAULT_LINE_TYPE,
159
- B as DEFAULT_WHITE,
160
- S as DIVERGING_LIST,
161
- g as DIVERGING_MAP,
160
+ y as DEFAULT_LINE_TYPE,
161
+ h as DEFAULT_WHITE,
162
+ G as DIVERGING_LIST,
163
+ B as DIVERGING_MAP,
162
164
  l as FIXED_COLORS,
163
- b as FIXED_LINE_TYPES,
164
- M as FIXES_DOT_SHAPES,
165
- y as LINE_TYPES_MAP,
166
- V as NUCLEOTIDE_COLOR_MAPPING,
167
- G as PALETTE_MAP,
168
- O as SEQUENTIAL_LIST,
165
+ p as FIXED_LINE_TYPES,
166
+ U as FIXES_DOT_SHAPES,
167
+ V as LINE_TYPES_MAP,
168
+ v as NUCLEOTIDE_COLOR_MAPPING,
169
+ P as PALETTE_MAP,
170
+ S as SEQUENTIAL_LIST,
169
171
  R as SEQUENTIAL_MAP,
170
- U as UNKNOWN_COLOR,
171
- P as isCategorical
172
+ b as UNKNOWN_COLOR,
173
+ N as isCategorical
172
174
  };
173
175
  //# sourceMappingURL=constantsAesthetic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constantsAesthetic.js","sources":["../src/constantsAesthetic.ts"],"sourcesContent":["import type {\n CategoricalPalette, ContinuousPalette,\n DivergingPalette, DotShape, LineType, LineTypeInfo,\n Palette,\n PaletteInfo,\n SequentialPalette,\n} from './components/AesSettings/types';\n\nexport const FIXED_COLORS: { name: string; color: string }[] = [\n { name: 'Light green', color: '#99E099' },\n { name: 'Green', color: '#42B842' },\n { name: 'Dark green', color: '#198020' },\n { name: 'Light violet', color: '#C1ADFF' },\n { name: 'Violet', color: '#845CFF' },\n { name: 'Dark violet', color: '#5F31CC' },\n { name: 'Light orange', color: '#FFCB8F' },\n { name: 'Orange', color: '#FF9429' },\n { name: 'Dark orange', color: '#C26A27' },\n { name: 'Light teal', color: '#90E0E0' },\n { name: 'Teal', color: '#27C2C2' },\n { name: 'Dark teal', color: '#068A94' },\n { name: 'Light rose', color: '#FAAAFA' },\n { name: 'Rose', color: '#E553E5' },\n { name: 'Dark rose', color: '#A324B2' },\n { name: 'Light lime', color: '#CBEB67' },\n { name: 'Lime', color: '#95C700' },\n { name: 'Dark lime', color: '#659406' },\n { name: 'Light blue', color: '#99CCFF' },\n { name: 'Blue', color: '#2D93FA' },\n { name: 'Dark blue', color: '#105BCC' },\n { name: 'Light red', color: '#FFADBA' },\n { name: 'Red', color: '#F05670' },\n { name: 'Dark red', color: '#AD3757' },\n { name: 'Light grey', color: '#D3D7E0' },\n { name: 'Grey', color: '#929BAD' },\n { name: 'Dark grey', color: '#5E5E70' },\n { name: 'Black', color: '#110529' },\n { name: 'White', color: '#FFFFFF' },\n { name: 'None', color: 'transparent' },\n];\n\nexport const DEFAULT_WHITE = '#FFFFFF';\nexport const DEFAULT_BLACK = '#110529';\n\nexport const FIXED_COLORS_MAP = FIXED_COLORS.reduce(\n (res: Record<string, { name: string; color: string }>, item) => {\n res[item.color] = item;\n return res;\n },\n {},\n);\n\n// fixed colors without black, white, transparent - base for categorical palettes\nconst COLORS = FIXED_COLORS.slice(0, -3).map((el) => el.color);\n\nconst CATEGORICAL_LIGHT = COLORS.filter((_el, idx) => idx % 3 === 0);\nconst CATEGORICAL_BRIGHT = COLORS.filter((_el, idx) => idx % 3 === 1);\nconst CATEGORICAL_DARK = COLORS.filter((_el, idx) => idx % 3 === 2);\nconst CATEGORICAL_PAIRED = COLORS.filter((_el, idx) => idx % 3 !== 2);\nconst CATEGORICAL_TRIADIC = COLORS;\n\nconst VIRIDIS = ['#FFF680', '#53D788', '#36739D', '#4A005C'];\nconst MAGMA = ['#FFF680', '#F77E5B', '#902B83', '#2B125C'];\nconst DENSITY = ['#DFFADC', '#74CFD1', '#635AC1', '#611347'];\nconst SALINITY = ['#FAFAB4', '#8DDA7F', '#337E90', '#1C0F5C'];\nconst SUNSET = ['#FFEA80', '#F07A76', '#7535A4', '#003752'];\nconst PERCEPTUAL_RAINBOW = ['#FFF780', '#6CEA90', '#6C90F0', '#942AAE'];\n\nconst SPECTRUM = ['#43317B', '#7ACFAC', '#F5F5B7', '#F07B75', '#5C1243'];\nconst TEAL_RED = ['#122B5C', '#41B5A8', '#F0F0F0', '#F07C80', '#5C1243'];\nconst BLUE_RED = ['#0E0E8F', '#7E93FB', '#F0F0F0', '#ED7883', '#5C1243'];\nconst LIME_ROSE = ['#2E5C00', '#9ED26A', '#F0F0F0', '#EB8BDB', '#701260'];\nconst VIRIDIS_MAGMA = [\n '#4A005C',\n '#36749D',\n '#56D688',\n '#FFF680',\n '#F77E5E',\n '#902B82',\n '#2B125C',\n];\n\nexport const CATEGORICAL_LIST: CategoricalPalette[] = [\n 'light',\n 'bright',\n 'dark',\n 'paired',\n 'triadic',\n];\nexport const SEQUENTIAL_LIST: SequentialPalette[] = [\n 'viridis',\n 'magma',\n 'density',\n 'salinity',\n 'sunset',\n 'perceptual_rainbow',\n];\nexport const DIVERGING_LIST: DivergingPalette[] = [\n 'spectrum',\n 'teal_red',\n 'blue_red',\n 'lime_rose',\n 'viridis_magma',\n];\n\nexport function isCategorical(value: Palette): value is CategoricalPalette {\n return CATEGORICAL_LIST.includes(value as CategoricalPalette);\n}\n\nexport function isSequential(value: Palette): value is SequentialPalette {\n return SEQUENTIAL_LIST.includes(value as SequentialPalette);\n}\n\nexport function isDiverging(value: Palette): value is DivergingPalette {\n return DIVERGING_LIST.includes(value as DivergingPalette);\n}\n\nexport const CATEGORICAL_MAP: Record<CategoricalPalette, PaletteInfo> = {\n light: { title: 'Light', colors: CATEGORICAL_LIGHT },\n bright: { title: 'Bright', colors: CATEGORICAL_BRIGHT },\n dark: { title: 'Dark', colors: CATEGORICAL_DARK },\n paired: { title: 'Paired', colors: CATEGORICAL_PAIRED },\n triadic: { title: 'Triadic', colors: CATEGORICAL_TRIADIC },\n};\nexport const SEQUENTIAL_MAP: Record<SequentialPalette, PaletteInfo> = {\n viridis: { title: 'Viridis', colors: VIRIDIS },\n magma: { title: 'Magma', colors: MAGMA },\n density: { title: 'Density', colors: DENSITY },\n salinity: { title: 'Salinity', colors: SALINITY },\n sunset: { title: 'Sunset', colors: SUNSET },\n perceptual_rainbow: { title: 'Rainbow', colors: PERCEPTUAL_RAINBOW },\n};\n\nexport const DIVERGING_MAP: Record<DivergingPalette, PaletteInfo> = {\n spectrum: { title: 'Spectrum', colors: SPECTRUM },\n teal_red: { title: 'Teal-Red', colors: TEAL_RED },\n blue_red: { title: 'Blue-Red', colors: BLUE_RED },\n lime_rose: { title: 'Lime-Rose', colors: LIME_ROSE },\n viridis_magma: { title: 'Vir-Mag', colors: VIRIDIS_MAGMA },\n};\n\nexport const PALETTE_MAP: Record<Palette, PaletteInfo> = {\n ...CATEGORICAL_MAP,\n ...SEQUENTIAL_MAP,\n ...DIVERGING_MAP,\n};\n\nexport const DEFAULT_CATEGORICAL_PALETTE: CategoricalPalette = 'light';\nexport const DEFAULT_CONTINUOUS_PALETTE: ContinuousPalette = 'salinity';\nexport const FIXES_DOT_SHAPES: DotShape[] = [\n '0', '5', '1', '2', '6',\n '7', '9', '3', '4', '8',\n '12', '10', '13', '14', '11',\n '22', '23', '21', '24', '25',\n];\n\nexport const UNKNOWN_COLOR = '#F0F0F0';\n\nexport const DEFAULT_DOT_SHAPE = '21'; // filled circle\n\nexport const FIXED_LINE_TYPES: LineType[] = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'];\n\nexport const DEFAULT_LINE_TYPE: LineType = 'solid';\nexport const LINE_TYPES_MAP: Record<LineType, LineTypeInfo> = {\n solid: { title: 'Solid' },\n dashed: { title: 'Dashed' },\n dotted: { title: 'Dotted' },\n dotdash: { title: 'Dotdash' },\n longdash: { title: 'Longdash' },\n twodash: { title: 'Twodash' },\n};\n\nexport const NUCLEOTIDE_COLOR_MAPPING = {\n A: '#cc0100',\n C: '#0000cc',\n G: '#ffb300',\n T: '#027f00',\n U: '#027f00',\n};\n\nexport const AMINOACID_COLOR_MAPPING = {\n A: '#7fa0f0',\n R: '#ef1405',\n N: '#01ff00',\n D: '#c048bf',\n C: '#ef8080',\n Q: '#01ff00',\n E: '#c048bf',\n G: '#f09047',\n H: '#14a4a4',\n I: '#7fa0f0',\n L: '#7fa0f0',\n K: '#ef1405',\n M: '#7fa0f0',\n F: '#7fa0f0',\n P: '#ffff00',\n S: '#01ff00',\n T: '#01ff00',\n W: '#7fa0f0',\n Y: '#14a4a4',\n V: '#7fa0f0',\n B: '#eeeeee',\n X: '#eeeeee',\n Z: '#eeeeee',\n};\n"],"names":["FIXED_COLORS","DEFAULT_WHITE","DEFAULT_BLACK","res","item","COLORS","el","CATEGORICAL_LIGHT","_el","idx","CATEGORICAL_BRIGHT","CATEGORICAL_DARK","CATEGORICAL_PAIRED","CATEGORICAL_TRIADIC","VIRIDIS","MAGMA","DENSITY","SALINITY","SUNSET","PERCEPTUAL_RAINBOW","SPECTRUM","TEAL_RED","BLUE_RED","LIME_ROSE","VIRIDIS_MAGMA","CATEGORICAL_LIST","SEQUENTIAL_LIST","DIVERGING_LIST","isCategorical","value","CATEGORICAL_MAP","SEQUENTIAL_MAP","DIVERGING_MAP","PALETTE_MAP","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","FIXES_DOT_SHAPES","UNKNOWN_COLOR","DEFAULT_DOT_SHAPE","FIXED_LINE_TYPES","DEFAULT_LINE_TYPE","LINE_TYPES_MAP","NUCLEOTIDE_COLOR_MAPPING","AMINOACID_COLOR_MAPPING"],"mappings":"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"}
1
+ {"version":3,"file":"constantsAesthetic.js","sources":["../src/constantsAesthetic.ts"],"sourcesContent":["import type {\n CategoricalPalette, ContinuousPalette,\n DivergingPalette, DotShape, LineType, LineTypeInfo,\n Palette,\n PaletteInfo,\n SequentialPalette,\n} from './components/AesSettings/types';\n\nexport const FIXED_COLORS: { name: string; color: string }[] = [\n { name: 'Light green', color: '#99E099' },\n { name: 'Green', color: '#42B842' },\n { name: 'Dark green', color: '#198020' },\n { name: 'Light violet', color: '#C1ADFF' },\n { name: 'Violet', color: '#845CFF' },\n { name: 'Dark violet', color: '#5F31CC' },\n { name: 'Light orange', color: '#FFCB8F' },\n { name: 'Orange', color: '#FF9429' },\n { name: 'Dark orange', color: '#C26A27' },\n { name: 'Light teal', color: '#90E0E0' },\n { name: 'Teal', color: '#27C2C2' },\n { name: 'Dark teal', color: '#068A94' },\n { name: 'Light rose', color: '#FAAAFA' },\n { name: 'Rose', color: '#E553E5' },\n { name: 'Dark rose', color: '#A324B2' },\n { name: 'Light lime', color: '#CBEB67' },\n { name: 'Lime', color: '#95C700' },\n { name: 'Dark lime', color: '#659406' },\n { name: 'Light blue', color: '#99CCFF' },\n { name: 'Blue', color: '#2D93FA' },\n { name: 'Dark blue', color: '#105BCC' },\n { name: 'Light red', color: '#FFADBA' },\n { name: 'Red', color: '#F05670' },\n { name: 'Dark red', color: '#AD3757' },\n { name: 'Light grey', color: '#D3D7E0' },\n { name: 'Grey', color: '#929BAD' },\n { name: 'Dark grey', color: '#5E5E70' },\n { name: 'Black', color: '#110529' },\n { name: 'White', color: '#FFFFFF' },\n { name: 'None', color: 'transparent' },\n];\n\nexport const DEFAULT_WHITE = '#FFFFFF';\nexport const DEFAULT_BLACK = '#110529';\n\nexport const FIXED_COLORS_MAP = FIXED_COLORS.reduce(\n (res: Record<string, { name: string; color: string }>, item) => {\n res[item.color] = item;\n return res;\n },\n {},\n);\n\n// fixed colors without black, white, transparent - base for categorical palettes\nconst COLORS = FIXED_COLORS.slice(0, -3).map((el) => el.color);\n\nconst CATEGORICAL_LIGHT = COLORS.filter((_el, idx) => idx % 3 === 0);\nconst CATEGORICAL_BRIGHT = COLORS.filter((_el, idx) => idx % 3 === 1);\nconst CATEGORICAL_DARK = COLORS.filter((_el, idx) => idx % 3 === 2);\nconst CATEGORICAL_PAIRED = COLORS.filter((_el, idx) => idx % 3 !== 2);\nconst CATEGORICAL_TRIADIC = COLORS;\nconst MAGNETIC = ['#4bbecf', '#db5197', '#c8d400', '#ffdd00', '#4a96d2', '#f7a600', '#00a9cb'];\n\nconst VIRIDIS = ['#FFF680', '#53D788', '#36739D', '#4A005C'];\nconst MAGMA = ['#FFF680', '#F77E5B', '#902B83', '#2B125C'];\nconst DENSITY = ['#DFFADC', '#74CFD1', '#635AC1', '#611347'];\nconst SALINITY = ['#FAFAB4', '#8DDA7F', '#337E90', '#1C0F5C'];\nconst SUNSET = ['#FFEA80', '#F07A76', '#7535A4', '#003752'];\nconst PERCEPTUAL_RAINBOW = ['#FFF780', '#6CEA90', '#6C90F0', '#942AAE'];\n\nconst SPECTRUM = ['#43317B', '#7ACFAC', '#F5F5B7', '#F07B75', '#5C1243'];\nconst TEAL_RED = ['#122B5C', '#41B5A8', '#F0F0F0', '#F07C80', '#5C1243'];\nconst BLUE_RED = ['#0E0E8F', '#7E93FB', '#F0F0F0', '#ED7883', '#5C1243'];\nconst LIME_ROSE = ['#2E5C00', '#9ED26A', '#F0F0F0', '#EB8BDB', '#701260'];\nconst VIRIDIS_MAGMA = [\n '#4A005C',\n '#36749D',\n '#56D688',\n '#FFF680',\n '#F77E5E',\n '#902B82',\n '#2B125C',\n];\n\nexport const CATEGORICAL_LIST: CategoricalPalette[] = [\n 'light',\n 'bright',\n 'dark',\n 'paired',\n 'triadic',\n 'magnetic',\n];\nexport const SEQUENTIAL_LIST: SequentialPalette[] = [\n 'viridis',\n 'magma',\n 'density',\n 'salinity',\n 'sunset',\n 'perceptual_rainbow',\n];\nexport const DIVERGING_LIST: DivergingPalette[] = [\n 'spectrum',\n 'teal_red',\n 'blue_red',\n 'lime_rose',\n 'viridis_magma',\n];\n\nexport function isCategorical(value: Palette): value is CategoricalPalette {\n return CATEGORICAL_LIST.includes(value as CategoricalPalette);\n}\n\nexport function isSequential(value: Palette): value is SequentialPalette {\n return SEQUENTIAL_LIST.includes(value as SequentialPalette);\n}\n\nexport function isDiverging(value: Palette): value is DivergingPalette {\n return DIVERGING_LIST.includes(value as DivergingPalette);\n}\n\nexport const CATEGORICAL_MAP: Record<CategoricalPalette, PaletteInfo> = {\n light: { title: 'Light', colors: CATEGORICAL_LIGHT },\n bright: { title: 'Bright', colors: CATEGORICAL_BRIGHT },\n dark: { title: 'Dark', colors: CATEGORICAL_DARK },\n paired: { title: 'Paired', colors: CATEGORICAL_PAIRED },\n triadic: { title: 'Triadic', colors: CATEGORICAL_TRIADIC },\n magnetic: { title: 'Magnetic', colors: MAGNETIC },\n};\nexport const SEQUENTIAL_MAP: Record<SequentialPalette, PaletteInfo> = {\n viridis: { title: 'Viridis', colors: VIRIDIS },\n magma: { title: 'Magma', colors: MAGMA },\n density: { title: 'Density', colors: DENSITY },\n salinity: { title: 'Salinity', colors: SALINITY },\n sunset: { title: 'Sunset', colors: SUNSET },\n perceptual_rainbow: { title: 'Rainbow', colors: PERCEPTUAL_RAINBOW },\n};\n\nexport const DIVERGING_MAP: Record<DivergingPalette, PaletteInfo> = {\n spectrum: { title: 'Spectrum', colors: SPECTRUM },\n teal_red: { title: 'Teal-Red', colors: TEAL_RED },\n blue_red: { title: 'Blue-Red', colors: BLUE_RED },\n lime_rose: { title: 'Lime-Rose', colors: LIME_ROSE },\n viridis_magma: { title: 'Vir-Mag', colors: VIRIDIS_MAGMA },\n};\n\nexport const PALETTE_MAP: Record<Palette, PaletteInfo> = {\n ...CATEGORICAL_MAP,\n ...SEQUENTIAL_MAP,\n ...DIVERGING_MAP,\n};\n\nexport const DEFAULT_CATEGORICAL_PALETTE: CategoricalPalette = 'light';\nexport const DEFAULT_CONTINUOUS_PALETTE: ContinuousPalette = 'salinity';\nexport const FIXES_DOT_SHAPES: DotShape[] = [\n '0', '5', '1', '2', '6',\n '7', '9', '3', '4', '8',\n '12', '10', '13', '14', '11',\n '22', '23', '21', '24', '25',\n];\n\nexport const UNKNOWN_COLOR = '#F0F0F0';\n\nexport const DEFAULT_DOT_SHAPE = '21'; // filled circle\n\nexport const FIXED_LINE_TYPES: LineType[] = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'];\n\nexport const DEFAULT_LINE_TYPE: LineType = 'solid';\nexport const LINE_TYPES_MAP: Record<LineType, LineTypeInfo> = {\n solid: { title: 'Solid' },\n dashed: { title: 'Dashed' },\n dotted: { title: 'Dotted' },\n dotdash: { title: 'Dotdash' },\n longdash: { title: 'Longdash' },\n twodash: { title: 'Twodash' },\n};\n\nexport const NUCLEOTIDE_COLOR_MAPPING = {\n A: '#cc0100',\n C: '#0000cc',\n G: '#ffb300',\n T: '#027f00',\n U: '#027f00',\n};\n\nexport const AMINOACID_COLOR_MAPPING = {\n A: '#7fa0f0',\n R: '#ef1405',\n N: '#01ff00',\n D: '#c048bf',\n C: '#ef8080',\n Q: '#01ff00',\n E: '#c048bf',\n G: '#f09047',\n H: '#14a4a4',\n I: '#7fa0f0',\n L: '#7fa0f0',\n K: '#ef1405',\n M: '#7fa0f0',\n F: '#7fa0f0',\n P: '#ffff00',\n S: '#01ff00',\n T: '#01ff00',\n W: '#7fa0f0',\n Y: '#14a4a4',\n V: '#7fa0f0',\n B: '#eeeeee',\n X: '#eeeeee',\n Z: '#eeeeee',\n};\n"],"names":["FIXED_COLORS","DEFAULT_WHITE","DEFAULT_BLACK","res","item","COLORS","el","CATEGORICAL_LIGHT","_el","idx","CATEGORICAL_BRIGHT","CATEGORICAL_DARK","CATEGORICAL_PAIRED","CATEGORICAL_TRIADIC","MAGNETIC","VIRIDIS","MAGMA","DENSITY","SALINITY","SUNSET","PERCEPTUAL_RAINBOW","SPECTRUM","TEAL_RED","BLUE_RED","LIME_ROSE","VIRIDIS_MAGMA","CATEGORICAL_LIST","SEQUENTIAL_LIST","DIVERGING_LIST","isCategorical","value","CATEGORICAL_MAP","SEQUENTIAL_MAP","DIVERGING_MAP","PALETTE_MAP","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","FIXES_DOT_SHAPES","UNKNOWN_COLOR","DEFAULT_DOT_SHAPE","FIXED_LINE_TYPES","DEFAULT_LINE_TYPE","LINE_TYPES_MAP","NUCLEOTIDE_COLOR_MAPPING","AMINOACID_COLOR_MAPPING"],"mappings":"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"}
package/dist/index.vue.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineComponent as ce, mergeModels as q, useModel as H, ref as f, watch as s, toRaw as r, computed as v, shallowRef as J, onMounted as de, onUnmounted as ve, useSlots as pe, createElementBlock as me, openBlock as C, createElementVNode as fe, createVNode as N, createBlock as x, createCommentVNode as S, withCtx as P, renderSlot as B, unref as c, resolveDynamicComponent as ge } from "vue";
1
+ import { defineComponent as de, mergeModels as q, useModel as H, ref as f, watch as s, toRaw as r, computed as v, shallowRef as J, onMounted as ce, onUnmounted as ve, useSlots as pe, createElementBlock as me, openBlock as C, createElementVNode as fe, createVNode as N, createBlock as x, createCommentVNode as S, withCtx as F, renderSlot as P, unref as d, resolveDynamicComponent as ge } from "vue";
2
2
  import { MiPlots as he } from "@milaboratories/miplots4";
3
3
  import { DemoDataStore as Se } from "@milaboratories/pf-plots";
4
4
  import { watchDebounced as y } from "@vueuse/core";
@@ -11,16 +11,16 @@ import Ce from "./components/TransitionSlidePanel.vue.js";
11
11
  /* empty css */
12
12
  import we from "./components/ChartErrorNotificationAlert.vue.js";
13
13
  import { useSettingsForm as ke, isOwnGraphMakerTab as Oe } from "./forms/index.js";
14
- import { provideStore as xe, createReactiveState as Pe } from "./store.js";
14
+ import { provideStore as xe, createReactiveState as Fe } from "./store.js";
15
15
  import "./constantsCommon.js";
16
16
  import "./constantsAesthetic.js";
17
17
  import "d3-scale";
18
18
  import { composeChartSettings as z } from "./utils/createChartSettingsForRender/composeChartSettings.js";
19
- import { saveToFile as Be } from "./utils/saveToFile.js";
19
+ import { saveToFile as Pe } from "./utils/saveToFile.js";
20
20
  import { copyJSON as w } from "./utils/copyJSON.js";
21
21
  import "@platforma-sdk/model";
22
- import Ge from "./components/GraphStatusScreen.vue.js";
23
- const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, at = /* @__PURE__ */ ce({
22
+ import Be from "./components/GraphStatusScreen.vue.js";
23
+ const Ge = { class: "graph-maker" }, Ie = { class: "graph-maker__main-pane" }, at = /* @__PURE__ */ de({
24
24
  __name: "index",
25
25
  props: /* @__PURE__ */ q({
26
26
  pFrame: {},
@@ -45,8 +45,8 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
45
45
  selectionModifiers: {}
46
46
  }),
47
47
  emits: /* @__PURE__ */ q(["delete-this-graph", "tooltip-btn-click"], ["update:modelValue", "update:selection"]),
48
- setup(d, { expose: W, emit: Ee }) {
49
- const n = H(d, "modelValue"), R = H(d, "selection"), l = d;
48
+ setup(c, { expose: W, emit: Ee }) {
49
+ const n = H(c, "modelValue"), R = H(c, "selection"), l = c;
50
50
  W({
51
51
  /**
52
52
  reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.
@@ -95,7 +95,7 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
95
95
  l.defaultPalette
96
96
  );
97
97
  function Q() {
98
- const e = Pe(
98
+ const e = Fe(
99
99
  r(n.value),
100
100
  l.chartType
101
101
  );
@@ -128,7 +128,7 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
128
128
  }, { deep: !0, immediate: !0 });
129
129
  const Y = v(() => ke(t.value.reactive.currentTab)), i = J(null), K = f(null), A = f(!1), g = f(null), b = v(
130
130
  () => l.pFrame.ok && !l.pFrame.value && !l.pFrame.stable
131
- ), G = v(
131
+ ), B = v(
132
132
  () => t.value.loading.initialInputGuide && O.value === "loading"
133
133
  ), O = v((e) => {
134
134
  var u, m;
@@ -168,11 +168,11 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
168
168
  function j(e) {
169
169
  t.value.reactive.lassoControlsState = e;
170
170
  }
171
- let I = null;
171
+ let G = null;
172
172
  function ee(e) {
173
- e ? I = setTimeout(() => {
173
+ e ? G = setTimeout(() => {
174
174
  t.value.loading.chartRendering = !0;
175
- }, 1e3) : (I && clearTimeout(I), t.value.loading.chartRendering = !1);
175
+ }, 1e3) : (G && clearTimeout(G), t.value.loading.chartRendering = !1);
176
176
  }
177
177
  const V = f(!1);
178
178
  function te(e) {
@@ -200,7 +200,7 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
200
200
  var a, o, u, m, T;
201
201
  if (e && ((a = Object.values(e.data.values)[0]) == null ? void 0 : a.length) > 0) {
202
202
  if (i.value)
203
- i.value.updateSettingsAndData(r(e.data), r(e.settings));
203
+ i.value.updateSettingsAndData({ ...r(e.data), id: e.data.id + (l.pFrame.ok ? l.pFrame.value : "") }, r(e.settings));
204
204
  else {
205
205
  const D = document.getElementById("chartSvgContainer");
206
206
  D && (i.value = he.newPlot(r(e.data), r(e.settings), ae[e.settings.type]), e.settings.type === "scatterplot-umap" && i.value.updateChartState("polygon", n.value.selectedPolygons ?? []), i.value.mount(D));
@@ -213,11 +213,11 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
213
213
  var a;
214
214
  (e === "notReady" || e === "noPframe" || k.value === null) && ((a = i.value) == null || a.unmount(), i.value = null);
215
215
  });
216
- const F = J(null);
216
+ const I = J(null);
217
217
  s([
218
218
  () => t.value.chartData.value
219
219
  ], ([e]) => {
220
- F.value = z(
220
+ I.value = z(
221
221
  r(e),
222
222
  r(t.value.inputGuide.value),
223
223
  r(t.value.uniqueValuesData.value),
@@ -233,7 +233,7 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
233
233
  () => t.value.reactive.dataBindAes,
234
234
  () => t.value.reactive.chartScale
235
235
  ], () => {
236
- F.value = z(
236
+ I.value = z(
237
237
  r(t.value.chartData.value),
238
238
  r(t.value.inputGuide.value),
239
239
  r(t.value.uniqueValuesData.value),
@@ -241,9 +241,9 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
241
241
  r(t.value.reactive),
242
242
  r(t.value.defaultPalette)
243
243
  );
244
- }, { deep: !0 }), s(() => F.value, (e) => {
244
+ }, { deep: !0 }), s(() => I.value, (e) => {
245
245
  Z(e);
246
- }), de(() => {
246
+ }), ce(() => {
247
247
  Z(null);
248
248
  }), ve(() => {
249
249
  var e;
@@ -299,7 +299,7 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
299
299
  });
300
300
  function le() {
301
301
  var e;
302
- Be(
302
+ Pe(
303
303
  new Blob([
304
304
  ((e = i.value) == null ? void 0 : e.export()) ?? ""
305
305
  ]),
@@ -319,48 +319,48 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
319
319
  const E = pe(), ie = v(() => !!E.annotationsSlot), re = v(() => !!E.settingsSlot), ue = v(() => !!E.logSlot);
320
320
  return (e, a) => {
321
321
  var o;
322
- return C(), me("div", Ie, [
323
- fe("div", Fe, [
322
+ return C(), me("div", Ge, [
323
+ fe("div", Ie, [
324
324
  N(be, {
325
325
  "graph-status": O.value,
326
326
  graphTitle: n.value.title,
327
327
  chartData: K.value,
328
328
  "chart-ref": i.value,
329
329
  "error-info": g.value,
330
- dendroTooltipButton: d.tooltipButton,
331
- "custom-status-text": d.statusText,
332
- "allow-title-editing": d.allowTitleEditing,
330
+ dendroTooltipButton: c.tooltipButton,
331
+ "custom-status-text": c.statusText,
332
+ "allow-title-editing": c.allowTitleEditing,
333
333
  isScatterplotZoomChanged: V.value,
334
334
  onGraphTitleUpdate: ne,
335
335
  onDendroNodeSelect: oe,
336
336
  onDendroTooltipBtnClick: a[0] || (a[0] = (u) => e.$emit("tooltip-btn-click", u))
337
337
  }, {
338
- default: P(() => [
339
- B(e.$slots, "titleLineSlot")
338
+ default: F(() => [
339
+ P(e.$slots, "titleLineSlot")
340
340
  ]),
341
341
  _: 3
342
342
  }, 8, ["graph-status", "graphTitle", "chartData", "chart-ref", "error-info", "dendroTooltipButton", "custom-status-text", "allow-title-editing", "isScatterplotZoomChanged"]),
343
- G.value || b.value ? (C(), x(Ge, {
343
+ B.value || b.value ? (C(), x(Be, {
344
344
  key: 0,
345
345
  graphStatus: b.value ? "running" : "loading",
346
346
  top: 67,
347
347
  left: 12,
348
348
  right: 12,
349
349
  bottom: 12,
350
- customStatusText: d.statusText
350
+ customStatusText: c.statusText
351
351
  }, null, 8, ["graphStatus", "customStatusText"])) : S("", !0),
352
352
  N(Ce, { id: "graph-settings-modal" }, {
353
- default: P(() => [
354
- c(t).reactive.currentTab && !((G.value || b.value) && c(Oe)(c(t).reactive.currentTab)) ? (C(), x(Te, {
353
+ default: F(() => [
354
+ d(t).reactive.currentTab && !((B.value || b.value) && d(Oe)(d(t).reactive.currentTab)) ? (C(), x(Te, {
355
355
  key: 0,
356
- onClose: a[1] || (a[1] = (u) => c(t).reactive.currentTab = null)
356
+ onClose: a[1] || (a[1] = (u) => d(t).reactive.currentTab = null)
357
357
  }, {
358
- default: P(() => [
358
+ default: F(() => [
359
359
  (C(), x(ge(Y.value.value), null, {
360
- default: P(() => [
361
- c(t).reactive.currentTab === "annotations" ? B(e.$slots, "annotationsSlot", { key: 0 }) : S("", !0),
362
- c(t).reactive.currentTab === "settings" ? B(e.$slots, "settingsSlot", { key: 1 }) : S("", !0),
363
- c(t).reactive.currentTab === "log" ? B(e.$slots, "logSlot", { key: 2 }) : S("", !0)
360
+ default: F(() => [
361
+ d(t).reactive.currentTab === "annotations" ? P(e.$slots, "annotationsSlot", { key: 0 }) : S("", !0),
362
+ d(t).reactive.currentTab === "settings" ? P(e.$slots, "settingsSlot", { key: 1 }) : S("", !0),
363
+ d(t).reactive.currentTab === "log" ? P(e.$slots, "logSlot", { key: 2 }) : S("", !0)
364
364
  ]),
365
365
  _: 3
366
366
  }))
@@ -372,15 +372,15 @@ const Ie = { class: "graph-maker" }, Fe = { class: "graph-maker__main-pane" }, a
372
372
  })
373
373
  ]),
374
374
  N(De, {
375
- modelValue: c(t).reactive.currentTab,
376
- "onUpdate:modelValue": a[2] || (a[2] = (u) => c(t).reactive.currentTab = u),
377
- "chart-type": c(t).reactive.chartType,
375
+ modelValue: d(t).reactive.currentTab,
376
+ "onUpdate:modelValue": a[2] || (a[2] = (u) => d(t).reactive.currentTab = u),
377
+ "chart-type": d(t).reactive.chartType,
378
378
  "graph-status": O.value,
379
- allowDeleting: d.allowChartDeleting,
379
+ allowDeleting: c.allowChartDeleting,
380
380
  hasAnnotationsSlot: ie.value,
381
381
  hasSettingsSlot: re.value,
382
382
  hasLogSlot: ue.value,
383
- initialLoading: G.value || b.value,
383
+ initialLoading: B.value || b.value,
384
384
  onExport: le,
385
385
  onDelete: a[3] || (a[3] = (u) => e.$emit("delete-this-graph"))
386
386
  }, null, 8, ["modelValue", "chart-type", "graph-status", "allowDeleting", "hasAnnotationsSlot", "hasSettingsSlot", "hasLogSlot", "initialLoading"]),
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../src/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n ErrorInfo,\n LassoControlsState,\n Settings,\n} from '@milaboratories/miplots4';\nimport {\n MiPlots,\n} from '@milaboratories/miplots4';\nimport type {\n ChartType,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n DemoDataStore,\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, PFrameDriver, PlSelectionModel, PTableKey } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport ChartErrorNotificationAlert from './components/ChartErrorNotificationAlert.vue';\nimport { isOwnGraphMakerTab, useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { DendroNodeInfo, GraphMakerProps, GraphMakerState, GraphStatus } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\nimport GraphStatusScreen from './components/GraphStatusScreen.vue';\n\nconst _emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults,\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframe) => {\n if (!pframe.ok || !pframe.value) {\n dataStore.value = null;\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframe.value,\n driver,\n props.labelsModifier,\n );\n}, { immediate: true, deep: true });\n\n// fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n (value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue))\n || (value && !oldValue)\n || (oldValue && !value)\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\nwatch(() => props.defaultOptions, (v) => {\n if (v && !defaultOptions.value) {\n defaultOptions.value = v;\n }\n});\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.metaColumnPredicate,\n props.readonlyInputs,\n props.defaultPalette,\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType,\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n // graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n // const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n // Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, { deep: true, immediate: true });\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\nconst chartErrorInfo = ref<ErrorInfo | null>(null);\n\nconst isRunning = computed(\n () => props.pFrame.ok && !props.pFrame.value && !props.pFrame.stable,\n);\nconst isInitialLoading = computed(\n () => state.value.loading.initialInputGuide && graphStatus.value === 'loading',\n);\n\nconst graphStatus = computed<GraphStatus>((previousStatus) => {\n if (isRunning.value) {\n return 'running';\n }\n if (props.pFrame.ok && props.pFrame.stable && !props.pFrame.value) {\n return 'noPframe';\n }\n if (!props.pFrame.ok) {\n return 'noPframeWithError';\n }\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return defaultOptions.value === null\n || state.value.loading.defaults\n || state.value.loading.initialInputGuide\n ? 'loading'\n : 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return chartErrorInfo.value?.type === 'unknownError' ? 'unknownError' : 'knownError';\n }\n if (\n (state.value.loading.initialCharts || (previousStatus !== 'ready' && state.value.loading.chartData) || state.value.loading.chartRendering)\n || (chartRef.value === null && (state.value.loading.inputGuide || state.value.loading.chartData))\n ) {\n return 'loading';\n }\n return 'ready';\n});\n\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v: boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes: number[], polygons: { points: [number, number][]; closed: boolean }[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons,\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = { axesSpec: [], selectedKeys: [] };\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map((axisKey) => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx]) as PTableKey),\n };\n}\n\nfunction onLassoStateChange(v: LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nlet chartRenderingInProgress: ReturnType<typeof setTimeout> | null = null;\nfunction onLoadingStateChange(v: boolean) {\n if (v) {\n chartRenderingInProgress = setTimeout(() => {\n state.value.loading.chartRendering = true;\n }, 1000);\n } else {\n if (chartRenderingInProgress) {\n clearTimeout(chartRenderingInProgress);\n }\n state.value.loading.chartRendering = false;\n }\n}\nconst isScatterplotZoomChanged = ref(false);\nfunction onZoomChange(isZoomChanged: boolean) {\n isScatterplotZoomChanged.value = isZoomChanged;\n}\nconst graphEventHandlers: Record<ChartType, unknown> = {\n 'dendro': [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n onZoomChange,\n },\n 'discrete': [onTooltipHintSwitch],\n 'scatterplot': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'histogram': [onTooltipHintSwitch],\n 'heatmap': { onTooltipHintSwitch, onLoadingChange: onLoadingStateChange },\n 'bubble': [onTooltipHintSwitch],\n};\nfunction updateChart(value: { data: PlotDataAndSettings['data']['byColumns']; settings: PlotDataAndSettings['settings'] } | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData(toRaw(value.data), toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n chartErrorInfo.value = chartRef.value?.errorInfo ?? null;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n chartErrorInfo.value = null;\n }\n}\n\nwatch(() => graphStatus.value, (v) => {\n if (v === 'notReady' || v === 'noPframe' || dataStore.value === null) {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n});\n\nconst chartDataForRender = shallowRef<{ settings: Settings; data: DataByColumns } | null>(null);\nwatch([\n () => state.value.chartData.value,\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n}, { deep: true });\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab,\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab,\n };\n}, { debounce: 1000 });\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey,\n };\n}, { immediate: true });\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? '',\n ]),\n 'chart.svg',\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle,\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasAnnotationsSlot = computed(() => Boolean(slots.annotationsSlot));\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <Chart\n :graph-status=\"graphStatus\" :graphTitle=\"graphMakerState.title\" :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\" :error-info=\"chartErrorInfo\" :dendroTooltipButton=\"tooltipButton\"\n :custom-status-text=\"statusText\"\n :allow-title-editing=\"allowTitleEditing\"\n :isScatterplotZoomChanged=\"isScatterplotZoomChanged\"\n @graph-title-update=\"updateGraphTitle\" @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id: string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\" />\n </Chart>\n <GraphStatusScreen v-if=\"isInitialLoading || isRunning\" :graphStatus=\"isRunning ? 'running' : 'loading'\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" :customStatusText=\"statusText\" />\n <TransitionSlidePanel id=\"graph-settings-modal\">\n <PanelModal\n v-if=\"state.reactive.currentTab && !((isInitialLoading || isRunning) && isOwnGraphMakerTab(state.reactive.currentTab))\"\n @close=\"state.reactive.currentTab = null\"\n >\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'annotations'\" name=\"annotationsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\" />\n </component>\n </PanelModal>\n </TransitionSlidePanel>\n </div>\n <VTabs\n v-model=\"state.reactive.currentTab\" :chart-type=\"state.reactive.chartType\" :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\" :hasAnnotationsSlot=\"hasAnnotationsSlot\" :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\" :initialLoading=\"isInitialLoading || isRunning\" @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n <ChartErrorNotificationAlert v-if=\"chartErrorInfo?.type === 'unknownError'\" :errorInfo=\"chartErrorInfo\" />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframe","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","v","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","chartErrorInfo","isRunning","isInitialLoading","graphStatus","previousStatus","inputGuide","chartData","_b","onTreeNodeClick","d","onTooltipHintSwitch","onLassoPolygonUpdate","dotIndexes","polygons","axesData","axisKeys","axisKey","idx","onLassoStateChange","chartRenderingInProgress","onLoadingStateChange","isScatterplotZoomChanged","onZoomChange","isZoomChanged","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","_e","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","copyJSON","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasAnnotationsSlot","hasSettingsSlot","hasLogSlot","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","Chart","_cache","$emit","_renderSlot","_ctx","_createBlock","GraphStatusScreen","TransitionSlidePanel","_unref","PanelModal","$event","_resolveDynamicComponent","VTabs","ChartErrorNotificationAlert"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../src/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n ErrorInfo,\n LassoControlsState,\n Settings,\n} from '@milaboratories/miplots4';\nimport {\n MiPlots,\n} from '@milaboratories/miplots4';\nimport type {\n ChartType,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n DemoDataStore,\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, PFrameDriver, PlSelectionModel, PTableKey } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport ChartErrorNotificationAlert from './components/ChartErrorNotificationAlert.vue';\nimport { isOwnGraphMakerTab, useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { DendroNodeInfo, GraphMakerProps, GraphMakerState, GraphStatus } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\nimport GraphStatusScreen from './components/GraphStatusScreen.vue';\n\nconst _emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults,\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframe) => {\n if (!pframe.ok || !pframe.value) {\n dataStore.value = null;\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframe.value,\n driver,\n props.labelsModifier,\n );\n}, { immediate: true, deep: true });\n\n// fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n (value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue))\n || (value && !oldValue)\n || (oldValue && !value)\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\nwatch(() => props.defaultOptions, (v) => {\n if (v && !defaultOptions.value) {\n defaultOptions.value = v;\n }\n});\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.metaColumnPredicate,\n props.readonlyInputs,\n props.defaultPalette,\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType,\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n // graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n // const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n // Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, { deep: true, immediate: true });\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\nconst chartErrorInfo = ref<ErrorInfo | null>(null);\n\nconst isRunning = computed(\n () => props.pFrame.ok && !props.pFrame.value && !props.pFrame.stable,\n);\nconst isInitialLoading = computed(\n () => state.value.loading.initialInputGuide && graphStatus.value === 'loading',\n);\n\nconst graphStatus = computed<GraphStatus>((previousStatus) => {\n if (isRunning.value) {\n return 'running';\n }\n if (props.pFrame.ok && props.pFrame.stable && !props.pFrame.value) {\n return 'noPframe';\n }\n if (!props.pFrame.ok) {\n return 'noPframeWithError';\n }\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return defaultOptions.value === null\n || state.value.loading.defaults\n || state.value.loading.initialInputGuide\n ? 'loading'\n : 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return chartErrorInfo.value?.type === 'unknownError' ? 'unknownError' : 'knownError';\n }\n if (\n (state.value.loading.initialCharts || (previousStatus !== 'ready' && state.value.loading.chartData) || state.value.loading.chartRendering)\n || (chartRef.value === null && (state.value.loading.inputGuide || state.value.loading.chartData))\n ) {\n return 'loading';\n }\n return 'ready';\n});\n\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v: boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes: number[], polygons: { points: [number, number][]; closed: boolean }[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons,\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = { axesSpec: [], selectedKeys: [] };\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map((axisKey) => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx]) as PTableKey),\n };\n}\n\nfunction onLassoStateChange(v: LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nlet chartRenderingInProgress: ReturnType<typeof setTimeout> | null = null;\nfunction onLoadingStateChange(v: boolean) {\n if (v) {\n chartRenderingInProgress = setTimeout(() => {\n state.value.loading.chartRendering = true;\n }, 1000);\n } else {\n if (chartRenderingInProgress) {\n clearTimeout(chartRenderingInProgress);\n }\n state.value.loading.chartRendering = false;\n }\n}\nconst isScatterplotZoomChanged = ref(false);\nfunction onZoomChange(isZoomChanged: boolean) {\n isScatterplotZoomChanged.value = isZoomChanged;\n}\nconst graphEventHandlers: Record<ChartType, unknown> = {\n 'dendro': [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n onZoomChange,\n },\n 'discrete': [onTooltipHintSwitch],\n 'scatterplot': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'histogram': [onTooltipHintSwitch],\n 'heatmap': { onTooltipHintSwitch, onLoadingChange: onLoadingStateChange },\n 'bubble': [onTooltipHintSwitch],\n};\nfunction updateChart(value: { data: PlotDataAndSettings['data']['byColumns']; settings: PlotDataAndSettings['settings'] } | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData({ ...toRaw(value.data), id: value.data.id + (props.pFrame.ok ? props.pFrame.value : '') }, toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n chartErrorInfo.value = chartRef.value?.errorInfo ?? null;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n chartErrorInfo.value = null;\n }\n}\n\nwatch(() => graphStatus.value, (v) => {\n if (v === 'notReady' || v === 'noPframe' || dataStore.value === null) {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n});\n\nconst chartDataForRender = shallowRef<{ settings: Settings; data: DataByColumns } | null>(null);\nwatch([\n () => state.value.chartData.value,\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n}, { deep: true });\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab,\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab,\n };\n}, { debounce: 1000 });\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey,\n };\n}, { immediate: true });\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? '',\n ]),\n 'chart.svg',\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle,\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasAnnotationsSlot = computed(() => Boolean(slots.annotationsSlot));\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <Chart\n :graph-status=\"graphStatus\" :graphTitle=\"graphMakerState.title\" :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\" :error-info=\"chartErrorInfo\" :dendroTooltipButton=\"tooltipButton\"\n :custom-status-text=\"statusText\"\n :allow-title-editing=\"allowTitleEditing\"\n :isScatterplotZoomChanged=\"isScatterplotZoomChanged\"\n @graph-title-update=\"updateGraphTitle\" @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id: string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\" />\n </Chart>\n <GraphStatusScreen v-if=\"isInitialLoading || isRunning\" :graphStatus=\"isRunning ? 'running' : 'loading'\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" :customStatusText=\"statusText\" />\n <TransitionSlidePanel id=\"graph-settings-modal\">\n <PanelModal\n v-if=\"state.reactive.currentTab && !((isInitialLoading || isRunning) && isOwnGraphMakerTab(state.reactive.currentTab))\"\n @close=\"state.reactive.currentTab = null\"\n >\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'annotations'\" name=\"annotationsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\" />\n </component>\n </PanelModal>\n </TransitionSlidePanel>\n </div>\n <VTabs\n v-model=\"state.reactive.currentTab\" :chart-type=\"state.reactive.chartType\" :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\" :hasAnnotationsSlot=\"hasAnnotationsSlot\" :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\" :initialLoading=\"isInitialLoading || isRunning\" @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n <ChartErrorNotificationAlert v-if=\"chartErrorInfo?.type === 'unknownError'\" :errorInfo=\"chartErrorInfo\" />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframe","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","v","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","chartErrorInfo","isRunning","isInitialLoading","graphStatus","previousStatus","inputGuide","chartData","_b","onTreeNodeClick","d","onTooltipHintSwitch","onLassoPolygonUpdate","dotIndexes","polygons","axesData","axisKeys","axisKey","idx","onLassoStateChange","chartRenderingInProgress","onLoadingStateChange","isScatterplotZoomChanged","onZoomChange","isZoomChanged","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","_e","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","copyJSON","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasAnnotationsSlot","hasSettingsSlot","hasLogSlot","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","Chart","_cache","$emit","_renderSlot","_ctx","_createBlock","GraphStatusScreen","TransitionSlidePanel","_unref","PanelModal","$event","_resolveDynamicComponent","VTabs","ChartErrorNotificationAlert"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,qBAAqB,EAErB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAyC,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUjD,OAAO,KAAK,EACV,eAAe,EAEf,2BAA2B,EAC3B,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,aAAa,EAAE,uBAAuB,EACvC,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AA6B1E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,SAAS,GACnB,QAAQ,CAAC,aAAa,CAAC,CAyBzB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClC,OAAO,EAAE;QACP,iBAAiB,EAAE,OAAO,CAAC;QAC3B,aAAa,EAAE,OAAO,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,iBAAiB,EAAE;QACjB,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;QACvE,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;QACzE,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACxE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KAC5F,CAAC;IACF,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACnD,gBAAgB,EAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/C,qBAAqB,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACzD,gBAAgB,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;IACpD,cAAc,EAAE,eAAe,CAAC;CACjC;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,SAAS,EAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,EACpC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EACvC,SAAS,EAAE,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAC1C,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAC1F,gBAAgB,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAC9C,qBAAqB,EAAE,GAAG,CAAC,4BAA4B,CAAC,EACxD,gBAAgB,EAAE,GAAG,CAAC,2BAA2B,CAAC,EAClD,cAAc,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,EACnD,cAAc,CAAC,EAAE,OAAO,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACzE,KAAK,CAuDP;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAE/C,wBAAgB,YAAY,CAC1B,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,EACvC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EACzD,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EACrD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,EACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,EACpD,cAAc,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,EACnD,cAAc,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,sBAsKnD;AAED,wBAAgB,QAAQ,kBAEvB"}
package/dist/store.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { deepClone as O } from "@milaboratories/helpers";
2
2
  import { getControllerByType as B, getInitialStateByType as H } from "@milaboratories/pf-plots";
3
- import { ref as p, computed as D, watch as y, toRaw as L, provide as V, reactive as _, inject as k } from "vue";
3
+ import { ref as c, computed as D, watch as y, toRaw as L, provide as V, reactive as _, inject as k } from "vue";
4
4
  import { getInitialAxesSettings as q, getInitialLayersSettings as z, getInitialStatisticsState as J, getInitialTemplate as Q } from "./constantsCommon.js";
5
5
  import { updateDataBindAes as W } from "./dataBindAes.js";
6
6
  import { notEmpty as X } from "./helpers.js";
7
7
  import { storeKey as j } from "./keys.js";
8
8
  import { DEFAULT_CONTINUOUS_PALETTE as Y, DEFAULT_CATEGORICAL_PALETTE as Z } from "./constantsAesthetic.js";
9
9
  import { loadDataForPlot as $ } from "./utils/createChartSettingsForRender/composeChartSettings.js";
10
- import { calculateDiscreteGroups as x } from "./utils/calculateDiscreteGroups.js";
10
+ import { calculateDiscreteGroups as N } from "./utils/calculateDiscreteGroups.js";
11
11
  import { addFixedOptionsToState as R } from "./utils/addFixedOptionsToState.js";
12
12
  import { loadDefaultSources as K } from "./utils/loadDefaultSources.js";
13
13
  import { copyJSON as G } from "./utils/copyJSON.js";
@@ -15,16 +15,16 @@ import { getUsedAesInMapping as P } from "./utils/getUsedAesInMapping.js";
15
15
  import { getUniqueValuesFromReadyChartData as tt, loadFilterLabelsForTitle as et } from "./utils/loadUniqueValuesToSave.js";
16
16
  import { tabKeys as at } from "./forms/index.js";
17
17
  function ot(t, a) {
18
- const r = G(H(t));
18
+ const i = G(H(t));
19
19
  if ((a == null ? void 0 : a.type) !== t)
20
- return r;
21
- const s = G(a);
20
+ return i;
21
+ const u = G(a);
22
22
  return {
23
- ...r,
24
- ...s,
23
+ ...i,
24
+ ...u,
25
25
  components: {
26
- ...r.components,
27
- ...s.components
26
+ ...i.components,
27
+ ...u.components
28
28
  }
29
29
  };
30
30
  }
@@ -45,13 +45,13 @@ function nt(t, a) {
45
45
  chartScale: t.zoomState ?? 100,
46
46
  lassoControlsState: null,
47
47
  currentTab: t.currentTab === void 0 ? "dataMapping" : t.currentTab,
48
- tabDefaultState: at().reduce((r, s) => (r[s] = {}, r), {}),
48
+ tabDefaultState: at().reduce((i, u) => (i[u] = {}, i), {}),
49
49
  dendroInfoByClick: null,
50
50
  dendroSelectedNodeId: null,
51
51
  showTooltipHint: !1
52
52
  });
53
53
  }
54
- function lt(t, a, r, s, m, g, b, C, h, e) {
54
+ function lt(t, a, i, u, m, g, b, h, C, e) {
55
55
  return {
56
56
  reactive: t,
57
57
  loading: _({
@@ -66,14 +66,14 @@ function lt(t, a, r, s, m, g, b, C, h, e) {
66
66
  }),
67
67
  commonHelpersData: {
68
68
  primaryGroups: D(
69
- () => x(
69
+ () => N(
70
70
  t.optionsState,
71
71
  g.value,
72
72
  "primaryGrouping"
73
73
  )
74
74
  ),
75
75
  secondaryGroups: D(
76
- () => x(
76
+ () => N(
77
77
  t.optionsState,
78
78
  g.value,
79
79
  "secondaryGrouping"
@@ -86,118 +86,116 @@ function lt(t, a, r, s, m, g, b, C, h, e) {
86
86
  t.layersSettings,
87
87
  t.statisticsSettings,
88
88
  t.optionsState,
89
- r.value
89
+ i.value
90
90
  )
91
91
  ),
92
92
  dendroTableData: m
93
93
  },
94
94
  controller: B(t.chartType),
95
95
  columnsDataStore: a,
96
- inputGuide: r,
97
- chartData: s,
96
+ inputGuide: i,
97
+ chartData: u,
98
98
  uniqueValuesData: g,
99
99
  filterSuggestionsData: b,
100
- filterLabelsInfo: C,
101
- readonlyInputs: h,
100
+ filterLabelsInfo: h,
101
+ readonlyInputs: C,
102
102
  defaultPalette: {
103
103
  categorical: typeof e == "object" && e.categorical ? e.categorical : typeof e == "string" ? e : Z,
104
104
  continuous: typeof e == "object" && e.continuous ? e.continuous : typeof e == "string" ? e : Y
105
105
  }
106
106
  };
107
107
  }
108
- function Gt(t, a, r, s, m, g, b, C, h) {
109
- const e = nt(t, r);
108
+ function Gt(t, a, i, u, m, g, b, h, C) {
109
+ const e = nt(t, i);
110
110
  console.log("create reactive state");
111
- const f = B(e.chartType), S = p(B(e.chartType).getEmptyInputGuide(e.optionsState)), N = p(null), T = p({}), I = p({}), A = p({}), U = p(null), o = D(() => lt(
111
+ const v = B(e.chartType), S = c(B(e.chartType).getEmptyInputGuide(e.optionsState)), U = c(null), T = c({}), I = c({}), A = c({}), x = c(null), o = D(() => lt(
112
112
  e,
113
113
  a,
114
114
  S,
115
- N,
116
115
  U,
116
+ x,
117
117
  T,
118
118
  I,
119
119
  A,
120
- C,
121
- h
120
+ h,
121
+ C
122
122
  ));
123
123
  y(() => a.value, () => {
124
124
  A.value = {}, T.value = {}, I.value = {};
125
125
  }), y([
126
126
  () => a.value,
127
- () => s.value
128
- ], async ([l, i]) => {
129
- if (!i || !l || !o.value.loading.initialDefaults)
127
+ () => u.value
128
+ ], async ([l, r]) => {
129
+ if (!r || !l || !o.value.loading.initialDefaults)
130
130
  return;
131
131
  o.value.loading.initialDefaults = !1, o.value.loading.initialInputGuide = !0, o.value.loading.defaults = !0;
132
- const n = G(e.optionsState.components), u = await K(l, i);
133
- for (const { inputName: c } of u)
134
- n[c].selectorStates = [];
132
+ const n = G(e.optionsState.components), s = await K(l, r);
135
133
  for (const {
136
- inputName: c,
134
+ inputName: p,
137
135
  selectedSource: d,
138
- filterType: v,
136
+ filterType: f,
139
137
  selectedFilterValues: F,
140
138
  selectedFilterRange: M
141
- } of u)
142
- n[c].selectorStates.push({
139
+ } of s)
140
+ n[p].selectorStates.length > 0 || n[p].selectorStates.push({
143
141
  selectedSource: d,
144
- type: v,
142
+ type: f,
145
143
  selectedFilterValues: F,
146
144
  selectedFilterRange: M
147
145
  });
148
146
  e.optionsState.components = n, o.value.loading.defaults = !1;
149
147
  }, { immediate: !0 });
150
- const w = p(0);
148
+ const w = c(0);
151
149
  y([
152
150
  () => e.optionsState,
153
151
  () => a.value,
154
152
  () => m.value
155
- ], async ([l, i, n]) => {
156
- if (s.value === null || a.value === null)
153
+ ], async ([l, r, n]) => {
154
+ if (u.value === null || a.value === null)
157
155
  return;
158
156
  w.value++;
159
- const u = w.value;
157
+ const s = w.value;
160
158
  o.value.loading.inputGuide = !0;
161
- const c = i && n ? (await K(i, n, !1)).map((v) => v.selectedSource) : [], d = i ? await f.calculateOptions(L(i), l, c, g, b) : f.getEmptyInputGuide(l);
162
- u === w.value && (S.value = d, o.value.loading.inputGuide = !1, o.value.loading.initialInputGuide && (o.value.loading.initialInputGuide = !1));
159
+ const p = r && n ? (await K(r, n, !1)).map((f) => f.selectedSource) : [], d = r ? await v.calculateOptions(L(r), l, p, g, b) : v.getEmptyInputGuide(l);
160
+ s === w.value && (S.value = d, o.value.loading.inputGuide = !1, o.value.loading.initialInputGuide && (o.value.loading.initialInputGuide = !1));
163
161
  }, { immediate: !0, deep: !0 });
164
- const E = p(0);
162
+ const E = c(0);
165
163
  if (y(() => S.value, async (l) => {
166
164
  E.value++;
167
- const i = E.value;
165
+ const r = E.value;
168
166
  o.value.loading.chartData = !0;
169
- const n = L(a.value), u = await $(l, e, n, m.value);
170
- if (u && n) {
171
- const { uniqueValues: c, filterSuggestions: d } = await tt(
172
- u,
167
+ const n = L(a.value), s = await $(l, e, n, m.value);
168
+ if (s && n) {
169
+ const { uniqueValues: p, filterSuggestions: d } = await tt(
170
+ s,
173
171
  l,
174
172
  e.optionsState.components,
175
- f,
173
+ v,
176
174
  n,
177
175
  L(I.value)
178
176
  );
179
- T.value = c, I.value = d, W(e.optionsState, e.dataBindAes, T.value);
177
+ T.value = p, I.value = d, W(e.optionsState, e.dataBindAes, T.value);
180
178
  }
181
179
  A.value = n ? await et(
182
180
  e.optionsState.components,
183
181
  l,
184
- f,
182
+ v,
185
183
  n
186
- ) : {}, i === E.value && (N.value = u, l.ready && (o.value.loading.initialCharts = !1), o.value.loading.chartData = !1);
184
+ ) : {}, r === E.value && (U.value = s, l.ready && (o.value.loading.initialCharts = !1), o.value.loading.chartData = !1);
187
185
  }, { immediate: !0, deep: !0 }), e.chartType === "dendro") {
188
- const l = p(0);
186
+ const l = c(0);
189
187
  y([
190
188
  () => e.optionsState,
191
189
  () => a.value,
192
190
  () => S.value.readyData,
193
191
  () => m.value
194
- ], async ([i, n, u, c]) => {
195
- if (u && n) {
192
+ ], async ([r, n, s, p]) => {
193
+ if (s && n) {
196
194
  l.value++;
197
195
  const d = l.value;
198
196
  o.value.loading.dendroTableData = !0;
199
- const v = await R(i, n, c), F = await f.createTableData(n, v);
200
- l.value === d && (U.value = F), o.value.loading.dendroTableData = !1;
197
+ const f = await R(r, n, p), F = await v.createTableData(n, f);
198
+ l.value === d && (x.value = F), o.value.loading.dendroTableData = !1;
201
199
  }
202
200
  }, { immediate: !0 });
203
201
  }
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sources":["../src/store.ts"],"sourcesContent":["import { deepClone } from '@milaboratories/helpers';\nimport type {\n ChartType,\n DemoDataStore,\n DendroStateController,\n DendroUIState,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n getControllerByType,\n getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { PColumnSpec } from '@platforma-sdk/model';\nimport type { CategoricalPalette, ContinuousPalette, Palette } from './components/AesSettings/types';\nimport type { ComputedRef, Reactive, Ref } from 'vue';\nimport { computed, inject, provide, reactive, ref, toRaw, watch } from 'vue';\nimport type { AesType } from './constantsCommon';\nimport {\n getInitialAxesSettings,\n getInitialLayersSettings,\n getInitialStatisticsState,\n getInitialTemplate,\n} from './constantsCommon';\nimport { updateDataBindAes } from './dataBindAes';\nimport { notEmpty } from './helpers';\nimport { storeKey } from './keys';\nimport type {\n DefaultPalettes,\n DendroNodeInfo,\n FilterLabelsInfoBySourceMap,\n FilterSuggestionsBySourceMap,\n GraphMakerProps,\n GraphMakerState,\n ReactiveState, UniqueValuesBySourceMap,\n} from './types';\nimport { loadDefaultSources } from './utils';\nimport { addFixedOptionsToState } from './utils/addFixedOptionsToState';\nimport { calculateDiscreteGroups } from './utils/calculateDiscreteGroups';\nimport { copyJSON } from './utils/copyJSON';\nimport { loadDataForPlot } from './utils/createChartSettingsForRender/composeChartSettings';\nimport { getUsedAesInMapping } from './utils/getUsedAesInMapping';\nimport {\n getUniqueValuesFromReadyChartData,\n loadFilterLabelsForTitle,\n} from './utils/loadUniqueValuesToSave';\nimport type { FormKey } from './forms';\nimport { tabKeys } from './forms';\nimport { DEFAULT_CATEGORICAL_PALETTE, DEFAULT_CONTINUOUS_PALETTE } from './constantsAesthetic';\n\nfunction getInitialOptionsState(chartType: ChartType, optionsState: InputState | undefined) {\n const defaultState = copyJSON(getInitialStateByType(chartType));\n if (optionsState?.type !== chartType) {\n return defaultState;\n }\n const optionsStateCopy = copyJSON(optionsState);\n\n return {\n ...defaultState,\n ...optionsStateCopy,\n components: {\n ...defaultState.components,\n ...optionsStateCopy.components,\n },\n };\n}\n\nexport function createReactiveState(\n initialData: GraphMakerState,\n chartType: ChartType,\n): Reactive<ReactiveState> {\n return reactive({\n chartType: chartType,\n // from pf-plots\n optionsState: getInitialOptionsState(chartType, initialData.optionsState), // contains user selected inputs\n\n dataStateKey: deepClone(initialData.dataStateKey),\n // local form states, updates directly in forms\n template: getInitialTemplate(initialData.template, chartType),\n statisticsSettings: getInitialStatisticsState(chartType, initialData.statisticsSettings),\n layersSettings: getInitialLayersSettings(initialData.layersSettings),\n axesSettings: getInitialAxesSettings(chartType, initialData.axesSettings),\n // common aesthetics data mapped on columns/axes values\n dataBindAes: copyJSON(initialData.dataBindAes ?? {}),\n chartScale: initialData.zoomState ?? 100,\n lassoControlsState: null,\n currentTab: initialData.currentTab === undefined ? 'dataMapping' : initialData.currentTab,\n tabDefaultState: tabKeys().reduce((res, formKey: FormKey) => {\n res[formKey] = {};\n return res;\n }, {} as Record<FormKey, Record<string, boolean>>),\n dendroInfoByClick: null as null | DendroNodeInfo,\n dendroSelectedNodeId: null,\n showTooltipHint: false,\n });\n}\n\nexport interface Store {\n reactive: Reactive<ReactiveState>;\n loading: {\n initialInputGuide: boolean;\n initialCharts: boolean;\n initialDefaults: boolean;\n inputGuide: boolean;\n chartData: boolean;\n defaults: boolean;\n chartRendering: boolean;\n dendroTableData: boolean;\n };\n commonHelpersData: {\n primaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n secondaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n usedAesInMapping: ComputedRef<Record<string, Record<AesType, boolean>>>;\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>;\n };\n controller: ReturnType<typeof getControllerByType>;\n columnsDataStore: Ref<DemoDataStore | null>;\n inputGuide: Ref<InputGuide<InputState>>;\n chartData: Ref<PlotDataAndSettings | null>;\n uniqueValuesData: Ref<UniqueValuesBySourceMap>;\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>;\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>;\n readonlyInputs?: InputNamesByChartType[ChartType][];\n defaultPalette: DefaultPalettes;\n}\n\nexport function factoryStore(\n reactiveState: Reactive<ReactiveState>,\n dataStore: Ref<DemoDataStore | null>,\n inputGuide: Ref<InputGuide<InputState>>,\n chartData: Ref<PlotDataAndSettings | null>,\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>,\n uniqueValuesData: Ref<UniqueValuesBySourceMap>,\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>,\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: Palette | { categorical?: Palette; continuous?: Palette },\n): Store {\n return {\n reactive: reactiveState,\n loading: reactive({\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n defaults: false,\n chartRendering: false,\n dendroTableData: false,\n }),\n commonHelpersData: {\n primaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'primaryGrouping',\n ),\n ),\n secondaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'secondaryGrouping',\n ),\n ),\n usedAesInMapping: computed<Record<string, Record<AesType, boolean>>>(() =>\n getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide.value,\n ),\n ),\n dendroTableData,\n },\n controller: getControllerByType(reactiveState.chartType),\n columnsDataStore: dataStore,\n inputGuide,\n chartData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette: {\n categorical: typeof defaultPalette === 'object' && defaultPalette.categorical\n ? defaultPalette.categorical as CategoricalPalette\n : typeof defaultPalette === 'string' ? defaultPalette as CategoricalPalette : DEFAULT_CATEGORICAL_PALETTE,\n continuous: typeof defaultPalette === 'object' && defaultPalette.continuous\n ? defaultPalette.continuous as ContinuousPalette\n : typeof defaultPalette === 'string' ? defaultPalette as ContinuousPalette : DEFAULT_CONTINUOUS_PALETTE,\n },\n };\n}\n\nexport type ComputedStore = ComputedRef<Store>;\n\nexport function provideStore(\n initialState: GraphMakerState,\n dataStoreRef: Ref<DemoDataStore | null>,\n chartType: ChartType,\n defaultOptionsRef: Ref<GraphMakerProps['defaultOptions']>,\n fixedOptionsRef: Ref<GraphMakerProps['fixedOptions']>,\n dataColumnPredicate?: (spec: PColumnSpec) => boolean,\n metaColumnPredicate?: (spec: PColumnSpec) => boolean,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: GraphMakerProps['defaultPalette'],\n) {\n const reactiveState = createReactiveState(initialState, chartType);\n console.log('create reactive state');\n const controller = getControllerByType(reactiveState.chartType);\n\n const inputGuide = ref<InputGuide<InputState>>(getControllerByType(reactiveState.chartType).getEmptyInputGuide(reactiveState.optionsState));\n const chartData = ref<PlotDataAndSettings | null>(null);\n\n const uniqueValuesData = ref<UniqueValuesBySourceMap>({});\n const filterSuggestionsData = ref<FilterSuggestionsBySourceMap>({});\n const filterLabelsInfo = ref<FilterLabelsInfoBySourceMap>({}); // for auto titles of chart if something selected in filter/tabby\n\n const dendroTableData = ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>(null);\n\n // toRaw removes Vue proxy from dataStore.pframe (PFrame api)\n const store = computed(() => factoryStore(\n reactiveState,\n dataStoreRef,\n inputGuide,\n chartData,\n dendroTableData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette,\n ));\n\n watch(() => dataStoreRef.value, () => {\n filterLabelsInfo.value = {};\n uniqueValuesData.value = {};\n filterSuggestionsData.value = {}; // reset saved data; avoid caching of empty results from old empty pframe\n });\n watch([\n () => dataStoreRef.value,\n () => defaultOptionsRef.value,\n ], async ([ds, defaultOptions]) => {\n if (!defaultOptions || !ds || !store.value.loading.initialDefaults) {\n return;\n }\n store.value.loading.initialDefaults = false; // to avoid multiple calculations, default settings cannot change except after reset\n store.value.loading.initialInputGuide = true; // to show loader on initial loading; changing of reactiveState.optionsState always triggers inputGuide recalculating, so it will be off after inputGuide\n store.value.loading.defaults = true;\n\n const updatedOptionsState = copyJSON(reactiveState.optionsState.components);\n const loadedDefaultSources = await loadDefaultSources(ds, defaultOptions);\n for (const { inputName } of loadedDefaultSources) {\n updatedOptionsState[inputName].selectorStates = [];\n }\n for (const {\n inputName,\n selectedSource,\n filterType,\n selectedFilterValues,\n selectedFilterRange,\n } of loadedDefaultSources) {\n updatedOptionsState[inputName].selectorStates.push({\n selectedSource,\n type: filterType,\n selectedFilterValues,\n selectedFilterRange,\n });\n }\n\n reactiveState.optionsState.components = updatedOptionsState;\n store.value.loading.defaults = false;\n }, { immediate: true });\n\n // recalculate input guide - options for every data input, consistency info etc\n const inputGuideCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState,\n () => dataStoreRef.value,\n () => fixedOptionsRef.value,\n ], async ([optionsState, ds, fixedOptions]) => {\n if (defaultOptionsRef.value === null || dataStoreRef.value === null) { // they are not ready, waiting for them\n return;\n }\n inputGuideCounter.value++;\n const counter = inputGuideCounter.value;\n store.value.loading.inputGuide = true;\n const ignoredIds = ds && fixedOptions ? (await loadDefaultSources(ds, fixedOptions, false)).map((item) => item.selectedSource) : [];\n\n // const start = Date.now();\n const nextInputGuide = ds ? await controller.calculateOptions(toRaw(ds), optionsState, ignoredIds, dataColumnPredicate, metaColumnPredicate) : controller.getEmptyInputGuide(optionsState);\n // console.log('input guide', Date.now() - start);\n\n if (counter === inputGuideCounter.value) { // race condition check\n inputGuide.value = nextInputGuide;\n\n store.value.loading.inputGuide = false;\n if (store.value.loading.initialInputGuide) {\n store.value.loading.initialInputGuide = false;\n }\n }\n }, { immediate: true, deep: true });\n\n // recalculate data for chart rendering (miplots4)\n const chartDataCounter = ref(0); // to avoid race condition on async calculations\n watch(() => inputGuide.value, async (ig) => {\n chartDataCounter.value++;\n const counter = chartDataCounter.value;\n\n store.value.loading.chartData = true;\n\n const ds = toRaw(dataStoreRef.value);\n // const start = Date.now();\n const nextChartData = await loadDataForPlot(ig, reactiveState, ds, fixedOptionsRef.value);\n\n if (nextChartData && ds) {\n const { uniqueValues, filterSuggestions } = await getUniqueValuesFromReadyChartData(\n nextChartData, ig, reactiveState.optionsState.components, controller, ds, toRaw(filterSuggestionsData.value),\n );\n uniqueValuesData.value = uniqueValues;\n filterSuggestionsData.value = filterSuggestions;\n updateDataBindAes(reactiveState.optionsState, reactiveState.dataBindAes, uniqueValuesData.value);\n }\n filterLabelsInfo.value = ds\n ? await loadFilterLabelsForTitle(\n reactiveState.optionsState.components,\n ig,\n controller,\n ds,\n )\n : {};\n // console.log('chart data', Date.now() - start);\n\n if (counter === chartDataCounter.value) { // race condition check\n chartData.value = nextChartData;\n if (ig.ready) {\n store.value.loading.initialCharts = false;\n }\n store.value.loading.chartData = false;\n }\n }, { immediate: true, deep: true });\n\n // watch data for table, only dendro chart; data is also using for popup by tree node click\n if (reactiveState.chartType === 'dendro') {\n const dendroDataCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState as DendroUIState,\n () => dataStoreRef.value,\n () => inputGuide.value.readyData,\n () => fixedOptionsRef.value,\n ], async ([optionsState, dataStore, ready, fixed]) => {\n if (ready && dataStore) {\n dendroDataCounter.value++;\n const counter = dendroDataCounter.value;\n store.value.loading.dendroTableData = true;\n const state = await addFixedOptionsToState(optionsState, dataStore, fixed) as DendroUIState;\n const nextDendroTableData = await (controller as unknown as DendroStateController).createTableData(dataStore, state);\n\n if (dendroDataCounter.value === counter) {\n dendroTableData.value = nextDendroTableData;\n }\n store.value.loading.dendroTableData = false;\n }\n }, { immediate: true });\n }\n\n provide(storeKey, store);\n return store;\n}\n\nexport function useStore() {\n return notEmpty(inject<ComputedStore>(storeKey), 'Empty store');\n}\n"],"names":["getInitialOptionsState","chartType","optionsState","defaultState","copyJSON","getInitialStateByType","optionsStateCopy","createReactiveState","initialData","reactive","deepClone","getInitialTemplate","getInitialStatisticsState","getInitialLayersSettings","getInitialAxesSettings","tabKeys","res","formKey","factoryStore","reactiveState","dataStore","inputGuide","chartData","dendroTableData","uniqueValuesData","filterSuggestionsData","filterLabelsInfo","readonlyInputs","defaultPalette","computed","calculateDiscreteGroups","getUsedAesInMapping","getControllerByType","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","provideStore","initialState","dataStoreRef","defaultOptionsRef","fixedOptionsRef","dataColumnPredicate","metaColumnPredicate","controller","ref","store","watch","ds","defaultOptions","updatedOptionsState","loadedDefaultSources","loadDefaultSources","inputName","selectedSource","filterType","selectedFilterValues","selectedFilterRange","inputGuideCounter","fixedOptions","counter","ignoredIds","item","nextInputGuide","toRaw","chartDataCounter","ig","nextChartData","loadDataForPlot","uniqueValues","filterSuggestions","getUniqueValuesFromReadyChartData","updateDataBindAes","loadFilterLabelsForTitle","dendroDataCounter","ready","fixed","state","addFixedOptionsToState","nextDendroTableData","provide","storeKey","useStore","notEmpty","inject"],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sources":["../src/store.ts"],"sourcesContent":["import { deepClone } from '@milaboratories/helpers';\nimport type {\n ChartType,\n DemoDataStore,\n DendroStateController,\n DendroUIState,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n getControllerByType,\n getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { PColumnSpec } from '@platforma-sdk/model';\nimport type { CategoricalPalette, ContinuousPalette, Palette } from './components/AesSettings/types';\nimport type { ComputedRef, Reactive, Ref } from 'vue';\nimport { computed, inject, provide, reactive, ref, toRaw, watch } from 'vue';\nimport type { AesType } from './constantsCommon';\nimport {\n getInitialAxesSettings,\n getInitialLayersSettings,\n getInitialStatisticsState,\n getInitialTemplate,\n} from './constantsCommon';\nimport { updateDataBindAes } from './dataBindAes';\nimport { notEmpty } from './helpers';\nimport { storeKey } from './keys';\nimport type {\n DefaultPalettes,\n DendroNodeInfo,\n FilterLabelsInfoBySourceMap,\n FilterSuggestionsBySourceMap,\n GraphMakerProps,\n GraphMakerState,\n ReactiveState, UniqueValuesBySourceMap,\n} from './types';\nimport { loadDefaultSources } from './utils';\nimport { addFixedOptionsToState } from './utils/addFixedOptionsToState';\nimport { calculateDiscreteGroups } from './utils/calculateDiscreteGroups';\nimport { copyJSON } from './utils/copyJSON';\nimport { loadDataForPlot } from './utils/createChartSettingsForRender/composeChartSettings';\nimport { getUsedAesInMapping } from './utils/getUsedAesInMapping';\nimport {\n getUniqueValuesFromReadyChartData,\n loadFilterLabelsForTitle,\n} from './utils/loadUniqueValuesToSave';\nimport type { FormKey } from './forms';\nimport { tabKeys } from './forms';\nimport { DEFAULT_CATEGORICAL_PALETTE, DEFAULT_CONTINUOUS_PALETTE } from './constantsAesthetic';\n\nfunction getInitialOptionsState(chartType: ChartType, optionsState: InputState | undefined) {\n const defaultState = copyJSON(getInitialStateByType(chartType));\n if (optionsState?.type !== chartType) {\n return defaultState;\n }\n const optionsStateCopy = copyJSON(optionsState);\n\n return {\n ...defaultState,\n ...optionsStateCopy,\n components: {\n ...defaultState.components,\n ...optionsStateCopy.components,\n },\n };\n}\n\nexport function createReactiveState(\n initialData: GraphMakerState,\n chartType: ChartType,\n): Reactive<ReactiveState> {\n return reactive({\n chartType: chartType,\n // from pf-plots\n optionsState: getInitialOptionsState(chartType, initialData.optionsState), // contains user selected inputs\n\n dataStateKey: deepClone(initialData.dataStateKey),\n // local form states, updates directly in forms\n template: getInitialTemplate(initialData.template, chartType),\n statisticsSettings: getInitialStatisticsState(chartType, initialData.statisticsSettings),\n layersSettings: getInitialLayersSettings(initialData.layersSettings),\n axesSettings: getInitialAxesSettings(chartType, initialData.axesSettings),\n // common aesthetics data mapped on columns/axes values\n dataBindAes: copyJSON(initialData.dataBindAes ?? {}),\n chartScale: initialData.zoomState ?? 100,\n lassoControlsState: null,\n currentTab: initialData.currentTab === undefined ? 'dataMapping' : initialData.currentTab,\n tabDefaultState: tabKeys().reduce((res, formKey: FormKey) => {\n res[formKey] = {};\n return res;\n }, {} as Record<FormKey, Record<string, boolean>>),\n dendroInfoByClick: null as null | DendroNodeInfo,\n dendroSelectedNodeId: null,\n showTooltipHint: false,\n });\n}\n\nexport interface Store {\n reactive: Reactive<ReactiveState>;\n loading: {\n initialInputGuide: boolean;\n initialCharts: boolean;\n initialDefaults: boolean;\n inputGuide: boolean;\n chartData: boolean;\n defaults: boolean;\n chartRendering: boolean;\n dendroTableData: boolean;\n };\n commonHelpersData: {\n primaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n secondaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n usedAesInMapping: ComputedRef<Record<string, Record<AesType, boolean>>>;\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>;\n };\n controller: ReturnType<typeof getControllerByType>;\n columnsDataStore: Ref<DemoDataStore | null>;\n inputGuide: Ref<InputGuide<InputState>>;\n chartData: Ref<PlotDataAndSettings | null>;\n uniqueValuesData: Ref<UniqueValuesBySourceMap>;\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>;\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>;\n readonlyInputs?: InputNamesByChartType[ChartType][];\n defaultPalette: DefaultPalettes;\n}\n\nexport function factoryStore(\n reactiveState: Reactive<ReactiveState>,\n dataStore: Ref<DemoDataStore | null>,\n inputGuide: Ref<InputGuide<InputState>>,\n chartData: Ref<PlotDataAndSettings | null>,\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>,\n uniqueValuesData: Ref<UniqueValuesBySourceMap>,\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>,\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: Palette | { categorical?: Palette; continuous?: Palette },\n): Store {\n return {\n reactive: reactiveState,\n loading: reactive({\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n defaults: false,\n chartRendering: false,\n dendroTableData: false,\n }),\n commonHelpersData: {\n primaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'primaryGrouping',\n ),\n ),\n secondaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'secondaryGrouping',\n ),\n ),\n usedAesInMapping: computed<Record<string, Record<AesType, boolean>>>(() =>\n getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide.value,\n ),\n ),\n dendroTableData,\n },\n controller: getControllerByType(reactiveState.chartType),\n columnsDataStore: dataStore,\n inputGuide,\n chartData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette: {\n categorical: typeof defaultPalette === 'object' && defaultPalette.categorical\n ? defaultPalette.categorical as CategoricalPalette\n : typeof defaultPalette === 'string' ? defaultPalette as CategoricalPalette : DEFAULT_CATEGORICAL_PALETTE,\n continuous: typeof defaultPalette === 'object' && defaultPalette.continuous\n ? defaultPalette.continuous as ContinuousPalette\n : typeof defaultPalette === 'string' ? defaultPalette as ContinuousPalette : DEFAULT_CONTINUOUS_PALETTE,\n },\n };\n}\n\nexport type ComputedStore = ComputedRef<Store>;\n\nexport function provideStore(\n initialState: GraphMakerState,\n dataStoreRef: Ref<DemoDataStore | null>,\n chartType: ChartType,\n defaultOptionsRef: Ref<GraphMakerProps['defaultOptions']>,\n fixedOptionsRef: Ref<GraphMakerProps['fixedOptions']>,\n dataColumnPredicate?: (spec: PColumnSpec) => boolean,\n metaColumnPredicate?: (spec: PColumnSpec) => boolean,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: GraphMakerProps['defaultPalette'],\n) {\n const reactiveState = createReactiveState(initialState, chartType);\n console.log('create reactive state');\n const controller = getControllerByType(reactiveState.chartType);\n\n const inputGuide = ref<InputGuide<InputState>>(getControllerByType(reactiveState.chartType).getEmptyInputGuide(reactiveState.optionsState));\n const chartData = ref<PlotDataAndSettings | null>(null);\n\n const uniqueValuesData = ref<UniqueValuesBySourceMap>({});\n const filterSuggestionsData = ref<FilterSuggestionsBySourceMap>({});\n const filterLabelsInfo = ref<FilterLabelsInfoBySourceMap>({}); // for auto titles of chart if something selected in filter/tabby\n\n const dendroTableData = ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>(null);\n\n // toRaw removes Vue proxy from dataStore.pframe (PFrame api)\n const store = computed(() => factoryStore(\n reactiveState,\n dataStoreRef,\n inputGuide,\n chartData,\n dendroTableData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette,\n ));\n\n watch(() => dataStoreRef.value, () => {\n filterLabelsInfo.value = {};\n uniqueValuesData.value = {};\n filterSuggestionsData.value = {}; // reset saved data; avoid caching of empty results from old empty pframe\n });\n watch([\n () => dataStoreRef.value,\n () => defaultOptionsRef.value,\n ], async ([ds, defaultOptions]) => {\n if (!defaultOptions || !ds || !store.value.loading.initialDefaults) {\n return;\n }\n store.value.loading.initialDefaults = false; // to avoid multiple calculations, default settings cannot change except after reset\n store.value.loading.initialInputGuide = true; // to show loader on initial loading; changing of reactiveState.optionsState always triggers inputGuide recalculating, so it will be off after inputGuide\n store.value.loading.defaults = true;\n\n const updatedOptionsState = copyJSON(reactiveState.optionsState.components);\n const loadedDefaultSources = await loadDefaultSources(ds, defaultOptions);\n // for (const { inputName } of loadedDefaultSources) {\n // updatedOptionsState[inputName].selectorStates = [];\n // }\n for (const {\n inputName,\n selectedSource,\n filterType,\n selectedFilterValues,\n selectedFilterRange,\n } of loadedDefaultSources) {\n if (updatedOptionsState[inputName].selectorStates.length > 0) {\n continue;\n }\n updatedOptionsState[inputName].selectorStates.push({\n selectedSource,\n type: filterType,\n selectedFilterValues,\n selectedFilterRange,\n });\n }\n\n reactiveState.optionsState.components = updatedOptionsState;\n store.value.loading.defaults = false;\n }, { immediate: true });\n\n // recalculate input guide - options for every data input, consistency info etc\n const inputGuideCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState,\n () => dataStoreRef.value,\n () => fixedOptionsRef.value,\n ], async ([optionsState, ds, fixedOptions]) => {\n if (defaultOptionsRef.value === null || dataStoreRef.value === null) { // they are not ready, waiting for them\n return;\n }\n inputGuideCounter.value++;\n const counter = inputGuideCounter.value;\n store.value.loading.inputGuide = true;\n const ignoredIds = ds && fixedOptions ? (await loadDefaultSources(ds, fixedOptions, false)).map((item) => item.selectedSource) : [];\n\n // const start = Date.now();\n const nextInputGuide = ds ? await controller.calculateOptions(toRaw(ds), optionsState, ignoredIds, dataColumnPredicate, metaColumnPredicate) : controller.getEmptyInputGuide(optionsState);\n // console.log('input guide', Date.now() - start);\n\n if (counter === inputGuideCounter.value) { // race condition check\n inputGuide.value = nextInputGuide;\n\n store.value.loading.inputGuide = false;\n if (store.value.loading.initialInputGuide) {\n store.value.loading.initialInputGuide = false;\n }\n }\n }, { immediate: true, deep: true });\n\n // recalculate data for chart rendering (miplots4)\n const chartDataCounter = ref(0); // to avoid race condition on async calculations\n watch(() => inputGuide.value, async (ig) => {\n chartDataCounter.value++;\n const counter = chartDataCounter.value;\n\n store.value.loading.chartData = true;\n\n const ds = toRaw(dataStoreRef.value);\n // const start = Date.now();\n const nextChartData = await loadDataForPlot(ig, reactiveState, ds, fixedOptionsRef.value);\n\n if (nextChartData && ds) {\n const { uniqueValues, filterSuggestions } = await getUniqueValuesFromReadyChartData(\n nextChartData, ig, reactiveState.optionsState.components, controller, ds, toRaw(filterSuggestionsData.value),\n );\n uniqueValuesData.value = uniqueValues;\n filterSuggestionsData.value = filterSuggestions;\n updateDataBindAes(reactiveState.optionsState, reactiveState.dataBindAes, uniqueValuesData.value);\n }\n filterLabelsInfo.value = ds\n ? await loadFilterLabelsForTitle(\n reactiveState.optionsState.components,\n ig,\n controller,\n ds,\n )\n : {};\n // console.log('chart data', Date.now() - start);\n\n if (counter === chartDataCounter.value) { // race condition check\n chartData.value = nextChartData;\n if (ig.ready) {\n store.value.loading.initialCharts = false;\n }\n store.value.loading.chartData = false;\n }\n }, { immediate: true, deep: true });\n\n // watch data for table, only dendro chart; data is also using for popup by tree node click\n if (reactiveState.chartType === 'dendro') {\n const dendroDataCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState as DendroUIState,\n () => dataStoreRef.value,\n () => inputGuide.value.readyData,\n () => fixedOptionsRef.value,\n ], async ([optionsState, dataStore, ready, fixed]) => {\n if (ready && dataStore) {\n dendroDataCounter.value++;\n const counter = dendroDataCounter.value;\n store.value.loading.dendroTableData = true;\n const state = await addFixedOptionsToState(optionsState, dataStore, fixed) as DendroUIState;\n const nextDendroTableData = await (controller as unknown as DendroStateController).createTableData(dataStore, state);\n\n if (dendroDataCounter.value === counter) {\n dendroTableData.value = nextDendroTableData;\n }\n store.value.loading.dendroTableData = false;\n }\n }, { immediate: true });\n }\n\n provide(storeKey, store);\n return store;\n}\n\nexport function useStore() {\n return notEmpty(inject<ComputedStore>(storeKey), 'Empty store');\n}\n"],"names":["getInitialOptionsState","chartType","optionsState","defaultState","copyJSON","getInitialStateByType","optionsStateCopy","createReactiveState","initialData","reactive","deepClone","getInitialTemplate","getInitialStatisticsState","getInitialLayersSettings","getInitialAxesSettings","tabKeys","res","formKey","factoryStore","reactiveState","dataStore","inputGuide","chartData","dendroTableData","uniqueValuesData","filterSuggestionsData","filterLabelsInfo","readonlyInputs","defaultPalette","computed","calculateDiscreteGroups","getUsedAesInMapping","getControllerByType","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","provideStore","initialState","dataStoreRef","defaultOptionsRef","fixedOptionsRef","dataColumnPredicate","metaColumnPredicate","controller","ref","store","watch","ds","defaultOptions","updatedOptionsState","loadedDefaultSources","loadDefaultSources","inputName","selectedSource","filterType","selectedFilterValues","selectedFilterRange","inputGuideCounter","fixedOptions","counter","ignoredIds","item","nextInputGuide","toRaw","chartDataCounter","ig","nextChartData","loadDataForPlot","uniqueValues","filterSuggestions","getUniqueValuesFromReadyChartData","updateDataBindAes","loadFilterLabelsForTitle","dendroDataCounter","ready","fixed","state","addFixedOptionsToState","nextDendroTableData","provide","storeKey","useStore","notEmpty","inject"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/graph-maker",
3
- "version": "1.1.216",
3
+ "version": "1.1.217",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",