Browse Source

fix(settings): put installed integrations first (#9791)

* put installed integrations first

* proper sort where rest of order is not altered
Chris Clark 6 years ago
parent
commit
8ecdedec7f
1 changed files with 15 additions and 13 deletions
  1. 15 13
      src/sentry/static/sentry/app/views/organizationIntegrations/index.jsx

+ 15 - 13
src/sentry/static/sentry/app/views/organizationIntegrations/index.jsx

@@ -115,19 +115,21 @@ export default class OrganizationIntegrations extends AsyncComponent {
   // Rendering
 
   renderBody() {
-    const providers = this.providers.map(provider => (
-      <ProviderRow
-        key={provider.key}
-        provider={provider}
-        orgId={this.props.params.orgId}
-        integrations={provider.integrations}
-        onInstall={this.onInstall}
-        onRemove={this.onRemove}
-        onDisable={this.onDisable}
-        onReinstall={this.onInstall}
-        enabledPlugins={this.enabledPlugins}
-      />
-    ));
+    const providers = this.providers
+      .sort((a, b) => b.isInstalled - a.isInstalled)
+      .map(provider => (
+        <ProviderRow
+          key={provider.key}
+          provider={provider}
+          orgId={this.props.params.orgId}
+          integrations={provider.integrations}
+          onInstall={this.onInstall}
+          onRemove={this.onRemove}
+          onDisable={this.onDisable}
+          onReinstall={this.onInstall}
+          enabledPlugins={this.enabledPlugins}
+        />
+      ));
 
     return (
       <React.Fragment>