@orbcharts/plugins-basic 3.0.0-alpha.56 → 3.0.0-alpha.58
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/orbcharts-plugins-basic.es.js +7070 -7068
- package/dist/orbcharts-plugins-basic.umd.js +10 -10
- package/dist/src/base/BaseLineAreas.d.ts +1 -0
- package/dist/src/base/BaseLines.d.ts +3 -1
- package/dist/src/grid/gridObservables.d.ts +19 -2
- package/dist/src/grid/types.d.ts +1 -0
- package/dist/vite.config.d.mts +2 -0
- package/package.json +5 -4
- package/src/base/BaseGroupAxis.ts +1 -1
- package/src/base/BaseLineAreas.ts +4 -1
- package/src/base/BaseLines.ts +8 -3
- package/src/base/BaseValueAxis.ts +1 -1
- package/src/grid/defaults.ts +1 -0
- package/src/grid/gridObservables.ts +329 -35
- package/src/grid/plugins/GroupAux.ts +144 -90
- package/src/grid/plugins/LineAreas.ts +1 -0
- package/src/grid/plugins/Lines.ts +3 -1
- package/src/grid/types.ts +1 -0
- package/src/multiGrid/plugins/MultiLineAreas.ts +10 -0
- package/src/multiGrid/plugins/MultiLines.ts +12 -1
- package/{tsconfig.json → tsconfig.base.json} +1 -1
- package/tsconfig.json.bak.vite-plugin-tsconfig +8 -0
- package/tsconfig.prod.json +1 -12
- package/vite.config.mjs +41 -0
- package/dist/vite.config.d.ts +0 -2
- package/tsconfig.dev.json +0 -17
- package/vite.config.js +0 -50
@@ -24,7 +24,7 @@ import { parseTickFormatValue } from '../../utils/d3Utils'
|
|
24
24
|
import { measureTextWidth } from '../../utils/commonUtils'
|
25
25
|
import { getColor, getClassName, getUniID } from '../../utils/orbchartsUtils'
|
26
26
|
import { d3EventObservable } from '../../utils/observables'
|
27
|
-
import {
|
27
|
+
import { gridGroupPosition } from '../gridObservables'
|
28
28
|
import { createAxisPointScale } from '@orbcharts/core'
|
29
29
|
import type { GroupAuxParams } from '../types'
|
30
30
|
import { gridSelectionsObservable } from '../gridObservables'
|
@@ -65,7 +65,7 @@ function createLineData ({ groupLabel, axisX, axisHeight, fullParams }: {
|
|
65
65
|
}
|
66
66
|
|
67
67
|
function renderLine ({ selection, pluginName, lineData, fullParams, fullChartParams }: {
|
68
|
-
selection: d3.Selection<any,
|
68
|
+
selection: d3.Selection<any, string, any, unknown>
|
69
69
|
pluginName: string
|
70
70
|
lineData: LineDatum[]
|
71
71
|
fullParams: GroupAuxParams
|
@@ -106,7 +106,7 @@ function renderLine ({ selection, pluginName, lineData, fullParams, fullChartPar
|
|
106
106
|
return auxLineSelection
|
107
107
|
}
|
108
108
|
|
109
|
-
function removeLine (selection: d3.Selection<any,
|
109
|
+
function removeLine (selection: d3.Selection<any, string, any, unknown>) {
|
110
110
|
const update = selection
|
111
111
|
.selectAll<SVGLineElement, LineDatum>('line')
|
112
112
|
.data([])
|
@@ -130,7 +130,7 @@ function createLabelData ({ groupLabel, axisX, fullParams }: {
|
|
130
130
|
}
|
131
131
|
|
132
132
|
function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, fullChartParams, labelTransform, textSizePx }: {
|
133
|
-
selection: d3.Selection<any,
|
133
|
+
selection: d3.Selection<any, string, any, unknown>
|
134
134
|
labelData: LabelDatum[]
|
135
135
|
fullParams: GroupAuxParams
|
136
136
|
fullDataFormatter: DataFormatterGrid
|
@@ -168,7 +168,9 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
168
168
|
let rectX = - rectWidth / 2
|
169
169
|
let rectY = -2
|
170
170
|
if (fullDataFormatter.grid.groupAxis.position === 'bottom') {
|
171
|
-
rectX =
|
171
|
+
rectX = fullParams.labelRotate
|
172
|
+
? - rectWidth
|
173
|
+
: - rectWidth / 2
|
172
174
|
rectY = 2
|
173
175
|
} else if (fullDataFormatter.grid.groupAxis.position === 'left') {
|
174
176
|
rectX = - rectWidth + 2
|
@@ -177,7 +179,9 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
177
179
|
rectX = - 2
|
178
180
|
rectY = - rectHeight / 2
|
179
181
|
} else if (fullDataFormatter.grid.groupAxis.position === 'top') {
|
180
|
-
rectX =
|
182
|
+
rectX = fullParams.labelRotate
|
183
|
+
? - rectWidth
|
184
|
+
: - rectWidth / 2
|
181
185
|
rectY = - rectHeight + 2
|
182
186
|
}
|
183
187
|
|
@@ -222,7 +226,7 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
222
226
|
return axisLabelSelection
|
223
227
|
}
|
224
228
|
|
225
|
-
function removeLabel (selection: d3.Selection<any,
|
229
|
+
function removeLabel (selection: d3.Selection<any, string, any, unknown>) {
|
226
230
|
const gUpdate = selection
|
227
231
|
.selectAll<SVGGElement, LabelDatum>(`g.${labelClassName}`)
|
228
232
|
.data([])
|
@@ -352,15 +356,65 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
352
356
|
// distinctUntilChanged()
|
353
357
|
// )
|
354
358
|
|
355
|
-
const groupScale$: Observable<d3.ScalePoint<string>> = new Observable(subscriber => {
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
359
|
+
// const groupScale$: Observable<d3.ScalePoint<string>> = new Observable(subscriber => {
|
360
|
+
// combineLatest({
|
361
|
+
// fullDataFormatter: observer.fullDataFormatter$,
|
362
|
+
// gridAxesSize: observer.gridAxesSize$,
|
363
|
+
// computedData: observer.computedData$
|
364
|
+
// }).pipe(
|
365
|
+
// takeUntil(destroy$),
|
366
|
+
// switchMap(async (d) => d),
|
367
|
+
// ).subscribe(data => {
|
368
|
+
// const groupMin = 0
|
369
|
+
// const groupMax = data.computedData[0] ? data.computedData[0].length - 1 : 0
|
370
|
+
// const groupScaleDomainMin = data.fullDataFormatter.grid.groupAxis.scaleDomain[0] === 'auto'
|
371
|
+
// ? groupMin - data.fullDataFormatter.grid.groupAxis.scalePadding
|
372
|
+
// : data.fullDataFormatter.grid.groupAxis.scaleDomain[0] as number - data.fullDataFormatter.grid.groupAxis.scalePadding
|
373
|
+
// const groupScaleDomainMax = data.fullDataFormatter.grid.groupAxis.scaleDomain[1] === 'auto'
|
374
|
+
// ? groupMax + data.fullDataFormatter.grid.groupAxis.scalePadding
|
375
|
+
// : data.fullDataFormatter.grid.groupAxis.scaleDomain[1] as number + data.fullDataFormatter.grid.groupAxis.scalePadding
|
376
|
+
|
377
|
+
// const groupingLength = data.computedData[0]
|
378
|
+
// ? data.computedData[0].length
|
379
|
+
// : 0
|
380
|
+
|
381
|
+
// let _labels = data.fullDataFormatter.grid.seriesDirection === 'row'
|
382
|
+
// // ? data.fullDataFormatter.grid.columnLabels
|
383
|
+
// // : data.fullDataFormatter.grid.rowLabels
|
384
|
+
// ? (data.computedData[0] ?? []).map(d => d.groupLabel)
|
385
|
+
// : data.computedData.map(d => d[0].groupLabel)
|
386
|
+
|
387
|
+
// const axisLabels = new Array(groupingLength).fill(0)
|
388
|
+
// .map((d, i) => {
|
389
|
+
// return _labels[i] != null
|
390
|
+
// ? _labels[i]
|
391
|
+
// : String(i) // 沒有label則用序列號填充
|
392
|
+
// })
|
393
|
+
// .filter((d, i) => {
|
394
|
+
// return i >= groupScaleDomainMin && i <= groupScaleDomainMax
|
395
|
+
// })
|
396
|
+
|
397
|
+
|
398
|
+
// const padding = data.fullDataFormatter.grid.groupAxis.scalePadding
|
399
|
+
|
400
|
+
// const groupScale = createAxisPointScale({
|
401
|
+
// axisLabels,
|
402
|
+
// axisWidth: data.gridAxesSize.width,
|
403
|
+
// padding
|
404
|
+
// })
|
405
|
+
|
406
|
+
// subscriber.next(groupScale)
|
407
|
+
// })
|
408
|
+
// })
|
409
|
+
|
410
|
+
const groupScaleDomain$ = combineLatest({
|
411
|
+
fullDataFormatter: observer.fullDataFormatter$,
|
412
|
+
gridAxesSize: observer.gridAxesSize$,
|
413
|
+
computedData: observer.computedData$
|
414
|
+
}).pipe(
|
415
|
+
takeUntil(destroy$),
|
416
|
+
switchMap(async (d) => d),
|
417
|
+
map(data => {
|
364
418
|
const groupMin = 0
|
365
419
|
const groupMax = data.computedData[0] ? data.computedData[0].length - 1 : 0
|
366
420
|
const groupScaleDomainMin = data.fullDataFormatter.grid.groupAxis.scaleDomain[0] === 'auto'
|
@@ -369,47 +423,33 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
369
423
|
const groupScaleDomainMax = data.fullDataFormatter.grid.groupAxis.scaleDomain[1] === 'auto'
|
370
424
|
? groupMax + data.fullDataFormatter.grid.groupAxis.scalePadding
|
371
425
|
: data.fullDataFormatter.grid.groupAxis.scaleDomain[1] as number + data.fullDataFormatter.grid.groupAxis.scalePadding
|
372
|
-
|
373
|
-
const groupingLength = data.computedData[0]
|
374
|
-
? data.computedData[0].length
|
375
|
-
: 0
|
376
|
-
|
377
|
-
let _labels = data.fullDataFormatter.grid.seriesDirection === 'row'
|
378
|
-
// ? data.fullDataFormatter.grid.columnLabels
|
379
|
-
// : data.fullDataFormatter.grid.rowLabels
|
380
|
-
? (data.computedData[0] ?? []).map(d => d.groupLabel)
|
381
|
-
: data.computedData.map(d => d[0].groupLabel)
|
382
|
-
|
383
|
-
const axisLabels = new Array(groupingLength).fill(0)
|
384
|
-
.map((d, i) => {
|
385
|
-
return _labels[i] != null
|
386
|
-
? _labels[i]
|
387
|
-
: String(i) // 沒有label則用序列號填充
|
388
|
-
})
|
389
|
-
.filter((d, i) => {
|
390
|
-
return i >= groupScaleDomainMin && i <= groupScaleDomainMax
|
391
|
-
})
|
392
426
|
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
axisLabels,
|
398
|
-
axisWidth: data.gridAxesSize.width,
|
399
|
-
padding
|
400
|
-
})
|
427
|
+
return [groupScaleDomainMin, groupScaleDomainMax]
|
428
|
+
}),
|
429
|
+
shareReplay(1)
|
430
|
+
)
|
401
431
|
|
402
|
-
|
432
|
+
const groupScale$ = combineLatest({
|
433
|
+
groupScaleDomain: groupScaleDomain$,
|
434
|
+
gridAxesSize: observer.gridAxesSize$
|
435
|
+
}).pipe(
|
436
|
+
takeUntil(destroy$),
|
437
|
+
switchMap(async (d) => d),
|
438
|
+
map(data => {
|
439
|
+
const groupScale: d3.ScaleLinear<number, number> = d3.scaleLinear()
|
440
|
+
.domain(data.groupScaleDomain)
|
441
|
+
.range([0, data.gridAxesSize.width])
|
442
|
+
return groupScale
|
403
443
|
})
|
404
|
-
|
444
|
+
)
|
405
445
|
|
406
|
-
// 取得事件座標的group資料
|
407
|
-
const gridGroupPositionFn$ = gridGroupPositionFnObservable({
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
})
|
446
|
+
// // 取得事件座標的group資料
|
447
|
+
// const gridGroupPositionFn$ = gridGroupPositionFnObservable({
|
448
|
+
// fullDataFormatter$: observer.fullDataFormatter$,
|
449
|
+
// gridAxesSize$: observer.gridAxesSize$,
|
450
|
+
// computedData$: observer.computedData$,
|
451
|
+
// fullChartParams$: observer.fullChartParams$,
|
452
|
+
// })
|
413
453
|
|
414
454
|
const highlightTarget$ = observer.fullChartParams$.pipe(
|
415
455
|
takeUntil(destroy$),
|
@@ -562,10 +602,10 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
562
602
|
const containerScaleReverseScaleValue = `scale(${1 / data.gridContainerPosition[0].scale[0]}, ${1 / data.gridContainerPosition[0].scale[1]})`
|
563
603
|
const tickTextRotateDeg = (data.fullDataFormatter.grid.groupAxis.position === 'left' && data.fullDataFormatter.grid.valueAxis.position === 'top')
|
564
604
|
|| (data.fullDataFormatter.grid.groupAxis.position === 'right' && data.fullDataFormatter.grid.valueAxis.position === 'bottom')
|
565
|
-
|
566
|
-
|
567
|
-
? 180 // 修正文字倒轉
|
568
|
-
: 0
|
605
|
+
? data.fullParams.labelRotate + 180 // 修正文字倒轉
|
606
|
+
: data.fullParams.labelRotate
|
607
|
+
// ? 180 // 修正文字倒轉
|
608
|
+
// : 0
|
569
609
|
|
570
610
|
const textRotateValue = `rotate(${tickTextRotateDeg}deg)`
|
571
611
|
|
@@ -597,13 +637,26 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
597
637
|
distinctUntilChanged()
|
598
638
|
)
|
599
639
|
|
640
|
+
const gridGroupPosition$ = gridGroupPosition({
|
641
|
+
rootSelection,
|
642
|
+
fullDataFormatter$: observer.fullDataFormatter$,
|
643
|
+
gridAxesSize$: observer.gridAxesSize$,
|
644
|
+
computedData$: observer.computedData$,
|
645
|
+
fullChartParams$: observer.fullChartParams$,
|
646
|
+
gridContainerPosition$: observer.gridContainerPosition$,
|
647
|
+
layout$: observer.layout$
|
648
|
+
}).pipe(
|
649
|
+
takeUntil(destroy$)
|
650
|
+
)
|
651
|
+
|
600
652
|
combineLatest({
|
601
653
|
axesSelection: axesSelection$,
|
602
654
|
columnAmount: columnAmount$,
|
603
655
|
rowAmount: rowAmount$,
|
604
656
|
layout: observer.layout$,
|
605
657
|
rootMousemove: rootMousemove$,
|
606
|
-
gridGroupPositionFn: gridGroupPositionFn$,
|
658
|
+
// gridGroupPositionFn: gridGroupPositionFn$,
|
659
|
+
gridGroupPosition: gridGroupPosition$,
|
607
660
|
computedData: observer.computedData$,
|
608
661
|
groupScale: groupScale$,
|
609
662
|
gridAxesSize: observer.gridAxesSize$,
|
@@ -616,22 +669,23 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
616
669
|
GroupDataMap: observer.GroupDataMap$,
|
617
670
|
textSizePx: observer.textSizePx$
|
618
671
|
}).subscribe(data => {
|
619
|
-
// 由於event座標是基於底層的,但是container會有多欄,所以要重新計算
|
620
|
-
const eventData = {
|
621
|
-
|
622
|
-
|
623
|
-
}
|
672
|
+
// // 由於event座標是基於底層的,但是container會有多欄,所以要重新計算
|
673
|
+
// const eventData = {
|
674
|
+
// offsetX: data.rootMousemove.offsetX * data.columnAmount % data.layout.rootWidth,
|
675
|
+
// offsetY: data.rootMousemove.offsetY * data.rowAmount % data.layout.rootHeight
|
676
|
+
// }
|
624
677
|
// 依event的座標取得group資料
|
625
|
-
const { groupIndex, groupLabel } = data.
|
626
|
-
|
627
|
-
const axisX = data.groupScale(
|
628
|
-
|
678
|
+
const { groupIndex, groupLabel } = data.gridGroupPosition
|
679
|
+
// console.log('gridGroupPosition', groupIndex, groupLabel)
|
680
|
+
const axisX = data.groupScale(groupIndex) ?? 0
|
681
|
+
// console.log('axisX', axisX)
|
629
682
|
const lineData = createLineData({
|
630
683
|
groupLabel: groupLabel,
|
631
684
|
axisX,
|
632
685
|
axisHeight: data.gridAxesSize.height,
|
633
686
|
fullParams: data.fullParams,
|
634
687
|
})
|
688
|
+
// console.log('lineData', lineData)
|
635
689
|
renderLine({
|
636
690
|
// selection: axisSelection,
|
637
691
|
selection: data.axesSelection,
|
@@ -703,29 +757,29 @@ export const GroupAux = defineGridPlugin(pluginName, DEFAULT_GROUP_AREA_PARAMS)(
|
|
703
757
|
data: data.computedData
|
704
758
|
})
|
705
759
|
})
|
706
|
-
.on('mouseout', (event, datum) => {
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
})
|
760
|
+
// .on('mouseout', (event, datum) => {
|
761
|
+
// event.stopPropagation()
|
762
|
+
// // const { groupIndex, groupLabel } = data.gridGroupPositionFn(event)
|
763
|
+
|
764
|
+
// isLabelMouseover = false
|
765
|
+
|
766
|
+
// subject.event$.next({
|
767
|
+
// type: 'grid',
|
768
|
+
// pluginName: name,
|
769
|
+
// eventName: 'mouseout',
|
770
|
+
// highlightTarget: data.highlightTarget,
|
771
|
+
// datum: null,
|
772
|
+
// gridIndex: 0, // @Q@ 暫不處理
|
773
|
+
// series: [],
|
774
|
+
// seriesIndex: -1,
|
775
|
+
// seriesLabel: '',
|
776
|
+
// groups: data.GroupDataMap.get(groupLabel) ?? [],
|
777
|
+
// groupIndex,
|
778
|
+
// groupLabel,
|
779
|
+
// event,
|
780
|
+
// data: data.computedData
|
781
|
+
// })
|
782
|
+
// })
|
729
783
|
.on('click', (event, datum) => {
|
730
784
|
event.stopPropagation()
|
731
785
|
// const { groupIndex, groupLabel } = data.gridGroupPositionFn(event)
|
@@ -28,6 +28,7 @@ export const LineAreas = defineGridPlugin(pluginName, DEFAULT_LINE_AREAS_PARAMS)
|
|
28
28
|
gridAxesSize$: observer.gridAxesSize$,
|
29
29
|
gridHighlight$: observer.gridHighlight$,
|
30
30
|
gridContainerPosition$: observer.gridContainerPosition$,
|
31
|
+
allContainerPosition$: observer.gridContainerPosition$,
|
31
32
|
layout$: observer.layout$,
|
32
33
|
event$: subject.event$,
|
33
34
|
})
|
@@ -7,7 +7,7 @@ import { createBaseLines } from '../../base/BaseLines'
|
|
7
7
|
|
8
8
|
const pluginName = 'Lines'
|
9
9
|
|
10
|
-
export const Lines = defineGridPlugin(pluginName, DEFAULT_LINES_PARAMS)(({ selection, name, observer, subject }) => {
|
10
|
+
export const Lines = defineGridPlugin(pluginName, DEFAULT_LINES_PARAMS)(({ selection, rootSelection, name, observer, subject }) => {
|
11
11
|
|
12
12
|
const destroy$ = new Subject()
|
13
13
|
|
@@ -28,6 +28,8 @@ export const Lines = defineGridPlugin(pluginName, DEFAULT_LINES_PARAMS)(({ selec
|
|
28
28
|
gridAxesSize$: observer.gridAxesSize$,
|
29
29
|
gridHighlight$: observer.gridHighlight$,
|
30
30
|
gridContainerPosition$: observer.gridContainerPosition$,
|
31
|
+
allContainerPosition$: observer.gridContainerPosition$,
|
32
|
+
layout$: observer.layout$,
|
31
33
|
event$: subject.event$,
|
32
34
|
})
|
33
35
|
|
package/src/grid/types.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as d3 from 'd3'
|
2
2
|
import {
|
3
|
+
map,
|
3
4
|
takeUntil,
|
4
5
|
Subject } from 'rxjs'
|
5
6
|
import {
|
@@ -19,6 +20,14 @@ export const MultiLineAreas = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_LI
|
|
19
20
|
|
20
21
|
const unsubscribeFnArr: (() => void)[] = []
|
21
22
|
|
23
|
+
// 攤平所有grid的containerPosition
|
24
|
+
const allContainerPosition$ = observer.multiGridContainerPosition$.pipe(
|
25
|
+
takeUntil(destroy$),
|
26
|
+
map(data => {
|
27
|
+
return data.flat()
|
28
|
+
})
|
29
|
+
)
|
30
|
+
|
22
31
|
const multiGridPluginDetail$ = multiGridPluginDetailObservables(observer)
|
23
32
|
|
24
33
|
multiGridPluginDetail$
|
@@ -54,6 +63,7 @@ export const MultiLineAreas = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_LI
|
|
54
63
|
gridAxesSize$: d.gridAxesSize$,
|
55
64
|
gridHighlight$: d.gridHighlight$,
|
56
65
|
gridContainerPosition$: d.gridContainerPosition$,
|
66
|
+
allContainerPosition$: allContainerPosition$,
|
57
67
|
layout$: observer.layout$,
|
58
68
|
event$: subject.event$ as Subject<any>,
|
59
69
|
})
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as d3 from 'd3'
|
2
2
|
import {
|
3
|
+
map,
|
3
4
|
takeUntil,
|
4
5
|
Subject } from 'rxjs'
|
5
6
|
import {
|
@@ -14,11 +15,19 @@ const pluginName = 'MultiLines'
|
|
14
15
|
|
15
16
|
const gridClassName = getClassName(pluginName, 'grid')
|
16
17
|
|
17
|
-
export const MultiLines = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_LINES_PARAMS)(({ selection, name, subject, observer }) => {
|
18
|
+
export const MultiLines = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_LINES_PARAMS)(({ selection, rootSelection, name, subject, observer }) => {
|
18
19
|
const destroy$ = new Subject()
|
19
20
|
|
20
21
|
const unsubscribeFnArr: (() => void)[] = []
|
21
22
|
|
23
|
+
// 攤平所有grid的containerPosition
|
24
|
+
const allContainerPosition$ = observer.multiGridContainerPosition$.pipe(
|
25
|
+
takeUntil(destroy$),
|
26
|
+
map(data => {
|
27
|
+
return data.flat()
|
28
|
+
})
|
29
|
+
)
|
30
|
+
|
22
31
|
const multiGridPluginDetail$ = multiGridPluginDetailObservables(observer)
|
23
32
|
|
24
33
|
multiGridPluginDetail$
|
@@ -54,6 +63,8 @@ export const MultiLines = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_LINES_
|
|
54
63
|
gridAxesSize$: d.gridAxesSize$,
|
55
64
|
gridHighlight$: d.gridHighlight$,
|
56
65
|
gridContainerPosition$: d.gridContainerPosition$,
|
66
|
+
allContainerPosition$,
|
67
|
+
layout$: observer.layout$,
|
57
68
|
event$: subject.event$ as Subject<any>,
|
58
69
|
})
|
59
70
|
})
|
package/tsconfig.prod.json
CHANGED
@@ -1,14 +1,3 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"outDir": "./dist/",
|
4
|
-
"sourceMap": true,
|
5
|
-
"noImplicitAny": true,
|
6
|
-
"module": "es6",
|
7
|
-
"target": "es5",
|
8
|
-
"jsx": "react",
|
9
|
-
"allowJs": true,
|
10
|
-
"moduleResolution": "node",
|
11
|
-
"allowSyntheticDefaultImports" : true,
|
12
|
-
"esModuleInterop" : true
|
13
|
-
}
|
2
|
+
"extends": "./tsconfig.base.json"
|
14
3
|
}
|
package/vite.config.mjs
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
import path from "path"
|
2
|
+
import { defineConfig } from 'vite'
|
3
|
+
import dts from 'vite-plugin-dts'
|
4
|
+
import tsconfig from 'vite-plugin-tsconfig'
|
5
|
+
|
6
|
+
export default defineConfig(({ command, mode }) => {
|
7
|
+
const alias = mode === 'production'
|
8
|
+
? {}
|
9
|
+
: {
|
10
|
+
"@orbcharts/core": path.resolve(__dirname, "./../orbcharts-core")
|
11
|
+
}
|
12
|
+
|
13
|
+
const tsconfigPath = mode === 'production'
|
14
|
+
? 'tsconfig.prod.json'
|
15
|
+
: 'tsconfig.json'
|
16
|
+
|
17
|
+
return {
|
18
|
+
plugins: [
|
19
|
+
tsconfig({
|
20
|
+
filename: tsconfigPath
|
21
|
+
}),
|
22
|
+
dts({
|
23
|
+
insertTypesEntry: true
|
24
|
+
})
|
25
|
+
],
|
26
|
+
resolve: {
|
27
|
+
alias
|
28
|
+
},
|
29
|
+
compilerOptions: {
|
30
|
+
composite: true
|
31
|
+
},
|
32
|
+
build: {
|
33
|
+
lib: {
|
34
|
+
entry: "src/index.ts",
|
35
|
+
name: 'orbcharts-plugins-basic',
|
36
|
+
formats: ["es", "umd"],
|
37
|
+
fileName: format => `orbcharts-plugins-basic.${format}.js`
|
38
|
+
},
|
39
|
+
}
|
40
|
+
}
|
41
|
+
})
|
package/dist/vite.config.d.ts
DELETED
package/tsconfig.dev.json
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"outDir": "./dist/",
|
4
|
-
"sourceMap": true,
|
5
|
-
"noImplicitAny": true,
|
6
|
-
"module": "es6",
|
7
|
-
"target": "es5",
|
8
|
-
"jsx": "react",
|
9
|
-
"allowJs": true,
|
10
|
-
"moduleResolution": "node",
|
11
|
-
"allowSyntheticDefaultImports" : true,
|
12
|
-
"esModuleInterop" : true,
|
13
|
-
"paths":{
|
14
|
-
"@orbcharts/core": ["./../orbcharts-core/src"]
|
15
|
-
}
|
16
|
-
}
|
17
|
-
}
|
package/vite.config.js
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
// import { fileURLToPath, URL } from 'node:url'
|
2
|
-
|
3
|
-
// import { resolve } from 'path'
|
4
|
-
import { defineConfig } from 'vite'
|
5
|
-
import dts from 'vite-plugin-dts'
|
6
|
-
|
7
|
-
const releaseConfig = {
|
8
|
-
plugins: [
|
9
|
-
dts({
|
10
|
-
insertTypesEntry: true
|
11
|
-
})
|
12
|
-
],
|
13
|
-
compilerOptions: {
|
14
|
-
composite: true
|
15
|
-
},
|
16
|
-
// resolve: {
|
17
|
-
// alias: {
|
18
|
-
// '@core': '@orbcharts/core'
|
19
|
-
// }
|
20
|
-
// },
|
21
|
-
build: {
|
22
|
-
lib: {
|
23
|
-
entry: "src/index.ts",
|
24
|
-
name: 'orbcharts-plugins-basic',
|
25
|
-
formats: ["es", "umd"],
|
26
|
-
fileName: format => `orbcharts-plugins-basic.${format}.js`
|
27
|
-
},
|
28
|
-
// rollupOptions: {
|
29
|
-
// input: {
|
30
|
-
// main: resolve(__dirname, "src/index.ts")
|
31
|
-
// },
|
32
|
-
// external: ['vue'],
|
33
|
-
// output: {
|
34
|
-
// assetFileNames: 'my-library.css',
|
35
|
-
// exports: "named",
|
36
|
-
// globals: {
|
37
|
-
// vue: 'Vue',
|
38
|
-
// },
|
39
|
-
// },
|
40
|
-
// },
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
export default defineConfig(({ command, mode }) => {
|
45
|
-
if (mode === 'release') {
|
46
|
-
return releaseConfig
|
47
|
-
} else {
|
48
|
-
return releaseConfig
|
49
|
-
}
|
50
|
-
})
|