This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
27 lines
675 B
TypeScript
27 lines
675 B
TypeScript
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;
|