visualifyjs 2.5.3-2.dev → 2.5.3-9-dev

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of visualifyjs might be problematic. Click here for more details.

Files changed (139) hide show
  1. package/.github/workflows/{static.yml.bak → build.yaml} +51 -51
  2. package/LICENSE +674 -674
  3. package/README.md +40 -58
  4. package/config-overrides.js +31 -31
  5. package/dist/visualify.js +3 -3
  6. package/docs/CLI.md +15 -0
  7. package/docs/{docs/README.md → README.md} +41 -65
  8. package/docs/{docs/Rechart → Rechart}/bar.md +190 -190
  9. package/docs/{docs/Rechart → Rechart}/funnel.md +193 -241
  10. package/docs/{docs/Rechart → Rechart}/line.md +355 -355
  11. package/docs/{docs/Rechart → Rechart}/pie.md +225 -225
  12. package/docs/{docs/Rechart → Rechart}/radar.md +253 -253
  13. package/docs/{docs/_404.md → _404.md} +51 -51
  14. package/docs/{docs/_coverpage.md → _coverpage.md} +11 -11
  15. package/docs/{docs/_sidebar.md → _sidebar.md} +42 -44
  16. package/docs/{docs/components → components}/dotBio.md +34 -34
  17. package/docs/{docs/components → components}/echart.md +82 -82
  18. package/docs/{docs/components → components}/html.md +34 -34
  19. package/docs/{docs/components → components}/macaron.md +145 -145
  20. package/docs/components/markdown.md +0 -0
  21. package/docs/{docs/components → components}/more.md +142 -142
  22. package/docs/{docs/components → components}/plotly.md +62 -62
  23. package/docs/{docs/components → components}/scatterL.md +70 -70
  24. package/docs/{docs/components → components}/visium.md +56 -56
  25. package/docs/{docs/configuration.md → configuration.md} +123 -121
  26. package/docs/{docs/deploy.md → deploy.md} +23 -31
  27. package/docs/index.html +70 -70
  28. package/docs/log.md +1 -0
  29. package/docs/manifest.json +23 -23
  30. package/docs/{docs/more-pages.md → more-pages.md} +23 -23
  31. package/docs/{docs/quickstart.md → quickstart.md} +115 -124
  32. package/docs/{docs/rechart-attributes.md → rechart-attributes.md} +74 -74
  33. package/docs/{docs/rechart-basic-usage.md → rechart-basic-usage.md} +162 -162
  34. package/docs/static/css/fluff-stuff.css +169 -169
  35. package/docs/static/css/font-awesome.min.css +4 -4
  36. package/docs/static/css/visualify.css +25 -25
  37. package/docs/static/js/configuration.js +448 -448
  38. package/docs/static/js/visualify.js +24 -23
  39. package/docs/theme.md +3 -0
  40. package/package.json +74 -83
  41. package/rollup.config.mjs +75 -75
  42. package/src/_css/404.css +115 -115
  43. package/src/_css/App.css +37 -37
  44. package/src/_css/autoSuggestion.css +26 -26
  45. package/src/_css/circular-progress.css +32 -32
  46. package/src/_css/index.css +36 -36
  47. package/src/_css/modern.css +24 -24
  48. package/src/_media/corner.svg +8 -8
  49. package/src/_media/download.svg +3 -3
  50. package/src/_media/logo.svg +14 -14
  51. package/src/_test/App.test.js +15 -15
  52. package/src/_utils/reportWebVitals.js +13 -13
  53. package/src/core/appContext.js +27 -27
  54. package/src/core/components/Scatter.js +188 -188
  55. package/src/core/components/ScatterBio.js +572 -572
  56. package/src/core/components/VisiumPlot.js +165 -165
  57. package/src/core/components/browser.js +42 -42
  58. package/src/core/components/dotplot.js +413 -413
  59. package/src/core/components/html.js +29 -29
  60. package/src/core/components/list.js +178 -178
  61. package/src/core/components/macaron.js +201 -201
  62. package/src/core/components/markdown.js +56 -56
  63. package/src/core/components/parser.scatterBio.js +579 -587
  64. package/src/core/components/ratio.js +80 -80
  65. package/src/core/components/scatterL.js +173 -173
  66. package/src/core/components/searchbar.js +131 -131
  67. package/src/core/components/selection.js +193 -193
  68. package/src/core/components/timeline.js +281 -281
  69. package/src/core/components/visium.js +97 -97
  70. package/src/core/fetch/condfetch.js +82 -82
  71. package/src/core/fetch/fetch.js +92 -92
  72. package/src/core/fetch/json.js +29 -29
  73. package/src/core/fetch/vfetch.js +42 -42
  74. package/src/core/liveEditor.js +44 -44
  75. package/src/core/modules/codeEditorWithPreview.js +104 -104
  76. package/src/core/modules/echarts/common.js +20 -20
  77. package/src/core/modules/echarts/presetHandler.js +41 -41
  78. package/src/core/modules/echarts/presets/esodev.chromium.js +172 -172
  79. package/src/core/modules/echarts/presets/esodev.codex.js +130 -130
  80. package/src/core/modules/echarts/presets/esodev.visium.js +123 -123
  81. package/src/core/modules/echarts/presets/mmtrbc.js +186 -186
  82. package/src/core/modules/echarts.js +71 -71
  83. package/src/core/modules/echartsUtils.js +43 -43
  84. package/src/core/modules/echartswitcher.js +152 -152
  85. package/src/core/modules/replotly/presetHandler.js +24 -24
  86. package/src/core/modules/replotly/presets/minimum.js +18 -18
  87. package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -114
  88. package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -100
  89. package/src/core/modules/replotly.js +71 -71
  90. package/src/core/pages/404.js +50 -50
  91. package/src/core/pages/error.js +27 -27
  92. package/src/core/pages/jsonPage.js +62 -62
  93. package/src/core/pages/loading.js +44 -44
  94. package/src/core/parser/echart.data.js +183 -183
  95. package/src/core/parser/echart.features.js +125 -125
  96. package/src/core/parser/echart.general.js +143 -147
  97. package/src/core/parser/echart.hilbert.js +57 -57
  98. package/src/core/parser/echart.parser.js +210 -210
  99. package/src/core/parser/echart.series.js +67 -67
  100. package/src/core/parser/echart.types.js +76 -76
  101. package/src/core/parser/plotly.config.js +10 -10
  102. package/src/core/parser/plotly.data.js +132 -132
  103. package/src/core/parser/plotly.layout.js +9 -9
  104. package/src/core/parser/plotly.violin.js +18 -18
  105. package/src/core/recharts.js +62 -62
  106. package/src/core/router/alias.js +49 -49
  107. package/src/core/router/jsonRouter.js +31 -31
  108. package/src/core/themes/modern.js +32 -32
  109. package/src/core/themes/themeSelector.js +33 -33
  110. package/src/core/visualify.js +47 -47
  111. package/src/core/widgets/circularProgress.js +23 -23
  112. package/src/core/widgets/controller.js +83 -83
  113. package/src/core/widgets/errorBoundary.js +36 -36
  114. package/src/core/widgets/footer.js +177 -177
  115. package/src/core/widgets/header.js +234 -234
  116. package/src/core/widgets/layout/Grid.js +31 -31
  117. package/src/core/widgets/layout.js +36 -36
  118. package/src/core/widgets/mapping.js +42 -42
  119. package/src/index.js +62 -62
  120. package/src/setupTests.js +5 -5
  121. package/docs/docs/CLI.md +0 -34
  122. package/docs/docs/Rechart/scatter.md +0 -298
  123. package/docs/docs/log.md +0 -9
  124. package/docs/docs/static/logo/favicon.ico +0 -0
  125. package/docs/docs/static/logo/logo_128x128.png +0 -0
  126. package/docs/docs/static/logo/logo_192x192.png +0 -0
  127. package/docs/docs/static/logo/logo_256x256.png +0 -0
  128. package/docs/docs/static/logo/logo_512x512.png +0 -0
  129. package/docs/docs/static/logo/logo_64x64.png +0 -0
  130. package/docs/docs/theme.md +0 -5
  131. /package/docs/{docs/Rechart → Rechart}/geo.md +0 -0
  132. /package/docs/{docs/Rechart → Rechart}/liquidfill.md +0 -0
  133. /package/docs/{docs/Rechart → Rechart}/polar.md +0 -0
  134. /package/docs/{docs/Rechart → Rechart}/sankey.md +0 -0
  135. /package/docs/{docs/Rechart/sunburst.md → Rechart/scatter.md} +0 -0
  136. /package/docs/{docs/Rechart/tree.md → Rechart/sunburst.md} +0 -0
  137. /package/docs/{docs/Rechart/wordcloud.md → Rechart/tree.md} +0 -0
  138. /package/docs/{docs/components/markdown.md → Rechart/wordcloud.md} +0 -0
  139. /package/docs/{docs/static → static}/_images/deploy-github-pages.png +0 -0
@@ -1,114 +1,114 @@
1
- /*
2
- * @Author : Lihao leolihao@arizona.edu
3
- * @Date : 2024-01-14 15:25:40
4
- * @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.dot.js
5
- * @Description :
6
- * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
- */
8
-
9
- import Plotly from 'react-plotly.js';
10
-
11
- const DownloadIcon = {
12
- width: 32,
13
- height: 40,
14
- path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
15
- };
16
-
17
- const mmtrbc_dot = {
18
- data: [],
19
- config: {
20
- displaylogo: false,
21
- modeBarButtonsToRemove: [
22
- 'toImage',
23
- 'zoom2d',
24
- 'pan2d',
25
- 'zoomIn2d',
26
- 'zoomOut2d',
27
- 'boxSelect',
28
- 'select2d',
29
- 'lasso2d',
30
- 'resetScale2d',
31
- 'hoverClosestCartesian',
32
- 'hoverCompareCartesian',
33
- 'toggleSpikelines',
34
- ],
35
- modeBarButtonsToAdd: [
36
- {
37
- name: 'Save As Image',
38
- icon: DownloadIcon, // Your custom SVG or base64 encoded image
39
- click: function (gd) {
40
- Plotly.downloadImage(gd, { format: 'png' });
41
- },
42
- },
43
- ],
44
- },
45
- layout: {
46
- title: {
47
- text: 'Add genes to update Dot Plot',
48
- font: {
49
- family: 'Arial, sans-serif',
50
- size: 24,
51
- color: 'black',
52
- },
53
- },
54
- margin: {
55
- l: 110,
56
- r: 40,
57
- b: 30,
58
- t: 80,
59
- },
60
- legend: {
61
- //hide the legend
62
- x: 0.5, // left align
63
- y: -0.5, // top align
64
- xanchor: 'center', // anchor the legend to the left
65
- yanchor: 'bottom', // anchor the legend to the top
66
- orientation: 'h', // horizontal legend
67
- font: {
68
- size: 16,
69
- family: 'Arial, sans-serif',
70
- color: '#6699CC',
71
- },
72
- },
73
- xaxis: {
74
- showgrid: false,
75
- showline: false,
76
- showticklabels: true,
77
- linecolor: 'rgb(102, 102, 102)',
78
- tickcolor: 'rgb(102, 102, 102)',
79
- },
80
- yaxis: {
81
- showgrid: true,
82
- showline: false,
83
- showticklabels: true,
84
- gridcolor: '#E5ECF6',
85
- tickfont: {
86
- size: 16,
87
- family: 'Arial',
88
- color: '#037e8c',
89
- },
90
- },
91
- width: 500,
92
- height: 300,
93
- hovermode: 'closest',
94
- },
95
- visualify: {
96
- mapping: {
97
- extra: {
98
- UMI: 'N_UMI',
99
- N_gene: 'N_gene',
100
- Frac_MT: 'Frac_MT',
101
- Cell_ID: 'Cell_ID',
102
- },
103
- },
104
- merger: {
105
- gene: {
106
- item: 'Cell_ID',
107
- label: 'Expression',
108
- visualMap: true,
109
- },
110
- },
111
- },
112
- };
113
-
114
- export default mmtrbc_dot;
1
+ /*
2
+ * @Author : Lihao leolihao@arizona.edu
3
+ * @Date : 2024-01-14 15:25:40
4
+ * @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.dot.js
5
+ * @Description :
6
+ * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
+ */
8
+
9
+ import Plotly from 'react-plotly.js';
10
+
11
+ const DownloadIcon = {
12
+ width: 32,
13
+ height: 40,
14
+ path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
15
+ };
16
+
17
+ const mmtrbc_dot = {
18
+ data: [],
19
+ config: {
20
+ displaylogo: false,
21
+ modeBarButtonsToRemove: [
22
+ 'toImage',
23
+ 'zoom2d',
24
+ 'pan2d',
25
+ 'zoomIn2d',
26
+ 'zoomOut2d',
27
+ 'boxSelect',
28
+ 'select2d',
29
+ 'lasso2d',
30
+ 'resetScale2d',
31
+ 'hoverClosestCartesian',
32
+ 'hoverCompareCartesian',
33
+ 'toggleSpikelines',
34
+ ],
35
+ modeBarButtonsToAdd: [
36
+ {
37
+ name: 'Save As Image',
38
+ icon: DownloadIcon, // Your custom SVG or base64 encoded image
39
+ click: function (gd) {
40
+ Plotly.downloadImage(gd, { format: 'png' });
41
+ },
42
+ },
43
+ ],
44
+ },
45
+ layout: {
46
+ title: {
47
+ text: 'Add genes to update Dot Plot',
48
+ font: {
49
+ family: 'Arial, sans-serif',
50
+ size: 24,
51
+ color: 'black',
52
+ },
53
+ },
54
+ margin: {
55
+ l: 110,
56
+ r: 40,
57
+ b: 30,
58
+ t: 80,
59
+ },
60
+ legend: {
61
+ //hide the legend
62
+ x: 0.5, // left align
63
+ y: -0.5, // top align
64
+ xanchor: 'center', // anchor the legend to the left
65
+ yanchor: 'bottom', // anchor the legend to the top
66
+ orientation: 'h', // horizontal legend
67
+ font: {
68
+ size: 16,
69
+ family: 'Arial, sans-serif',
70
+ color: '#6699CC',
71
+ },
72
+ },
73
+ xaxis: {
74
+ showgrid: false,
75
+ showline: false,
76
+ showticklabels: true,
77
+ linecolor: 'rgb(102, 102, 102)',
78
+ tickcolor: 'rgb(102, 102, 102)',
79
+ },
80
+ yaxis: {
81
+ showgrid: true,
82
+ showline: false,
83
+ showticklabels: true,
84
+ gridcolor: '#E5ECF6',
85
+ tickfont: {
86
+ size: 16,
87
+ family: 'Arial',
88
+ color: '#037e8c',
89
+ },
90
+ },
91
+ width: 500,
92
+ height: 300,
93
+ hovermode: 'closest',
94
+ },
95
+ visualify: {
96
+ mapping: {
97
+ extra: {
98
+ UMI: 'N_UMI',
99
+ N_gene: 'N_gene',
100
+ Frac_MT: 'Frac_MT',
101
+ Cell_ID: 'Cell_ID',
102
+ },
103
+ },
104
+ merger: {
105
+ gene: {
106
+ item: 'Cell_ID',
107
+ label: 'Expression',
108
+ visualMap: true,
109
+ },
110
+ },
111
+ },
112
+ };
113
+
114
+ export default mmtrbc_dot;
@@ -1,100 +1,100 @@
1
- /*
2
- * @Author : Lihao leolihao@arizona.edu
3
- * @Date : 2024-01-14 15:25:40
4
- * @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.violin.js
5
- * @Description :
6
- * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
- */
8
-
9
- import Plotly from 'react-plotly.js';
10
-
11
- const DownloadIcon = {
12
- width: 32,
13
- height: 40,
14
- path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
15
- };
16
-
17
- const mmtrbc_violin = {
18
- data: [],
19
- config: {
20
- displaylogo: false,
21
- modeBarButtonsToRemove: [
22
- 'toImage',
23
- 'zoom2d',
24
- 'pan2d',
25
- 'zoomIn2d',
26
- 'zoomOut2d',
27
- 'autoScale2d',
28
- //"resetScale2d",
29
- 'hoverClosestCartesian',
30
- 'hoverCompareCartesian',
31
- 'toggleSpikelines',
32
- ],
33
- modeBarButtonsToAdd: [
34
- {
35
- name: 'Save As Image',
36
- icon: DownloadIcon, // Your custom SVG or base64 encoded image
37
- click: function (gd) {
38
- Plotly.downloadImage(gd, { format: 'png' });
39
- },
40
- },
41
- ],
42
- },
43
- layout: {
44
- title: {
45
- text: 'Search a gene to update Violin Plot',
46
- font: {
47
- family: 'Arial, sans-serif',
48
- size: 24,
49
- color: 'black',
50
- },
51
- },
52
- margin: {
53
- l: 10,
54
- r: 10,
55
- b: 20,
56
- t: 60,
57
- },
58
- legend: {
59
- font: {
60
- size: 13,
61
- family: 'Arial, sans-serif',
62
- color: '#6699CC',
63
- },
64
- x: 0.5, // left align
65
- y: -0.3, // top align
66
- xanchor: 'center', // anchor the legend to the left
67
- yanchor: 'bottom', // anchor the legend to the top
68
- orientation: 'h', // horizontal legend
69
- },
70
- xaxis: {
71
- tickvals: [],
72
- showgrid: false,
73
- showline: true,
74
- linecolor: 'rgb(102, 102, 102)',
75
- tickcolor: 'rgb(102, 102, 102)',
76
- type: 'category',
77
- },
78
- width: 500,
79
- height: 300,
80
- },
81
- visualify: {
82
- mapping: {
83
- extra: {
84
- UMI: 'N_UMI',
85
- N_gene: 'N_gene',
86
- Frac_MT: 'Frac_MT',
87
- Cell_ID: 'Cell_ID',
88
- },
89
- },
90
- merger: {
91
- gene: {
92
- item: 'Cell_ID',
93
- label: 'Expression',
94
- visualMap: true,
95
- },
96
- },
97
- },
98
- };
99
-
100
- export default mmtrbc_violin;
1
+ /*
2
+ * @Author : Lihao leolihao@arizona.edu
3
+ * @Date : 2024-01-14 15:25:40
4
+ * @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.violin.js
5
+ * @Description :
6
+ * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
+ */
8
+
9
+ import Plotly from 'react-plotly.js';
10
+
11
+ const DownloadIcon = {
12
+ width: 32,
13
+ height: 40,
14
+ path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
15
+ };
16
+
17
+ const mmtrbc_violin = {
18
+ data: [],
19
+ config: {
20
+ displaylogo: false,
21
+ modeBarButtonsToRemove: [
22
+ 'toImage',
23
+ 'zoom2d',
24
+ 'pan2d',
25
+ 'zoomIn2d',
26
+ 'zoomOut2d',
27
+ 'autoScale2d',
28
+ //"resetScale2d",
29
+ 'hoverClosestCartesian',
30
+ 'hoverCompareCartesian',
31
+ 'toggleSpikelines',
32
+ ],
33
+ modeBarButtonsToAdd: [
34
+ {
35
+ name: 'Save As Image',
36
+ icon: DownloadIcon, // Your custom SVG or base64 encoded image
37
+ click: function (gd) {
38
+ Plotly.downloadImage(gd, { format: 'png' });
39
+ },
40
+ },
41
+ ],
42
+ },
43
+ layout: {
44
+ title: {
45
+ text: 'Search a gene to update Violin Plot',
46
+ font: {
47
+ family: 'Arial, sans-serif',
48
+ size: 24,
49
+ color: 'black',
50
+ },
51
+ },
52
+ margin: {
53
+ l: 10,
54
+ r: 10,
55
+ b: 20,
56
+ t: 60,
57
+ },
58
+ legend: {
59
+ font: {
60
+ size: 13,
61
+ family: 'Arial, sans-serif',
62
+ color: '#6699CC',
63
+ },
64
+ x: 0.5, // left align
65
+ y: -0.3, // top align
66
+ xanchor: 'center', // anchor the legend to the left
67
+ yanchor: 'bottom', // anchor the legend to the top
68
+ orientation: 'h', // horizontal legend
69
+ },
70
+ xaxis: {
71
+ tickvals: [],
72
+ showgrid: false,
73
+ showline: true,
74
+ linecolor: 'rgb(102, 102, 102)',
75
+ tickcolor: 'rgb(102, 102, 102)',
76
+ type: 'category',
77
+ },
78
+ width: 500,
79
+ height: 300,
80
+ },
81
+ visualify: {
82
+ mapping: {
83
+ extra: {
84
+ UMI: 'N_UMI',
85
+ N_gene: 'N_gene',
86
+ Frac_MT: 'Frac_MT',
87
+ Cell_ID: 'Cell_ID',
88
+ },
89
+ },
90
+ merger: {
91
+ gene: {
92
+ item: 'Cell_ID',
93
+ label: 'Expression',
94
+ visualMap: true,
95
+ },
96
+ },
97
+ },
98
+ };
99
+
100
+ export default mmtrbc_violin;
@@ -1,71 +1,71 @@
1
- /*
2
- * @Author : Lihao leolihao@arizona.edu
3
- * @Date : 2024-01-14 14:39:52
4
- * @FilePath : /visualifyjs/src/core/modules/replotly.js
5
- * @Description :
6
- * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
- */
8
- import React, { useEffect, useState } from 'react';
9
- import Plot from 'react-plotly.js';
10
- import { getPreset } from './replotly/presetHandler';
11
- import { useAppContext } from '../appContext';
12
- import handle_Data, { __process_fetched_data } from '../parser/plotly.data';
13
- import { handle_violin_plot } from '../parser/plotly.violin';
14
-
15
- const RePlotly = ({ props, style }) => {
16
- const [data, setData] = useState(props.data ?? []);
17
- const [layout, setLayout] = useState(props.layout ?? {});
18
- const [config, setConfig] = useState(props.config ?? {});
19
- const { sharedData } = useAppContext();
20
-
21
- useEffect(() => {
22
- const updatePlot = async () => {
23
- const { settings, parser } = props;
24
- let preset = getPreset(settings?.preset);
25
- if (parser) {
26
- try {
27
- // fetch data from api
28
- const fetched_data = await handle_Data(
29
- parser,
30
- preset.layout,
31
- sharedData,
32
- );
33
- const processed_data = __process_fetched_data(
34
- fetched_data,
35
- parser,
36
- preset.visualify,
37
- );
38
-
39
- if (parser.type === 'violin') {
40
- preset.data = handle_violin_plot(processed_data);
41
- setData(() => preset.data);
42
- }
43
- } catch (err) {
44
- if (
45
- err.message === 'No data fetched from api' &&
46
- settings?.ignoreEmptyData
47
- ) {
48
- } else console.log(err.message);
49
- }
50
- }
51
-
52
- setData((data) => [...preset.data]);
53
- setLayout((layout) => ({ ...preset.layout }));
54
- setConfig((config) => ({ ...preset.config }));
55
- };
56
-
57
- updatePlot();
58
- }, [props, sharedData]);
59
-
60
- return (
61
- <div style={style}>
62
- <Plot
63
- data={data}
64
- layout={layout}
65
- config={config}
66
- />
67
- </div>
68
- );
69
- };
70
-
71
- export default RePlotly;
1
+ /*
2
+ * @Author : Lihao leolihao@arizona.edu
3
+ * @Date : 2024-01-14 14:39:52
4
+ * @FilePath : /visualifyjs/src/core/modules/replotly.js
5
+ * @Description :
6
+ * Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
+ */
8
+ import React, { useEffect, useState } from 'react';
9
+ import Plot from 'react-plotly.js';
10
+ import { getPreset } from './replotly/presetHandler';
11
+ import { useAppContext } from '../appContext';
12
+ import handle_Data, { __process_fetched_data } from '../parser/plotly.data';
13
+ import { handle_violin_plot } from '../parser/plotly.violin';
14
+
15
+ const RePlotly = ({ props, style }) => {
16
+ const [data, setData] = useState(props.data ?? []);
17
+ const [layout, setLayout] = useState(props.layout ?? {});
18
+ const [config, setConfig] = useState(props.config ?? {});
19
+ const { sharedData } = useAppContext();
20
+
21
+ useEffect(() => {
22
+ const updatePlot = async () => {
23
+ const { settings, parser } = props;
24
+ let preset = getPreset(settings?.preset);
25
+ if (parser) {
26
+ try {
27
+ // fetch data from api
28
+ const fetched_data = await handle_Data(
29
+ parser,
30
+ preset.layout,
31
+ sharedData,
32
+ );
33
+ const processed_data = __process_fetched_data(
34
+ fetched_data,
35
+ parser,
36
+ preset.visualify,
37
+ );
38
+
39
+ if (parser.type === 'violin') {
40
+ preset.data = handle_violin_plot(processed_data);
41
+ setData(() => preset.data);
42
+ }
43
+ } catch (err) {
44
+ if (
45
+ err.message === 'No data fetched from api' &&
46
+ settings?.ignoreEmptyData
47
+ ) {
48
+ } else console.log(err.message);
49
+ }
50
+ }
51
+
52
+ setData((data) => [...preset.data]);
53
+ setLayout((layout) => ({ ...preset.layout }));
54
+ setConfig((config) => ({ ...preset.config }));
55
+ };
56
+
57
+ updatePlot();
58
+ }, [props, sharedData]);
59
+
60
+ return (
61
+ <div style={style}>
62
+ <Plot
63
+ data={data}
64
+ layout={layout}
65
+ config={config}
66
+ />
67
+ </div>
68
+ );
69
+ };
70
+
71
+ export default RePlotly;
@@ -1,50 +1,50 @@
1
- /*
2
- * @Author : Lihao leolihao@arizona.edu
3
- * @Date : 2023-11-30 21:58:47
4
- * @FilePath : /visualifyjs/src/core/pages/404.js
5
- * @Description :
6
- * Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
- */
8
- import React from 'react';
9
- import '../../_css/404.css';
10
-
11
- const NotFoundPage = ({ page, config = {} }) => {
12
- const {
13
- heading = (
14
- <span>
15
- Oops! This Page <span style={{ color: 'red' }}>{page}</span>{' '}
16
- Could Not Be Found
17
- </span>
18
- ),
19
- content = 'SORRY BUT THE PAGE YOU ARE LOOKING FOR DOES NOT EXIST, HAVE BEEN REMOVED, NAME CHANGED, OR IS TEMPORARILY UNAVAILABLE',
20
- button_text = 'BACK TO HOME',
21
- } = config;
22
-
23
- return (
24
- <div id='colorlib-notfound'>
25
- <div className='colorlib-notfound'>
26
- <div className='colorlib-notfound-404'>
27
- <h1>404</h1>
28
- </div>
29
- <h2 id='colorlib_404_customizer_page_heading'>{heading}</h2>
30
- <div id='colorlib_404_customizer_content'>{content}</div>
31
- <a
32
- href={window.location.origin}
33
- id='colorlib_404_customizer_button_text'>
34
- {button_text}
35
- </a>
36
- </div>
37
- <p className='colorlib-copyrigh'>
38
- <span>404 Page Template designed by </span>
39
- <a
40
- href='https://colorlib.com/'
41
- target='_blank'
42
- rel='noopener noreferrer'>
43
- Colorlib.
44
- </a>
45
- </p>
46
- </div>
47
- );
48
- };
49
-
50
- export default NotFoundPage;
1
+ /*
2
+ * @Author : Lihao leolihao@arizona.edu
3
+ * @Date : 2023-11-30 21:58:47
4
+ * @FilePath : /visualifyjs/src/core/pages/404.js
5
+ * @Description :
6
+ * Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
7
+ */
8
+ import React from 'react';
9
+ import '../../_css/404.css';
10
+
11
+ const NotFoundPage = ({ page, config = {} }) => {
12
+ const {
13
+ heading = (
14
+ <span>
15
+ Oops! This Page <span style={{ color: 'red' }}>{page}</span>{' '}
16
+ Could Not Be Found
17
+ </span>
18
+ ),
19
+ content = 'SORRY BUT THE PAGE YOU ARE LOOKING FOR DOES NOT EXIST, HAVE BEEN REMOVED, NAME CHANGED, OR IS TEMPORARILY UNAVAILABLE',
20
+ button_text = 'BACK TO HOME',
21
+ } = config;
22
+
23
+ return (
24
+ <div id='colorlib-notfound'>
25
+ <div className='colorlib-notfound'>
26
+ <div className='colorlib-notfound-404'>
27
+ <h1>404</h1>
28
+ </div>
29
+ <h2 id='colorlib_404_customizer_page_heading'>{heading}</h2>
30
+ <div id='colorlib_404_customizer_content'>{content}</div>
31
+ <a
32
+ href={window.location.origin}
33
+ id='colorlib_404_customizer_button_text'>
34
+ {button_text}
35
+ </a>
36
+ </div>
37
+ <p className='colorlib-copyrigh'>
38
+ <span>404 Page Template designed by </span>
39
+ <a
40
+ href='https://colorlib.com/'
41
+ target='_blank'
42
+ rel='noopener noreferrer'>
43
+ Colorlib.
44
+ </a>
45
+ </p>
46
+ </div>
47
+ );
48
+ };
49
+
50
+ export default NotFoundPage;