import React from 'react';
import { StyleRulesCallback, WithStyles, withStyles, Card, CardContent, Typography, Grid } from '@material-ui/core';
import { ArvadosTheme } from 'common/custom-theme';
-import { InstanceTypeIcon } from 'components/icon/icon';
+import { ResourceIcon } from 'components/icon/icon';
import { RootState } from 'store/store';
import { connect } from 'react-redux';
import { ClusterConfigJSON } from 'common/config';
<CardContent>
<Grid container direction="row">
{Object.keys(instances).length > 0 ?
- Object.keys(instances).map((instanceKey) => {
+ Object.keys(instances).sort((a, b) => {
+ const typeA = instances[a];
+ const typeB = instances[b];
+
+ if (typeA.Price !== typeB.Price) {
+ return typeA.Price - typeB.Price;
+ } else {
+ return typeA.ProviderType.localeCompare(typeB.ProviderType);
+ }
+ }).map((instanceKey) => {
const instanceType = instances[instanceKey];
const diskRequest = instanceType.IncludedScratch;
const ramRequest = instanceType.RAM - config.Containers.ReserveExtraRAM;
</Grid>
}) :
<NotFoundView
- icon={InstanceTypeIcon}
+ icon={ResourceIcon}
messages={["No instances found"]}
/>
}