@pagerduty/backstage-plugin 0.15.0-next.15 → 0.15.0-next.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,26 +4,32 @@ import { Page, Header, Content, TabbedLayout } from '@backstage/core-components'
|
|
|
4
4
|
import { ServiceMappingComponent } from './ServiceMappingComponent.esm.js';
|
|
5
5
|
import { useApi } from '@backstage/core-plugin-api';
|
|
6
6
|
import { pagerDutyApiRef } from '../../api/client.esm.js';
|
|
7
|
+
import { NotFoundError } from '@backstage/errors';
|
|
7
8
|
|
|
8
9
|
const SERVICE_DEPENDENCY_SYNC_STRATEGY = "settings::service-dependency-sync-strategy";
|
|
9
10
|
const PagerDutyPage = () => {
|
|
10
11
|
const pagerDutyApi = useApi(pagerDutyApiRef);
|
|
11
|
-
const [
|
|
12
|
+
const [
|
|
13
|
+
selectedServiceDependencyStrategy,
|
|
14
|
+
setSelectedServiceDependencyStrategy
|
|
15
|
+
] = useState("disabled");
|
|
12
16
|
useEffect(() => {
|
|
13
17
|
function fetchSetting() {
|
|
14
18
|
pagerDutyApi.getSetting(SERVICE_DEPENDENCY_SYNC_STRATEGY).then((result) => {
|
|
15
|
-
|
|
19
|
+
if (result !== void 0) {
|
|
20
|
+
setSelectedServiceDependencyStrategy(result.value);
|
|
21
|
+
}
|
|
22
|
+
}).catch((error) => {
|
|
23
|
+
if (error instanceof NotFoundError) {
|
|
24
|
+
setSelectedServiceDependencyStrategy("disabled");
|
|
25
|
+
}
|
|
16
26
|
});
|
|
17
27
|
}
|
|
18
28
|
fetchSetting();
|
|
19
29
|
}, [pagerDutyApi]);
|
|
20
30
|
const handleChange = (event) => {
|
|
21
|
-
const value = getSelectedValue(
|
|
22
|
-
|
|
23
|
-
);
|
|
24
|
-
setSelectedServiceDependencyStrategy(
|
|
25
|
-
value
|
|
26
|
-
);
|
|
31
|
+
const value = getSelectedValue(event.target.value);
|
|
32
|
+
setSelectedServiceDependencyStrategy(value);
|
|
27
33
|
pagerDutyApi.storeSettings([
|
|
28
34
|
{
|
|
29
35
|
id: SERVICE_DEPENDENCY_SYNC_STRATEGY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../src/components/PagerDutyPage/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../src/components/PagerDutyPage/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport {\n Card,\n FormControlLabel,\n Grid,\n Radio,\n RadioGroup,\n Typography,\n} from \"@material-ui/core\";\nimport {\n Header,\n Page,\n Content,\n TabbedLayout,\n} from \"@backstage/core-components\";\nimport { ServiceMappingComponent } from \"./ServiceMappingComponent\";\nimport { useApi } from \"@backstage/core-plugin-api\";\nimport { pagerDutyApiRef } from \"../../api\";\nimport { NotFoundError } from \"@backstage/errors\";\n\nconst SERVICE_DEPENDENCY_SYNC_STRATEGY =\n \"settings::service-dependency-sync-strategy\";\n\n/** @public */\nexport const PagerDutyPage = () => {\n const pagerDutyApi = useApi(pagerDutyApiRef);\n const [\n selectedServiceDependencyStrategy,\n setSelectedServiceDependencyStrategy,\n ] = useState(\"disabled\");\n\n useEffect(() => {\n function fetchSetting() {\n pagerDutyApi\n .getSetting(SERVICE_DEPENDENCY_SYNC_STRATEGY)\n .then((result) => {\n if (result !== undefined) {\n setSelectedServiceDependencyStrategy(result.value);\n }\n })\n .catch((error) => {\n if (error instanceof NotFoundError) {\n // If the setting is not found, set the default value to \"disabled\"\n setSelectedServiceDependencyStrategy(\"disabled\");\n }\n });\n }\n\n fetchSetting();\n }, [pagerDutyApi]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = getSelectedValue((event.target as HTMLInputElement).value);\n\n setSelectedServiceDependencyStrategy(value);\n\n pagerDutyApi.storeSettings([\n {\n id: SERVICE_DEPENDENCY_SYNC_STRATEGY,\n value,\n },\n ]);\n };\n\n function getSelectedValue(\n value: string\n ): \"backstage\" | \"pagerduty\" | \"both\" | \"disabled\" {\n switch (value) {\n case \"backstage\":\n return \"backstage\";\n case \"pagerduty\":\n return \"pagerduty\";\n case \"both\":\n return \"both\";\n default:\n return \"disabled\";\n }\n }\n\n return (\n <Page themeId=\"home\">\n <Header title=\"PagerDuty\" subtitle=\"Advanced configurations\" />\n <Content>\n <TabbedLayout>\n <TabbedLayout.Route path=\"/service-mapping\" title=\"Service Mapping\">\n <Grid container spacing={3} direction=\"column\">\n <Grid item>\n {/* <Typography variant=\"h4\">Service to Entity mapping</Typography> */}\n <Typography variant=\"body1\">\n Easily map your existing PagerDuty services to entities in\n Backstage without the need to add anotations to all your\n projects.\n </Typography>\n <Typography variant=\"body1\">\n <b>Warning: </b>Only 1:1 mapping is allowed at this time.\n </Typography>\n </Grid>\n <Grid item>\n <ServiceMappingComponent />\n </Grid>\n </Grid>\n </TabbedLayout.Route>\n <TabbedLayout.Route path=\"/settings\" title=\"Configurations\">\n <Grid container spacing={3} direction=\"column\">\n <Grid item>\n <Typography variant=\"h4\">Plugin configurations</Typography>\n <Typography variant=\"body1\">\n Configure your PagerDuty plugin configuration here.\n </Typography>\n </Grid>\n <Card\n title=\"Service dependency synchronization preferences\"\n style={{ padding: \"10px\", width: \"50%\" }}\n >\n <>\n <Typography variant=\"h6\">\n Service dependency synchronization strategy\n </Typography>\n <Typography variant=\"body1\">\n Configure how you want to synchronize your service\n dependencies\n </Typography>\n <RadioGroup\n value={selectedServiceDependencyStrategy}\n onChange={handleChange}\n >\n <FormControlLabel\n value=\"backstage\"\n control={<Radio />}\n label=\"Backstage\"\n />\n <FormControlLabel\n value=\"pagerduty\"\n control={<Radio />}\n label=\"PagerDuty\"\n />\n <FormControlLabel\n value=\"both\"\n control={<Radio />}\n label=\"Both\"\n />\n <FormControlLabel\n value=\"disabled\"\n control={<Radio />}\n label=\"Disabled\"\n />\n </RadioGroup>\n </>\n\n <br />\n <br />\n <Typography variant=\"body1\">\n <b>Warning: </b>Changing this setting will affect how your\n service dependencies are synchronized and may cause data loss.\n </Typography>\n </Card>\n </Grid>\n </TabbedLayout.Route>\n </TabbedLayout>\n </Content>\n </Page>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED