449dc55aaa
* chore: Upgrade Prettier 1.8 -> 2.0 * chore: Upgrade Babel 6 -> 7 * chore: Upgrade eslint plugins * chore: Add eslint import/order rules * chore: Update flow-typed deps
27 lines
667 B
JavaScript
27 lines
667 B
JavaScript
// @flow
|
|
import { filter } from "lodash";
|
|
import { computed } from "mobx";
|
|
|
|
import naturalSort from "shared/utils/naturalSort";
|
|
import BaseStore from "stores/BaseStore";
|
|
import RootStore from "stores/RootStore";
|
|
import Integration from "models/Integration";
|
|
|
|
class IntegrationsStore extends BaseStore<Integration> {
|
|
constructor(rootStore: RootStore) {
|
|
super(rootStore, Integration);
|
|
}
|
|
|
|
@computed
|
|
get orderedData(): Integration[] {
|
|
return naturalSort(Array.from(this.data.values()), "name");
|
|
}
|
|
|
|
@computed
|
|
get slackIntegrations(): Integration[] {
|
|
return filter(this.orderedData, { service: "slack" });
|
|
}
|
|
}
|
|
|
|
export default IntegrationsStore;
|