• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

antvis / L7Plot / 9941196296

15 Jul 2024 02:22PM UTC coverage: 56.863% (-0.1%) from 56.968%
9941196296

push

github

web-flow
chore: 修改编译目标版本和主工程一致(es6),解决 legend 无法使用的问题。 (#360)

960 of 2222 branches covered (43.2%)

Branch coverage included in aggregate %.

2752 of 4306 relevant lines covered (63.91%)

236.24 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

53.61
/packages/composite-layers/src/composite-layers/flow-layer/utils/style.ts
1
import { ScaleTypes } from '@antv/l7';
2
import { Log } from '@antv/scale';
27✔
3
import { LineLayerStyleOptions } from '../../../core-layers/line-layer/types';
27✔
4
import { PointLayer } from '../../../core-layers/point-layer';
27✔
5
import { ColorAttr, SizeAttr } from '../../../types';
27✔
6
import { buildIndex } from '../data/build-index';
27✔
7

27✔
8
export const DefaultScaleType = ScaleTypes.LINEAR;
27✔
9

27✔
10
export function getSizeAttribute(sizeAttr: SizeAttr, weightRange: [number, number]): SizeAttr {
27✔
11
  if (sizeAttr instanceof Object && !(sizeAttr instanceof Function) && !Array.isArray(sizeAttr)) {
12
    const { field, value } = sizeAttr;
13
    if (field === 'weight' && Array.isArray(value) && value.length) {
52✔
14
      const scaleType = (sizeAttr.scale?.type || DefaultScaleType) as ScaleTypes;
26✔
15
      return {
26!
16
        ...sizeAttr,
26!
17
        scale: {
26✔
18
          field: 'size',
19
          type: scaleType,
20
          domain: weightRange,
21
        },
22
      };
23
    }
24
  }
26✔
25
  return sizeAttr;
26
}
27

28
export function getColorAttribute(colorAttr: ColorAttr, weightRange: [number, number]): ColorAttr {
52✔
29
  if (colorAttr instanceof Object && !(colorAttr instanceof Function) && !Array.isArray(colorAttr)) {
26✔
30
    const { field, value } = colorAttr;
26!
31
    if (field === 'weight' && Array.isArray(value) && value.length) {
26!
32
      const scaleType = (colorAttr.scale?.type || DefaultScaleType) as ScaleTypes;
26✔
33
      return {
34
        ...colorAttr,
35
        scale: {
36
          field: 'color',
37
          type: scaleType,
38
          domain: weightRange,
39
        },
26✔
40
      };
41
    }
42
  }
26✔
43
  return colorAttr;
44
}
45

46
export function getOpacityColorAttribute(
26✔
47
  weightRange: [number, number],
26✔
48
  fadeOpacityAmount: number
49
): LineLayerStyleOptions['opacity'] {
50
  const scaleFunc = new Log({
×
51
    domain: weightRange,
52
    range: [0, 1],
53
  });
54
  const ratio = (1 - fadeOpacityAmount / 100) * 1.5;
55
  return {
56
    field: 'weight',
×
57
    value: (weight: any) => {
×
58
      return scaleFunc.map(weight) * ratio;
×
59
    },
60
  };
61
}
×
62

×
63
export function getLineOffsetsAttribute(
64
  clusterIndex: ReturnType<typeof buildIndex>,
65
  circleLayer: PointLayer
66
): LineLayerStyleOptions['offsets'] {
×
67
  const circleLayerSizeAttribute = circleLayer.options.size;
×
68
  if (typeof circleLayerSizeAttribute === 'number') {
×
69
    return [circleLayerSizeAttribute, circleLayerSizeAttribute];
×
70
  } else {
×
71
    const sizeScale = circleLayer?.layer?.getScale('size');
72
    return {
73
      field: 'fromId*toId',
74
      value: (fromId, toId) => {
75
        const fromCluster = clusterIndex.clusterIdMap.get(fromId);
76
        const toCluster = clusterIndex.clusterIdMap.get(toId);
77
        const fromOffset = (fromCluster ? sizeScale?.(fromCluster.weight) : 0) ?? 0;
78
        const toOffset = (toCluster ? sizeScale?.(toCluster.weight) : 0) ?? 0;
79
        return [fromOffset, toOffset] as [number, number];
80
      },
81
    };
82
  }
83
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc