@lightningtv/core
Advanced tools
Comparing version 2.7.1-0 to 2.7.1-1
@@ -10,3 +10,2 @@ import { renderer } from './lightningInit.js'; | ||
const layoutQueue = new Set(); | ||
let flushQueued = false; | ||
function runLayout() { | ||
@@ -20,12 +19,2 @@ const queue = [...layoutQueue]; | ||
} | ||
function flushLayout() { | ||
if (flushQueued) | ||
return; | ||
flushQueued = true; | ||
// Use setTimeout to allow renderers microtasks to finish | ||
setTimeout(() => { | ||
flushQueued = false; | ||
runLayout(); | ||
}, 0); | ||
} | ||
function convertEffectsToShader(node, styleEffects) { | ||
@@ -290,7 +279,3 @@ const effects = []; | ||
_layoutOnLoad() { | ||
this.lng.on('loaded', () => { | ||
// Re-add the node to the layout queue because somehow the queue fluses and there is a straggler | ||
layoutQueue.add(this.parent); | ||
flushLayout(); | ||
}); | ||
this.lng.on('loaded', this.parent.updateLayout); | ||
} | ||
@@ -297,0 +282,0 @@ getText() { |
import { ElementNode } from '@lightningtv/core'; | ||
export interface FocusNode { | ||
onFocus?: (this: ElementNode, currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onFocusChanged?: (this: ElementNode, hasFocus: boolean, currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onBlur?: (this: ElementNode, currentFocusedElm: ElementNode | undefined, prevFocusedElm: ElementNode | undefined) => void; | ||
onFocus?: (this: ElementNode, currentFocusedElm: ElementNode, prevFocusedElm: ElementNode | undefined) => void; | ||
onFocusChanged?: (this: ElementNode, hasFocus: boolean, currentFocusedElm: ElementNode, prevFocusedElm: ElementNode | undefined) => void; | ||
onBlur?: (this: ElementNode, currentFocusedElm: ElementNode, prevFocusedElm: ElementNode) => void; | ||
onKeyPress?: (this: ElementNode, e: KeyboardEvent, mappedKeyEvent: string | undefined, handlerElm: ElementNode, currentFocusedElm: ElementNode) => KeyHandlerReturn; | ||
@@ -7,0 +7,0 @@ onKeyHold?: (this: ElementNode, e: KeyboardEvent, mappedKeyEvent: string | undefined, handlerElm: ElementNode, currentFocusedElm: ElementNode) => KeyHandlerReturn; |
{ | ||
"name": "@lightningtv/core", | ||
"version": "2.7.1-0", | ||
"version": "2.7.1-1", | ||
"description": "Lightning TV Core for Universal Renderers", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -28,3 +28,2 @@ import { renderer } from './lightningInit.js'; | ||
isElementText, | ||
isTextNode, | ||
logRenderTree, | ||
@@ -51,3 +50,2 @@ } from './utils.js'; | ||
const layoutQueue = new Set<ElementNode>(); | ||
let flushQueued = false; | ||
@@ -63,13 +61,2 @@ function runLayout() { | ||
function flushLayout() { | ||
if (flushQueued) return; | ||
flushQueued = true; | ||
// Use setTimeout to allow renderers microtasks to finish | ||
setTimeout(() => { | ||
flushQueued = false; | ||
runLayout(); | ||
}, 0); | ||
} | ||
function convertEffectsToShader( | ||
@@ -522,7 +509,3 @@ node: ElementNode, | ||
_layoutOnLoad() { | ||
(this.lng as INode).on('loaded', () => { | ||
// Re-add the node to the layout queue because somehow the queue fluses and there is a straggler | ||
layoutQueue.add(this.parent!); | ||
flushLayout(); | ||
}); | ||
(this.lng as INode).on('loaded', this.parent!.updateLayout); | ||
} | ||
@@ -529,0 +512,0 @@ |
@@ -7,3 +7,3 @@ import { ElementNode } from '@lightningtv/core'; | ||
this: ElementNode, | ||
currentFocusedElm: ElementNode | undefined, | ||
currentFocusedElm: ElementNode, | ||
prevFocusedElm: ElementNode | undefined, | ||
@@ -14,3 +14,3 @@ ) => void; | ||
hasFocus: boolean, | ||
currentFocusedElm: ElementNode | undefined, | ||
currentFocusedElm: ElementNode, | ||
prevFocusedElm: ElementNode | undefined, | ||
@@ -20,4 +20,4 @@ ) => void; | ||
this: ElementNode, | ||
currentFocusedElm: ElementNode | undefined, | ||
prevFocusedElm: ElementNode | undefined, | ||
currentFocusedElm: ElementNode, | ||
prevFocusedElm: ElementNode, | ||
) => void; | ||
@@ -24,0 +24,0 @@ onKeyPress?: ( |
@@ -129,3 +129,3 @@ import { Config, isDev } from './config.js'; | ||
elm.states.remove(Config.focusStateKey); | ||
elm.onBlur?.call(elm, currentFocusedElm, prevFocusedElm); | ||
elm.onBlur?.call(elm, currentFocusedElm, prevFocusedElm!); | ||
elm.onFocusChanged?.call(elm, false, currentFocusedElm, prevFocusedElm); | ||
@@ -132,0 +132,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
235998
3679