mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-23 21:10:36 +03:00
improve adaptive update hints
This commit is contained in:
@@ -42,7 +42,7 @@ const startBtn: HTMLButtonElement | null = document.querySelector('#start');
|
||||
const resizesSlot: HTMLButtonElement | null = document.querySelector('#resizes');
|
||||
const preInitChildren = targetElm?.children.length;
|
||||
|
||||
const sizeObserver = createSizeObserver(
|
||||
const destroySizeObserver = createSizeObserver(
|
||||
targetElm as HTMLElement,
|
||||
({ _directionIsRTLCache, _sizeChanged }) => {
|
||||
if (_sizeChanged) {
|
||||
@@ -129,17 +129,19 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any)
|
||||
|
||||
if (dirChanged) {
|
||||
await waitForOrFailTest(() => {
|
||||
const expectedCacheValue = newDir === 'rtl';
|
||||
// const expectedCacheValue = newDir === 'rtl';
|
||||
should.equal(
|
||||
directionIterations,
|
||||
currDirectionIterations + 1,
|
||||
'Direction change was detected correctly.'
|
||||
);
|
||||
/*
|
||||
should.equal(
|
||||
sizeObserver._getCurrentCacheValues()._directionIsRTL[0],
|
||||
expectedCacheValue,
|
||||
'Direction cache value is correct.'
|
||||
);
|
||||
*/
|
||||
});
|
||||
}
|
||||
|
||||
@@ -261,7 +263,7 @@ const start = async () => {
|
||||
});
|
||||
await cleanBoxSizingChange();
|
||||
|
||||
sizeObserver._destroy();
|
||||
destroySizeObserver();
|
||||
should.equal(
|
||||
targetElm?.children.length,
|
||||
preInitChildren,
|
||||
|
||||
+17
-12
@@ -24,18 +24,21 @@ const startBtn: HTMLButtonElement | null = document.querySelector('#start');
|
||||
const changesSlot: HTMLButtonElement | null = document.querySelector('#changes');
|
||||
const preInitChildren = targetElm?.children.length;
|
||||
|
||||
const trinsicObserver = createTrinsicObserver(targetElm as HTMLElement, (heightIntrinsicCache) => {
|
||||
const [currentHeightIntrinsic, currentHeightIntrinsicChanged] = heightIntrinsicCache;
|
||||
if (currentHeightIntrinsicChanged) {
|
||||
heightIterations += 1;
|
||||
heightIntrinsic = currentHeightIntrinsic;
|
||||
}
|
||||
requestAnimationFrame(() => {
|
||||
if (changesSlot) {
|
||||
changesSlot.textContent = heightIterations.toString();
|
||||
const destroyTrinsicObserver = createTrinsicObserver(
|
||||
targetElm as HTMLElement,
|
||||
(heightIntrinsicCache) => {
|
||||
const [currentHeightIntrinsic, currentHeightIntrinsicChanged] = heightIntrinsicCache;
|
||||
if (currentHeightIntrinsicChanged) {
|
||||
heightIterations += 1;
|
||||
heightIntrinsic = currentHeightIntrinsic;
|
||||
}
|
||||
});
|
||||
});
|
||||
requestAnimationFrame(() => {
|
||||
if (changesSlot) {
|
||||
changesSlot.textContent = heightIterations.toString();
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
const envElmSelectCallback = generateClassChangeSelectCallback(envElm as HTMLElement);
|
||||
const targetElmSelectCallback = generateClassChangeSelectCallback(targetElm as HTMLElement);
|
||||
@@ -75,11 +78,13 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any)
|
||||
'Height intrinsic change has been detected correctly.'
|
||||
);
|
||||
}
|
||||
/*
|
||||
should.equal(
|
||||
trinsicObserver._getCurrentCacheValues()._heightIntrinsic[0],
|
||||
newHeightIntrinsic,
|
||||
'Height intrinsic cache value is correct.'
|
||||
);
|
||||
*/
|
||||
});
|
||||
},
|
||||
afterEach,
|
||||
@@ -148,7 +153,7 @@ const start = async () => {
|
||||
});
|
||||
await changeWhileHidden();
|
||||
|
||||
trinsicObserver._destroy();
|
||||
destroyTrinsicObserver();
|
||||
should.equal(
|
||||
targetElm?.children.length,
|
||||
preInitChildren,
|
||||
|
||||
Reference in New Issue
Block a user