@@ -9,6 +9,7 @@ import {arrayify, isDomainSort, isScaleOptions, keyword, map, maybeNamed, range,
9
9
import { Scales , ScaleFunctions , autoScaleRange , exposeScales } from "./scales.js" ;
10
10
import { position , registry as scaleRegistry } from "./scales/index.js" ;
11
11
import { applyInlineStyles , maybeClassName , maybeClip , styles } from "./style.js" ;
12
+ import { maybeTimeFilter } from "./time.js" ;
12
13
import { basic , initializer } from "./transforms/basic.js" ;
13
14
import { maybeInterval } from "./transforms/interval.js" ;
14
15
import { consumeWarnings } from "./warnings.js" ;
@@ -233,12 +234,12 @@ export function plot(options = {}) {
233
234
const { mark, node} = timeMark ;
234
235
const { channels, values, facets} = stateByMark . get ( mark ) ;
235
236
const facet = facets ? mark . filter ( facets [ 0 ] , channels , values ) : null ;
236
- const index = facet . filter ( i => channels . time . value [ i ] <= time ) ;
237
+ const index = mark . timeFilter ( facet , values . time , time ) ;
237
238
const timeNode = mark . render ( index , scales , values , dimensions , context ) ;
238
239
node . replaceWith ( timeNode ) ;
239
240
timeMark . node = timeNode ;
240
241
}
241
- requestAnimationFrame ( tick ) ;
242
+ setTimeout ( tick , 1500 / times . length ) ; // TODO
242
243
} ) ;
243
244
}
244
245
}
@@ -280,12 +281,13 @@ export function plot(options = {}) {
280
281
281
282
export class Mark {
282
283
constructor ( data , channels = { } , options = { } , defaults ) {
283
- const { facet = "auto" , sort, time, dx, dy, clip, channels : extraChannels } = options ;
284
+ const { facet = "auto" , sort, time, timeFilter , dx, dy, clip, channels : extraChannels } = options ;
284
285
this . data = data ;
285
286
this . sort = isDomainSort ( sort ) ? sort : null ;
286
287
this . initializer = initializer ( options ) . initializer ;
287
288
this . transform = this . initializer ? options . transform : basic ( options ) . transform ;
288
289
this . facet = facet == null || facet === false ? null : keyword ( facet === true ? "include" : facet , "facet" , [ "auto" , "include" , "exclude" ] ) ;
290
+ this . timeFilter = maybeTimeFilter ( timeFilter ) ;
289
291
channels = maybeNamed ( channels ) ;
290
292
if ( extraChannels !== undefined ) channels = { ...maybeNamed ( extraChannels ) , ...channels } ;
291
293
if ( defaults !== undefined ) channels = { ...styles ( this , options , defaults ) , ...channels } ;
0 commit comments