Skip to content

Commit 2f18048

Browse files
committed
refactor(aria/grid): use read/write appropariately in afterRenderEffect
1 parent 6ed4219 commit 2f18048

2 files changed

Lines changed: 20 additions & 15 deletions

File tree

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
@@ -129,11 +129,12 @@ export class Grid {
129129
});
130130

131131
constructor() {
132-
afterRenderEffect(() => this._pattern.setDefaultStateEffect());
133-
afterRenderEffect(() => this._pattern.resetStateEffect());
134-
afterRenderEffect(() => this._pattern.resetFocusEffect());
135-
afterRenderEffect(() => this._pattern.restoreFocusEffect());
136-
afterRenderEffect(() => this._pattern.focusEffect());
132+
// Use Write mode for all direct DOM focus management actions.
133+
afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});
134+
afterRenderEffect({write: () => this._pattern.resetStateEffect()});
135+
afterRenderEffect({write: () => this._pattern.resetFocusEffect()});
136+
afterRenderEffect({write: () => this._pattern.restoreFocusEffect()});
137+
afterRenderEffect({write: () => this._pattern.focusEffect()});
137138
}
138139

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

0 commit comments

Comments
 (0)