Files
outline/app/stores/IntegrationsStore.ts
Tom Moor 8e4270c321 feat: Add GA integration, support for GA4 (#4626)
* GA integration settings

* trackingId -> measurementId
Hook up script

* Public page GA tracking
Correct layout of settings

* Remove multiple codepaths for loading GA measurementID, add missing db index

* Remove unneccessary changes, tsc

* test
2023-01-01 07:29:08 -08:00

28 lines
744 B
TypeScript

import { filter } from "lodash";
import { computed } from "mobx";
import { IntegrationService } from "@shared/types";
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: IntegrationService.Slack,
});
}
}
export default IntegrationsStore;