Remove Derivation.tapImmediate()
This is now just an extra flag on `Derivation.onChange()`
This commit is contained in:
parent
f2bb24ef99
commit
a24a149a52
10 changed files with 60 additions and 59 deletions
|
@ -156,9 +156,13 @@ export function onChange<P extends PointerType<$IntentionalAny>>(
|
|||
): VoidFn {
|
||||
if (isPointer(pointer)) {
|
||||
const derivation = valueDerivation(pointer)
|
||||
return derivation.tapImmediate(getCoreTicker(), callback as $IntentionalAny)
|
||||
return derivation.onChange(
|
||||
getCoreTicker(),
|
||||
callback as $IntentionalAny,
|
||||
true,
|
||||
)
|
||||
} else if (isDerivation(pointer)) {
|
||||
return pointer.tapImmediate(getCoreTicker(), callback as $IntentionalAny)
|
||||
return pointer.onChange(getCoreTicker(), callback as $IntentionalAny, true)
|
||||
} else {
|
||||
throw new Error(
|
||||
`Called onChange(p) where p is neither a pointer nor a derivation.`,
|
||||
|
|
|
@ -158,7 +158,7 @@ export default class TheatreSheetObject<
|
|||
}
|
||||
|
||||
onValuesChange(fn: (values: this['value']) => void): VoidFn {
|
||||
return this._valuesDerivation().tapImmediate(getCoreTicker(), fn)
|
||||
return this._valuesDerivation().onChange(getCoreTicker(), fn, true)
|
||||
}
|
||||
|
||||
// internal: Make the deviration keepHot if directly read
|
||||
|
|
|
@ -440,7 +440,7 @@ export default class TheatreStudio implements IStudio {
|
|||
}
|
||||
|
||||
onSelectionChange(fn: (s: (ISheetObject | ISheet)[]) => void): VoidFn {
|
||||
return this._getSelectionDerivation().tapImmediate(studioTicker, fn)
|
||||
return this._getSelectionDerivation().onChange(studioTicker, fn, true)
|
||||
}
|
||||
|
||||
get selection(): Array<ISheetObject | ISheet> {
|
||||
|
|
|
@ -75,12 +75,16 @@ const FrameGrid: React.FC<{
|
|||
fps: sequence.subUnitsPerUnit,
|
||||
snapToGrid: (n: number) => sequence.closestGridPosition(n),
|
||||
}
|
||||
}).tapImmediate(studioTicker, (p) => {
|
||||
ctx.save()
|
||||
ctx.scale(ratio!, ratio!)
|
||||
drawGrid(p)
|
||||
ctx.restore()
|
||||
})
|
||||
}).onChange(
|
||||
studioTicker,
|
||||
(p) => {
|
||||
ctx.save()
|
||||
ctx.scale(ratio!, ratio!)
|
||||
drawGrid(p)
|
||||
ctx.restore()
|
||||
},
|
||||
true,
|
||||
)
|
||||
|
||||
return () => {
|
||||
untap()
|
||||
|
|
|
@ -86,7 +86,7 @@ const StampsGrid: React.FC<{
|
|||
sequencePositionFormatter: sequence.positionFormatter,
|
||||
snapToGrid: (n: number) => sequence.closestGridPosition(n),
|
||||
}
|
||||
}).tapImmediate(studioTicker, drawStamps)
|
||||
}).onChange(studioTicker, drawStamps, true)
|
||||
}, [fullSecondStampsContainer, width, layoutP])
|
||||
|
||||
return (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue