Skip to content

Commit 47cf09d

Browse files
committed
feat(devindex): Apply load mask for initial Turbo Mode soft hydration (#9330)
1 parent 5d39f96 commit 47cf09d

1 file changed

Lines changed: 40 additions & 7 deletions

File tree

apps/devindex/view/home/MainContainerController.mjs

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class MainContainerController extends Controller {
1313
className: 'DevIndex.view.home.MainContainerController'
1414
}
1515

16+
/**
17+
* @member {Boolean} firstFiltering=true
18+
*/
19+
firstFiltering = true
20+
1621
/**
1722
* @param {Object} data
1823
*/
@@ -96,15 +101,23 @@ class MainContainerController extends Controller {
96101
/**
97102
* @param {Object} data
98103
*/
99-
onFilterChange(data) {
100-
let grid = this.getReference('grid'),
104+
async onFilterChange(data) {
105+
let me = this,
106+
grid = me.getReference('grid'),
101107
value = data.component.getSubmitValue();
102108

103109
if (data.component.name === 'countryCode' && value) {
104110
value = value.toUpperCase()
105111
}
106112

107-
grid.store.getFilter(data.component.name).value = value
113+
if (me.firstFiltering) {
114+
me.firstFiltering = false;
115+
grid.isLoading = 'Is Loading';
116+
await me.timeout(5)
117+
}
118+
119+
grid.store.getFilter(data.component.name).value = value;
120+
grid.isLoading = false
108121
}
109122

110123
/**
@@ -133,15 +146,35 @@ class MainContainerController extends Controller {
133146
/**
134147
* @param {Object} data
135148
*/
136-
onHideAutomationChange(data) {
137-
this.getReference('grid').store.getFilter('commitRatio').value = data.value ? 90 : null
149+
async onHideAutomationChange(data) {
150+
let me = this,
151+
grid = me.getReference('grid');
152+
153+
if (me.firstFiltering) {
154+
me.firstFiltering = false;
155+
grid.isLoading = 'Is Loading';
156+
await me.timeout(5)
157+
}
158+
159+
grid.store.getFilter('commitRatio').value = data.value ? 90 : null;
160+
grid.isLoading = false
138161
}
139162

140163
/**
141164
* @param {Object} data
142165
*/
143-
onHireableChange(data) {
144-
this.getReference('grid').store.getFilter('isHireable').value = data.value ? true : null
166+
async onHireableChange(data) {
167+
let me = this,
168+
grid = me.getReference('grid');
169+
170+
if (me.firstFiltering) {
171+
me.firstFiltering = false;
172+
grid.isLoading = 'Is Loading';
173+
await me.timeout(5)
174+
}
175+
176+
grid.store.getFilter('isHireable').value = data.value ? true : null;
177+
grid.isLoading = false
145178
}
146179

147180
/**

0 commit comments

Comments
 (0)