@orbcharts/core 3.0.0-alpha.52 → 3.0.0-alpha.54
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.
- package/dist/orbcharts-core.es.js +606 -598
- package/dist/orbcharts-core.umd.js +2 -2
- package/dist/src/types/ContextObserverMultiGrid.d.ts +2 -1
- package/dist/vite.config.d.ts +1 -1
- package/package.json +2 -2
- package/src/multiGrid/createMultiGridContextObserver.ts +8 -7
- package/src/multiGrid/multiGridObservables.ts +1 -0
- package/src/types/ContextObserverMultiGrid.ts +2 -1
- package/src/utils/d3Utils.ts +6 -3
- package/vite.config.js +17 -39
package/dist/vite.config.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import('vite').
|
|
1
|
+
declare const _default: import('vite').UserConfigFnObject;
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orbcharts/core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.54",
|
|
4
4
|
"description": "OrbCharts is an open source chart library based on d3.js and rx.js",
|
|
5
5
|
"author": "Blue Planet Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"types": "./dist/src/index.d.ts",
|
|
26
26
|
"scripts": {
|
|
27
27
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
28
|
-
"build": "vite build --mode
|
|
28
|
+
"build": "vite build --mode production"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/d3": "^7.4.0",
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
+
map,
|
|
2
3
|
shareReplay } from 'rxjs'
|
|
3
4
|
import type { ContextObserverFn } from '../types'
|
|
4
|
-
import { multiGridEachDetailObservable } from './multiGridObservables'
|
|
5
|
+
import { multiGridEachDetailObservable, multiGridContainerObservable } from './multiGridObservables'
|
|
5
6
|
import { textSizePxObservable } from '../utils/observables'
|
|
6
7
|
|
|
7
8
|
export const createMultiGridContextObserver: ContextObserverFn<'multiGrid'> = ({ subject, observer }) => {
|
|
@@ -20,12 +21,11 @@ export const createMultiGridContextObserver: ContextObserverFn<'multiGrid'> = ({
|
|
|
20
21
|
shareReplay(1)
|
|
21
22
|
)
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// })
|
|
24
|
+
const multiGridContainerPosition$ = multiGridContainerObservable({
|
|
25
|
+
computedData$: observer.computedData$,
|
|
26
|
+
fullDataFormatter$: observer.fullDataFormatter$,
|
|
27
|
+
layout$: observer.layout$,
|
|
28
|
+
})
|
|
29
29
|
|
|
30
30
|
return {
|
|
31
31
|
fullParams$: observer.fullParams$,
|
|
@@ -34,6 +34,7 @@ export const createMultiGridContextObserver: ContextObserverFn<'multiGrid'> = ({
|
|
|
34
34
|
computedData$: observer.computedData$,
|
|
35
35
|
layout$: observer.layout$,
|
|
36
36
|
textSizePx$,
|
|
37
|
+
multiGridContainerPosition$,
|
|
37
38
|
multiGridEachDetail$,
|
|
38
39
|
// multiGridContainer$
|
|
39
40
|
}
|
|
@@ -2,10 +2,11 @@ import { Observable } from 'rxjs'
|
|
|
2
2
|
import type { ContextObserverBase } from './ContextObserver'
|
|
3
3
|
import type { ComputedDataGrid, ComputedDatumGrid } from './ComputedDataGrid'
|
|
4
4
|
import type { DataFormatterGrid } from './DataFormatterGrid'
|
|
5
|
-
import type { ContextObserverGridDetail } from './ContextObserverGrid'
|
|
5
|
+
import type { GridContainerPosition, ContextObserverGridDetail } from './ContextObserverGrid'
|
|
6
6
|
|
|
7
7
|
export interface ContextObserverMultiGrid<PluginParams> extends ContextObserverBase<'multiGrid', PluginParams> {
|
|
8
8
|
textSizePx$: Observable<number>
|
|
9
|
+
multiGridContainerPosition$: Observable<GridContainerPosition[][]>
|
|
9
10
|
multiGridEachDetail$: Observable<ContextObserverMultiGridDetail[]>
|
|
10
11
|
}
|
|
11
12
|
|
package/src/utils/d3Utils.ts
CHANGED
|
@@ -65,13 +65,12 @@ export const createAxisPointScale = ({ axisLabels, axisWidth, padding = 0.5 }: {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
// scaleQuantize - 比例尺座標對應非連續資料索引
|
|
68
|
-
export const createAxisQuantizeScale = ({ axisLabels, axisWidth, padding = 0
|
|
68
|
+
export const createAxisQuantizeScale = ({ axisLabels, axisWidth, padding = 0, reverse = false }:{
|
|
69
69
|
axisLabels: string[] | Date[],
|
|
70
70
|
axisWidth: number
|
|
71
71
|
padding?: number
|
|
72
72
|
reverse?: boolean
|
|
73
73
|
}) => {
|
|
74
|
-
const rangePadding = 0
|
|
75
74
|
|
|
76
75
|
let range: number[] = axisLabels.map((d: string | Date, i: number) => i)
|
|
77
76
|
if (reverse) {
|
|
@@ -82,8 +81,12 @@ export const createAxisQuantizeScale = ({ axisLabels, axisWidth, padding = 0.5,
|
|
|
82
81
|
// } else {
|
|
83
82
|
// range = axisLabels.map((d: string | Date, i: number) => i)
|
|
84
83
|
// }
|
|
84
|
+
const step = range.length - 1 + (padding * 2) // 圖軸刻度分段數量
|
|
85
|
+
const stepWidth = axisWidth / step
|
|
86
|
+
const rangePadding = stepWidth * padding - (stepWidth * 0.5) // 實際要計算的範圍是圖軸左右那邊增加0.5
|
|
85
87
|
|
|
88
|
+
// console.log('rangePadding', rangePadding)
|
|
86
89
|
return d3.scaleQuantize<number>()
|
|
87
|
-
.domain([
|
|
90
|
+
.domain([rangePadding, axisWidth - rangePadding])
|
|
88
91
|
.range(range)
|
|
89
92
|
}
|
package/vite.config.js
CHANGED
|
@@ -1,45 +1,23 @@
|
|
|
1
|
-
// import { fileURLToPath, URL } from 'node:url'
|
|
2
|
-
|
|
3
|
-
// import { resolve } from 'path'
|
|
4
1
|
import { defineConfig } from 'vite'
|
|
5
2
|
import dts from 'vite-plugin-dts'
|
|
6
3
|
|
|
7
|
-
const releaseConfig = {
|
|
8
|
-
plugins: [
|
|
9
|
-
dts({
|
|
10
|
-
insertTypesEntry: true
|
|
11
|
-
})
|
|
12
|
-
],
|
|
13
|
-
compilerOptions: {
|
|
14
|
-
composite: true
|
|
15
|
-
},
|
|
16
|
-
build: {
|
|
17
|
-
lib: {
|
|
18
|
-
entry: "src/index.ts",
|
|
19
|
-
name: 'orbcharts-core',
|
|
20
|
-
formats: ["es", "umd"],
|
|
21
|
-
fileName: format => `orbcharts-core.${format}.js`
|
|
22
|
-
},
|
|
23
|
-
// rollupOptions: {
|
|
24
|
-
// input: {
|
|
25
|
-
// main: resolve(__dirname, "src/index.ts")
|
|
26
|
-
// },
|
|
27
|
-
// external: ['vue'],
|
|
28
|
-
// output: {
|
|
29
|
-
// assetFileNames: 'my-library.css',
|
|
30
|
-
// exports: "named",
|
|
31
|
-
// globals: {
|
|
32
|
-
// vue: 'Vue',
|
|
33
|
-
// },
|
|
34
|
-
// },
|
|
35
|
-
// },
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
4
|
export default defineConfig(({ command, mode }) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
5
|
+
return {
|
|
6
|
+
plugins: [
|
|
7
|
+
dts({
|
|
8
|
+
insertTypesEntry: true
|
|
9
|
+
})
|
|
10
|
+
],
|
|
11
|
+
compilerOptions: {
|
|
12
|
+
composite: true
|
|
13
|
+
},
|
|
14
|
+
build: {
|
|
15
|
+
lib: {
|
|
16
|
+
entry: "src/index.ts",
|
|
17
|
+
name: 'orbcharts-core',
|
|
18
|
+
formats: ["es", "umd"],
|
|
19
|
+
fileName: format => `orbcharts-core.${format}.js`
|
|
20
|
+
},
|
|
21
|
+
}
|
|
44
22
|
}
|
|
45
23
|
})
|