Skip to content

Commit af14ef4

Browse files
committed
refactor(aria/grid): use read/write appropariately in afterRenderEffect
1 parent 1cbdb32 commit af14ef4

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

src/aria/grid/grid-cell-widget.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,22 @@ export class GridCellWidget {
108108
}
109109

110110
constructor() {
111-
afterRenderEffect(() => {
112-
const activateEvent = this._pattern.lastActivateEvent();
113-
if (activateEvent) {
114-
this.activated.emit(activateEvent);
115-
}
111+
afterRenderEffect({
112+
read: () => {
113+
const activateEvent = this._pattern.lastActivateEvent();
114+
if (activateEvent) {
115+
this.activated.emit(activateEvent);
116+
}
117+
},
116118
});
117119

118-
afterRenderEffect(() => {
119-
const deactivateEvent = this._pattern.lastDeactivateEvent();
120-
if (deactivateEvent) {
121-
this.deactivated.emit(deactivateEvent);
122-
}
120+
afterRenderEffect({
121+
read: () => {
122+
const deactivateEvent = this._pattern.lastDeactivateEvent();
123+
if (deactivateEvent) {
124+
this.deactivated.emit(deactivateEvent);
125+
}
126+
},
123127
});
124128
}
125129

src/aria/grid/grid.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,12 @@ export class Grid {
150150
);
151151
});
152152

153-
afterRenderEffect(() => this._pattern.setDefaultStateEffect());
154-
afterRenderEffect(() => this._pattern.resetStateEffect());
155-
afterRenderEffect(() => this._pattern.resetFocusEffect());
156-
afterRenderEffect(() => this._pattern.restoreFocusEffect());
157-
afterRenderEffect(() => this._pattern.focusEffect());
153+
// Use Write mode for all direct DOM focus management actions.
154+
afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});
155+
afterRenderEffect({write: () => this._pattern.resetStateEffect()});
156+
afterRenderEffect({write: () => this._pattern.resetFocusEffect()});
157+
afterRenderEffect({write: () => this._pattern.restoreFocusEffect()});
158+
afterRenderEffect({write: () => this._pattern.focusEffect()});
158159
}
159160

160161
/** Gets the cell pattern for a given element. */

0 commit comments

Comments
 (0)