@visactor/vseed 0.5.4 → 0.5.5

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.
@@ -4,6 +4,10 @@ import { isSubset } from "./utils.js";
4
4
  import { flatReshapeMeasures } from "../../../../utils/index.js";
5
5
  import { pickWithout } from "@visactor/vutils";
6
6
  import { generateAnnotationPointPipe } from "./annotationPointCommon.js";
7
+ const getSeriesMeasureIds = (context, seriesIndex)=>{
8
+ const foldInfo = context.advancedVSeed.datasetReshapeInfo?.[0]?.foldInfoList?.[seriesIndex];
9
+ return Object.keys(foldInfo?.foldMap ?? {});
10
+ };
7
11
  const annotationPointOfDualAxis = generateAnnotationPointPipe({
8
12
  findSelectedDatas: (options)=>{
9
13
  const { dataset, selector: s, measureId, dynamicFilter, context } = options;
@@ -19,10 +23,15 @@ const annotationPointOfDualAxis = generateAnnotationPointPipe({
19
23
  generateMarkPoint: (datum, spec, context)=>{
20
24
  const { advancedVSeed } = context;
21
25
  const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m)=>m.id);
22
- return spec.series?.map((s, index)=>({
26
+ const selectedMeasureId = datum[MeasureId];
27
+ return spec.series?.flatMap((_series, index)=>{
28
+ const seriesMeasureIds = getSeriesMeasureIds(context, index);
29
+ if (selectedMeasureId && seriesMeasureIds.length && !seriesMeasureIds.includes(String(selectedMeasureId))) return [];
30
+ return {
23
31
  relativeSeriesIndex: index,
24
32
  coordinate: (data)=>data.find((item)=>isSubset(datum, item, allMeasureIds.filter((id)=>id !== item[MeasureId])))
25
- }));
33
+ };
34
+ });
26
35
  }
27
36
  });
28
37
  export { annotationPointOfDualAxis };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.ts"],"sourcesContent":["import type { IMarkPointSpec, ISpec } from '@visactor/vchart'\nimport { selector, selectorWithDynamicFilter } from '../../../../../dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\nimport type { Datum, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { flatReshapeMeasures } from 'src/pipeline/utils'\nimport { pickWithout } from '@visactor/vutils'\nimport { generateAnnotationPointPipe } from './annotationPointCommon'\n\nexport const annotationPointOfDualAxis: VChartSpecPipe = generateAnnotationPointPipe({\n findSelectedDatas: (options) => {\n const { dataset, selector: s, measureId, dynamicFilter, context } = options\n return dataset.reduce((res: Datum[], d: Datum) => {\n const { advancedVSeed } = context\n const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m) => m.id)\n const pickedDatum = pickWithout(\n d,\n allMeasureIds.filter((id) => id !== d[MeasureId]),\n )\n\n const shouldSelect = dynamicFilter\n ? selectorWithDynamicFilter(pickedDatum, dynamicFilter, s)\n : selector(pickedDatum, s)\n\n if (shouldSelect && (!measureId || pickedDatum[MeasureId] === measureId)) {\n res.push(pickedDatum)\n }\n\n return res\n }, [])\n },\n generateMarkPoint: (datum: Datum, spec: ISpec, context: SpecPipelineContext) => {\n const { advancedVSeed } = context\n const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m) => m.id)\n return spec.series?.map((s: any, index: number) => {\n return {\n relativeSeriesIndex: index,\n coordinate: (data: Datum[]) => {\n return data.find((item) => {\n return isSubset(\n datum,\n item,\n allMeasureIds.filter((id) => id !== item[MeasureId]),\n )\n })\n },\n } as IMarkPointSpec\n })\n },\n})\n"],"names":["annotationPointOfDualAxis","generateAnnotationPointPipe","options","dataset","s","measureId","dynamicFilter","context","res","d","advancedVSeed","allMeasureIds","flatReshapeMeasures","m","pickedDatum","pickWithout","id","MeasureId","shouldSelect","selectorWithDynamicFilter","selector","datum","spec","index","data","item","isSubset"],"mappings":";;;;;;AASO,MAAMA,4BAA4CC,4BAA4B;IACnF,mBAAmB,CAACC;QAClB,MAAM,EAAEC,OAAO,EAAE,UAAUC,CAAC,EAAEC,SAAS,EAAEC,aAAa,EAAEC,OAAO,EAAE,GAAGL;QACpE,OAAOC,QAAQ,MAAM,CAAC,CAACK,KAAcC;YACnC,MAAM,EAAEC,aAAa,EAAE,GAAGH;YAC1B,MAAMI,gBAAgBC,oBAAoBF,cAAc,eAAe,IAAI,EAAE,EAAE,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;YAC9F,MAAMC,cAAcC,YAClBN,GACAE,cAAc,MAAM,CAAC,CAACK,KAAOA,OAAOP,CAAC,CAACQ,UAAU;YAGlD,MAAMC,eAAeZ,gBACjBa,0BAA0BL,aAAaR,eAAeF,KACtDgB,SAASN,aAAaV;YAE1B,IAAIc,gBAAiB,EAACb,aAAaS,WAAW,CAACG,UAAU,KAAKZ,SAAQ,GACpEG,IAAI,IAAI,CAACM;YAGX,OAAON;QACT,GAAG,EAAE;IACP;IACA,mBAAmB,CAACa,OAAcC,MAAaf;QAC7C,MAAM,EAAEG,aAAa,EAAE,GAAGH;QAC1B,MAAMI,gBAAgBC,oBAAoBF,cAAc,eAAe,IAAI,EAAE,EAAE,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;QAC9F,OAAOS,KAAK,MAAM,EAAE,IAAI,CAAClB,GAAQmB,QACxB;gBACL,qBAAqBA;gBACrB,YAAY,CAACC,OACJA,KAAK,IAAI,CAAC,CAACC,OACTC,SACLL,OACAI,MACAd,cAAc,MAAM,CAAC,CAACK,KAAOA,OAAOS,IAAI,CAACR,UAAU;YAI3D;IAEJ;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.ts"],"sourcesContent":["import type { IMarkPointSpec, ISpec } from '@visactor/vchart'\nimport { selector, selectorWithDynamicFilter } from '../../../../../dataSelector'\nimport { MeasureId } from 'src/dataReshape/constant'\nimport type { Datum, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { isSubset } from './utils'\nimport { flatReshapeMeasures } from 'src/pipeline/utils'\nimport { pickWithout } from '@visactor/vutils'\nimport { generateAnnotationPointPipe } from './annotationPointCommon'\n\nconst getSeriesMeasureIds = (context: SpecPipelineContext, seriesIndex: number) => {\n const foldInfo = context.advancedVSeed.datasetReshapeInfo?.[0]?.foldInfoList?.[seriesIndex]\n return Object.keys(foldInfo?.foldMap ?? {})\n}\n\nexport const annotationPointOfDualAxis: VChartSpecPipe = generateAnnotationPointPipe({\n findSelectedDatas: (options) => {\n const { dataset, selector: s, measureId, dynamicFilter, context } = options\n return dataset.reduce((res: Datum[], d: Datum) => {\n const { advancedVSeed } = context\n const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m) => m.id)\n const pickedDatum = pickWithout(\n d,\n allMeasureIds.filter((id) => id !== d[MeasureId]),\n )\n\n const shouldSelect = dynamicFilter\n ? selectorWithDynamicFilter(pickedDatum, dynamicFilter, s)\n : selector(pickedDatum, s)\n\n if (shouldSelect && (!measureId || pickedDatum[MeasureId] === measureId)) {\n res.push(pickedDatum)\n }\n\n return res\n }, [])\n },\n generateMarkPoint: (datum: Datum, spec: ISpec, context: SpecPipelineContext) => {\n const { advancedVSeed } = context\n const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m) => m.id)\n const selectedMeasureId = datum[MeasureId]\n return spec.series?.flatMap((_series: any, index: number) => {\n const seriesMeasureIds = getSeriesMeasureIds(context, index)\n if (selectedMeasureId && seriesMeasureIds.length && !seriesMeasureIds.includes(String(selectedMeasureId))) {\n return []\n }\n\n return {\n relativeSeriesIndex: index,\n coordinate: (data: Datum[]) => {\n return data.find((item) => {\n return isSubset(\n datum,\n item,\n allMeasureIds.filter((id) => id !== item[MeasureId]),\n )\n })\n },\n } as IMarkPointSpec\n })\n },\n})\n"],"names":["getSeriesMeasureIds","context","seriesIndex","foldInfo","Object","annotationPointOfDualAxis","generateAnnotationPointPipe","options","dataset","s","measureId","dynamicFilter","res","d","advancedVSeed","allMeasureIds","flatReshapeMeasures","m","pickedDatum","pickWithout","id","MeasureId","shouldSelect","selectorWithDynamicFilter","selector","datum","spec","selectedMeasureId","_series","index","seriesMeasureIds","String","data","item","isSubset"],"mappings":";;;;;;AASA,MAAMA,sBAAsB,CAACC,SAA8BC;IACzD,MAAMC,WAAWF,QAAQ,aAAa,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,cAAc,CAACC,YAAY;IAC3F,OAAOE,OAAO,IAAI,CAACD,UAAU,WAAW,CAAC;AAC3C;AAEO,MAAME,4BAA4CC,4BAA4B;IACnF,mBAAmB,CAACC;QAClB,MAAM,EAAEC,OAAO,EAAE,UAAUC,CAAC,EAAEC,SAAS,EAAEC,aAAa,EAAEV,OAAO,EAAE,GAAGM;QACpE,OAAOC,QAAQ,MAAM,CAAC,CAACI,KAAcC;YACnC,MAAM,EAAEC,aAAa,EAAE,GAAGb;YAC1B,MAAMc,gBAAgBC,oBAAoBF,cAAc,eAAe,IAAI,EAAE,EAAE,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;YAC9F,MAAMC,cAAcC,YAClBN,GACAE,cAAc,MAAM,CAAC,CAACK,KAAOA,OAAOP,CAAC,CAACQ,UAAU;YAGlD,MAAMC,eAAeX,gBACjBY,0BAA0BL,aAAaP,eAAeF,KACtDe,SAASN,aAAaT;YAE1B,IAAIa,gBAAiB,EAACZ,aAAaQ,WAAW,CAACG,UAAU,KAAKX,SAAQ,GACpEE,IAAI,IAAI,CAACM;YAGX,OAAON;QACT,GAAG,EAAE;IACP;IACA,mBAAmB,CAACa,OAAcC,MAAazB;QAC7C,MAAM,EAAEa,aAAa,EAAE,GAAGb;QAC1B,MAAMc,gBAAgBC,oBAAoBF,cAAc,eAAe,IAAI,EAAE,EAAE,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;QAC9F,MAAMU,oBAAoBF,KAAK,CAACJ,UAAU;QAC1C,OAAOK,KAAK,MAAM,EAAE,QAAQ,CAACE,SAAcC;YACzC,MAAMC,mBAAmB9B,oBAAoBC,SAAS4B;YACtD,IAAIF,qBAAqBG,iBAAiB,MAAM,IAAI,CAACA,iBAAiB,QAAQ,CAACC,OAAOJ,qBACpF,OAAO,EAAE;YAGX,OAAO;gBACL,qBAAqBE;gBACrB,YAAY,CAACG,OACJA,KAAK,IAAI,CAAC,CAACC,OACTC,SACLT,OACAQ,MACAlB,cAAc,MAAM,CAAC,CAACK,KAAOA,OAAOa,IAAI,CAACZ,UAAU;YAI3D;QACF;IACF;AACF"}
package/dist/umd/index.js CHANGED
@@ -19172,6 +19172,10 @@ self.R = R;
19172
19172
  }), match || (result[k] = v);
19173
19173
  }), result;
19174
19174
  }
19175
+ const getSeriesMeasureIds = (context, seriesIndex)=>{
19176
+ const foldInfo = context.advancedVSeed.datasetReshapeInfo?.[0]?.foldInfoList?.[seriesIndex];
19177
+ return Object.keys(foldInfo?.foldMap ?? {});
19178
+ };
19175
19179
  const annotationPointOfDualAxis = generateAnnotationPointPipe({
19176
19180
  findSelectedDatas: (options)=>{
19177
19181
  const { dataset, selector: s, measureId, dynamicFilter, context } = options;
@@ -19187,10 +19191,15 @@ self.R = R;
19187
19191
  generateMarkPoint: (datum, spec, context)=>{
19188
19192
  const { advancedVSeed } = context;
19189
19193
  const allMeasureIds = flatReshapeMeasures(advancedVSeed.reshapeMeasures ?? []).map((m)=>m.id);
19190
- return spec.series?.map((s, index)=>({
19194
+ const selectedMeasureId = datum[MeasureId];
19195
+ return spec.series?.flatMap((_series, index)=>{
19196
+ const seriesMeasureIds = getSeriesMeasureIds(context, index);
19197
+ if (selectedMeasureId && seriesMeasureIds.length && !seriesMeasureIds.includes(String(selectedMeasureId))) return [];
19198
+ return {
19191
19199
  relativeSeriesIndex: index,
19192
19200
  coordinate: (data)=>data.find((item)=>isSubset(datum, item, allMeasureIds.filter((id)=>id !== item[MeasureId])))
19193
- }));
19201
+ };
19202
+ });
19194
19203
  }
19195
19204
  });
19196
19205
  const dualAxis = [