@orbcharts/presets-basic 3.0.0-alpha.11 → 3.0.0-alpha.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-presets-basic.es.js +464 -221
  3. package/dist/orbcharts-presets-basic.umd.js +1 -1
  4. package/dist/src/gridDataFormatterFiles/DF_LINE_AREAS_2_SERIES_SLOT.d.ts +3 -0
  5. package/dist/src/gridDataFormatterFiles/DF_LINE_AREAS_3_SERIES_SLOT.d.ts +3 -0
  6. package/dist/src/gridDataFormatterFiles/DF_LINE_AREAS_4_SERIES_SLOT.d.ts +3 -0
  7. package/dist/src/gridDataFormatterFiles/index.d.ts +3 -0
  8. package/dist/src/index.d.ts +6 -0
  9. package/dist/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_2_GRID_SLOT.d.ts +3 -0
  10. package/dist/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_3_GRID_SLOT.d.ts +3 -0
  11. package/dist/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_4_GRID_SLOT.d.ts +3 -0
  12. package/dist/src/multiGridDataFormatterFiles/index.d.ts +3 -0
  13. package/dist/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_2_GRID_SLOT.d.ts +4 -0
  14. package/dist/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_3_GRID_SLOT.d.ts +4 -0
  15. package/dist/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_4_GRID_SLOT.d.ts +4 -0
  16. package/dist/src/multiGridPluginParamsFiles/MultiDots/index.d.ts +3 -0
  17. package/dist/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_2_GRID_SLOT.d.ts +4 -0
  18. package/dist/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_3_GRID_SLOT.d.ts +4 -0
  19. package/dist/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_4_GRID_SLOT.d.ts +4 -0
  20. package/dist/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_CURVE.d.ts +4 -0
  21. package/dist/src/multiGridPluginParamsFiles/MultiLineAreas/index.d.ts +4 -0
  22. package/dist/src/multiGridPluginParamsFiles/index.d.ts +2 -0
  23. package/package.json +43 -43
  24. package/src/chartParamsFiles/CP_BOTTOM_AND_LEFT_PADDING.ts +13 -13
  25. package/src/chartParamsFiles/CP_BOTTOM_AND_LEFT_PADDING_WITH_SERIES_HIGHLIGHT.ts +14 -14
  26. package/src/chartParamsFiles/CP_BOTTOM_LONG_PADDING.ts +13 -13
  27. package/src/chartParamsFiles/CP_BOTTOM_LONG_PADDING_WITH_SERIES_HIGHLIGHT.ts +14 -14
  28. package/src/chartParamsFiles/CP_BOTTOM_PADDING.ts +13 -13
  29. package/src/chartParamsFiles/CP_BOTTOM_PADDING_WITH_GROUP_HIGHLIGHT.ts +14 -14
  30. package/src/chartParamsFiles/CP_BOTTOM_PADDING_WITH_SERIES_HIGHLIGHT.ts +14 -14
  31. package/src/chartParamsFiles/CP_BOTTOM_SLIGHT_PADDING.ts +13 -13
  32. package/src/chartParamsFiles/CP_LEFT_PADDING.ts +13 -13
  33. package/src/chartParamsFiles/CP_RIGHT_PADDING.ts +13 -13
  34. package/src/chartParamsFiles/CP_TOP_AND_NO_BOTTOM_PADDING.ts +13 -13
  35. package/src/chartParamsFiles/index.ts +10 -10
  36. package/src/createPreset.ts +87 -87
  37. package/src/gridDataFormatterFiles/DF_GRID_2_SERIES_SLOT.ts +15 -15
  38. package/src/gridDataFormatterFiles/DF_GRID_3_SERIES_SLOT.ts +15 -15
  39. package/src/gridDataFormatterFiles/DF_GRID_4_SERIES_SLOT.ts +15 -15
  40. package/src/gridDataFormatterFiles/DF_GRID_BOTTOM_VALUE_AXIS.ts +22 -22
  41. package/src/gridDataFormatterFiles/DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING.ts +17 -17
  42. package/src/gridDataFormatterFiles/DF_GRID_DIVERGING_SCALE.ts +14 -14
  43. package/src/gridDataFormatterFiles/DF_GRID_NONE_GROUP_SCALE_PADDING.ts +13 -13
  44. package/src/gridDataFormatterFiles/DF_LINE_AREAS_2_SERIES_SLOT.ts +19 -0
  45. package/src/gridDataFormatterFiles/DF_LINE_AREAS_3_SERIES_SLOT.ts +19 -0
  46. package/src/gridDataFormatterFiles/DF_LINE_AREAS_4_SERIES_SLOT.ts +19 -0
  47. package/src/gridDataFormatterFiles/index.ts +10 -7
  48. package/src/gridPluginParamsFiles/Bars/PP_BARS_ROUND.ts +14 -14
  49. package/src/gridPluginParamsFiles/Bars/PP_BARS_THIN.ts +14 -14
  50. package/src/gridPluginParamsFiles/Bars/index.ts +1 -1
  51. package/src/gridPluginParamsFiles/Dots/PP_DOTS_ONLY_SHOW_HIGHLIGHTED.ts +12 -12
  52. package/src/gridPluginParamsFiles/Dots/PP_DOTS_SOLID.ts +14 -14
  53. package/src/gridPluginParamsFiles/Dots/index.ts +1 -1
  54. package/src/gridPluginParamsFiles/GridLegend/PP_GRID_LEGEND_BOTTOM.ts +13 -13
  55. package/src/gridPluginParamsFiles/GridLegend/PP_GRID_LEGEND_BOTTOM_WITH_LINE_LIST.ts +14 -14
  56. package/src/gridPluginParamsFiles/GridLegend/PP_GRID_LEGEND_BOTTOM_WITH_ROUND_LIST.ts +14 -14
  57. package/src/gridPluginParamsFiles/GridLegend/index.ts +2 -2
  58. package/src/gridPluginParamsFiles/GroupAxis/PP_GROUP_AXIS_ROTATE_LABEL.ts +12 -12
  59. package/src/gridPluginParamsFiles/LineAreas/PP_LINE_AREAS_CURVE.ts +11 -11
  60. package/src/gridPluginParamsFiles/Lines/PP_LINES_CURVE.ts +12 -12
  61. package/src/gridPluginParamsFiles/index.ts +6 -6
  62. package/src/index.ts +290 -253
  63. package/src/multiGridDataFormatterFiles/DF_MULTI_GRID_2_GRID_SLOT.ts +20 -20
  64. package/src/multiGridDataFormatterFiles/DF_MULTI_GRID_3_GRID_SLOT.ts +23 -23
  65. package/src/multiGridDataFormatterFiles/DF_MULTI_GRID_4_GRID_SLOT.ts +26 -26
  66. package/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_2_GRID_SLOT.ts +27 -0
  67. package/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_3_GRID_SLOT.ts +33 -0
  68. package/src/multiGridDataFormatterFiles/DF_MULTI_LINE_AREAS_4_GRID_SLOT.ts +39 -0
  69. package/src/multiGridDataFormatterFiles/index.ts +6 -3
  70. package/src/multiGridPluginParamsFiles/MultiBarStack/PP_MULTI_BAR_STACK_2_GRID_SLOT.ts +11 -11
  71. package/src/multiGridPluginParamsFiles/MultiBarStack/PP_MULTI_BAR_STACK_3_GRID_SLOT.ts +11 -11
  72. package/src/multiGridPluginParamsFiles/MultiBarStack/PP_MULTI_BAR_STACK_4_GRID_SLOT.ts +11 -11
  73. package/src/multiGridPluginParamsFiles/MultiBarStack/index.ts +3 -3
  74. package/src/multiGridPluginParamsFiles/MultiBars/PP_MULTI_BARS_2_GRID_SLOT.ts +11 -11
  75. package/src/multiGridPluginParamsFiles/MultiBars/PP_MULTI_BARS_3_GRID_SLOT.ts +11 -11
  76. package/src/multiGridPluginParamsFiles/MultiBars/PP_MULTI_BARS_4_GRID_SLOT.ts +11 -11
  77. package/src/multiGridPluginParamsFiles/MultiBars/PP_MULTI_BARS_ROUND.ts +14 -14
  78. package/src/multiGridPluginParamsFiles/MultiBars/index.ts +5 -5
  79. package/src/multiGridPluginParamsFiles/MultiBarsTriangle/PP_MULTI_BARS_TRIANGLE_2_GRID_SLOT.ts +11 -11
  80. package/src/multiGridPluginParamsFiles/MultiBarsTriangle/PP_MULTI_BARS_TRIANGLE_3_GRID_SLOT.ts +11 -11
  81. package/src/multiGridPluginParamsFiles/MultiBarsTriangle/PP_MULTI_BARS_TRIANGLE_4_GRID_SLOT.ts +11 -11
  82. package/src/multiGridPluginParamsFiles/MultiBarsTriangle/index.ts +2 -2
  83. package/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_2_GRID_SLOT.ts +12 -0
  84. package/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_3_GRID_SLOT.ts +12 -0
  85. package/src/multiGridPluginParamsFiles/MultiDots/PP_MULTI_DOTS_4_GRID_SLOT.ts +12 -0
  86. package/src/multiGridPluginParamsFiles/MultiDots/index.ts +3 -0
  87. package/src/multiGridPluginParamsFiles/MultiGridLegend/PP_MULTI_GRID_LEGEND_BOTTOM.ts +13 -13
  88. package/src/multiGridPluginParamsFiles/MultiGridLegend/PP_MULTI_GRID_LEGEND_BOTTOM_WITH_LINE_LIST.ts +27 -27
  89. package/src/multiGridPluginParamsFiles/MultiGridLegend/PP_MULTI_GRID_LEGEND_BOTTOM_WITH_RECT_AND_LINE_LIST.ts +20 -20
  90. package/src/multiGridPluginParamsFiles/MultiGridLegend/PP_MULTI_GRID_LEGEND_BOTTOM_WITH_ROUND_AND_LINE_LIST.ts +21 -21
  91. package/src/multiGridPluginParamsFiles/MultiGridLegend/index.ts +3 -3
  92. package/src/multiGridPluginParamsFiles/MultiGroupAxis/PP_MULTI_GROUP_AXIS_2_GRID_SLOT.ts +12 -12
  93. package/src/multiGridPluginParamsFiles/MultiGroupAxis/PP_MULTI_GROUP_AXIS_3_GRID_SLOT.ts +12 -12
  94. package/src/multiGridPluginParamsFiles/MultiGroupAxis/PP_MULTI_GROUP_AXIS_4_GRID_SLOT.ts +12 -12
  95. package/src/multiGridPluginParamsFiles/MultiGroupAxis/index.ts +3 -3
  96. package/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_2_GRID_SLOT.ts +12 -0
  97. package/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_3_GRID_SLOT.ts +12 -0
  98. package/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_4_GRID_SLOT.ts +12 -0
  99. package/src/multiGridPluginParamsFiles/MultiLineAreas/PP_MULTI_LINE_AREAS_CURVE.ts +12 -0
  100. package/src/multiGridPluginParamsFiles/MultiLineAreas/index.ts +4 -0
  101. package/src/multiGridPluginParamsFiles/MultiLines/PP_MULTI_LINES_2_GRID_SLOT.ts +11 -11
  102. package/src/multiGridPluginParamsFiles/MultiLines/PP_MULTI_LINES_3_GRID_SLOT.ts +11 -11
  103. package/src/multiGridPluginParamsFiles/MultiLines/PP_MULTI_LINES_4_GRID_SLOT.ts +11 -11
  104. package/src/multiGridPluginParamsFiles/MultiLines/PP_MULTI_LINES_CURVE.ts +12 -12
  105. package/src/multiGridPluginParamsFiles/MultiLines/index.ts +3 -3
  106. package/src/multiGridPluginParamsFiles/MultiValueAxis/PP_MULTI_VALUE_AXIS_2_GRID_SLOT.ts +11 -11
  107. package/src/multiGridPluginParamsFiles/MultiValueAxis/PP_MULTI_VALUE_AXIS_3_GRID_SLOT.ts +11 -11
  108. package/src/multiGridPluginParamsFiles/MultiValueAxis/PP_MULTI_VALUE_AXIS_4_GRID_SLOT.ts +11 -11
  109. package/src/multiGridPluginParamsFiles/MultiValueAxis/index.ts +3 -3
  110. package/src/multiGridPluginParamsFiles/index.ts +8 -6
  111. package/src/seriesPluginParamsFiles/Bubbles/PP_BUBBLES_SCALING_BY_RADIUS.ts +11 -11
  112. package/src/seriesPluginParamsFiles/Pie/PP_PIE_DONUT.ts +12 -12
  113. package/src/seriesPluginParamsFiles/Pie/PP_PIE_HALF_DONUT.ts +14 -14
  114. package/src/seriesPluginParamsFiles/Pie/index.ts +1 -1
  115. package/src/seriesPluginParamsFiles/PieLabels/PP_PIE_LABELS_HALF_ANGLE.ts +13 -13
  116. package/src/seriesPluginParamsFiles/PieLabels/PP_PIE_LABELS_INNER.ts +13 -13
  117. package/src/seriesPluginParamsFiles/PieLabels/index.ts +1 -1
  118. package/src/seriesPluginParamsFiles/SeriesLegend/PP_SERIES_LEGEND_ROUND.ts +11 -11
  119. package/src/seriesPluginParamsFiles/index.ts +3 -3
  120. package/src/treePluginParamsFiles/TreeLegend/PP_TREE_LEGEND_BOTTOM.ts +13 -13
  121. package/src/types.ts +61 -61
  122. package/tsconfig.dev.json +17 -17
  123. package/tsconfig.json +13 -13
  124. package/tsconfig.prod.json +13 -13
  125. package/vite.config.js +44 -44
@@ -1,14 +1,14 @@
1
- import type { ChartParamsFile } from '../types'
2
-
3
- export const CP_RIGHT_PADDING: ChartParamsFile = {
4
- id: 'CP_RIGHT_PADDING',
5
- description: '間距右邊留空',
6
- data: {
7
- padding: {
8
- top: 60,
9
- right: 120,
10
- bottom: 60,
11
- left: 60
12
- },
13
- }
1
+ import type { ChartParamsFile } from '../types'
2
+
3
+ export const CP_RIGHT_PADDING: ChartParamsFile = {
4
+ id: 'CP_RIGHT_PADDING',
5
+ description: '間距右邊留空',
6
+ data: {
7
+ padding: {
8
+ top: 60,
9
+ right: 120,
10
+ bottom: 60,
11
+ left: 60
12
+ },
13
+ }
14
14
  }
@@ -1,14 +1,14 @@
1
- import type { ChartParamsFile } from '../types'
2
-
3
- export const CP_TOP_AND_NO_BOTTOM_PADDING: ChartParamsFile = {
4
- id: 'CP_TOP_AND_NO_BOTTOM_PADDING',
5
- description: '間距上面留空下面不留空',
6
- data: {
7
- padding: {
8
- top: 120,
9
- right: 120,
10
- bottom: 0,
11
- left: 60
12
- },
13
- }
1
+ import type { ChartParamsFile } from '../types'
2
+
3
+ export const CP_TOP_AND_NO_BOTTOM_PADDING: ChartParamsFile = {
4
+ id: 'CP_TOP_AND_NO_BOTTOM_PADDING',
5
+ description: '間距上面留空下面不留空',
6
+ data: {
7
+ padding: {
8
+ top: 120,
9
+ right: 120,
10
+ bottom: 0,
11
+ left: 60
12
+ },
13
+ }
14
14
  }
@@ -1,11 +1,11 @@
1
- export { CP_BOTTOM_AND_LEFT_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_AND_LEFT_PADDING_WITH_SERIES_HIGHLIGHT'
2
- export { CP_BOTTOM_AND_LEFT_PADDING } from './CP_BOTTOM_AND_LEFT_PADDING'
3
- export { CP_BOTTOM_LONG_PADDING } from './CP_BOTTOM_LONG_PADDING'
4
- export { CP_BOTTOM_LONG_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_LONG_PADDING_WITH_SERIES_HIGHLIGHT'
5
- export { CP_BOTTOM_PADDING_WITH_GROUP_HIGHLIGHT } from './CP_BOTTOM_PADDING_WITH_GROUP_HIGHLIGHT'
6
- export { CP_BOTTOM_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_PADDING_WITH_SERIES_HIGHLIGHT'
7
- export { CP_BOTTOM_PADDING } from './CP_BOTTOM_PADDING'
8
- export { CP_BOTTOM_SLIGHT_PADDING } from './CP_BOTTOM_SLIGHT_PADDING'
9
- export { CP_LEFT_PADDING } from './CP_LEFT_PADDING'
10
- export { CP_TOP_AND_NO_BOTTOM_PADDING } from './CP_TOP_AND_NO_BOTTOM_PADDING'
1
+ export { CP_BOTTOM_AND_LEFT_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_AND_LEFT_PADDING_WITH_SERIES_HIGHLIGHT'
2
+ export { CP_BOTTOM_AND_LEFT_PADDING } from './CP_BOTTOM_AND_LEFT_PADDING'
3
+ export { CP_BOTTOM_LONG_PADDING } from './CP_BOTTOM_LONG_PADDING'
4
+ export { CP_BOTTOM_LONG_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_LONG_PADDING_WITH_SERIES_HIGHLIGHT'
5
+ export { CP_BOTTOM_PADDING_WITH_GROUP_HIGHLIGHT } from './CP_BOTTOM_PADDING_WITH_GROUP_HIGHLIGHT'
6
+ export { CP_BOTTOM_PADDING_WITH_SERIES_HIGHLIGHT } from './CP_BOTTOM_PADDING_WITH_SERIES_HIGHLIGHT'
7
+ export { CP_BOTTOM_PADDING } from './CP_BOTTOM_PADDING'
8
+ export { CP_BOTTOM_SLIGHT_PADDING } from './CP_BOTTOM_SLIGHT_PADDING'
9
+ export { CP_LEFT_PADDING } from './CP_LEFT_PADDING'
10
+ export { CP_TOP_AND_NO_BOTTOM_PADDING } from './CP_TOP_AND_NO_BOTTOM_PADDING'
11
11
  export { CP_RIGHT_PADDING } from './CP_RIGHT_PADDING'
@@ -1,88 +1,88 @@
1
- import type { PresetPartial, ChartType, ChartParamsPartial, DataFormatterPartialTypeMap } from '@orbcharts/core'
2
- import type { ChartParamsFile, DataFormatterFile, PluginParamsFile, PresetFile } from './types'
3
- import * as chartParamsFiles from './chartParamsFiles'
4
- import * as seriesDataFormatterFiles from './seriesDataFormatterFiles'
5
- import * as seriesPluginParamsFiles from './seriesPluginParamsFiles'
6
- import * as gridDataFormatterFiles from './gridDataFormatterFiles'
7
- import * as gridPluginParamsFiles from './gridPluginParamsFiles'
8
- import * as multiGridDataFormatterFiles from './multiGridDataFormatterFiles'
9
- import * as multiGridPluginParamsFiles from './multiGridPluginParamsFiles'
10
- import * as multiValueDataFormatterFiles from './multiValueDataFormatterFiles'
11
- import * as multiValuePluginParamsFiles from './multiValuePluginParamsFiles'
12
- import * as relationshipDataFormatterFiles from './relationshipDataFormatterFiles'
13
- import * as relationshipPluginParamsFiles from './relationshipPluginParamsFiles'
14
- import * as treeDataFormatterFiles from './treeDataFormatterFiles'
15
- import * as treePluginParamsFiles from './treePluginParamsFiles'
16
-
17
- const dataFormatterFilesTypeMap = {
18
- series: seriesDataFormatterFiles,
19
- grid: gridDataFormatterFiles,
20
- multiGrid: multiGridDataFormatterFiles,
21
- multiValue: multiValueDataFormatterFiles,
22
- relationship: relationshipDataFormatterFiles,
23
- tree: treeDataFormatterFiles
24
- }
25
-
26
- const pluginParamsFilesTypeMap = {
27
- series: seriesPluginParamsFiles,
28
- grid: gridPluginParamsFiles,
29
- multiGrid: multiGridPluginParamsFiles,
30
- multiValue: multiValuePluginParamsFiles,
31
- relationship: relationshipPluginParamsFiles,
32
- tree: treePluginParamsFiles
33
- }
34
-
35
- const createBasePreset = <T extends ChartType>(chartType: T, presetFile: PresetFile<T>): PresetPartial<T> => {
36
- const chartParams: ChartParamsPartial | undefined = presetFile.chartParamsId
37
- ? chartParamsFiles[presetFile.chartParamsId].data
38
- : undefined
39
- // @ts-ignore
40
- const dataFormatter: DataFormatterPartialTypeMap<T> | undefined = dataFormatterFilesTypeMap[chartType][presetFile.dataFormatterId]
41
- // @ts-ignore
42
- ? dataFormatterFilesTypeMap[chartType][presetFile.dataFormatterId].data
43
- : undefined
44
-
45
- const allPluginParams: {[key: string]: any} | undefined = presetFile.allPluginParamsIds
46
- ? presetFile.allPluginParamsIds
47
- .reduce((prev, current) => {
48
- // @ts-ignore
49
- if (pluginParamsFilesTypeMap[chartType][current]) {
50
- // @ts-ignore
51
- const pluginName = pluginParamsFilesTypeMap[chartType][current].pluginName
52
- // @ts-ignore
53
- prev[pluginName] = pluginParamsFilesTypeMap[chartType][current].data
54
- }
55
- return prev
56
- }, {})
57
- : undefined
58
-
59
- return {
60
- chartParams,
61
- dataFormatter,
62
- allPluginParams
63
- }
64
- }
65
-
66
- export const createSeriesPreset = (presetFile: PresetFile<'series'>): PresetPartial<'series'> => {
67
- return createBasePreset('series', presetFile)
68
- }
69
-
70
- export const createGridPreset = (presetFile: PresetFile<'grid'>): PresetPartial<'grid'> => {
71
- return createBasePreset('grid', presetFile)
72
- }
73
-
74
- export const createMultiGridPreset = (presetFile: PresetFile<'multiGrid'>): PresetPartial<'multiGrid'> => {
75
- return createBasePreset('multiGrid', presetFile)
76
- }
77
-
78
- export const createMultiValuePreset = (presetFile: PresetFile<'multiValue'>): PresetPartial<'multiValue'> => {
79
- return createBasePreset('multiValue', presetFile)
80
- }
81
-
82
- export const createRelationshipPreset = (presetFile: PresetFile<'relationship'>): PresetPartial<'relationship'> => {
83
- return createBasePreset('relationship', presetFile)
84
- }
85
-
86
- export const createTreePreset = (presetFile: PresetFile<'tree'>): PresetPartial<'tree'> => {
87
- return createBasePreset('tree', presetFile)
1
+ import type { PresetPartial, ChartType, ChartParamsPartial, DataFormatterPartialTypeMap } from '@orbcharts/core'
2
+ import type { ChartParamsFile, DataFormatterFile, PluginParamsFile, PresetFile } from './types'
3
+ import * as chartParamsFiles from './chartParamsFiles'
4
+ import * as seriesDataFormatterFiles from './seriesDataFormatterFiles'
5
+ import * as seriesPluginParamsFiles from './seriesPluginParamsFiles'
6
+ import * as gridDataFormatterFiles from './gridDataFormatterFiles'
7
+ import * as gridPluginParamsFiles from './gridPluginParamsFiles'
8
+ import * as multiGridDataFormatterFiles from './multiGridDataFormatterFiles'
9
+ import * as multiGridPluginParamsFiles from './multiGridPluginParamsFiles'
10
+ import * as multiValueDataFormatterFiles from './multiValueDataFormatterFiles'
11
+ import * as multiValuePluginParamsFiles from './multiValuePluginParamsFiles'
12
+ import * as relationshipDataFormatterFiles from './relationshipDataFormatterFiles'
13
+ import * as relationshipPluginParamsFiles from './relationshipPluginParamsFiles'
14
+ import * as treeDataFormatterFiles from './treeDataFormatterFiles'
15
+ import * as treePluginParamsFiles from './treePluginParamsFiles'
16
+
17
+ const dataFormatterFilesTypeMap = {
18
+ series: seriesDataFormatterFiles,
19
+ grid: gridDataFormatterFiles,
20
+ multiGrid: multiGridDataFormatterFiles,
21
+ multiValue: multiValueDataFormatterFiles,
22
+ relationship: relationshipDataFormatterFiles,
23
+ tree: treeDataFormatterFiles
24
+ }
25
+
26
+ const pluginParamsFilesTypeMap = {
27
+ series: seriesPluginParamsFiles,
28
+ grid: gridPluginParamsFiles,
29
+ multiGrid: multiGridPluginParamsFiles,
30
+ multiValue: multiValuePluginParamsFiles,
31
+ relationship: relationshipPluginParamsFiles,
32
+ tree: treePluginParamsFiles
33
+ }
34
+
35
+ const createBasePreset = <T extends ChartType>(chartType: T, presetFile: PresetFile<T>): PresetPartial<T> => {
36
+ const chartParams: ChartParamsPartial | undefined = presetFile.chartParamsId
37
+ ? chartParamsFiles[presetFile.chartParamsId].data
38
+ : undefined
39
+ // @ts-ignore
40
+ const dataFormatter: DataFormatterPartialTypeMap<T> | undefined = dataFormatterFilesTypeMap[chartType][presetFile.dataFormatterId]
41
+ // @ts-ignore
42
+ ? dataFormatterFilesTypeMap[chartType][presetFile.dataFormatterId].data
43
+ : undefined
44
+
45
+ const allPluginParams: {[key: string]: any} | undefined = presetFile.allPluginParamsIds
46
+ ? presetFile.allPluginParamsIds
47
+ .reduce((prev, current) => {
48
+ // @ts-ignore
49
+ if (pluginParamsFilesTypeMap[chartType][current]) {
50
+ // @ts-ignore
51
+ const pluginName = pluginParamsFilesTypeMap[chartType][current].pluginName
52
+ // @ts-ignore
53
+ prev[pluginName] = pluginParamsFilesTypeMap[chartType][current].data
54
+ }
55
+ return prev
56
+ }, {})
57
+ : undefined
58
+
59
+ return {
60
+ chartParams,
61
+ dataFormatter,
62
+ allPluginParams
63
+ }
64
+ }
65
+
66
+ export const createSeriesPreset = (presetFile: PresetFile<'series'>): PresetPartial<'series'> => {
67
+ return createBasePreset('series', presetFile)
68
+ }
69
+
70
+ export const createGridPreset = (presetFile: PresetFile<'grid'>): PresetPartial<'grid'> => {
71
+ return createBasePreset('grid', presetFile)
72
+ }
73
+
74
+ export const createMultiGridPreset = (presetFile: PresetFile<'multiGrid'>): PresetPartial<'multiGrid'> => {
75
+ return createBasePreset('multiGrid', presetFile)
76
+ }
77
+
78
+ export const createMultiValuePreset = (presetFile: PresetFile<'multiValue'>): PresetPartial<'multiValue'> => {
79
+ return createBasePreset('multiValue', presetFile)
80
+ }
81
+
82
+ export const createRelationshipPreset = (presetFile: PresetFile<'relationship'>): PresetPartial<'relationship'> => {
83
+ return createBasePreset('relationship', presetFile)
84
+ }
85
+
86
+ export const createTreePreset = (presetFile: PresetFile<'tree'>): PresetPartial<'tree'> => {
87
+ return createBasePreset('tree', presetFile)
88
88
  }
@@ -1,16 +1,16 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_2_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_2_SERIES_SLOT',
5
- chartType: 'grid',
6
- description: '2個Series Slot',
7
- data: {
8
- grid: {
9
- seriesSlotIndexes: [0, 1],
10
- },
11
- container: {
12
- rowAmount: 1,
13
- columnAmount: 2,
14
- }
15
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_2_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_2_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: '2個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1],
10
+ },
11
+ container: {
12
+ rowAmount: 1,
13
+ columnAmount: 2,
14
+ }
15
+ }
16
16
  }
@@ -1,16 +1,16 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_3_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_3_SERIES_SLOT',
5
- chartType: 'grid',
6
- description: '3個Series Slot',
7
- data: {
8
- grid: {
9
- seriesSlotIndexes: [0, 1, 2],
10
- },
11
- container: {
12
- rowAmount: 1,
13
- columnAmount: 3,
14
- }
15
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_3_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_3_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: '3個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1, 2],
10
+ },
11
+ container: {
12
+ rowAmount: 1,
13
+ columnAmount: 3,
14
+ }
15
+ }
16
16
  }
@@ -1,16 +1,16 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_4_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_4_SERIES_SLOT',
5
- chartType: 'grid',
6
- description: '4個Series Slot',
7
- data: {
8
- grid: {
9
- seriesSlotIndexes: [0, 1, 2, 3],
10
- },
11
- container: {
12
- rowAmount: 2,
13
- columnAmount: 2,
14
- }
15
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_4_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_4_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: '4個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1, 2, 3],
10
+ },
11
+ container: {
12
+ rowAmount: 2,
13
+ columnAmount: 2,
14
+ }
15
+ }
16
16
  }
@@ -1,23 +1,23 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_BOTTOM_VALUE_AXIS: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_BOTTOM_VALUE_AXIS',
5
- chartType: 'grid',
6
- description: '底部橫向資料圖軸',
7
- data: {
8
- grid: {
9
- valueAxis: {
10
- position: 'bottom'
11
- // position: 'top'
12
- // position: 'left'
13
- // position: 'right'
14
- },
15
- groupAxis: {
16
- position: 'left'
17
- // position: 'right'
18
- // position: 'bottom'
19
- // position: 'top'
20
- },
21
- }
22
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_BOTTOM_VALUE_AXIS: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_BOTTOM_VALUE_AXIS',
5
+ chartType: 'grid',
6
+ description: '底部橫向資料圖軸',
7
+ data: {
8
+ grid: {
9
+ valueAxis: {
10
+ position: 'bottom'
11
+ // position: 'top'
12
+ // position: 'left'
13
+ // position: 'right'
14
+ },
15
+ groupAxis: {
16
+ position: 'left'
17
+ // position: 'right'
18
+ // position: 'bottom'
19
+ // position: 'top'
20
+ },
21
+ }
22
+ }
23
23
  }
@@ -1,18 +1,18 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING',
5
- chartType: 'grid',
6
- description: '底部橫向資料圖軸及無群組圖軸的左右間距',
7
- data: {
8
- grid: {
9
- valueAxis: {
10
- position: 'bottom'
11
- },
12
- groupAxis: {
13
- position: 'left',
14
- scalePadding: 0
15
- },
16
- }
17
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING',
5
+ chartType: 'grid',
6
+ description: '底部橫向資料圖軸及無群組圖軸的左右間距',
7
+ data: {
8
+ grid: {
9
+ valueAxis: {
10
+ position: 'bottom'
11
+ },
12
+ groupAxis: {
13
+ position: 'left',
14
+ scalePadding: 0
15
+ },
16
+ }
17
+ }
18
18
  }
@@ -1,15 +1,15 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_DIVERGING_SCALE: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_DIVERGING_SCALE',
5
- chartType: 'grid',
6
- description: '分向資料圖軸',
7
- data: {
8
- grid: {
9
- valueAxis: {
10
- scaleDomain: ['auto', 'auto'],
11
- scaleRange: [0.05, 0.95],
12
- },
13
- }
14
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_DIVERGING_SCALE: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_DIVERGING_SCALE',
5
+ chartType: 'grid',
6
+ description: '分向資料圖軸',
7
+ data: {
8
+ grid: {
9
+ valueAxis: {
10
+ scaleDomain: ['auto', 'auto'],
11
+ scaleRange: [0.05, 0.95],
12
+ },
13
+ }
14
+ }
15
15
  }
@@ -1,14 +1,14 @@
1
- import type { DataFormatterFile } from '../types'
2
-
3
- export const DF_GRID_NONE_GROUP_SCALE_PADDING: DataFormatterFile<'grid'> = {
4
- id: 'DF_GRID_NONE_GROUP_SCALE_PADDING',
5
- chartType: 'grid',
6
- description: '無群組圖軸的左右間距',
7
- data: {
8
- grid: {
9
- groupAxis: {
10
- scalePadding: 0
11
- }
12
- }
13
- }
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_GRID_NONE_GROUP_SCALE_PADDING: DataFormatterFile<'grid'> = {
4
+ id: 'DF_GRID_NONE_GROUP_SCALE_PADDING',
5
+ chartType: 'grid',
6
+ description: '無群組圖軸的左右間距',
7
+ data: {
8
+ grid: {
9
+ groupAxis: {
10
+ scalePadding: 0
11
+ }
12
+ }
13
+ }
14
14
  }
@@ -0,0 +1,19 @@
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_LINE_AREAS_2_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_LINE_AREAS_2_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: 'LineAreas 2個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1],
10
+ groupAxis: {
11
+ scalePadding: 0
12
+ }
13
+ },
14
+ container: {
15
+ rowAmount: 1,
16
+ columnAmount: 2,
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_LINE_AREAS_3_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_LINE_AREAS_3_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: 'LineAreas 3個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1, 2],
10
+ groupAxis: {
11
+ scalePadding: 0
12
+ }
13
+ },
14
+ container: {
15
+ rowAmount: 1,
16
+ columnAmount: 3,
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ import type { DataFormatterFile } from '../types'
2
+
3
+ export const DF_LINE_AREAS_4_SERIES_SLOT: DataFormatterFile<'grid'> = {
4
+ id: 'DF_LINE_AREAS_4_SERIES_SLOT',
5
+ chartType: 'grid',
6
+ description: 'LineAreas 4個Series Slot',
7
+ data: {
8
+ grid: {
9
+ seriesSlotIndexes: [0, 1, 2, 3],
10
+ groupAxis: {
11
+ scalePadding: 0
12
+ }
13
+ },
14
+ container: {
15
+ rowAmount: 2,
16
+ columnAmount: 2,
17
+ }
18
+ }
19
+ }
@@ -1,7 +1,10 @@
1
- export { DF_GRID_BOTTOM_VALUE_AXIS } from './DF_GRID_BOTTOM_VALUE_AXIS'
2
- export { DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING } from './DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING'
3
- export { DF_GRID_2_SERIES_SLOT } from './DF_GRID_2_SERIES_SLOT'
4
- export { DF_GRID_3_SERIES_SLOT } from './DF_GRID_3_SERIES_SLOT'
5
- export { DF_GRID_4_SERIES_SLOT } from './DF_GRID_4_SERIES_SLOT'
6
- export { DF_GRID_DIVERGING_SCALE } from './DF_GRID_DIVERGING_SCALE'
7
- export { DF_GRID_NONE_GROUP_SCALE_PADDING } from './DF_GRID_NONE_GROUP_SCALE_PADDING'
1
+ export { DF_GRID_BOTTOM_VALUE_AXIS } from './DF_GRID_BOTTOM_VALUE_AXIS'
2
+ export { DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING } from './DF_GRID_BOTTOM_VALUE_AXIS_AND_NONE_GROUP_SCALE_PADDING'
3
+ export { DF_GRID_2_SERIES_SLOT } from './DF_GRID_2_SERIES_SLOT'
4
+ export { DF_GRID_3_SERIES_SLOT } from './DF_GRID_3_SERIES_SLOT'
5
+ export { DF_GRID_4_SERIES_SLOT } from './DF_GRID_4_SERIES_SLOT'
6
+ export { DF_GRID_DIVERGING_SCALE } from './DF_GRID_DIVERGING_SCALE'
7
+ export { DF_GRID_NONE_GROUP_SCALE_PADDING } from './DF_GRID_NONE_GROUP_SCALE_PADDING'
8
+ export { DF_LINE_AREAS_2_SERIES_SLOT } from './DF_LINE_AREAS_2_SERIES_SLOT'
9
+ export { DF_LINE_AREAS_3_SERIES_SLOT } from './DF_LINE_AREAS_3_SERIES_SLOT'
10
+ export { DF_LINE_AREAS_4_SERIES_SLOT } from './DF_LINE_AREAS_4_SERIES_SLOT'
@@ -1,15 +1,15 @@
1
- import type { PluginParamsFile } from '../../types'
2
- import type { BarsParams } from '@orbcharts/plugins-basic'
3
-
4
- export const PP_BARS_ROUND: PluginParamsFile<BarsParams> = {
5
- id: 'PP_BARS_ROUND',
6
- chartType: 'grid',
7
- pluginName: 'Bars',
8
- description: '圓角長條圖',
9
- data: {
10
- barWidth: 0,
11
- barPadding: 1,
12
- barGroupPadding: 10,
13
- barRadius: true,
14
- }
1
+ import type { PluginParamsFile } from '../../types'
2
+ import type { BarsParams } from '@orbcharts/plugins-basic'
3
+
4
+ export const PP_BARS_ROUND: PluginParamsFile<BarsParams> = {
5
+ id: 'PP_BARS_ROUND',
6
+ chartType: 'grid',
7
+ pluginName: 'Bars',
8
+ description: '圓角長條圖',
9
+ data: {
10
+ barWidth: 0,
11
+ barPadding: 1,
12
+ barGroupPadding: 10,
13
+ barRadius: true,
14
+ }
15
15
  }
@@ -1,14 +1,14 @@
1
- import type { PluginParamsFile } from '../../types'
2
- import type { BarsParams } from '@orbcharts/plugins-basic'
3
-
4
- export const PP_BARS_THIN: PluginParamsFile<BarsParams> = {
5
- id: 'PP_BARS_THIN',
6
- chartType: 'grid',
7
- pluginName: 'Bars',
8
- description: '圓角長條圖',
9
- data: {
10
- barWidth: 20,
11
- barPadding: 1,
12
- barGroupPadding: 10
13
- }
14
- }
1
+ import type { PluginParamsFile } from '../../types'
2
+ import type { BarsParams } from '@orbcharts/plugins-basic'
3
+
4
+ export const PP_BARS_THIN: PluginParamsFile<BarsParams> = {
5
+ id: 'PP_BARS_THIN',
6
+ chartType: 'grid',
7
+ pluginName: 'Bars',
8
+ description: '圓角長條圖',
9
+ data: {
10
+ barWidth: 20,
11
+ barPadding: 1,
12
+ barGroupPadding: 10
13
+ }
14
+ }
@@ -1,2 +1,2 @@
1
- export { PP_BARS_ROUND } from './PP_BARS_ROUND'
1
+ export { PP_BARS_ROUND } from './PP_BARS_ROUND'
2
2
  export { PP_BARS_THIN } from './PP_BARS_THIN'