Skip to content

Commit 85cf706

Browse files
Merge pull request #114 from Travelopia/fix/WP-204-handle-responsive-settings
WP-204 Responsive settings not applied on breakpoint changes in <tp-slider> component
2 parents 04097a1 + 817d19c commit 85cf706

File tree

3 files changed

+42
-42
lines changed

3 files changed

+42
-42
lines changed

src/slider/tp-slider-slide.ts

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,5 @@
1-
/**
2-
* Internal dependencies.
3-
*/
4-
import { TPSliderElement } from './tp-slider';
5-
61
/**
72
* TP Slider Slide.
83
*/
94
export class TPSliderSlideElement extends HTMLElement {
10-
/**
11-
* Constructor.
12-
*/
13-
constructor() {
14-
// Initialize parent.
15-
super();
16-
17-
// Resize observer.
18-
if ( 'ResizeObserver' in window ) {
19-
new ResizeObserver( this.handleHeightChange.bind( this ) ).observe( this );
20-
}
21-
}
22-
23-
/**
24-
* Handle slide height change.
25-
*/
26-
protected handleHeightChange(): void {
27-
// Get the parent tp-slider element.
28-
const slider: TPSliderElement | null = this.closest( 'tp-slider' );
29-
30-
// Bail if not found.
31-
if ( ! slider ) {
32-
// Bail early if not found.
33-
return;
34-
}
35-
36-
/**
37-
* Yield to main thread to avoid observation errors.
38-
*
39-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver#observation_errors
40-
*/
41-
setTimeout( (): void => {
42-
// Handle resize.
43-
slider.handleResize();
44-
}, 0 );
45-
}
465
}

src/slider/tp-slider-slides.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
1+
/**
2+
* Internal dependencies.
3+
*/
4+
import { TPSliderElement } from './tp-slider';
5+
16
/**
27
* TP Slider Slides.
38
*/
49
export class TPSliderSlidesElement extends HTMLElement {
10+
/**
11+
* Constructor.
12+
*/
13+
constructor() {
14+
// Initialize parent.
15+
super();
16+
17+
// Resize observer.
18+
if ( 'ResizeObserver' in window ) {
19+
new ResizeObserver( this.handleHeightChange.bind( this ) ).observe( this );
20+
}
21+
}
22+
23+
/**
24+
* Handle slide height change.
25+
*/
26+
protected handleHeightChange(): void {
27+
// Get the parent tp-slider element.
28+
const slider: TPSliderElement | null = this.closest( 'tp-slider' );
29+
30+
// Bail if not found.
31+
if ( ! slider ) {
32+
// Bail early if not found.
33+
return;
34+
}
35+
36+
/**
37+
* Yield to main thread to avoid observation errors.
38+
*
39+
* @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver#observation_errors
40+
*/
41+
setTimeout( (): void => {
42+
// Handle resize.
43+
slider.handleResize();
44+
}, 0 );
45+
}
546
}

src/slider/tp-slider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class TPSliderElement extends HTMLElement {
5757
// Event listeners.
5858
if ( ! ( 'ResizeObserver' in window ) ) {
5959
/**
60-
* We set the resize observer in `tp-slider-slide`
60+
* We set the resize observer in `tp-slider-slides`
6161
* because These are just fallbacks for browsers that don't support ResizeObserver.
6262
*/
6363

0 commit comments

Comments
 (0)