1 | import {Operator} from 'vega-dataflow';
|
2 | import {inherits} from 'vega-util';
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | export default function MultiExtent(params) {
|
11 | Operator.call(this, null, update, params);
|
12 | }
|
13 |
|
14 | inherits(MultiExtent, Operator);
|
15 |
|
16 | function update(_) {
|
17 | if (this.value && !_.modified()) {
|
18 | return this.value;
|
19 | }
|
20 |
|
21 | var min = +Infinity,
|
22 | max = -Infinity,
|
23 | ext = _.extents,
|
24 | i, n, e;
|
25 |
|
26 | for (i=0, n=ext.length; i<n; ++i) {
|
27 | e = ext[i];
|
28 | if (e[0] < min) min = e[0];
|
29 | if (e[1] > max) max = e[1];
|
30 | }
|
31 | return [min, max];
|
32 | }
|