@electrolux-oss/plugin-infrawallet 0.1.0 → 0.1.4
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.
- package/README.md +26 -10
- package/dist/api/InfraWalletApi.esm.js.map +1 -1
- package/dist/api/InfraWalletApiClient.esm.js +12 -65
- package/dist/api/InfraWalletApiClient.esm.js.map +1 -1
- package/dist/api/functions.esm.js +35 -28
- package/dist/api/functions.esm.js.map +1 -1
- package/dist/components/ColumnsChartComponent/ColumnsChartComponent.esm.js +44 -22
- package/dist/components/ColumnsChartComponent/ColumnsChartComponent.esm.js.map +1 -1
- package/dist/components/CostReportsTableComponent/CostReportsTableComponent.esm.js +49 -19
- package/dist/components/CostReportsTableComponent/CostReportsTableComponent.esm.js.map +1 -1
- package/dist/components/CostReportsTableComponent/TrendBarComponent.esm.js +1 -6
- package/dist/components/CostReportsTableComponent/TrendBarComponent.esm.js.map +1 -1
- package/dist/components/ErrorsAlertComponent/ErrorsAlertComponent.esm.js +40 -0
- package/dist/components/ErrorsAlertComponent/ErrorsAlertComponent.esm.js.map +1 -0
- package/dist/components/InfraWalletIcon.esm.js +61 -0
- package/dist/components/InfraWalletIcon.esm.js.map +1 -0
- package/dist/components/PieChartComponent/PieChartComponent.esm.js +3 -15
- package/dist/components/PieChartComponent/PieChartComponent.esm.js.map +1 -1
- package/dist/components/ReportsComponent/ReportsComponent.esm.js +21 -39
- package/dist/components/ReportsComponent/ReportsComponent.esm.js.map +1 -1
- package/dist/components/TopbarComponent/TopbarComponent.esm.js +1 -25
- package/dist/components/TopbarComponent/TopbarComponent.esm.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/plugin.esm.js.map +1 -1
- package/package.json +4 -3
|
@@ -20,8 +20,6 @@ const TopbarComponent = ({
|
|
|
20
20
|
aggregatedBy,
|
|
21
21
|
aggregatedBySetter,
|
|
22
22
|
tags,
|
|
23
|
-
granularity,
|
|
24
|
-
granularitySetter,
|
|
25
23
|
monthRange,
|
|
26
24
|
monthRangeSetter
|
|
27
25
|
}) => {
|
|
@@ -32,29 +30,7 @@ const TopbarComponent = ({
|
|
|
32
30
|
endMonth: endOfMonth(/* @__PURE__ */ new Date())
|
|
33
31
|
});
|
|
34
32
|
};
|
|
35
|
-
return /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(InputLabel, { shrink: true }, "Group by"), /* @__PURE__ */ React.createElement(
|
|
36
|
-
Select,
|
|
37
|
-
{
|
|
38
|
-
value: aggregatedBy,
|
|
39
|
-
onChange: (event) => aggregatedBySetter(event.target.value)
|
|
40
|
-
},
|
|
41
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "none" }, /* @__PURE__ */ React.createElement("em", null, "None")),
|
|
42
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "name" }, "Name"),
|
|
43
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "provider" }, "Provider"),
|
|
44
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "category" }, "Category"),
|
|
45
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "service" }, "Cloud Service"),
|
|
46
|
-
/* @__PURE__ */ React.createElement(Divider, { light: true }),
|
|
47
|
-
/* @__PURE__ */ React.createElement(ListSubheader, { onClickCapture: (e) => e.stopPropagation() }, "Tags"),
|
|
48
|
-
tags.map((tag) => /* @__PURE__ */ React.createElement(MenuItem, { key: tag, value: tag }, `tag:${tag}`))
|
|
49
|
-
)), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl, style: { display: "none" } }, /* @__PURE__ */ React.createElement(
|
|
50
|
-
Select,
|
|
51
|
-
{
|
|
52
|
-
value: granularity,
|
|
53
|
-
onChange: (event) => granularitySetter(event.target.value)
|
|
54
|
-
},
|
|
55
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "daily" }, "Daily"),
|
|
56
|
-
/* @__PURE__ */ React.createElement(MenuItem, { value: "monthly" }, "Monthly")
|
|
57
|
-
), /* @__PURE__ */ React.createElement(FormHelperText, null, "Granularity")), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(LocalizationProvider, { dateAdapter: AdapterDateFns }, /* @__PURE__ */ React.createElement(
|
|
33
|
+
return /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(InputLabel, { shrink: true }, "Group by"), /* @__PURE__ */ React.createElement(Select, { value: aggregatedBy, onChange: (event) => aggregatedBySetter(event.target.value) }, /* @__PURE__ */ React.createElement(MenuItem, { value: "none" }, /* @__PURE__ */ React.createElement("em", null, "None")), /* @__PURE__ */ React.createElement(MenuItem, { value: "name" }, "Name"), /* @__PURE__ */ React.createElement(MenuItem, { value: "provider" }, "Provider"), /* @__PURE__ */ React.createElement(MenuItem, { value: "category" }, "Category"), /* @__PURE__ */ React.createElement(MenuItem, { value: "service" }, "Cloud Service"), /* @__PURE__ */ React.createElement(Divider, { light: true }), /* @__PURE__ */ React.createElement(ListSubheader, { onClickCapture: (e) => e.stopPropagation() }, "Tags"), tags.map((tag) => /* @__PURE__ */ React.createElement(MenuItem, { key: tag, value: tag }, `tag:${tag}`)))), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(LocalizationProvider, { dateAdapter: AdapterDateFns }, /* @__PURE__ */ React.createElement(
|
|
58
34
|
DatePicker,
|
|
59
35
|
{
|
|
60
36
|
value: monthRange.startMonth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopbarComponent.esm.js","sources":["../../../src/components/TopbarComponent/TopbarComponent.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TopbarComponent.esm.js","sources":["../../../src/components/TopbarComponent/TopbarComponent.tsx"],"sourcesContent":["import { Box, Button, FormControl, FormHelperText, Grid, MenuItem, Select } from '@material-ui/core';\nimport Divider from '@material-ui/core/Divider';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport ListSubheader from '@material-ui/core/ListSubheader';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { addMonths, endOfMonth, startOfMonth } from 'date-fns';\nimport React, { FC } from 'react';\nimport { TopbarComponentProps } from '../types';\n\nconst useStyles = makeStyles(theme => ({\n formControl: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(3),\n minWidth: 120,\n },\n}));\n\nexport const TopbarComponent: FC<TopbarComponentProps> = ({\n aggregatedBy,\n aggregatedBySetter,\n tags,\n monthRange,\n monthRangeSetter,\n}) => {\n const classes = useStyles();\n\n const setPreDefinedMonthRange = (lastXMonth: number) => {\n monthRangeSetter({\n startMonth: startOfMonth(addMonths(new Date(), lastXMonth * -1)),\n endMonth: endOfMonth(new Date()),\n });\n };\n\n return (\n <Box>\n <FormControl className={classes.formControl}>\n <InputLabel shrink>Group by</InputLabel>\n <Select value={aggregatedBy} onChange={event => aggregatedBySetter(event.target.value)}>\n <MenuItem value=\"none\">\n <em>None</em>\n </MenuItem>\n <MenuItem value=\"name\">Name</MenuItem>\n <MenuItem value=\"provider\">Provider</MenuItem>\n <MenuItem value=\"category\">Category</MenuItem>\n <MenuItem value=\"service\">Cloud Service</MenuItem>\n <Divider light />\n <ListSubheader onClickCapture={e => e.stopPropagation()}>Tags</ListSubheader>\n {tags.map(tag => (\n <MenuItem key={tag} value={tag}>\n {`tag:${tag}`}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n\n <FormControl className={classes.formControl}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n value={monthRange.startMonth}\n label=\"From\"\n views={['year', 'month']}\n slotProps={{ textField: { variant: 'standard' } }}\n onAccept={value => {\n if (value) {\n monthRangeSetter({\n startMonth: startOfMonth(value),\n endMonth: endOfMonth(monthRange.endMonth),\n });\n }\n }}\n />\n </LocalizationProvider>\n </FormControl>\n\n <FormControl className={classes.formControl}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n value={monthRange.endMonth}\n label=\"To\"\n views={['year', 'month']}\n slotProps={{ textField: { variant: 'standard' } }}\n onAccept={value => {\n if (value) {\n monthRangeSetter({\n startMonth: startOfMonth(monthRange.startMonth),\n endMonth: endOfMonth(value),\n });\n }\n }}\n />\n </LocalizationProvider>\n </FormControl>\n\n <FormControl className={classes.formControl}>\n <FormHelperText>Quick selections for month ranges</FormHelperText>\n <Grid container spacing={3}>\n <Grid item xs={12}>\n <Button color=\"primary\" onClick={() => setPreDefinedMonthRange(2)}>\n Last 3 Months\n </Button>\n <Button color=\"primary\" onClick={() => setPreDefinedMonthRange(5)}>\n Last 6 Months\n </Button>\n <Button color=\"primary\" onClick={() => setPreDefinedMonthRange(11)}>\n Last 12 Months\n </Button>\n </Grid>\n </Grid>\n </FormControl>\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import * as react from 'react';
|
|
3
|
+
import react__default from 'react';
|
|
3
4
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
4
5
|
|
|
5
6
|
declare const infraWalletPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
@@ -7,4 +8,6 @@ declare const infraWalletPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
|
7
8
|
}, {}, {}>;
|
|
8
9
|
declare const InfraWalletPage: () => react.JSX.Element;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
declare const InfraWalletIcon: () => react__default.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { InfraWalletIcon, InfraWalletPage, infraWalletPlugin };
|
package/dist/index.esm.js
CHANGED
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/plugin.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n identityApiRef,\n configApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef } from './routes';\nimport { infraWalletApiRef } from './api/InfraWalletApi';\nimport { InfraWalletApiClient } from './api/InfraWalletApiClient';\n\nexport const infraWalletPlugin = createPlugin({\n id: 'infrawallet',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: infraWalletApiRef,\n deps: { identityApi: identityApiRef, configApi: configApiRef },\n factory: ({ identityApi, configApi })
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n identityApiRef,\n configApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef } from './routes';\nimport { infraWalletApiRef } from './api/InfraWalletApi';\nimport { InfraWalletApiClient } from './api/InfraWalletApiClient';\n\nexport const infraWalletPlugin = createPlugin({\n id: 'infrawallet',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: infraWalletApiRef,\n deps: { identityApi: identityApiRef, configApi: configApiRef },\n factory: ({ identityApi, configApi }) => new InfraWalletApiClient({ identityApi, configApi }),\n }),\n ],\n});\n\nexport const InfraWalletPage = infraWalletPlugin.provide(\n createRoutableExtension({\n name: 'InfraWalletPage',\n component: () => import('./routes').then(m => m.RootRoute),\n mountPoint: rootRouteRef,\n }),\n);\n"],"names":[],"mappings":";;;;;AAYO,MAAM,oBAAoB,YAAa,CAAA;AAAA,EAC5C,EAAI,EAAA,aAAA;AAAA,EACJ,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,YAAA;AAAA,GACR;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,gBAAiB,CAAA;AAAA,MACf,GAAK,EAAA,iBAAA;AAAA,MACL,IAAM,EAAA,EAAE,WAAa,EAAA,cAAA,EAAgB,WAAW,YAAa,EAAA;AAAA,MAC7D,OAAA,EAAS,CAAC,EAAE,WAAa,EAAA,SAAA,EAAgB,KAAA,IAAI,oBAAqB,CAAA,EAAE,WAAa,EAAA,SAAA,EAAW,CAAA;AAAA,KAC7F,CAAA;AAAA,GACH;AACF,CAAC,EAAA;AAEM,MAAM,kBAAkB,iBAAkB,CAAA,OAAA;AAAA,EAC/C,uBAAwB,CAAA;AAAA,IACtB,IAAM,EAAA,iBAAA;AAAA,IACN,SAAA,EAAW,MAAM,OAAO,iBAAU,EAAE,IAAK,CAAA,CAAA,CAAA,KAAK,EAAE,SAAS,CAAA;AAAA,IACzD,UAAY,EAAA,YAAA;AAAA,GACb,CAAA;AACH;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@electrolux-oss/plugin-infrawallet",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"backstage": {
|
|
5
5
|
"role": "frontend-plugin"
|
|
6
6
|
},
|
|
@@ -43,8 +43,7 @@
|
|
|
43
43
|
"@mui/x-data-grid": "7.3.1",
|
|
44
44
|
"@mui/x-date-pickers": "^6.20.0",
|
|
45
45
|
"@stitches/react": "1.2.8",
|
|
46
|
-
"@types/
|
|
47
|
-
"@types/react-date-range": "1.4.5",
|
|
46
|
+
"@types/react": "^18",
|
|
48
47
|
"@viniarruda/react-month-range-picker": "2.0.4",
|
|
49
48
|
"apexcharts": "3.42.0",
|
|
50
49
|
"better-react-mathjax": "^2.0.2",
|
|
@@ -67,6 +66,8 @@
|
|
|
67
66
|
"@testing-library/react": "^14.0.0",
|
|
68
67
|
"@testing-library/user-event": "^14.0.0",
|
|
69
68
|
"@types/lodash": "^4.14.151",
|
|
69
|
+
"@types/node-fetch": "^2.6.4",
|
|
70
|
+
"@types/react-date-range": "1.4.5",
|
|
70
71
|
"msw": "^1.0.0"
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|