This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
outline/app/stores/IntegrationsStore.js

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;