Skip to content

Commit 82e832c

Browse files
committed
feat(Services): Improve performance when reordering services
1 parent 47885bb commit 82e832c

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/containers/layout/AppLayoutContainer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export default class AppLayoutContainer extends Component {
9494

9595
const servicesContainer = (
9696
<Services
97-
services={services.allDisplayed}
97+
services={services.allDisplayedUnordered}
9898
handleIPCMessage={handleIPCMessage}
9999
setWebviewReference={setWebviewReference}
100100
openWindow={openWindow}

src/stores/ServicesStore.js

+6
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ export default class ServicesStore extends Store {
8787
return this.stores.settings.all.showDisabledServices ? this.all : this.enabled;
8888
}
8989

90+
// This is just used to avoid unnecessary rerendering of resource-heavy webviews
91+
@computed get allDisplayedUnordered() {
92+
const services = this.allServicesRequest.execute().result || [];
93+
return this.stores.settings.all.showDisabledServices ? services : services.filter(service => service.isEnabled);
94+
}
95+
9096
@computed get filtered() {
9197
return this.all.filter(service => service.name.toLowerCase().includes(this.filterNeedle.toLowerCase()));
9298
}

0 commit comments

Comments
 (0)