@visactor/vgrammar-plot 0.6.6-alpha.0 → 0.7.0-alpha.0
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/cjs/area.js +3 -3
- package/cjs/area.js.map +1 -1
- package/cjs/cell.js +3 -3
- package/cjs/cell.js.map +1 -1
- package/cjs/circle-packing.js +4 -5
- package/cjs/circle-packing.js.map +1 -1
- package/cjs/image.js +3 -3
- package/cjs/image.js.map +1 -1
- package/cjs/interval.js +3 -3
- package/cjs/interval.js.map +1 -1
- package/cjs/line.js +3 -3
- package/cjs/line.js.map +1 -1
- package/cjs/path.js +4 -1
- package/cjs/path.js.map +1 -1
- package/cjs/plot.d.ts +6 -4
- package/cjs/plot.js +24 -16
- package/cjs/plot.js.map +1 -1
- package/cjs/polygon.js +3 -3
- package/cjs/polygon.js.map +1 -1
- package/cjs/rect-x.js +3 -3
- package/cjs/rect-x.js.map +1 -1
- package/cjs/rect-y.js +3 -3
- package/cjs/rect-y.js.map +1 -1
- package/cjs/rect.js +3 -3
- package/cjs/rect.js.map +1 -1
- package/cjs/rule-x.js +3 -3
- package/cjs/rule-x.js.map +1 -1
- package/cjs/rule-y.d.ts +1 -1
- package/cjs/rule-y.js +14 -8
- package/cjs/rule-y.js.map +1 -1
- package/cjs/rule.js +3 -3
- package/cjs/rule.js.map +1 -1
- package/cjs/sankey.js +6 -8
- package/cjs/sankey.js.map +1 -1
- package/cjs/semantic-mark.d.ts +9 -4
- package/cjs/semantic-mark.js +113 -77
- package/cjs/semantic-mark.js.map +1 -1
- package/cjs/sunburst.js +4 -5
- package/cjs/sunburst.js.map +1 -1
- package/cjs/symbol.d.ts +3 -1
- package/cjs/symbol.js +25 -3
- package/cjs/symbol.js.map +1 -1
- package/cjs/text.js +5 -3
- package/cjs/text.js.map +1 -1
- package/cjs/tree.js +4 -5
- package/cjs/tree.js.map +1 -1
- package/cjs/treemap.js +4 -5
- package/cjs/treemap.js.map +1 -1
- package/cjs/wordcloud-shape.d.ts +1 -0
- package/cjs/wordcloud-shape.js +12 -7
- package/cjs/wordcloud-shape.js.map +1 -1
- package/cjs/wordcloud.js +4 -5
- package/cjs/wordcloud.js.map +1 -1
- package/dist/index.js +274 -117
- package/dist/index.min.js +1 -1
- package/es/area.js +3 -3
- package/es/area.js.map +1 -1
- package/es/cell.js +3 -3
- package/es/cell.js.map +1 -1
- package/es/circle-packing.js +5 -5
- package/es/circle-packing.js.map +1 -1
- package/es/image.js +3 -3
- package/es/image.js.map +1 -1
- package/es/interval.js +4 -4
- package/es/interval.js.map +1 -1
- package/es/line.js +3 -3
- package/es/line.js.map +1 -1
- package/es/path.js +4 -1
- package/es/path.js.map +1 -1
- package/es/plot.d.ts +6 -4
- package/es/plot.js +25 -17
- package/es/plot.js.map +1 -1
- package/es/polygon.js +3 -3
- package/es/polygon.js.map +1 -1
- package/es/rect-x.js +3 -3
- package/es/rect-x.js.map +1 -1
- package/es/rect-y.js +3 -3
- package/es/rect-y.js.map +1 -1
- package/es/rect.js +3 -3
- package/es/rect.js.map +1 -1
- package/es/rule-x.js +3 -3
- package/es/rule-x.js.map +1 -1
- package/es/rule-y.d.ts +1 -1
- package/es/rule-y.js +15 -7
- package/es/rule-y.js.map +1 -1
- package/es/rule.js +3 -3
- package/es/rule.js.map +1 -1
- package/es/sankey.js +7 -7
- package/es/sankey.js.map +1 -1
- package/es/semantic-mark.d.ts +9 -4
- package/es/semantic-mark.js +111 -77
- package/es/semantic-mark.js.map +1 -1
- package/es/sunburst.js +5 -5
- package/es/sunburst.js.map +1 -1
- package/es/symbol.d.ts +3 -1
- package/es/symbol.js +25 -3
- package/es/symbol.js.map +1 -1
- package/es/text.js +5 -3
- package/es/text.js.map +1 -1
- package/es/tree.js +5 -5
- package/es/tree.js.map +1 -1
- package/es/treemap.js +5 -5
- package/es/treemap.js.map +1 -1
- package/es/wordcloud-shape.d.ts +1 -0
- package/es/wordcloud-shape.js +14 -6
- package/es/wordcloud-shape.js.map +1 -1
- package/es/wordcloud.js +5 -5
- package/es/wordcloud.js.map +1 -1
- package/package.json +8 -8
package/cjs/plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plot.ts"],"names":[],"mappings":"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","file":"plot.js","sourcesContent":["import type { CoordinateType } from '@visactor/vgrammar-coordinate';\nimport type {\n BaseEventHandler,\n IElement,\n IRunningConfig,\n IView,\n MultiScaleData,\n ScaleData,\n ScaleSpec,\n ViewSpec,\n CoordinateOption,\n IPlot,\n IPlotMarkConstructor,\n IPlotOptions,\n PlotMark,\n PlotSpec\n} from '@visactor/vgrammar';\nimport type { ILogger } from '@visactor/vutils';\nimport { Logger, isNil } from '@visactor/vutils';\nimport { mergeGrammarSpecs } from './util';\nimport { PlotMakType } from './enums';\nimport { Factory, SIGNAL_VIEW_BOX, View } from '@visactor/vgrammar';\n\nexport class Plot implements IPlot {\n static useMarks(marks: IPlotMarkConstructor[]) {\n marks.forEach(mark => {\n Factory.registerPlotMarks(mark.type, mark);\n });\n }\n private _view: IView;\n private _semanticMarks: PlotMark[];\n private _hasInited?: boolean;\n private _coordinate: CoordinateOption;\n private _logger: ILogger;\n\n constructor(option?: IPlotOptions) {\n this._view = new View(option);\n this._semanticMarks = [];\n this._logger = Logger.getInstance();\n }\n\n private _mergeScales(scales: ScaleSpec[], prevScales: ScaleSpec[]) {\n return scales.reduce((res, scale) => {\n if (scale.id) {\n const prevScale = res.find(prev => prev.id === scale.id);\n\n if (prevScale) {\n if ((scale.domain as ScaleData).data && (scale.domain as ScaleData).field) {\n if ((prevScale.domain as ScaleData).data && (prevScale.domain as ScaleData).field) {\n if (\n (scale.domain as ScaleData).data === (prevScale.domain as ScaleData).data &&\n (scale.domain as ScaleData).field !== (prevScale.domain as ScaleData).field\n ) {\n (prevScale.domain as ScaleData).field = []\n .concat((prevScale.domain as ScaleData).field)\n .concat((scale.domain as ScaleData).field);\n } else if ((scale.domain as ScaleData).data !== (prevScale.domain as ScaleData).data) {\n (prevScale.domain as MultiScaleData) = {\n datas: [\n { data: (prevScale.domain as ScaleData).data, field: (prevScale.domain as ScaleData).field },\n { data: (scale.domain as ScaleData).data, field: (scale.domain as ScaleData).field }\n ],\n sort: (prevScale.domain as MultiScaleData).sort\n };\n }\n if (!isNil((scale.domain as ScaleData).sort)) {\n (prevScale.domain as ScaleData).sort = (scale.domain as ScaleData).sort;\n }\n } else if ((prevScale.domain as MultiScaleData).datas) {\n const prevData = (prevScale.domain as MultiScaleData).datas.find(\n entry => entry.data !== (scale.domain as ScaleData).data\n );\n\n if (prevData && (scale.domain as ScaleData).field !== prevData.field) {\n prevData.field = [].concat(prevData.field).concat((scale.domain as ScaleData).field);\n } else if (!prevData) {\n (prevScale.domain as MultiScaleData).datas.push({\n data: (scale.domain as ScaleData).data,\n field: (scale.domain as ScaleData).field\n });\n }\n\n if (!isNil((scale.domain as ScaleData).sort)) {\n (prevScale.domain as ScaleData).sort = (scale.domain as ScaleData).sort;\n }\n }\n }\n } else {\n res.push(scale);\n }\n }\n\n return res;\n }, prevScales);\n }\n\n protected parseViewSpec() {\n const spec: ViewSpec = {\n data: [],\n marks: [],\n scales: [],\n coordinates: [],\n signals: [],\n projections: [],\n events: []\n };\n\n this._semanticMarks.forEach(mark => {\n if (this._coordinate) {\n mark.coordinate(this._coordinate);\n }\n const { data, marks, scales, coordinates, signals, projections, events } = mark.toViewSpec();\n\n if (data && data.length) {\n spec.data = mergeGrammarSpecs(data, spec.data);\n }\n if (marks && marks.length) {\n spec.marks = spec.marks.concat(marks);\n }\n\n if (scales && scales.length) {\n // todo: optimize the following code of combine scales\n spec.scales = this._mergeScales(scales, spec.scales);\n }\n if (coordinates && coordinates.length) {\n spec.coordinates = mergeGrammarSpecs(coordinates, spec.coordinates);\n }\n if (signals && signals.length) {\n spec.signals = spec.signals.concat(signals);\n }\n if (projections && projections.length) {\n spec.projections = spec.projections.concat(projections);\n }\n if (events && events.length) {\n spec.events = spec.events.concat(events);\n }\n });\n\n spec.marks = [\n {\n type: 'group',\n layout: {\n display: 'relative',\n updateViewSignals: true\n },\n dependency: [SIGNAL_VIEW_BOX],\n encode: {\n update: (datum: any, elment: IElement, params: any) => {\n return {\n x: params.viewBox.x1,\n y: params.viewBox.y1,\n width: params.viewBox.width(),\n height: params.viewBox.height()\n };\n }\n },\n marks: spec.marks\n }\n ];\n\n return spec;\n }\n run(runningConfig?: IRunningConfig) {\n if (this._view) {\n if (!this._hasInited) {\n this._view.parseSpec(this.parseViewSpec());\n }\n this._hasInited = true;\n\n this._view.runSync(runningConfig);\n }\n\n return this;\n }\n\n async runAsync(runningConfig?: IRunningConfig) {\n if (this._view) {\n if (!this._hasInited) {\n this._view.parseSpec(this.parseViewSpec());\n }\n this._hasInited = true;\n\n await this._view.runAsync(runningConfig);\n }\n\n return this;\n }\n\n release() {\n if (this._view) {\n this._view.release();\n }\n\n return this;\n }\n\n updateSpec(spec: PlotSpec) {\n this.parseSpec(spec, true);\n return this;\n }\n parseSpec(spec: PlotSpec, isUpdate?: boolean) {\n if (spec.coordinate) {\n this.coordinate(spec.coordinate.type, spec.coordinate);\n }\n\n if (spec?.marks?.length) {\n spec.marks.forEach(mark => {\n const plotMark: PlotMark = Factory.createPlotMark(mark.type);\n plotMark.parseSpec(mark as any);\n\n this._semanticMarks.push(plotMark);\n });\n }\n\n const viewSpec = this.parseViewSpec();\n viewSpec.width = spec.width;\n viewSpec.height = spec.height;\n viewSpec.background = spec.background;\n viewSpec.padding = spec.padding;\n\n if (isUpdate) {\n this._view.updateSpec(viewSpec);\n } else {\n this._view.parseSpec(viewSpec);\n }\n this._hasInited = true;\n\n return this;\n }\n\n getImageBuffer() {\n return this._view?.getImageBuffer?.();\n }\n\n on(type: string, handler: BaseEventHandler) {\n if (this._view) {\n this._view.addEventListener(type, handler);\n }\n return this;\n }\n off(type: string, handler?: BaseEventHandler) {\n if (this._view) {\n this._view.removeEventListener(type, handler);\n }\n return this;\n }\n\n protected getCoordinateId(viewId: string | number = '0') {\n return `coordinate-${viewId}`;\n }\n\n coordinate(type: CoordinateType, spec?: Omit<CoordinateOption, 'type'>) {\n this._coordinate = Object.assign({ type, id: this.getCoordinateId() }, spec);\n\n return this;\n }\n\n interval() {\n const mark = Factory.createPlotMark(PlotMakType.interval);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.interval} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n line() {\n const mark = Factory.createPlotMark(PlotMakType.line);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.line} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n area() {\n const mark = Factory.createPlotMark(PlotMakType.area);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.area} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n cell() {\n const mark = Factory.createPlotMark(PlotMakType.cell);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.cell} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n ruleX() {\n const mark = Factory.createPlotMark(PlotMakType.ruleX);\n\n if (!mark) {\n this._logger.error(`Please register ${this.ruleX} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n ruleY() {\n const mark = Factory.createPlotMark(PlotMakType.ruleY);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.ruleY} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n image() {\n const mark = Factory.createPlotMark(PlotMakType.image);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.image} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n path() {\n const mark = Factory.createPlotMark(PlotMakType.path);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.path} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n polygon() {\n const mark = Factory.createPlotMark(PlotMakType.polygon);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.polygon} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rectX() {\n const mark = Factory.createPlotMark(PlotMakType.rectX);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rectX} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rectY() {\n const mark = Factory.createPlotMark(PlotMakType.rectY);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rectY} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rect() {\n const mark = Factory.createPlotMark(PlotMakType.rect);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rect} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rule() {\n const mark = Factory.createPlotMark(PlotMakType.rule);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rule} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n symbol() {\n const mark = Factory.createPlotMark(PlotMakType.symbol);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.symbol} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n text() {\n const mark = Factory.createPlotMark(PlotMakType.text);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.text} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n sankey() {\n const mark = Factory.createPlotMark(PlotMakType.sankey);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.sankey} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n sunburst() {\n const mark = Factory.createPlotMark(PlotMakType.sunburst);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.sunburst} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n tree() {\n const mark = Factory.createPlotMark(PlotMakType.tree);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.tree} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n treemap() {\n const mark = Factory.createPlotMark(PlotMakType.treemap);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.treemap} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n circlePacking() {\n const mark = Factory.createPlotMark(PlotMakType.circlePacking);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.circlePacking} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n wordcloud() {\n const mark = Factory.createPlotMark(PlotMakType.wordcloud);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.wordcloud} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n wordcloudShape() {\n const mark = Factory.createPlotMark(PlotMakType.wordcloudShape);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.wordcloudShape} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/plot.ts"],"names":[],"mappings":"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","file":"plot.js","sourcesContent":["import type { CoordinateType } from '@visactor/vgrammar-coordinate';\nimport type {\n BaseEventHandler,\n IElement,\n IRunningConfig,\n IView,\n MultiScaleData,\n ScaleData,\n ScaleSpec,\n ViewSpec,\n CoordinateOption,\n IPlot,\n IPlotMarkConstructor,\n IPlotOptions,\n PlotMark,\n PlotSpec\n} from '@visactor/vgrammar';\nimport type { ILogger } from '@visactor/vutils';\nimport { Logger, isNil, merge } from '@visactor/vutils';\nimport { mergeGrammarSpecs } from './util';\nimport { PlotMakType } from './enums';\nimport { Factory, SIGNAL_VIEW_BOX, View } from '@visactor/vgrammar';\n\nexport class Plot implements IPlot {\n static useMarks(marks: IPlotMarkConstructor[]) {\n marks.forEach(mark => {\n Factory.registerPlotMarks(mark.type, mark);\n });\n }\n readonly view: IView;\n private _semanticMarks: PlotMark[];\n private _hasInited?: boolean;\n private _coordinate: CoordinateOption;\n private _logger: ILogger;\n private _theme?: string;\n\n constructor(option?: IPlotOptions) {\n this.view = new View(option);\n this._semanticMarks = [];\n this._logger = Logger.getInstance();\n }\n\n theme(theme: string) {\n this._theme = theme;\n\n this.view.parseSpec({ theme });\n\n return this;\n }\n\n private _mergeScales(scales: ScaleSpec[], prevScales: ScaleSpec[]) {\n return scales.reduce((res, scale) => {\n if (scale.id) {\n const prevIndex = res.findIndex(prev => prev.id === scale.id);\n\n if (prevIndex >= 0) {\n const prevScale = res[prevIndex];\n if ((scale.domain as ScaleData).data && (scale.domain as ScaleData).field) {\n if ((prevScale.domain as ScaleData).data && (prevScale.domain as ScaleData).field) {\n if (\n (scale.domain as ScaleData).data === (prevScale.domain as ScaleData).data &&\n (scale.domain as ScaleData).field !== (prevScale.domain as ScaleData).field\n ) {\n (prevScale.domain as ScaleData).field = []\n .concat((prevScale.domain as ScaleData).field)\n .concat((scale.domain as ScaleData).field);\n } else if ((scale.domain as ScaleData).data !== (prevScale.domain as ScaleData).data) {\n (prevScale.domain as MultiScaleData) = {\n datas: [\n { data: (prevScale.domain as ScaleData).data, field: (prevScale.domain as ScaleData).field },\n { data: (scale.domain as ScaleData).data, field: (scale.domain as ScaleData).field }\n ],\n sort: (prevScale.domain as MultiScaleData).sort\n };\n }\n if (!isNil((scale.domain as ScaleData).sort)) {\n (prevScale.domain as ScaleData).sort = (scale.domain as ScaleData).sort;\n }\n } else if ((prevScale.domain as MultiScaleData).datas) {\n const prevData = (prevScale.domain as MultiScaleData).datas.find(\n entry => entry.data === (scale.domain as ScaleData).data\n );\n\n if (prevData && (scale.domain as ScaleData).field !== prevData.field) {\n prevData.field = [].concat(prevData.field).concat((scale.domain as ScaleData).field);\n } else if (!prevData) {\n (prevScale.domain as MultiScaleData).datas.push({\n data: (scale.domain as ScaleData).data,\n field: (scale.domain as ScaleData).field\n });\n }\n\n if (!isNil((scale.domain as ScaleData).sort)) {\n (prevScale.domain as ScaleData).sort = (scale.domain as ScaleData).sort;\n }\n }\n }\n\n if ((scale as any).userScale) {\n res[prevIndex] = merge(prevScale, (scale as any).userScale);\n }\n } else {\n (scale as any).userScale = null;\n res.push(scale);\n }\n }\n\n return res;\n }, prevScales);\n }\n\n protected parseViewSpec() {\n const spec: ViewSpec = {\n theme: this._theme,\n data: [],\n marks: [],\n scales: [],\n coordinates: [],\n signals: [],\n projections: [],\n events: []\n };\n\n this._semanticMarks.forEach(mark => {\n if (this._coordinate) {\n mark.coordinate(this._coordinate);\n }\n const { data, marks, scales, coordinates, signals, projections, events } = mark.toViewSpec();\n\n if (data && data.length) {\n spec.data = mergeGrammarSpecs(data, spec.data);\n }\n if (marks && marks.length) {\n spec.marks = spec.marks.concat(marks);\n }\n\n if (scales && scales.length) {\n // todo: optimize the following code of combine scales\n spec.scales = this._mergeScales(scales, spec.scales);\n }\n if (coordinates && coordinates.length) {\n spec.coordinates = mergeGrammarSpecs(coordinates, spec.coordinates);\n }\n if (signals && signals.length) {\n spec.signals = spec.signals.concat(signals);\n }\n if (projections && projections.length) {\n spec.projections = spec.projections.concat(projections);\n }\n if (events && events.length) {\n spec.events = spec.events.concat(events);\n }\n });\n\n spec.marks = [\n {\n type: 'group',\n layout: {\n display: 'relative',\n updateViewSignals: true\n },\n dependency: [SIGNAL_VIEW_BOX],\n encode: {\n update: (datum: any, elment: IElement, params: any) => {\n return {\n x: params.viewBox.x1,\n y: params.viewBox.y1,\n width: params.viewBox.width(),\n height: params.viewBox.height()\n };\n }\n },\n marks: spec.marks\n }\n ];\n\n return spec;\n }\n run(morphConfig?: IRunningConfig) {\n if (this.view) {\n if (!this._hasInited) {\n this.view.parseSpec(this.parseViewSpec());\n } else {\n this.view.updateSpec(this.parseViewSpec());\n }\n this._hasInited = true;\n\n this.view.runSync(morphConfig);\n }\n\n return this;\n }\n\n async runAsync(morphConfig?: IRunningConfig) {\n if (this.view) {\n if (!this._hasInited) {\n this.view.parseSpec(this.parseViewSpec());\n } else {\n this.view.updateSpec(this.parseViewSpec());\n }\n this._hasInited = true;\n\n await this.view.runAsync(morphConfig);\n }\n\n return this;\n }\n\n release() {\n if (this.view) {\n this.view.release();\n }\n\n return this;\n }\n\n updateSpec(spec: PlotSpec) {\n this.parseSpec(spec, true);\n return this;\n }\n parseSpec(spec: PlotSpec, isUpdate?: boolean) {\n if (spec.coordinate) {\n this.coordinate(spec.coordinate.type, spec.coordinate);\n }\n\n if (spec?.marks?.length) {\n spec.marks.forEach(mark => {\n const plotMark: PlotMark = Factory.createPlotMark(mark.type);\n plotMark.parseSpec(mark as any);\n\n this._semanticMarks.push(plotMark);\n });\n }\n\n const viewSpec = this.parseViewSpec();\n viewSpec.width = spec.width;\n viewSpec.height = spec.height;\n viewSpec.background = spec.background;\n viewSpec.padding = spec.padding;\n\n if (isUpdate) {\n this.view.updateSpec(viewSpec);\n } else {\n this.view.parseSpec(viewSpec);\n }\n this._hasInited = true;\n\n return this;\n }\n\n getImageBuffer() {\n return this.view?.getImageBuffer?.();\n }\n\n on(type: string, handler: BaseEventHandler) {\n if (this.view) {\n this.view.addEventListener(type, handler);\n }\n return this;\n }\n off(type: string, handler?: BaseEventHandler) {\n if (this.view) {\n this.view.removeEventListener(type, handler);\n }\n return this;\n }\n\n protected getCoordinateId(viewId: string | number = '0') {\n return `coordinate-${viewId}`;\n }\n\n coordinate(type: CoordinateType, spec?: Omit<CoordinateOption, 'type'>) {\n this._coordinate = Object.assign({ type, id: this.getCoordinateId() }, spec);\n\n return this;\n }\n\n interval() {\n const mark = Factory.createPlotMark(PlotMakType.interval);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.interval} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n line() {\n const mark = Factory.createPlotMark(PlotMakType.line);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.line} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n area() {\n const mark = Factory.createPlotMark(PlotMakType.area);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.area} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n cell() {\n const mark = Factory.createPlotMark(PlotMakType.cell);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.cell} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n ruleX() {\n const mark = Factory.createPlotMark(PlotMakType.ruleX);\n\n if (!mark) {\n this._logger.error(`Please register ${this.ruleX} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n ruleY() {\n const mark = Factory.createPlotMark(PlotMakType.ruleY);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.ruleY} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n image() {\n const mark = Factory.createPlotMark(PlotMakType.image);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.image} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n path() {\n const mark = Factory.createPlotMark(PlotMakType.path);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.path} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n polygon() {\n const mark = Factory.createPlotMark(PlotMakType.polygon);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.polygon} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rectX() {\n const mark = Factory.createPlotMark(PlotMakType.rectX);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rectX} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rectY() {\n const mark = Factory.createPlotMark(PlotMakType.rectY);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rectY} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rect() {\n const mark = Factory.createPlotMark(PlotMakType.rect);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rect} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n rule() {\n const mark = Factory.createPlotMark(PlotMakType.rule);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.rule} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n symbol() {\n const mark = Factory.createPlotMark(PlotMakType.symbol);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.symbol} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n text() {\n const mark = Factory.createPlotMark(PlotMakType.text);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.text} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n sankey() {\n const mark = Factory.createPlotMark(PlotMakType.sankey);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.sankey} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n sunburst() {\n const mark = Factory.createPlotMark(PlotMakType.sunburst);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.sunburst} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n tree() {\n const mark = Factory.createPlotMark(PlotMakType.tree);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.tree} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n treemap() {\n const mark = Factory.createPlotMark(PlotMakType.treemap);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.treemap} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n circlePacking() {\n const mark = Factory.createPlotMark(PlotMakType.circlePacking);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.circlePacking} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n wordcloud() {\n const mark = Factory.createPlotMark(PlotMakType.wordcloud);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.wordcloud} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n\n wordcloudShape() {\n const mark = Factory.createPlotMark(PlotMakType.wordcloudShape);\n\n if (!mark) {\n this._logger.error(`Please register ${PlotMakType.wordcloudShape} before use it`);\n } else {\n this._semanticMarks.push(mark);\n }\n\n return mark;\n }\n}\n"]}
|
package/cjs/polygon.js
CHANGED
|
@@ -21,7 +21,7 @@ class PolygonSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
21
21
|
return this.parseScaleOfCommonEncode(channel, option);
|
|
22
22
|
}
|
|
23
23
|
convertMarkEncode(encode) {
|
|
24
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
24
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
25
25
|
const markEncoder = this.convertSimpleMarkEncode(encode), scaleXId = this.getScaleId("x"), scaleYId = this.getScaleId("y"), res = {};
|
|
26
26
|
if ((null === (_b = null === (_a = markEncoder.x) || void 0 === _a ? void 0 : _a.field) || void 0 === _b ? void 0 : _b.length) && (null === (_d = null === (_c = markEncoder.y) || void 0 === _c ? void 0 : _c.field) || void 0 === _d ? void 0 : _d.length)) {
|
|
27
27
|
const xAccessors = markEncoder.x.field.map((f => (0, vgrammar_util_1.field)(f))), yAccessors = markEncoder.y.field.map((f => (0,
|
|
@@ -35,8 +35,8 @@ class PolygonSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
35
35
|
return points;
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
return markEncoder.color || markEncoder.group ? res.fill = null !== (_e = markEncoder.color) && void 0 !== _e ? _e : markEncoder.group : res.fill = null !== (_g = null === (_f = this.spec.style) || void 0 === _f ? void 0 : _f.fill) && void 0 !== _g ? _g : (0,
|
|
39
|
-
|
|
38
|
+
return markEncoder.stroke && (res.stroke = markEncoder.stroke), markEncoder.color || markEncoder.group ? res.fill = null !== (_e = markEncoder.color) && void 0 !== _e ? _e : markEncoder.group : res.fill = null !== (_g = null === (_f = this.spec.style) || void 0 === _f ? void 0 : _f.fill) && void 0 !== _g ? _g : null === (_h = this.getPalette()) || void 0 === _h ? void 0 : _h[0],
|
|
39
|
+
res;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
package/cjs/polygon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/polygon.ts"],"names":[],"mappings":";;;AAWA,mDAA+C;AAC/C,2DAAoE;AACpE,mCAAsC;
|
|
1
|
+
{"version":3,"sources":["../src/polygon.ts"],"names":[],"mappings":"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","file":"polygon.js","sourcesContent":["import type {\n PolygonEncodeChannels,\n WithDefaultEncode,\n PlotPolygonEncoderSpec,\n GenerateBaseEncodeSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n IElement,\n GenerateEncoderSpec\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport { PlotMakType } from './enums';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\n\nexport class PolygonSemanticMark extends SemanticMark<PlotPolygonEncoderSpec, PolygonEncodeChannels> {\n static readonly type = PlotMakType.polygon;\n constructor(id?: string | number) {\n super(PlotMakType.polygon, id);\n }\n\n setMarkType() {\n return GrammarMarkType.polygon;\n }\n\n protected parseScaleOfEncodeX(\n option: ValueOf<WithDefaultEncode<PlotPolygonEncoderSpec, PolygonEncodeChannels>, PolygonEncodeChannels>\n ): ScaleSpec | Nil {\n const res = super.parseScaleOfEncodeX(option);\n\n res.type = 'point';\n return res;\n }\n\n parseScaleByEncode(\n channel: PolygonEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotPolygonEncoderSpec, PolygonEncodeChannels>, PolygonEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotPolygonEncoderSpec, PolygonEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotPolygonEncoderSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n const scaleXId = this.getScaleId('x');\n const scaleYId = this.getScaleId('y');\n const res: GenerateEncoderSpec<PlotPolygonEncoderSpec> = {};\n\n if (markEncoder.x?.field?.length && markEncoder.y?.field?.length) {\n const xAccessors = markEncoder.x.field.map((f: any) => getFieldAccessor(f));\n const yAccessors = markEncoder.y.field.map((f: any) => getFieldAccessor(f));\n\n res.points = (datum: any, el: IElement, params: any) => {\n const scaleX = params[scaleXId];\n const scaleY = params[scaleYId];\n const minLen = Math.min(xAccessors.length, yAccessors.length);\n const points = [];\n\n for (let i = 0; i < minLen; i++) {\n points.push({\n x: scaleX.scale(xAccessors[i](datum)),\n y: scaleY.scale(yAccessors[i](datum))\n });\n }\n\n return points;\n };\n }\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color || markEncoder.group) {\n res.fill = markEncoder.color ?? markEncoder.group;\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rect-x.js
CHANGED
|
@@ -35,7 +35,7 @@ class RectXSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
convertMarkEncode(encode) {
|
|
38
|
-
var _a, _b, _c, _d;
|
|
38
|
+
var _a, _b, _c, _d, _e;
|
|
39
39
|
const markEncoder = this.convertSimpleMarkEncode(encode), scaleXId = this.getScaleId("x"), res = {
|
|
40
40
|
y: (datum, el, params) => 0,
|
|
41
41
|
y1: (datum, el, params) => params.viewBox.height()
|
|
@@ -58,8 +58,8 @@ class RectXSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
58
58
|
return scale.scale(baseValue);
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
return markEncoder.color || markEncoder.group ? res.fill = null !== (_b = markEncoder.color) && void 0 !== _b ? _b : markEncoder.group : res.fill = null !== (_d = null === (_c = this.spec.style) || void 0 === _c ? void 0 : _c.fill) && void 0 !== _d ? _d : (0,
|
|
62
|
-
|
|
61
|
+
return markEncoder.stroke && (res.stroke = markEncoder.stroke), markEncoder.color || markEncoder.group ? res.fill = null !== (_b = markEncoder.color) && void 0 !== _b ? _b : markEncoder.group : res.fill = null !== (_d = null === (_c = this.spec.style) || void 0 === _c ? void 0 : _c.fill) && void 0 !== _d ? _d : null === (_e = this.getPalette()) || void 0 === _e ? void 0 : _e[0],
|
|
62
|
+
res;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
package/cjs/rect-x.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rect-x.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAapE,mDAA+C;AAC/C,6CAA2C;AAC3C,mCAAsC;
|
|
1
|
+
{"version":3,"sources":["../src/rect-x.ts"],"names":[],"mappings":"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","file":"rect-x.js","sourcesContent":["import { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type {\n RectXEncodeChannels,\n PlotRectXEncoderSpec,\n SemanticTooltipOption,\n WithDefaultEncode,\n GenerateBaseEncodeSpec,\n CrosshairSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n IElement\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\nimport { isArray } from '@visactor/vutils';\nimport { PlotMakType } from './enums';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\n\nexport class RectXSemanticMark extends SemanticMark<PlotRectXEncoderSpec, RectXEncodeChannels> {\n static readonly type = PlotMakType.rectX;\n constructor(id?: string | number) {\n super(PlotMakType.rectX, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rect;\n }\n\n parseScaleByEncode(\n channel: RectXEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotRectXEncoderSpec, RectXEncodeChannels>, RectXEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n setDefaultCrosshair(): Record<string, Pick<CrosshairSpec, 'crosshairShape' | 'crosshairType'>> {\n return {\n x: { crosshairShape: 'rect' }\n };\n }\n\n setDefaultTooltip(): SemanticTooltipOption | Nil {\n const encodeX = this.spec.encode?.x;\n return {\n content: isArray(encodeX)\n ? encodeX.map(entry => {\n return {\n value: entry\n };\n })\n : [\n {\n value: encodeX\n }\n ]\n };\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotRectXEncoderSpec, RectXEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotRectXEncoderSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n const scaleXId = this.getScaleId('x');\n const res: GenerateBaseEncodeSpec<PlotRectXEncoderSpec> = {\n y: (datum: any, el: IElement, params: any) => {\n return 0;\n },\n y1: (datum: any, el: IElement, params: any) => {\n return params.viewBox.height();\n }\n };\n\n if (isArray(markEncoder.x?.field)) {\n res.x = { field: markEncoder.x.field[0], scale: markEncoder.x.scale };\n res.x1 = { field: markEncoder.x.field[1], scale: markEncoder.x.scale };\n } else {\n const xAccessor = getFieldAccessor(markEncoder.x.field);\n res.x = (datum: any, el: IElement, params: any) => {\n const xVals = xAccessor(datum);\n const scale = params[scaleXId];\n\n return isArray(xVals) ? scale.scale(xVals[0]) : scale.scale(xVals);\n };\n res.x1 = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleXId];\n const xVals = xAccessor(datum);\n\n if (isArray(xVals) && xVals.length > 1) {\n return scale.scale(xVals[1]);\n }\n const domain = scale.domain();\n const min = Math.min.apply(null, domain);\n const max = Math.max.apply(null, domain);\n const baseValue = min > 0 ? min : max < 0 ? max : 0;\n\n return scale.scale(baseValue);\n };\n }\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n if (markEncoder.color || markEncoder.group) {\n res.fill = markEncoder.color ?? markEncoder.group;\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rect-y.js
CHANGED
|
@@ -35,7 +35,7 @@ class RectYSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
convertMarkEncode(encode) {
|
|
38
|
-
var _a, _b, _c, _d;
|
|
38
|
+
var _a, _b, _c, _d, _e;
|
|
39
39
|
const markEncoder = this.convertSimpleMarkEncode(encode), scaleYId = this.getScaleId("y"), res = {
|
|
40
40
|
x: (datum, el, params) => 0,
|
|
41
41
|
x1: (datum, el, params) => params.viewBox.width()
|
|
@@ -58,8 +58,8 @@ class RectYSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
58
58
|
return scale.scale(baseValue);
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
return markEncoder.color || markEncoder.group ? res.fill = null !== (_b = markEncoder.color) && void 0 !== _b ? _b : markEncoder.group : res.fill = null !== (_d = null === (_c = this.spec.style) || void 0 === _c ? void 0 : _c.fill) && void 0 !== _d ? _d : (0,
|
|
62
|
-
|
|
61
|
+
return markEncoder.stroke && (res.stroke = markEncoder.stroke), markEncoder.color || markEncoder.group ? res.fill = null !== (_b = markEncoder.color) && void 0 !== _b ? _b : markEncoder.group : res.fill = null !== (_d = null === (_c = this.spec.style) || void 0 === _c ? void 0 : _c.fill) && void 0 !== _d ? _d : null === (_e = this.getPalette()) || void 0 === _e ? void 0 : _e[0],
|
|
62
|
+
res;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
package/cjs/rect-y.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rect-y.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAapE,mDAA+C;AAC/C,6CAA2C;
|
|
1
|
+
{"version":3,"sources":["../src/rect-y.ts"],"names":[],"mappings":"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","file":"rect-y.js","sourcesContent":["import { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type {\n RectYEncodeChannels,\n PlotRectYEncoderSpec,\n SemanticTooltipOption,\n WithDefaultEncode,\n GenerateBaseEncodeSpec,\n CrosshairSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n IElement\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\nimport { isArray } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\nimport { PlotMakType } from './enums';\n\nexport class RectYSemanticMark extends SemanticMark<PlotRectYEncoderSpec, RectYEncodeChannels> {\n static readonly type = PlotMakType.rectY;\n constructor(id?: string | number) {\n super(PlotMakType.rectY, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rect;\n }\n\n parseScaleByEncode(\n channel: RectYEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotRectYEncoderSpec, RectYEncodeChannels>, RectYEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n setDefaultCrosshair(): Record<string, Pick<CrosshairSpec, 'crosshairShape' | 'crosshairType'>> {\n return {\n x: { crosshairShape: 'rect' }\n };\n }\n\n setDefaultTooltip(): SemanticTooltipOption | Nil {\n const encodeY = this.spec.encode?.y;\n return {\n content: isArray(encodeY)\n ? encodeY.map(entry => {\n return {\n value: entry\n };\n })\n : [\n {\n value: encodeY\n }\n ]\n };\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotRectYEncoderSpec, RectYEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotRectYEncoderSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n const scaleYId = this.getScaleId('y');\n const res: GenerateBaseEncodeSpec<PlotRectYEncoderSpec> = {\n x: (datum: any, el: IElement, params: any) => {\n return 0;\n },\n x1: (datum: any, el: IElement, params: any) => {\n return params.viewBox.width();\n }\n };\n\n if (isArray(markEncoder.y?.field)) {\n res.y = { field: markEncoder.y.field[0], scale: markEncoder.y.scale };\n res.y1 = { field: markEncoder.y.field[1], scale: markEncoder.y.scale };\n } else {\n const yAccessor = getFieldAccessor(markEncoder.y.field);\n res.y = (datum: any, el: IElement, params: any) => {\n const yVals = yAccessor(datum);\n const scale = params[scaleYId];\n\n return isArray(yVals) ? scale.scale(yVals[0]) : scale.scale(yVals);\n };\n res.y1 = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleYId];\n const yVals = yAccessor(datum);\n\n if (isArray(yVals) && yVals.length > 1) {\n return scale.scale(yVals[1]);\n }\n const domain = scale.domain();\n const min = Math.min.apply(null, domain);\n const max = Math.max.apply(null, domain);\n const baseValue = min > 0 ? min : max < 0 ? max : 0;\n\n return scale.scale(baseValue);\n };\n }\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color || markEncoder.group) {\n res.fill = markEncoder.color ?? markEncoder.group;\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rect.js
CHANGED
|
@@ -35,7 +35,7 @@ class RectSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
convertMarkEncode(encode) {
|
|
38
|
-
var _a, _b, _c, _d, _e;
|
|
38
|
+
var _a, _b, _c, _d, _e, _f;
|
|
39
39
|
const markEncoder = this.convertSimpleMarkEncode(encode), scaleXId = this.getScaleId("x"), scaleYId = this.getScaleId("y"), res = {};
|
|
40
40
|
if ((0, vutils_1.isArray)(null === (_a = markEncoder.x) || void 0 === _a ? void 0 : _a.field)) res.x = {
|
|
41
41
|
field: markEncoder.x.field[0],
|
|
@@ -73,8 +73,8 @@ class RectSemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
73
73
|
return scale.scale(baseValue);
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
-
return markEncoder.color || markEncoder.group ? res.fill = null !== (_c = markEncoder.color) && void 0 !== _c ? _c : markEncoder.group : res.fill = null !== (_e = null === (_d = this.spec.style) || void 0 === _d ? void 0 : _d.fill) && void 0 !== _e ? _e : (0,
|
|
77
|
-
|
|
76
|
+
return markEncoder.stroke && (res.stroke = markEncoder.stroke), markEncoder.color || markEncoder.group ? res.fill = null !== (_c = markEncoder.color) && void 0 !== _c ? _c : markEncoder.group : res.fill = null !== (_e = null === (_d = this.spec.style) || void 0 === _d ? void 0 : _d.fill) && void 0 !== _e ? _e : null === (_f = this.getPalette()) || void 0 === _f ? void 0 : _f[0],
|
|
77
|
+
res;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
package/cjs/rect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rect.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAapE,mDAA+C;
|
|
1
|
+
{"version":3,"sources":["../src/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type {\n RectEncodeChannels,\n PlotRectEncoderSpec,\n SemanticTooltipOption,\n WithDefaultEncode,\n GenerateBaseEncodeSpec,\n CrosshairSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n IElement\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\nimport { isArray } from '@visactor/vutils';\nimport { PlotMakType } from './enums';\n\nexport class RectSemanticMark extends SemanticMark<PlotRectEncoderSpec, RectEncodeChannels> {\n static readonly type = PlotMakType.rect;\n constructor(id?: string | number) {\n super(PlotMakType.rect, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rect;\n }\n\n parseScaleByEncode(\n channel: RectEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotRectEncoderSpec, RectEncodeChannels>, RectEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n setDefaultCrosshair(): Record<string, Pick<CrosshairSpec, 'crosshairShape' | 'crosshairType'>> {\n return {\n x: { crosshairShape: 'rect' }\n };\n }\n\n setDefaultTooltip(): SemanticTooltipOption | Nil {\n const encodeY = this.spec.encode?.y;\n return {\n content: isArray(encodeY)\n ? encodeY.map(entry => {\n return {\n value: entry\n };\n })\n : [\n {\n value: encodeY\n }\n ]\n };\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotRectEncoderSpec, RectEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotRectEncoderSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n const scaleXId = this.getScaleId('x');\n const scaleYId = this.getScaleId('y');\n const res: GenerateBaseEncodeSpec<PlotRectEncoderSpec> = {};\n\n if (isArray(markEncoder.x?.field)) {\n res.x = { field: markEncoder.x.field[0], scale: markEncoder.x.scale };\n res.x1 = { field: markEncoder.x.field[1], scale: markEncoder.x.scale };\n } else {\n const xAccessor = getFieldAccessor(markEncoder.x.field);\n res.x = (datum: any, el: IElement, params: any) => {\n const xVals = xAccessor(datum);\n const scale = params[scaleXId];\n\n return isArray(xVals) ? scale.scale(xVals[0]) : scale.scale(xVals);\n };\n res.x1 = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleXId];\n const xVals = xAccessor(datum);\n\n if (isArray(xVals) && xVals.length > 1) {\n return scale.scale(xVals[1]);\n }\n const domain = scale.domain();\n const min = Math.min.apply(null, domain);\n const max = Math.max.apply(null, domain);\n const baseValue = min > 0 ? min : max < 0 ? max : 0;\n\n return scale.scale(baseValue);\n };\n }\n\n if (isArray(markEncoder.y?.field)) {\n res.y = { field: markEncoder.y.field[0], scale: markEncoder.y.scale };\n res.y1 = { field: markEncoder.y.field[1], scale: markEncoder.y.scale };\n } else {\n const yAccessor = getFieldAccessor(markEncoder.y.field);\n res.y = (datum: any, el: IElement, params: any) => {\n const yVals = yAccessor(datum);\n const scale = params[scaleYId];\n\n return isArray(yVals) ? scale.scale(yVals[0]) : scale.scale(yVals);\n };\n res.y1 = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleYId];\n const yVals = yAccessor(datum);\n\n if (isArray(yVals) && yVals.length > 1) {\n return scale.scale(yVals[1]);\n }\n const domain = scale.domain();\n const min = Math.min.apply(null, domain);\n const max = Math.max.apply(null, domain);\n const baseValue = min > 0 ? min : max < 0 ? max : 0;\n\n return scale.scale(baseValue);\n };\n }\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color || markEncoder.group) {\n res.fill = markEncoder.color ?? markEncoder.group;\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rule-x.js
CHANGED
|
@@ -21,15 +21,15 @@ class RuleX extends semantic_mark_1.SemanticMark {
|
|
|
21
21
|
return this.parseScaleOfCommonEncode(channel, option);
|
|
22
22
|
}
|
|
23
23
|
convertMarkEncode(encode) {
|
|
24
|
-
var _a, _b, _c;
|
|
24
|
+
var _a, _b, _c, _d;
|
|
25
25
|
const markEncoder = this.convertSimpleMarkEncode(encode), res = {
|
|
26
26
|
x: markEncoder.x,
|
|
27
27
|
x1: markEncoder.x,
|
|
28
28
|
y: (datum, el, params) => 0,
|
|
29
29
|
y1: (datum, el, params) => params.viewBox.height()
|
|
30
30
|
};
|
|
31
|
-
return markEncoder.color || markEncoder.group ? res.stroke = null !== (_a = markEncoder.color) && void 0 !== _a ? _a : markEncoder.group : res.stroke = null !== (_c = null === (_b = this.spec.style) || void 0 === _b ? void 0 : _b.stroke) && void 0 !== _c ? _c : (0,
|
|
32
|
-
|
|
31
|
+
return markEncoder.color || markEncoder.group ? res.stroke = null !== (_a = markEncoder.color) && void 0 !== _a ? _a : markEncoder.group : res.stroke = null !== (_c = null === (_b = this.spec.style) || void 0 === _b ? void 0 : _b.stroke) && void 0 !== _c ? _c : null === (_d = this.getPalette()) || void 0 === _d ? void 0 : _d[0],
|
|
32
|
+
res;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
package/cjs/rule-x.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rule-x.ts"],"names":[],"mappings":";;;AAWA,mDAA+C;
|
|
1
|
+
{"version":3,"sources":["../src/rule-x.ts"],"names":[],"mappings":";;;AAWA,mDAA+C;AAE/C,iDAAqD;AACrD,mCAAsC;AAEtC,MAAa,KAAM,SAAQ,4BAA8D;IAEvF,YAAY,EAAoB;QAC9B,KAAK,CAAC,mBAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,0BAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAES,mBAAmB,CAC3B,MAAyG;QAEzG,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE9C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAChB,OAA4B,EAC5B,MAAyG;QAEzG,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CACf,MAA2E;;QAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,WAAW,CAAC,CAAC;YAChB,EAAE,EAAE,WAAW,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;gBAC3C,OAAO,CAAC,CAAC;YACX,CAAC;YACD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;gBAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;SACkD,CAAC;QAEtD,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;YAC1C,GAAG,CAAC,MAAM,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,KAAK,CAAC;SACrD;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAG,CAAC,CAAC,CAAC;SAChE;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAjDH,sBAkDC;AAjDiB,UAAI,GAAG,mBAAW,CAAC,KAAK,CAAC","file":"rule-x.js","sourcesContent":["import type {\n RuleXEncodeChannels,\n WithDefaultEncode,\n BasicEncoderSpecMap,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n IElement,\n Nil,\n ScaleSpec,\n ValueOf\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\nimport { PlotMakType } from './enums';\n\nexport class RuleX extends SemanticMark<BasicEncoderSpecMap['rule'], RuleXEncodeChannels> {\n static readonly type = PlotMakType.ruleX;\n constructor(id?: string | number) {\n super(PlotMakType.ruleX, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rule;\n }\n\n protected parseScaleOfEncodeX(\n option: ValueOf<WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleXEncodeChannels>, RuleXEncodeChannels>\n ): ScaleSpec | Nil {\n const res = super.parseScaleOfEncodeX(option);\n\n res.type = 'point';\n return res;\n }\n\n parseScaleByEncode(\n channel: RuleXEncodeChannels,\n option: ValueOf<WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleXEncodeChannels>, RuleXEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleXEncodeChannels>\n ): GenerateBaseEncodeSpec<BasicEncoderSpecMap['rule']> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res = {\n x: markEncoder.x,\n x1: markEncoder.x,\n y: (datum: any, el: IElement, params: any) => {\n return 0;\n },\n y1: (datum: any, el: IElement, params: any) => {\n return params.viewBox.height();\n }\n } as GenerateEncoderSpec<BasicEncoderSpecMap['rule']>;\n\n if (markEncoder.color || markEncoder.group) {\n res.stroke = markEncoder.color ?? markEncoder.group;\n } else {\n res.stroke = this.spec.style?.stroke ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rule-y.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { SemanticMark } from './semantic-mark';
|
|
|
3
3
|
import { GrammarMarkType } from '@visactor/vgrammar';
|
|
4
4
|
import { PlotMakType } from './enums';
|
|
5
5
|
export declare class RuleY extends SemanticMark<BasicEncoderSpecMap['rule'], RuleYEncodeChannels> {
|
|
6
|
-
static readonly type = PlotMakType.
|
|
6
|
+
static readonly type = PlotMakType.ruleY;
|
|
7
7
|
constructor(id?: string | number);
|
|
8
8
|
setMarkType(): GrammarMarkType;
|
|
9
9
|
protected parseScaleOfEncodeX(option: ValueOf<WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleYEncodeChannels>, RuleYEncodeChannels>): ScaleSpec | Nil;
|
package/cjs/rule-y.js
CHANGED
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.RuleY = void 0;
|
|
6
6
|
|
|
7
|
-
const semantic_mark_1 = require("./semantic-mark"), vgrammar_1 = require("@visactor/vgrammar"), enums_1 = require("./enums");
|
|
7
|
+
const semantic_mark_1 = require("./semantic-mark"), vgrammar_1 = require("@visactor/vgrammar"), enums_1 = require("./enums"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
class RuleY extends semantic_mark_1.SemanticMark {
|
|
10
10
|
constructor(id) {
|
|
11
|
-
super(enums_1.PlotMakType.
|
|
11
|
+
super(enums_1.PlotMakType.ruleY, id);
|
|
12
12
|
}
|
|
13
13
|
setMarkType() {
|
|
14
14
|
return vgrammar_1.GrammarMarkType.rule;
|
|
@@ -21,16 +21,22 @@ class RuleY extends semantic_mark_1.SemanticMark {
|
|
|
21
21
|
return this.parseScaleOfCommonEncode(channel, option);
|
|
22
22
|
}
|
|
23
23
|
convertMarkEncode(encode) {
|
|
24
|
-
var _a, _b, _c;
|
|
24
|
+
var _a, _b, _c, _d, _e, _f;
|
|
25
25
|
const markEncoder = this.convertSimpleMarkEncode(encode), res = {
|
|
26
26
|
y: markEncoder.y,
|
|
27
27
|
y1: markEncoder.y,
|
|
28
|
-
x: (
|
|
29
|
-
|
|
28
|
+
x: (0, vutils_1.isArray)(null === (_a = markEncoder.x) || void 0 === _a ? void 0 : _a.field) ? {
|
|
29
|
+
field: markEncoder.x.field[0],
|
|
30
|
+
scale: markEncoder.x.scale
|
|
31
|
+
} : (datum, el, params) => 0,
|
|
32
|
+
x1: (0, vutils_1.isArray)(null === (_b = markEncoder.x) || void 0 === _b ? void 0 : _b.field) ? {
|
|
33
|
+
field: markEncoder.x.field[1],
|
|
34
|
+
scale: markEncoder.x.scale
|
|
35
|
+
} : (datum, el, params) => params.viewBox.width()
|
|
30
36
|
};
|
|
31
|
-
return markEncoder.color || markEncoder.group ? res.stroke = null !== (
|
|
32
|
-
|
|
37
|
+
return markEncoder.color || markEncoder.group ? res.stroke = null !== (_c = markEncoder.color) && void 0 !== _c ? _c : markEncoder.group : res.stroke = null !== (_e = null === (_d = this.spec.style) || void 0 === _d ? void 0 : _d.stroke) && void 0 !== _e ? _e : null === (_f = this.getPalette()) || void 0 === _f ? void 0 : _f[0],
|
|
38
|
+
res;
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
exports.RuleY = RuleY, RuleY.type = enums_1.PlotMakType.
|
|
42
|
+
exports.RuleY = RuleY, RuleY.type = enums_1.PlotMakType.ruleY;
|
package/cjs/rule-y.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rule-y.ts"],"names":[],"mappings":";;;AAWA,mDAA+C;
|
|
1
|
+
{"version":3,"sources":["../src/rule-y.ts"],"names":[],"mappings":";;;AAWA,mDAA+C;AAE/C,iDAAqD;AACrD,mCAAsC;AACtC,6CAA2C;AAE3C,MAAa,KAAM,SAAQ,4BAA8D;IAEvF,YAAY,EAAoB;QAC9B,KAAK,CAAC,mBAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,0BAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAES,mBAAmB,CAC3B,MAAyG;QAEzG,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE9C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAChB,OAA4B,EAC5B,MAAyG;QAEzG,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CACf,MAA2E;;QAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,WAAW,CAAC,CAAC;YAChB,EAAE,EAAE,WAAW,CAAC,CAAC;YACjB,CAAC,EAAE,IAAA,gBAAO,EAAC,MAAA,WAAW,CAAC,CAAC,0CAAE,KAAK,CAAC;gBAC9B,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC/D,CAAC,CAAC,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;oBACxC,OAAO,CAAC,CAAC;gBACX,CAAC;YACL,EAAE,EAAE,IAAA,gBAAO,EAAC,MAAA,WAAW,CAAC,CAAC,0CAAE,KAAK,CAAC;gBAC/B,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC/D,CAAC,CAAC,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;oBACxC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;SAC8C,CAAC;QAEtD,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;YAC1C,GAAG,CAAC,MAAM,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,KAAK,CAAC;SACrD;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAG,CAAC,CAAC,CAAC;SAChE;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AArDH,sBAsDC;AArDiB,UAAI,GAAG,mBAAW,CAAC,KAAK,CAAC","file":"rule-y.js","sourcesContent":["import type {\n RuleYEncodeChannels,\n WithDefaultEncode,\n BasicEncoderSpecMap,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n IElement,\n Nil,\n ScaleSpec,\n ValueOf\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\nimport { PlotMakType } from './enums';\nimport { isArray } from '@visactor/vutils';\n\nexport class RuleY extends SemanticMark<BasicEncoderSpecMap['rule'], RuleYEncodeChannels> {\n static readonly type = PlotMakType.ruleY;\n constructor(id?: string | number) {\n super(PlotMakType.ruleY, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rule;\n }\n\n protected parseScaleOfEncodeX(\n option: ValueOf<WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleYEncodeChannels>, RuleYEncodeChannels>\n ): ScaleSpec | Nil {\n const res = super.parseScaleOfEncodeX(option);\n\n res.type = 'point';\n return res;\n }\n\n parseScaleByEncode(\n channel: RuleYEncodeChannels,\n option: ValueOf<WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleYEncodeChannels>, RuleYEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<BasicEncoderSpecMap['rule'], RuleYEncodeChannels>\n ): GenerateBaseEncodeSpec<BasicEncoderSpecMap['rule']> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res = {\n y: markEncoder.y,\n y1: markEncoder.y,\n x: isArray(markEncoder.x?.field)\n ? { field: markEncoder.x.field[0], scale: markEncoder.x.scale }\n : (datum: any, el: IElement, params: any) => {\n return 0;\n },\n x1: isArray(markEncoder.x?.field)\n ? { field: markEncoder.x.field[1], scale: markEncoder.x.scale }\n : (datum: any, el: IElement, params: any) => {\n return params.viewBox.width();\n }\n } as GenerateEncoderSpec<BasicEncoderSpecMap['rule']>;\n\n if (markEncoder.color || markEncoder.group) {\n res.stroke = markEncoder.color ?? markEncoder.group;\n } else {\n res.stroke = this.spec.style?.stroke ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/rule.js
CHANGED
|
@@ -21,7 +21,7 @@ class Rule extends semantic_mark_1.SemanticMark {
|
|
|
21
21
|
return this.parseScaleOfCommonEncode(channel, option);
|
|
22
22
|
}
|
|
23
23
|
convertMarkEncode(encode) {
|
|
24
|
-
var _a, _b, _c, _d, _e;
|
|
24
|
+
var _a, _b, _c, _d, _e, _f;
|
|
25
25
|
const markEncoder = this.convertSimpleMarkEncode(encode);
|
|
26
26
|
let res;
|
|
27
27
|
return (0, vutils_1.isArray)(null === (_a = markEncoder.x) || void 0 === _a ? void 0 : _a.field) ? (res.x = {
|
|
@@ -36,8 +36,8 @@ class Rule extends semantic_mark_1.SemanticMark {
|
|
|
36
36
|
}, res.y1 = {
|
|
37
37
|
field: markEncoder.y.field[1],
|
|
38
38
|
scale: markEncoder.y.scale
|
|
39
|
-
}) : res.y = res.y1 = markEncoder.y, markEncoder.color || markEncoder.group ? res.stroke = null !== (_c = markEncoder.color) && void 0 !== _c ? _c : markEncoder.group : res.stroke = null !== (_e = null === (_d = this.spec.style) || void 0 === _d ? void 0 : _d.stroke) && void 0 !== _e ? _e : (0,
|
|
40
|
-
|
|
39
|
+
}) : res.y = res.y1 = markEncoder.y, markEncoder.color || markEncoder.group ? res.stroke = null !== (_c = markEncoder.color) && void 0 !== _c ? _c : markEncoder.group : res.stroke = null !== (_e = null === (_d = this.spec.style) || void 0 === _d ? void 0 : _d.stroke) && void 0 !== _e ? _e : null === (_f = this.getPalette()) || void 0 === _f ? void 0 : _f[0],
|
|
40
|
+
res;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
package/cjs/rule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rule.ts"],"names":[],"mappings":";;;AAUA,mDAA+C;
|
|
1
|
+
{"version":3,"sources":["../src/rule.ts"],"names":[],"mappings":";;;AAUA,mDAA+C;AAE/C,iDAAqD;AACrD,6CAA2C;AAC3C,mCAAsC;AAEtC,MAAa,IAAK,SAAQ,4BAAqD;IAE7E,YAAY,EAAoB;QAC9B,KAAK,CAAC,mBAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,0BAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAES,mBAAmB,CAC3B,MAA+F;QAE/F,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE9C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAChB,OAA2B,EAC3B,MAA+F;QAE/F,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CACf,MAAkE;;QAElE,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,GAA6C,CAAC;QAElD,IAAI,IAAA,gBAAO,EAAC,MAAA,WAAW,CAAC,CAAC,0CAAE,KAAK,CAAC,EAAE;YACjC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACtE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SACxE;aAAM;YACL,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,IAAA,gBAAO,EAAC,MAAA,WAAW,CAAC,CAAC,0CAAE,KAAK,CAAC,EAAE;YACjC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACtE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SACxE;aAAM;YACL,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;YAC1C,GAAG,CAAC,MAAM,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,KAAK,CAAC;SACrD;aAAM;YACL,GAAG,CAAC,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAG,CAAC,CAAC,CAAC;SAChE;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAtDH,oBAuDC;AAtDiB,SAAI,GAAG,mBAAW,CAAC,IAAI,CAAC","file":"rule.js","sourcesContent":["import type {\n RuleEncodeChannels,\n WithDefaultEncode,\n PlotRuleEncoderSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf\n} from '@visactor/vgrammar';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType } from '@visactor/vgrammar';\nimport { isArray } from '@visactor/vutils';\nimport { PlotMakType } from './enums';\n\nexport class Rule extends SemanticMark<PlotRuleEncoderSpec, RuleEncodeChannels> {\n static readonly type = PlotMakType.rule;\n constructor(id?: string | number) {\n super(PlotMakType.rule, id);\n }\n\n setMarkType() {\n return GrammarMarkType.rule;\n }\n\n protected parseScaleOfEncodeX(\n option: ValueOf<WithDefaultEncode<PlotRuleEncoderSpec, RuleEncodeChannels>, RuleEncodeChannels>\n ): ScaleSpec | Nil {\n const res = super.parseScaleOfEncodeX(option);\n\n res.type = 'point';\n return res;\n }\n\n parseScaleByEncode(\n channel: RuleEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotRuleEncoderSpec, RuleEncodeChannels>, RuleEncodeChannels>\n ): ScaleSpec | Nil {\n return this.parseScaleOfCommonEncode(channel, option);\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotRuleEncoderSpec, RuleEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotRuleEncoderSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n let res: GenerateEncoderSpec<PlotRuleEncoderSpec>;\n\n if (isArray(markEncoder.x?.field)) {\n res.x = { field: markEncoder.x.field[0], scale: markEncoder.x.scale };\n res.x1 = { field: markEncoder.x.field[1], scale: markEncoder.x.scale };\n } else {\n res.x = res.x1 = markEncoder.x;\n }\n\n if (isArray(markEncoder.y?.field)) {\n res.y = { field: markEncoder.y.field[0], scale: markEncoder.y.scale };\n res.y1 = { field: markEncoder.y.field[1], scale: markEncoder.y.scale };\n } else {\n res.y = res.y1 = markEncoder.y;\n }\n\n if (markEncoder.color || markEncoder.group) {\n res.stroke = markEncoder.color ?? markEncoder.group;\n } else {\n res.stroke = this.spec.style?.stroke ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n}\n"]}
|
package/cjs/sankey.js
CHANGED
|
@@ -57,11 +57,11 @@ class SankeySemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
57
57
|
data: this.getDataIdOfFiltered(),
|
|
58
58
|
field: option
|
|
59
59
|
},
|
|
60
|
-
range:
|
|
60
|
+
range: this.getPalette()
|
|
61
61
|
} : null;
|
|
62
62
|
}
|
|
63
63
|
convertMarkEncode(encode) {
|
|
64
|
-
var _a, _b, _c;
|
|
64
|
+
var _a, _b, _c, _d;
|
|
65
65
|
const markEncoder = this.convertSimpleMarkEncode(encode), res = {
|
|
66
66
|
x: {
|
|
67
67
|
field: "x0"
|
|
@@ -76,11 +76,10 @@ class SankeySemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
76
76
|
field: "y1"
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
|
-
if (markEncoder.color) {
|
|
79
|
+
if (markEncoder.stroke && (res.stroke = markEncoder.stroke), markEncoder.color) {
|
|
80
80
|
const scaleColorId = this.getScaleId("color"), colorAccessor = (0, vgrammar_util_1.field)(markEncoder.color.field);
|
|
81
81
|
res.fill = (datum, el, params) => params[scaleColorId].scale(colorAccessor(null == datum ? void 0 : datum.datum));
|
|
82
|
-
} else res.fill = null !== (_c = null === (_b = null === (_a = this.spec.style) || void 0 === _a ? void 0 : _a.nodeStyle) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : (0
|
|
83
|
-
vgrammar_1.getPalette)()[0];
|
|
82
|
+
} else res.fill = null !== (_c = null === (_b = null === (_a = this.spec.style) || void 0 === _a ? void 0 : _a.nodeStyle) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this.getPalette()) || void 0 === _d ? void 0 : _d[0];
|
|
84
83
|
return res;
|
|
85
84
|
}
|
|
86
85
|
setMainMarkSpec() {
|
|
@@ -118,7 +117,7 @@ class SankeySemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
118
117
|
round: !0
|
|
119
118
|
}, null === (_a = this.spec.style) || void 0 === _a ? void 0 : _a.linkStyle),
|
|
120
119
|
update: (datum, el, params) => {
|
|
121
|
-
var _a, _b, _c;
|
|
120
|
+
var _a, _b, _c, _d;
|
|
122
121
|
return {
|
|
123
122
|
direction: datum.vertical ? "vertical" : "horizontal",
|
|
124
123
|
x0: datum.x0,
|
|
@@ -126,8 +125,7 @@ class SankeySemanticMark extends semantic_mark_1.SemanticMark {
|
|
|
126
125
|
y0: datum.y0,
|
|
127
126
|
y1: datum.y1,
|
|
128
127
|
thickness: datum.thickness,
|
|
129
|
-
fill: null !== (_c = null === (_b = null === (_a = this.spec.style) || void 0 === _a ? void 0 : _a.linkStyle) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : (0
|
|
130
|
-
vgrammar_1.getPalette)()[0]
|
|
128
|
+
fill: null !== (_c = null === (_b = null === (_a = this.spec.style) || void 0 === _a ? void 0 : _a.linkStyle) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this.getPalette()) || void 0 === _d ? void 0 : _d[0]
|
|
131
129
|
};
|
|
132
130
|
}
|
|
133
131
|
})
|