@oneblink/apps-react 1.0.0-beta.5 → 1.0.0-beta.8
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/dist/components/CustomAccordion.js +5 -2
- package/dist/components/CustomAccordion.js.map +1 -1
- package/dist/components/ErrorSnackbar.js +1 -1
- package/dist/components/ErrorSnackbar.js.map +1 -1
- package/dist/components/LoadingWithMessage.js +3 -3
- package/dist/components/LoadingWithMessage.js.map +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +5 -2
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +5 -5
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/messages/ErrorMessage.js +1 -1
- package/dist/components/messages/ErrorMessage.js.map +1 -1
- package/dist/components/messages/LargeIconMessage.d.ts +2 -0
- package/dist/components/messages/LargeIconMessage.js +2 -2
- package/dist/components/messages/LargeIconMessage.js.map +1 -1
- package/dist/components/messages/NoResourcesYet.js +1 -1
- package/dist/components/messages/NoResourcesYet.js.map +1 -1
- package/package.json +1 -1
@@ -9,6 +9,9 @@ export const CustomAccordion = styled(Accordion)(({ theme }) => ({
|
|
9
9
|
'&:before': {
|
10
10
|
display: 'none',
|
11
11
|
},
|
12
|
+
'&.Mui-expanded': {
|
13
|
+
margin: 'unset',
|
14
|
+
},
|
12
15
|
'& .Mui-expanded': {
|
13
16
|
margin: 'auto',
|
14
17
|
},
|
@@ -23,8 +26,8 @@ export const CustomAccordionSummary = styled(AccordionSummary)(({ theme }) => ({
|
|
23
26
|
marginBottom: theme.spacing(1.5),
|
24
27
|
},
|
25
28
|
'& .MuiAccordionSummary-content': {
|
26
|
-
'
|
27
|
-
margin: theme.spacing(1, 0),
|
29
|
+
'&.Mui-expanded': {
|
30
|
+
margin: theme.spacing(1.5, 0),
|
28
31
|
},
|
29
32
|
},
|
30
33
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CustomAccordion.js","sourceRoot":"","sources":["../../src/components/CustomAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,eAAe,CAAA;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,MAAM;IACb,sBAAsB,EAAE;QACtB,YAAY,EAAE,MAAM;KACrB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,eAAe,EAAE,oBAAoB;IACrC,gBAAgB,EAAE;QAChB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5B;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;KACjC;IACD,gCAAgC,EAAE;QAChC,
|
1
|
+
{"version":3,"file":"CustomAccordion.js","sourceRoot":"","sources":["../../src/components/CustomAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,eAAe,CAAA;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,MAAM;IACb,sBAAsB,EAAE;QACtB,YAAY,EAAE,MAAM;KACrB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,OAAO;KAChB;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,eAAe,EAAE,oBAAoB;IACrC,gBAAgB,EAAE;QAChB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5B;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;KACjC;IACD,gCAAgC,EAAE;QAChC,gBAAgB,EAAE;YAChB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAC9B;KACF;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,SAAS,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;CAChD,CAAC,CAAC,CAAA","sourcesContent":["import {\n Accordion,\n AccordionSummary,\n AccordionDetails,\n styled,\n} from '@mui/material'\n\nexport const CustomAccordion = styled(Accordion)(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n boxShadow: 'none',\n width: '100%',\n '&:not(:last-of-type)': {\n borderBottom: 'none',\n },\n '&:before': {\n display: 'none',\n },\n '&.Mui-expanded': {\n margin: 'unset',\n },\n '& .Mui-expanded': {\n margin: 'auto',\n },\n}))\n\nexport const CustomAccordionSummary = styled(AccordionSummary)(({ theme }) => ({\n backgroundColor: 'rgba(0, 0, 0, .03)',\n '&.Mui-expanded': {\n minHeight: theme.spacing(6),\n },\n '& .Mui-expanded': {\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1.5),\n },\n '& .MuiAccordionSummary-content': {\n '&.Mui-expanded': {\n margin: theme.spacing(1.5, 0),\n },\n },\n}))\n\nexport const CustomAccordionDetails = styled(AccordionDetails)(({ theme }) => ({\n padding: theme.spacing(1, 2),\n borderTop: `1px solid ${theme.palette.divider}`,\n}))\n"]}
|
@@ -15,7 +15,7 @@ function ErrorSnackbar({ open, onClose, children, }) {
|
|
15
15
|
return (React.createElement(Snackbar, { anchorOrigin: {
|
16
16
|
vertical: 'bottom',
|
17
17
|
horizontal: 'right',
|
18
|
-
}, open: open, onClose: handleClose },
|
18
|
+
}, open: open, onClose: handleClose, className: "ob-error-snackbar" },
|
19
19
|
React.createElement(Alert, { severity: "error", action: React.createElement(IconButton, { key: "close", "aria-label": "Close", color: "inherit", onClick: handleClose, "data-cypress": "error-snackbar-close", size: "large" },
|
20
20
|
React.createElement(StyledCloseIcon, null)) }, children)));
|
21
21
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ErrorSnackbar.js","sourceRoot":"","sources":["../../src/components/ErrorSnackbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,QAAwB,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA6B,SAAS,KAAK,CACvE,KAAK,EACL,GAAG;IAEH,OAAO,oBAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAC,QAAQ,KAAK,KAAK,GAAI,CAAA;AACzE,CAAC,CAAC,CAAA;AAEF,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,QAAQ,GAKT;IACC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,CAAU,EAAE,MAAe,EAAE,EAAE;QAC9B,IAAI,MAAM,KAAK,WAAW,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IACD,OAAO,CACL,oBAAC,QAAQ,IACP,YAAY,EAAE;YACZ,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,OAAO;SACpB,EACD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW;
|
1
|
+
{"version":3,"file":"ErrorSnackbar.js","sourceRoot":"","sources":["../../src/components/ErrorSnackbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,QAAwB,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA6B,SAAS,KAAK,CACvE,KAAK,EACL,GAAG;IAEH,OAAO,oBAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAC,QAAQ,KAAK,KAAK,GAAI,CAAA;AACzE,CAAC,CAAC,CAAA;AAEF,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,QAAQ,GAKT;IACC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,CAAU,EAAE,MAAe,EAAE,EAAE;QAC9B,IAAI,MAAM,KAAK,WAAW,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IACD,OAAO,CACL,oBAAC,QAAQ,IACP,YAAY,EAAE;YACZ,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,OAAO;SACpB,EACD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,mBAAmB;QAE7B,oBAAC,KAAK,IACJ,QAAQ,EAAC,OAAO,EAChB,MAAM,EACJ,oBAAC,UAAU,IACT,GAAG,EAAC,OAAO,gBACA,OAAO,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,WAAW,kBACP,sBAAsB,EACnC,IAAI,EAAC,OAAO;gBAEZ,oBAAC,eAAe,OAAG,CACR,IAGd,QAAQ,CACH,CACC,CACZ,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC,CAAA;AAEH,eAAe,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Snackbar, IconButton } from '@mui/material'\nimport { Close } from '@mui/icons-material'\nimport MuiAlert, { AlertProps } from '@mui/material/Alert'\nimport { styled } from '@mui/material/styles'\n\nconst Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(\n props,\n ref,\n) {\n return <MuiAlert elevation={6} ref={ref} variant=\"filled\" {...props} />\n})\n\nfunction ErrorSnackbar({\n open,\n onClose,\n children,\n}: {\n open: boolean\n children: React.ReactNode\n onClose: (arg: null) => unknown\n}) {\n const handleClose = React.useCallback(\n (e: unknown, reason?: string) => {\n if (reason !== 'clickaway') {\n onClose(null)\n }\n },\n [onClose],\n )\n return (\n <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n open={open}\n onClose={handleClose}\n className=\"ob-error-snackbar\"\n >\n <Alert\n severity=\"error\"\n action={\n <IconButton\n key=\"close\"\n aria-label=\"Close\"\n color=\"inherit\"\n onClick={handleClose}\n data-cypress=\"error-snackbar-close\"\n size=\"large\"\n >\n <StyledCloseIcon />\n </IconButton>\n }\n >\n {children}\n </Alert>\n </Snackbar>\n )\n}\n\nconst StyledCloseIcon = styled(Close)(() => ({\n fontSize: 20,\n}))\n\nexport default React.memo(ErrorSnackbar)\n"]}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { Box, CircularProgress, Grid, Typography } from '@mui/material';
|
3
3
|
const Loading = ({ message }) => {
|
4
|
-
return (React.createElement(Box, { p: 2 },
|
5
|
-
React.createElement(Grid, { container: true, spacing: 2 },
|
4
|
+
return (React.createElement(Box, { p: 2, className: "ob-loading-with-message" },
|
5
|
+
React.createElement(Grid, { container: true, spacing: 2, className: "ob-loading" },
|
6
6
|
React.createElement(Grid, { xs: 12, container: true, item: true, justifyContent: "center" },
|
7
7
|
React.createElement(CircularProgress, null)),
|
8
|
-
message && (React.createElement(Grid, { xs: 12, container: true, item: true, justifyContent: "center" },
|
8
|
+
message && (React.createElement(Grid, { xs: 12, container: true, item: true, justifyContent: "center", className: "ob-loading-message" },
|
9
9
|
React.createElement(Typography, { variant: "body2", align: "center" }, message))))));
|
10
10
|
};
|
11
11
|
export default React.memo(Loading);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LoadingWithMessage.js","sourceRoot":"","sources":["../../src/components/LoadingWithMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKvE,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACrC,OAAO,CACL,oBAAC,GAAG,IAAC,CAAC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"LoadingWithMessage.js","sourceRoot":"","sources":["../../src/components/LoadingWithMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKvE,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACrC,OAAO,CACL,oBAAC,GAAG,IAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,yBAAyB;QAC5C,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAC,YAAY;YAChD,oBAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,QAAC,IAAI,QAAC,cAAc,EAAC,QAAQ;gBAClD,oBAAC,gBAAgB,OAAoB,CAChC;YACN,OAAO,IAAI,CACV,oBAAC,IAAI,IACH,EAAE,EAAE,EAAE,EACN,SAAS,QACT,IAAI,QACJ,cAAc,EAAC,QAAQ,EACvB,SAAS,EAAC,oBAAoB;gBAE9B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,IACvC,OAAO,CACG,CACR,CACR,CACI,CACH,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,OAAO,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Box, CircularProgress, Grid, Typography } from '@mui/material'\ntype Props = {\n message?: string\n}\n\nconst Loading = ({ message }: Props) => {\n return (\n <Box p={2} className=\"ob-loading-with-message\">\n <Grid container spacing={2} className=\"ob-loading\">\n <Grid xs={12} container item justifyContent=\"center\">\n <CircularProgress></CircularProgress>\n </Grid>\n {message && (\n <Grid\n xs={12}\n container\n item\n justifyContent=\"center\"\n className=\"ob-loading-message\"\n >\n <Typography variant=\"body2\" align=\"center\">\n {message}\n </Typography>\n </Grid>\n )}\n </Grid>\n </Box>\n )\n}\n\nexport default React.memo<Props>(Loading)\n"]}
|
@@ -81,6 +81,6 @@ export function FormStoreTableProvider({ form, children, }) {
|
|
81
81
|
loadError && (React.createElement(React.Fragment, null,
|
82
82
|
React.createElement(ErrorMessage, { title: "Error Retrieving Submissions", gutterBottom: true, gutterTop: true }, loadError.message),
|
83
83
|
React.createElement(Grid, { container: true, justifyContent: "center" },
|
84
|
-
React.createElement(Button, { variant: "outlined", color: "primary", onClick: () => onTryAgain() }, "Try Again"))))));
|
84
|
+
React.createElement(Button, { className: "ob-form-store-try-again-button", variant: "outlined", color: "primary", onClick: () => onTryAgain() }, "Try Again"))))));
|
85
85
|
}
|
86
86
|
//# sourceMappingURL=FormStoreTableProvider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormStoreTableProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/FormStoreTableProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,yBAAyB,MAAM,uCAAuC,CAAA;AAC7E,OAAO,iBAAiB,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,gCAAgC,EAAE,EACvC,cAAc,GACf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,cAAc,MAAM,4BAA4B,CAAA;AACvD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,UAAU,sBAAsB,CAAC,EACrC,IAAI,EACJ,QAAQ,GAIT;;IACC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EACJ,SAAS,EACT,SAAS,EACT,OAAO,EAAE,gBAAgB,EACzB,UAAU,EACV,SAAS,EACT,OAAO,EACP,eAAe,GAChB,GAAG,yBAAyB,CAG3B;QACA,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,OAAO,GAAsC,EAAE,CAAA;YACnD,IAAI;gBACF,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;oBACrC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBACpC;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;aACtD;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,GAAG;oBAChB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY,EAAE;iBAC3D,CAAA;aACF;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,EAAE,EAAE,CAAC;QACN,QAAQ,EAAE,KAAK,CAAC,WAAW,CACzB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;YACrC,6CAA6C;YAC7C,gDAAgD;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY;gBACxC,CAAC,CAAC;oBACE,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;gBACH,CAAC,CAAC,OAAO,CAAA;YACX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,sBAAsB,CAC1D;gBACE,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO,EAAE,aAAa;aACvB,EACD,WAAW,CACZ,CAAA;YACD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,gBAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAA;QACH,CAAC,EACD,CAAC,IAAI,CAAC,EAAE,CAAC,CACV;QACD,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAClC,CAAC,cAAiD,EAAE,EAAE;;YACpD,OAAO,cAAc,CAAC,MAAA,cAAc,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAA;QACzD,CAAC,EACD,EAAE,CACH;KACF,CAAC,CAAA;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,CAAC,OAAO,CAAC;YACd,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACjC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAEtB,MAAM,6BAA6B,GAAG,gCAAgC,CACpE,MAAA,OAAO,CAAC,YAAY,0CAAE,GAAG,CAC1B,CAAA;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,gBAAgB;QAChB,OAAO;QACP,eAAe;QACf,6BAA6B;QAC7B,IAAI;QACJ,SAAS;KACV,CAAC,CAAA;IAEF,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc;QAClD,QAAQ;QACR,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CACtC,0CACG,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CACvD,oBAAC,cAAc,IACb,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAC,qBAAqB,sDAGZ,CAClB,CACA,CACJ,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,IACb,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAC,oBAAoB,EAC1B,YAAY,+HAIG,CAClB;QAEA,SAAS,IAAI,oBAAC,kBAAkB,IAAC,OAAO,EAAC,yBAAyB,GAAG;QAErE,SAAS,IAAI,CACZ;YACE,oBAAC,YAAY,IACX,KAAK,EAAC,8BAA8B,EACpC,YAAY,QACZ,SAAS,UAER,SAAS,CAAC,OAAO,CACL;YACf,oBAAC,IAAI,IAAC,SAAS,QAAC,cAAc,EAAC,QAAQ;gBACrC,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,gBAGpB,CACJ,CACN,CACJ,CAC8B,CAClC,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport { useHistory } from 'react-router-dom'\nimport querystring from 'query-string'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '@oneblink/apps'\nimport useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad'\nimport useFormStoreTable from './table/useFormStoreTable'\nimport { Button, Grid } from '@mui/material'\nimport { Settings as SettingsIcon } from '@mui/icons-material'\nimport { FormTypes } from '@oneblink/types'\nimport useSubmissionIdValidationMessage, {\n validateIsUUID,\n} from '../../hooks/useSubmissionIdIsValid'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport NoResourcesYet from '../messages/NoResourcesYet'\nimport FormStoreIcon from './display/FormStoreIcon'\nimport { FormStoreTableContext } from './useFormStoreTableContext'\n\nexport function FormStoreTableProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const history = useHistory()\n const {\n isLoading,\n loadError,\n records: formStoreRecords,\n onTryAgain,\n onRefresh,\n filters,\n onChangeFilters,\n } = useInfiniteScrollDataLoad<\n formStoreService.FormStoreFilters,\n FormStoreRecord\n >({\n limit: 50,\n debounceSearchMs: 1000,\n onDefaultFilters: React.useCallback((query) => {\n let filters: formStoreService.FormStoreFilters = {}\n try {\n if (typeof query.filters === 'string') {\n filters = JSON.parse(query.filters)\n }\n } catch (error) {\n console.warn('Could not parse filter as JSON', error)\n }\n if (!filters.sorting) {\n filters.sorting = [\n { property: 'dateTimeSubmitted', direction: 'descending' },\n ]\n }\n return filters\n }, []),\n onSearch: React.useCallback(\n async (filters, paging, abortSignal) => {\n // Exclude all search parameters if searching\n // for a specific submission using an identifier\n const searchFilters = filters.submissionId\n ? {\n submissionId: filters.submissionId,\n }\n : filters\n const result = await formStoreService.searchFormStoreRecords(\n {\n paging,\n formId: form.id,\n filters: searchFilters,\n },\n abortSignal,\n )\n return {\n records: result.formStoreRecords,\n meta: result.meta,\n }\n },\n [form.id],\n ),\n onValidateFilters: React.useCallback(\n (currentFilters: formStoreService.FormStoreFilters) => {\n return validateIsUUID(currentFilters.submissionId?.$eq)\n },\n [],\n ),\n })\n\n React.useEffect(() => {\n history.replace({\n search: querystring.stringify({\n filters: JSON.stringify(filters),\n }),\n })\n }, [filters, history])\n\n const submissionIdValidationMessage = useSubmissionIdValidationMessage(\n filters.submissionId?.$eq,\n )\n\n const formStoreTable = useFormStoreTable({\n formStoreRecords,\n filters,\n onChangeFilters,\n submissionIdValidationMessage,\n form,\n onRefresh,\n })\n\n return (\n <FormStoreTableContext.Provider value={formStoreTable}>\n {children}\n {formStoreTable.visibleColumns.length ? (\n <>\n {!formStoreRecords.length && !isLoading && !loadError && (\n <NoResourcesYet\n IconComponent={FormStoreIcon}\n title=\"No Records Found...\"\n >\n There are no Submissions matching your filters.\n </NoResourcesYet>\n )}\n </>\n ) : (\n <NoResourcesYet\n IconComponent={SettingsIcon}\n title=\"No Columns Visible\"\n gutterBottom\n >\n It looks like you have hidden all of the available columns. Please\n enable at least one column to view submissions.\n </NoResourcesYet>\n )}\n\n {isLoading && <LoadingWithMessage message=\"Loading more records...\" />}\n\n {loadError && (\n <>\n <ErrorMessage\n title=\"Error Retrieving Submissions\"\n gutterBottom\n gutterTop\n >\n {loadError.message}\n </ErrorMessage>\n <Grid container justifyContent=\"center\">\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain()}\n >\n Try Again\n </Button>\n </Grid>\n </>\n )}\n </FormStoreTableContext.Provider>\n )\n}\n"]}
|
1
|
+
{"version":3,"file":"FormStoreTableProvider.js","sourceRoot":"","sources":["../../../src/components/formStore/FormStoreTableProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { useHistory } from 'react-router-dom'\nimport querystring from 'query-string'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '@oneblink/apps'\nimport useInfiniteScrollDataLoad from '../../hooks/useInfiniteScrollDataLoad'\nimport useFormStoreTable from './table/useFormStoreTable'\nimport { Button, Grid } from '@mui/material'\nimport { Settings as SettingsIcon } from '@mui/icons-material'\nimport { FormTypes } from '@oneblink/types'\nimport useSubmissionIdValidationMessage, {\n validateIsUUID,\n} from '../../hooks/useSubmissionIdIsValid'\nimport ErrorMessage from '../messages/ErrorMessage'\nimport LoadingWithMessage from '../LoadingWithMessage'\nimport NoResourcesYet from '../messages/NoResourcesYet'\nimport FormStoreIcon from './display/FormStoreIcon'\nimport { FormStoreTableContext } from './useFormStoreTableContext'\n\nexport function FormStoreTableProvider({\n form,\n children,\n}: {\n form: FormTypes.Form\n children: React.ReactNode\n}) {\n const history = useHistory()\n const {\n isLoading,\n loadError,\n records: formStoreRecords,\n onTryAgain,\n onRefresh,\n filters,\n onChangeFilters,\n } = useInfiniteScrollDataLoad<\n formStoreService.FormStoreFilters,\n FormStoreRecord\n >({\n limit: 50,\n debounceSearchMs: 1000,\n onDefaultFilters: React.useCallback((query) => {\n let filters: formStoreService.FormStoreFilters = {}\n try {\n if (typeof query.filters === 'string') {\n filters = JSON.parse(query.filters)\n }\n } catch (error) {\n console.warn('Could not parse filter as JSON', error)\n }\n if (!filters.sorting) {\n filters.sorting = [\n { property: 'dateTimeSubmitted', direction: 'descending' },\n ]\n }\n return filters\n }, []),\n onSearch: React.useCallback(\n async (filters, paging, abortSignal) => {\n // Exclude all search parameters if searching\n // for a specific submission using an identifier\n const searchFilters = filters.submissionId\n ? {\n submissionId: filters.submissionId,\n }\n : filters\n const result = await formStoreService.searchFormStoreRecords(\n {\n paging,\n formId: form.id,\n filters: searchFilters,\n },\n abortSignal,\n )\n return {\n records: result.formStoreRecords,\n meta: result.meta,\n }\n },\n [form.id],\n ),\n onValidateFilters: React.useCallback(\n (currentFilters: formStoreService.FormStoreFilters) => {\n return validateIsUUID(currentFilters.submissionId?.$eq)\n },\n [],\n ),\n })\n\n React.useEffect(() => {\n history.replace({\n search: querystring.stringify({\n filters: JSON.stringify(filters),\n }),\n })\n }, [filters, history])\n\n const submissionIdValidationMessage = useSubmissionIdValidationMessage(\n filters.submissionId?.$eq,\n )\n\n const formStoreTable = useFormStoreTable({\n formStoreRecords,\n filters,\n onChangeFilters,\n submissionIdValidationMessage,\n form,\n onRefresh,\n })\n\n return (\n <FormStoreTableContext.Provider value={formStoreTable}>\n {children}\n {formStoreTable.visibleColumns.length ? (\n <>\n {!formStoreRecords.length && !isLoading && !loadError && (\n <NoResourcesYet\n IconComponent={FormStoreIcon}\n title=\"No Records Found...\"\n >\n There are no Submissions matching your filters.\n </NoResourcesYet>\n )}\n </>\n ) : (\n <NoResourcesYet\n IconComponent={SettingsIcon}\n title=\"No Columns Visible\"\n gutterBottom\n >\n It looks like you have hidden all of the available columns. Please\n enable at least one column to view submissions.\n </NoResourcesYet>\n )}\n\n {isLoading && <LoadingWithMessage message=\"Loading more records...\" />}\n\n {loadError && (\n <>\n <ErrorMessage\n title=\"Error Retrieving Submissions\"\n gutterBottom\n gutterTop\n >\n {loadError.message}\n </ErrorMessage>\n <Grid container justifyContent=\"center\">\n <Button\n className=\"ob-form-store-try-again-button\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain()}\n >\n Try Again\n </Button>\n </Grid>\n </>\n )}\n </FormStoreTableContext.Provider>\n )\n}\n"]}
|
@@ -3,8 +3,11 @@ import { Button } from '@mui/material';
|
|
3
3
|
import { FilterList as FilterIcon } from '@mui/icons-material';
|
4
4
|
import useFormStoreTableContext from './useFormStoreTableContext';
|
5
5
|
function OneBlinkFormStoreClearFiltersButton(props) {
|
6
|
-
const { onChangeFilters } = useFormStoreTableContext();
|
7
|
-
|
6
|
+
const { onChangeFilters, filters } = useFormStoreTableContext();
|
7
|
+
const isDisabled = React.useMemo(() => {
|
8
|
+
return !Object.keys(filters).some((key) => key !== 'sorting');
|
9
|
+
}, [filters]);
|
10
|
+
return (React.createElement(Button, { className: "ob-form-store-clear-filters-button", startIcon: React.createElement(FilterIcon, null), disabled: isDisabled, onClick: () => {
|
8
11
|
onChangeFilters((currentFilters) => ({
|
9
12
|
sorting: currentFilters.sorting,
|
10
13
|
}), false);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OneBlinkFormStoreClearFiltersButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreClearFiltersButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,mCAAmC,CAC1C,KAA0C;IAE1C,MAAM,EAAE,eAAe,EAAE,GAAG,wBAAwB,EAAE,CAAA;
|
1
|
+
{"version":3,"file":"OneBlinkFormStoreClearFiltersButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreClearFiltersButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,mCAAmC,CAC1C,KAA0C;IAE1C,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;IAC/D,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAC,oCAAoC,EAC9C,SAAS,EAAE,oBAAC,UAAU,OAAG,EACzB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE;YACZ,eAAe,CACb,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACnB,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC,EACF,KAAK,CACN,CAAA;QACH,CAAC;QACD,kDAAkD;QAClD,QAAQ,EAAE,0DAAkB,KACxB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Button } from '@mui/material'\nimport { FilterList as FilterIcon } from '@mui/icons-material'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreClearFiltersButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { onChangeFilters, filters } = useFormStoreTableContext()\n const isDisabled = React.useMemo(() => {\n return !Object.keys(filters).some((key) => key !== 'sorting')\n }, [filters])\n return (\n <Button\n className=\"ob-form-store-clear-filters-button\"\n startIcon={<FilterIcon />}\n disabled={isDisabled}\n onClick={() => {\n onChangeFilters(\n (currentFilters) => ({\n sorting: currentFilters.sorting,\n }),\n false,\n )\n }}\n // eslint-disable-next-line react/no-children-prop\n children={<>Clear Filters</>}\n {...props}\n />\n )\n}\n\nexport default React.memo(OneBlinkFormStoreClearFiltersButton)\n"]}
|
@@ -8,7 +8,7 @@ function OneBlinkFormStoreColumnsButton(props) {
|
|
8
8
|
const [isConfiguringColumns, showColumnConfiguration, hideColumnConfiguration,] = useBooleanState(false);
|
9
9
|
const toggleHideAllColumnsProps = getToggleHideAllColumnsProps();
|
10
10
|
return (React.createElement(React.Fragment, null,
|
11
|
-
React.createElement(Button, { startIcon: React.createElement(SettingsIcon, null), onClick: showColumnConfiguration,
|
11
|
+
React.createElement(Button, { className: "ob-form-store-columns-button", startIcon: React.createElement(SettingsIcon, null), onClick: showColumnConfiguration,
|
12
12
|
// eslint-disable-next-line react/no-children-prop
|
13
13
|
children: React.createElement(React.Fragment, null, "Columns"), ...props }),
|
14
14
|
React.createElement(Dialog, { open: isConfiguringColumns, maxWidth: "sm", fullWidth: true, onClose: hideColumnConfiguration },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OneBlinkFormStoreColumnsButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreColumnsButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,GAChD,wBAAwB,EAAE,CAAA;IAC5B,MAAM,CACJ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACxB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAE1B,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAA;IAEhE,OAAO,CACL;QACE,oBAAC,MAAM,IACL,SAAS,EAAE,oBAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,uBAAuB;YAChC,kDAAkD;YAClD,QAAQ,EAAE,oDAAY,KAClB,KAAK,GACT;QACF,oBAAC,MAAM,IACL,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAC,IAAI,EACb,SAAS,QACT,OAAO,EAAE,uBAAuB;YAEhC,oBAAC,WAAW,+BAAmC;YAC/C,oBAAC,aAAa,IAAC,QAAQ;gBACrB,oBAAC,SAAS;oBACR,oBAAC,gBAAgB,IACf,OAAO,EACL,oBAAC,QAAQ,OACH,yBAAyB,EAC7B,aAAa,EAAE,CAAC,CAAC,yBAAyB,CAAC,aAAa,GACxD,EAEJ,KAAK,EAAE,4CAAiB,GACxB;oBACD,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACzB,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE;4BAC5B,oBAAC,gBAAgB,IACf,OAAO,EAAE,oBAAC,QAAQ,OAAK,MAAM,CAAC,oBAAoB,EAAE,GAAI,EACxD,KAAK,EACH;oCACG,MAAM,CAAC,UAAU;oCACjB,MAAM,CAAC,OAAO,IAAI,CACjB,oBAAC,UAAU,IAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,eAAe;wCAC/C,GAAG;;wCACF,MAAM,CAAC,OAAO;4CACL,CACd,CACA,GAEL,CACa,CAClB,CAAA;oBACH,CAAC,CAAC,CACQ,CACE;YAChB,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,WAGZ,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport {\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControlLabel,\n FormGroup,\n Typography,\n} from '@mui/material'\nimport { Settings as SettingsIcon } from '@mui/icons-material'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreColumnsButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { getToggleHideAllColumnsProps, allColumns } =\n useFormStoreTableContext()\n const [\n isConfiguringColumns,\n showColumnConfiguration,\n hideColumnConfiguration,\n ] = useBooleanState(false)\n\n const toggleHideAllColumnsProps = getToggleHideAllColumnsProps()\n\n return (\n <>\n <Button\n startIcon={<SettingsIcon />}\n onClick={showColumnConfiguration}\n // eslint-disable-next-line react/no-children-prop\n children={<>Columns</>}\n {...props}\n />\n <Dialog\n open={isConfiguringColumns}\n maxWidth=\"sm\"\n fullWidth\n onClose={hideColumnConfiguration}\n >\n <DialogTitle>Column Configuration</DialogTitle>\n <DialogContent dividers>\n <FormGroup>\n <FormControlLabel\n control={\n <Checkbox\n {...toggleHideAllColumnsProps}\n indeterminate={!!toggleHideAllColumnsProps.indeterminate}\n />\n }\n label={<b>Toggle All</b>}\n />\n {allColumns.map((column) => {\n return (\n <React.Fragment key={column.id}>\n <FormControlLabel\n control={<Checkbox {...column.getToggleHiddenProps()} />}\n label={\n <>\n {column.headerText}\n {column.tooltip && (\n <Typography component=\"span\" color=\"textSecondary\">\n {' '}\n ({column.tooltip})\n </Typography>\n )}\n </>\n }\n />\n </React.Fragment>\n )\n })}\n </FormGroup>\n </DialogContent>\n <DialogActions>\n <Button\n onClick={hideColumnConfiguration}\n color=\"primary\"\n variant=\"contained\"\n >\n Done\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\nexport default React.memo(OneBlinkFormStoreColumnsButton)\n"]}
|
1
|
+
{"version":3,"file":"OneBlinkFormStoreColumnsButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreColumnsButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,GAChD,wBAAwB,EAAE,CAAA;IAC5B,MAAM,CACJ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACxB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAE1B,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAA;IAEhE,OAAO,CACL;QACE,oBAAC,MAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,SAAS,EAAE,oBAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,uBAAuB;YAChC,kDAAkD;YAClD,QAAQ,EAAE,oDAAY,KAClB,KAAK,GACT;QACF,oBAAC,MAAM,IACL,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAC,IAAI,EACb,SAAS,QACT,OAAO,EAAE,uBAAuB;YAEhC,oBAAC,WAAW,+BAAmC;YAC/C,oBAAC,aAAa,IAAC,QAAQ;gBACrB,oBAAC,SAAS;oBACR,oBAAC,gBAAgB,IACf,OAAO,EACL,oBAAC,QAAQ,OACH,yBAAyB,EAC7B,aAAa,EAAE,CAAC,CAAC,yBAAyB,CAAC,aAAa,GACxD,EAEJ,KAAK,EAAE,4CAAiB,GACxB;oBACD,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACzB,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE;4BAC5B,oBAAC,gBAAgB,IACf,OAAO,EAAE,oBAAC,QAAQ,OAAK,MAAM,CAAC,oBAAoB,EAAE,GAAI,EACxD,KAAK,EACH;oCACG,MAAM,CAAC,UAAU;oCACjB,MAAM,CAAC,OAAO,IAAI,CACjB,oBAAC,UAAU,IAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,eAAe;wCAC/C,GAAG;;wCACF,MAAM,CAAC,OAAO;4CACL,CACd,CACA,GAEL,CACa,CAClB,CAAA;oBACH,CAAC,CAAC,CACQ,CACE;YAChB,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,WAGZ,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport {\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControlLabel,\n FormGroup,\n Typography,\n} from '@mui/material'\nimport { Settings as SettingsIcon } from '@mui/icons-material'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreColumnsButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { getToggleHideAllColumnsProps, allColumns } =\n useFormStoreTableContext()\n const [\n isConfiguringColumns,\n showColumnConfiguration,\n hideColumnConfiguration,\n ] = useBooleanState(false)\n\n const toggleHideAllColumnsProps = getToggleHideAllColumnsProps()\n\n return (\n <>\n <Button\n className=\"ob-form-store-columns-button\"\n startIcon={<SettingsIcon />}\n onClick={showColumnConfiguration}\n // eslint-disable-next-line react/no-children-prop\n children={<>Columns</>}\n {...props}\n />\n <Dialog\n open={isConfiguringColumns}\n maxWidth=\"sm\"\n fullWidth\n onClose={hideColumnConfiguration}\n >\n <DialogTitle>Column Configuration</DialogTitle>\n <DialogContent dividers>\n <FormGroup>\n <FormControlLabel\n control={\n <Checkbox\n {...toggleHideAllColumnsProps}\n indeterminate={!!toggleHideAllColumnsProps.indeterminate}\n />\n }\n label={<b>Toggle All</b>}\n />\n {allColumns.map((column) => {\n return (\n <React.Fragment key={column.id}>\n <FormControlLabel\n control={<Checkbox {...column.getToggleHiddenProps()} />}\n label={\n <>\n {column.headerText}\n {column.tooltip && (\n <Typography component=\"span\" color=\"textSecondary\">\n {' '}\n ({column.tooltip})\n </Typography>\n )}\n </>\n }\n />\n </React.Fragment>\n )\n })}\n </FormGroup>\n </DialogContent>\n <DialogActions>\n <Button\n onClick={hideColumnConfiguration}\n color=\"primary\"\n variant=\"contained\"\n >\n Done\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\nexport default React.memo(OneBlinkFormStoreColumnsButton)\n"]}
|
@@ -39,7 +39,7 @@ function OneBlinkFormStoreDownloadButton(props) {
|
|
39
39
|
}, [form, filters, visibleColumns]);
|
40
40
|
return (React.createElement(React.Fragment, null,
|
41
41
|
React.createElement(Tooltip, { title: "Download submission data as a CSV file" },
|
42
|
-
React.createElement(LoadingButton, { type: "button", loading: isDownloadingCsv, loadingPosition: "start", startIcon: React.createElement(CsvIcon, null), onClick: downloadCsv,
|
42
|
+
React.createElement(LoadingButton, { className: "ob-form-store-download-csv-button", type: "button", loading: isDownloadingCsv, loadingPosition: "start", startIcon: React.createElement(CsvIcon, null), onClick: downloadCsv,
|
43
43
|
// eslint-disable-next-line react/no-children-prop
|
44
44
|
children: React.createElement(React.Fragment, null, "Download"), ...props })),
|
45
45
|
React.createElement(ErrorSnackbar, { open: !!downloadingCsvError, onClose: clearError },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OneBlinkFormStoreDownloadButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreDownloadButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,OAAO,MAAM,8BAA8B,CAAA;AAClD,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,+BAA+B,CACtC,KAAiD;IAEjD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,wBAAwB,EAAE,CAAA;IACpE,MAAM,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAGzE;QACD,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,QAAQ,CAAC;YACP,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI;YACF,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE;gBACvD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO;gBACP,cAAc,EAAE,cAAc,CAAC,GAAG,CAChC,CAAC,aAA8C,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CACrE;aACF,CAAC,CAAA;YACF,QAAQ,CAAC;gBACP,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAA;SACH;QAAC,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC;gBACP,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAc;aACpC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;IAEnC,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,KAAK,EAAC,wCAAwC;YACrD,oBAAC,aAAa,IACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,OAAO,EAAE,WAAW;gBACpB,kDAAkD;gBAClD,QAAQ,EAAE,qDAAa,KACnB,KAAK,GACT,CACM;QAEV,oBAAC,aAAa,IAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,OAAO,EAAE,UAAU;YAC7D,8CAAmB,2BAA2B,IAC3C,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAC9C,CACO,CACf,CACJ,CAAA;AACH,CAAC;AACD,eAAe,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Tooltip } from '@mui/material'\nimport { LoadingButton } from '@mui/lab'\nimport CsvIcon from '@mui/icons-material/Download'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport { ColumnInstance } from 'react-table'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '@oneblink/apps'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreDownloadButton(\n props: React.ComponentProps<typeof LoadingButton>,\n) {\n const { visibleColumns, filters, form } = useFormStoreTableContext()\n const [{ isDownloadingCsv, downloadingCsvError }, setState] = React.useState<{\n isDownloadingCsv: boolean\n downloadingCsvError: Error | null\n }>({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n const clearError = React.useCallback(() => {\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n }, [])\n\n const downloadCsv = React.useCallback(async () => {\n setState({ isDownloadingCsv: true, downloadingCsvError: null })\n try {\n await formStoreService.exportFormStoreRecords(form.name, {\n formId: form.id,\n filters,\n includeColumns: visibleColumns.map(\n (visibleColumn: ColumnInstance<FormStoreRecord>) => visibleColumn.id,\n ),\n })\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n } catch (error) {\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: error as Error,\n })\n }\n }, [form, filters, visibleColumns])\n\n return (\n <>\n <Tooltip title=\"Download submission data as a CSV file\">\n <LoadingButton\n type=\"button\"\n loading={isDownloadingCsv}\n loadingPosition=\"start\"\n startIcon={<CsvIcon />}\n onClick={downloadCsv}\n // eslint-disable-next-line react/no-children-prop\n children={<>Download</>}\n {...props}\n />\n </Tooltip>\n\n <ErrorSnackbar open={!!downloadingCsvError} onClose={clearError}>\n <span data-cypress=\"edit-dialog-error-message\">\n {downloadingCsvError && downloadingCsvError.message}\n </span>\n </ErrorSnackbar>\n </>\n )\n}\nexport default React.memo(OneBlinkFormStoreDownloadButton)\n"]}
|
1
|
+
{"version":3,"file":"OneBlinkFormStoreDownloadButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreDownloadButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,OAAO,MAAM,8BAA8B,CAAA;AAClD,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,+BAA+B,CACtC,KAAiD;IAEjD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,wBAAwB,EAAE,CAAA;IACpE,MAAM,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAGzE;QACD,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,QAAQ,CAAC;YACP,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI;YACF,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE;gBACvD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO;gBACP,cAAc,EAAE,cAAc,CAAC,GAAG,CAChC,CAAC,aAA8C,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CACrE;aACF,CAAC,CAAA;YACF,QAAQ,CAAC;gBACP,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAA;SACH;QAAC,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC;gBACP,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAc;aACpC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;IAEnC,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,KAAK,EAAC,wCAAwC;YACrD,oBAAC,aAAa,IACZ,SAAS,EAAC,mCAAmC,EAC7C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,OAAO,EAAE,WAAW;gBACpB,kDAAkD;gBAClD,QAAQ,EAAE,qDAAa,KACnB,KAAK,GACT,CACM;QAEV,oBAAC,aAAa,IAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,OAAO,EAAE,UAAU;YAC7D,8CAAmB,2BAA2B,IAC3C,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAC9C,CACO,CACf,CACJ,CAAA;AACH,CAAC;AACD,eAAe,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Tooltip } from '@mui/material'\nimport { LoadingButton } from '@mui/lab'\nimport CsvIcon from '@mui/icons-material/Download'\nimport ErrorSnackbar from '../ErrorSnackbar'\nimport { ColumnInstance } from 'react-table'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { formStoreService } from '@oneblink/apps'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreDownloadButton(\n props: React.ComponentProps<typeof LoadingButton>,\n) {\n const { visibleColumns, filters, form } = useFormStoreTableContext()\n const [{ isDownloadingCsv, downloadingCsvError }, setState] = React.useState<{\n isDownloadingCsv: boolean\n downloadingCsvError: Error | null\n }>({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n const clearError = React.useCallback(() => {\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n }, [])\n\n const downloadCsv = React.useCallback(async () => {\n setState({ isDownloadingCsv: true, downloadingCsvError: null })\n try {\n await formStoreService.exportFormStoreRecords(form.name, {\n formId: form.id,\n filters,\n includeColumns: visibleColumns.map(\n (visibleColumn: ColumnInstance<FormStoreRecord>) => visibleColumn.id,\n ),\n })\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: null,\n })\n } catch (error) {\n setState({\n isDownloadingCsv: false,\n downloadingCsvError: error as Error,\n })\n }\n }, [form, filters, visibleColumns])\n\n return (\n <>\n <Tooltip title=\"Download submission data as a CSV file\">\n <LoadingButton\n className=\"ob-form-store-download-csv-button\"\n type=\"button\"\n loading={isDownloadingCsv}\n loadingPosition=\"start\"\n startIcon={<CsvIcon />}\n onClick={downloadCsv}\n // eslint-disable-next-line react/no-children-prop\n children={<>Download</>}\n {...props}\n />\n </Tooltip>\n\n <ErrorSnackbar open={!!downloadingCsvError} onClose={clearError}>\n <span data-cypress=\"edit-dialog-error-message\">\n {downloadingCsvError && downloadingCsvError.message}\n </span>\n </ErrorSnackbar>\n </>\n )\n}\nexport default React.memo(OneBlinkFormStoreDownloadButton)\n"]}
|
@@ -4,7 +4,7 @@ import { Sync as SyncIcon } from '@mui/icons-material';
|
|
4
4
|
import useFormStoreTableContext from './useFormStoreTableContext';
|
5
5
|
function OneBlinkFormStoreRefreshButton(props) {
|
6
6
|
const { onRefresh, submissionIdValidationMessage } = useFormStoreTableContext();
|
7
|
-
return (React.createElement(Button, { startIcon: React.createElement(SyncIcon, null), onClick: onRefresh, color: "primary", variant: "contained", disabled: !!submissionIdValidationMessage,
|
7
|
+
return (React.createElement(Button, { className: "ob-form-store-refresh-button", startIcon: React.createElement(SyncIcon, null), onClick: onRefresh, color: "primary", variant: "contained", disabled: !!submissionIdValidationMessage,
|
8
8
|
// eslint-disable-next-line react/no-children-prop
|
9
9
|
children: React.createElement(React.Fragment, null, "Refresh"), ...props }));
|
10
10
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OneBlinkFormStoreRefreshButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreRefreshButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,SAAS,EAAE,6BAA6B,EAAE,GAChD,wBAAwB,EAAE,CAAA;IAC5B,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,oBAAC,QAAQ,OAAG,EACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,CAAC,6BAA6B;QACzC,kDAAkD;QAClD,QAAQ,EAAE,oDAAY,KAClB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Button } from '@mui/material'\nimport { Sync as SyncIcon } from '@mui/icons-material'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreRefreshButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { onRefresh, submissionIdValidationMessage } =\n useFormStoreTableContext()\n return (\n <Button\n startIcon={<SyncIcon />}\n onClick={onRefresh}\n color=\"primary\"\n variant=\"contained\"\n disabled={!!submissionIdValidationMessage}\n // eslint-disable-next-line react/no-children-prop\n children={<>Refresh</>}\n {...props}\n />\n )\n}\n\nexport default React.memo(OneBlinkFormStoreRefreshButton)\n"]}
|
1
|
+
{"version":3,"file":"OneBlinkFormStoreRefreshButton.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreRefreshButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,SAAS,EAAE,6BAA6B,EAAE,GAChD,wBAAwB,EAAE,CAAA;IAC5B,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,SAAS,EAAE,oBAAC,QAAQ,OAAG,EACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,CAAC,6BAA6B;QACzC,kDAAkD;QAClD,QAAQ,EAAE,oDAAY,KAClB,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Button } from '@mui/material'\nimport { Sync as SyncIcon } from '@mui/icons-material'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nfunction OneBlinkFormStoreRefreshButton(\n props: React.ComponentProps<typeof Button>,\n) {\n const { onRefresh, submissionIdValidationMessage } =\n useFormStoreTableContext()\n return (\n <Button\n className=\"ob-form-store-refresh-button\"\n startIcon={<SyncIcon />}\n onClick={onRefresh}\n color=\"primary\"\n variant=\"contained\"\n disabled={!!submissionIdValidationMessage}\n // eslint-disable-next-line react/no-children-prop\n children={<>Refresh</>}\n {...props}\n />\n )\n}\n\nexport default React.memo(OneBlinkFormStoreRefreshButton)\n"]}
|
@@ -93,9 +93,9 @@ function OneBlinkFormStoreTable() {
|
|
93
93
|
return null;
|
94
94
|
}
|
95
95
|
return (React.createElement(React.Fragment, null,
|
96
|
-
React.createElement(Table, { ...getTableProps() },
|
96
|
+
React.createElement(Table, { ...getTableProps(), className: "ob-form-store-table" },
|
97
97
|
React.createElement("div", { className: "thead" },
|
98
|
-
React.createElement("div", { ...parentHeaderGroup.getHeaderGroupProps(), className: "tr" },
|
98
|
+
React.createElement("div", { ...parentHeaderGroup.getHeaderGroupProps(), className: "tr ob-form-store-table-header-row" },
|
99
99
|
// Loop over the headers in each row
|
100
100
|
parentHeaderGroup.headers.map((headerGroup) => {
|
101
101
|
var _a, _b, _c, _d, _e;
|
@@ -106,7 +106,7 @@ function OneBlinkFormStoreTable() {
|
|
106
106
|
zIndex: 'drawer',
|
107
107
|
},
|
108
108
|
} },
|
109
|
-
React.createElement("div", { className: clsx('th tc', {
|
109
|
+
React.createElement("div", { className: clsx('th tc ob-form-store-table-header-cell', {
|
110
110
|
'is-clickable': !!sortingProperty,
|
111
111
|
}), onClick: sortingProperty
|
112
112
|
? () => {
|
@@ -168,11 +168,11 @@ function OneBlinkFormStoreTable() {
|
|
168
168
|
prepareRow(row);
|
169
169
|
return (
|
170
170
|
// Apply the row props
|
171
|
-
React.createElement("div", { ...row.getRowProps(), key: row.id, className: "tr" },
|
171
|
+
React.createElement("div", { ...row.getRowProps(), key: row.id, className: "tr ob-form-store-table-row" },
|
172
172
|
// Loop over the rows cells
|
173
173
|
row.cells.map((cell) => {
|
174
174
|
// Apply the cell props
|
175
|
-
return (React.createElement(IsHoveringProvider, { ...cell.getCellProps(), key: cell.column.id, className: clsx('td tc', {
|
175
|
+
return (React.createElement(IsHoveringProvider, { ...cell.getCellProps(), key: cell.column.id, className: clsx('td tc ob-form-store-table-row-cell', {
|
176
176
|
'is-resizing': cell.column.isResizing,
|
177
177
|
}) },
|
178
178
|
// Render the cell contents
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"OneBlinkFormStoreTable.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { styled, Tooltip } from '@mui/material'\nimport {\n FilterList as FilterListIcon,\n Warning as WarningIcon,\n ArrowDownward,\n} from '@mui/icons-material'\nimport { IsHoveringProvider } from '../../hooks/useIsHovering'\nimport HeaderCellMoreButton from './table/HeaderCellMoreButton'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nconst SortingIcon = styled(ArrowDownward)(({ theme }) => ({\n transition: theme.transitions.create('transform'),\n}))\n\nconst Table = styled('div')(({ theme }) => ({\n display: 'inline-block',\n backgroundColor: theme.palette.background.paper,\n fontSize: theme.typography.body2.fontSize,\n '& .tc': {\n padding: theme.spacing(1),\n borderBottom: '1px solid',\n borderBottomColor: theme.palette.divider,\n display: 'flex',\n alignItems: 'center',\n '&.is-clickable': {\n cursor: 'pointer',\n transition: theme.transitions.create('transform'),\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n '& .td': {\n position: 'relative',\n borderRight: '1px solid',\n borderRightColor: theme.palette.divider,\n overflowX: 'hidden',\n // minus 1 to cater for the border\n minHeight: `${parseInt(theme.spacing(5.5)) - 1}px`,\n '&.is-resizing': {\n borderRightStyle: 'dashed',\n },\n },\n '& .th': {\n position: 'relative',\n fontWeight: theme.typography.fontWeightBold,\n paddingRight: 0,\n borderBottomWidth: '2px',\n '& .th-content': {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRight: '1px solid',\n borderRightColor: theme.palette.divider,\n paddingRight: theme.spacing(),\n '& .th-label': {\n display: 'inline-flex',\n alignItems: 'center',\n '& .th-icon': {\n marginLeft: theme.spacing(),\n },\n },\n },\n '& .resizer': {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 0,\n borderLeftStyle: 'solid',\n borderRightStyle: 'solid',\n borderColor: theme.palette.divider,\n paddingTop: theme.spacing(),\n paddingBottom: theme.spacing(),\n paddingRight: `calc(${theme.spacing(1)} + 1px)`,\n position: 'absolute',\n right: 0,\n top: theme.spacing(0.5),\n bottom: theme.spacing(0.5),\n transform: `translateX(calc(${theme.spacing(0.5)} + 1px))`,\n zIndex: 1,\n // prevents from scrolling while dragging on touch devices\n touchAction: 'none',\n '&:hover': {\n borderWidth: '1px',\n },\n '&.is-resizing': {\n borderWidth: '1px',\n borderColor: theme.palette.grey[700],\n },\n },\n },\n}))\n\nfunction OneBlinkFormStoreTable() {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups: [parentHeaderGroup],\n rows,\n prepareRow,\n onChangeFilters,\n } = useFormStoreTableContext()\n\n if (!parentHeaderGroup) {\n return null\n }\n\n return (\n <>\n <Table {...getTableProps()}>\n <div className=\"thead\">\n <div {...parentHeaderGroup.getHeaderGroupProps()} className=\"tr\">\n {\n // Loop over the headers in each row\n parentHeaderGroup.headers.map((headerGroup) => {\n const sortingProperty = headerGroup.sorting?.property\n const sortingDirection = headerGroup.sorting?.direction\n\n return (\n <Tooltip\n title={headerGroup.tooltip || ''}\n arrow\n key={headerGroup.id}\n PopperProps={{\n sx: {\n zIndex: 'drawer',\n },\n }}\n >\n <div\n className={clsx('th tc', {\n 'is-clickable': !!sortingProperty,\n })}\n onClick={\n sortingProperty\n ? () => {\n onChangeFilters((currentFilters) => {\n switch (sortingDirection) {\n case 'ascending': {\n return {\n ...currentFilters,\n sorting: [\n {\n property: sortingProperty,\n direction: 'descending',\n },\n ],\n }\n }\n case 'descending': {\n return {\n ...currentFilters,\n sorting: undefined,\n }\n }\n default: {\n return {\n ...currentFilters,\n sorting: [\n {\n property: sortingProperty,\n direction: 'ascending',\n },\n ],\n }\n }\n }\n }, false)\n }\n : undefined\n }\n // Apply the header cell props\n {...headerGroup.getHeaderProps()}\n >\n <IsHoveringProvider className=\"th-content\">\n <div className=\"th-label\">\n <span>{headerGroup.headerText}</span>\n {sortingDirection && (\n <SortingIcon\n fontSize=\"small\"\n color=\"primary\"\n sx={\n sortingDirection === 'descending'\n ? {\n transform: 'rotate(180deg)',\n }\n : undefined\n }\n className=\"th-icon\"\n />\n )}\n {headerGroup.filter?.isInvalid ? (\n <Tooltip\n title={\n headerGroup.filter?.validationMessage || ''\n }\n >\n <WarningIcon\n fontSize=\"small\"\n color=\"error\"\n className=\"th-icon\"\n />\n </Tooltip>\n ) : headerGroup.filter?.value ? (\n <FilterListIcon\n fontSize=\"small\"\n color=\"primary\"\n className=\"th-icon\"\n />\n ) : null}\n </div>\n <HeaderCellMoreButton\n headerGroup={headerGroup}\n onHide={headerGroup.toggleHidden}\n />\n <div\n {...headerGroup.getResizerProps()}\n className={clsx('resizer', {\n 'is-resizing': headerGroup.isResizing,\n })}\n onClick={(event) => {\n event.stopPropagation()\n }}\n />\n </IsHoveringProvider>\n </div>\n </Tooltip>\n )\n })\n }\n </div>\n </div>\n <div {...getTableBodyProps()} className=\"tbody\">\n {\n // Loop over the table rows\n rows.map((row) => {\n // Prepare the row for display\n prepareRow(row)\n return (\n // Apply the row props\n <div {...row.getRowProps()} key={row.id} className=\"tr\">\n {\n // Loop over the rows cells\n row.cells.map((cell) => {\n // Apply the cell props\n return (\n <IsHoveringProvider\n {...cell.getCellProps()}\n key={cell.column.id}\n className={clsx('td tc', {\n 'is-resizing': cell.column.isResizing,\n })}\n >\n {\n // Render the cell contents\n cell.render('Cell')\n }\n </IsHoveringProvider>\n )\n })\n }\n </div>\n )\n })\n }\n </div>\n </Table>\n </>\n )\n}\n\nexport default React.memo(OneBlinkFormStoreTable)\n"]}
|
1
|
+
{"version":3,"file":"OneBlinkFormStoreTable.js","sourceRoot":"","sources":["../../../src/components/formStore/OneBlinkFormStoreTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,OAAO,IAAI,WAAW,EACtB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,oBAAoB,MAAM,8BAA8B,CAAA;AAC/D,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;CAClD,CAAC,CAAC,CAAA;AAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,cAAc;IACvB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;IAC/C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ;IACzC,OAAO,EAAE;QACP,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,YAAY,EAAE,WAAW;QACzB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QACxC,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE;YAChB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACjD,SAAS,EAAE;gBACT,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;aAC5C;SACF;KACF;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QACvC,SAAS,EAAE,QAAQ;QACnB,kCAAkC;QAClC,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI;QAClD,eAAe,EAAE;YACf,gBAAgB,EAAE,QAAQ;SAC3B;KACF;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;QAC3C,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,KAAK;QACxB,eAAe,EAAE;YACf,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,eAAe;YAC/B,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YACvC,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE;YAC7B,aAAa,EAAE;gBACb,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE;oBACZ,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE;iBAC5B;aACF;SACF;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,OAAO;YACxB,gBAAgB,EAAE,OAAO;YACzB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAClC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE;YAC3B,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE;YAC9B,YAAY,EAAE,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC/C,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,mBAAmB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;YAC1D,MAAM,EAAE,CAAC;YACT,0DAA0D;YAC1D,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE;gBACT,WAAW,EAAE,KAAK;aACnB;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;aACrC;SACF;KACF;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,sBAAsB;IAC7B,MAAM,EACJ,aAAa,EACb,iBAAiB,EACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC,EACjC,IAAI,EACJ,UAAU,EACV,eAAe,GAChB,GAAG,wBAAwB,EAAE,CAAA;IAE9B,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL;QACE,oBAAC,KAAK,OAAK,aAAa,EAAE,EAAE,SAAS,EAAC,qBAAqB;YACzD,6BAAK,SAAS,EAAC,OAAO;gBACpB,gCACM,iBAAiB,CAAC,mBAAmB,EAAE,EAC3C,SAAS,EAAC,mCAAmC;gBAG3C,oCAAoC;gBACpC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;;oBAC5C,MAAM,eAAe,GAAG,MAAA,WAAW,CAAC,OAAO,0CAAE,QAAQ,CAAA;oBACrD,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,OAAO,0CAAE,SAAS,CAAA;oBAEvD,OAAO,CACL,oBAAC,OAAO,IACN,KAAK,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE,EAChC,KAAK,QACL,GAAG,EAAE,WAAW,CAAC,EAAE,EACnB,WAAW,EAAE;4BACX,EAAE,EAAE;gCACF,MAAM,EAAE,QAAQ;6BACjB;yBACF;wBAED,6BACE,SAAS,EAAE,IAAI,CAAC,uCAAuC,EAAE;gCACvD,cAAc,EAAE,CAAC,CAAC,eAAe;6BAClC,CAAC,EACF,OAAO,EACL,eAAe;gCACb,CAAC,CAAC,GAAG,EAAE;oCACH,eAAe,CAAC,CAAC,cAAc,EAAE,EAAE;wCACjC,QAAQ,gBAAgB,EAAE;4CACxB,KAAK,WAAW,CAAC,CAAC;gDAChB,OAAO;oDACL,GAAG,cAAc;oDACjB,OAAO,EAAE;wDACP;4DACE,QAAQ,EAAE,eAAe;4DACzB,SAAS,EAAE,YAAY;yDACxB;qDACF;iDACF,CAAA;6CACF;4CACD,KAAK,YAAY,CAAC,CAAC;gDACjB,OAAO;oDACL,GAAG,cAAc;oDACjB,OAAO,EAAE,SAAS;iDACnB,CAAA;6CACF;4CACD,OAAO,CAAC,CAAC;gDACP,OAAO;oDACL,GAAG,cAAc;oDACjB,OAAO,EAAE;wDACP;4DACE,QAAQ,EAAE,eAAe;4DACzB,SAAS,EAAE,WAAW;yDACvB;qDACF;iDACF,CAAA;6CACF;yCACF;oCACH,CAAC,EAAE,KAAK,CAAC,CAAA;gCACX,CAAC;gCACH,CAAC,CAAC,SAAS,KAGX,WAAW,CAAC,cAAc,EAAE;4BAEhC,oBAAC,kBAAkB,IAAC,SAAS,EAAC,YAAY;gCACxC,6BAAK,SAAS,EAAC,UAAU;oCACvB,kCAAO,WAAW,CAAC,UAAU,CAAQ;oCACpC,gBAAgB,IAAI,CACnB,oBAAC,WAAW,IACV,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,SAAS,EACf,EAAE,EACA,gBAAgB,KAAK,YAAY;4CAC/B,CAAC,CAAC;gDACE,SAAS,EAAE,gBAAgB;6CAC5B;4CACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAC,SAAS,GACnB,CACH;oCACA,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,SAAS,EAAC,CAAC,CAAC,CAC/B,oBAAC,OAAO,IACN,KAAK,EACH,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,iBAAiB,KAAI,EAAE;wCAG7C,oBAAC,WAAW,IACV,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,SAAS,GACnB,CACM,CACX,CAAC,CAAC,CAAC,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,KAAK,EAAC,CAAC,CAAC,CAC9B,oBAAC,cAAc,IACb,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,SAAS,EACf,SAAS,EAAC,SAAS,GACnB,CACH,CAAC,CAAC,CAAC,IAAI,CACJ;gCACN,oBAAC,oBAAoB,IACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,WAAW,CAAC,YAAY,GAChC;gCACF,gCACM,WAAW,CAAC,eAAe,EAAE,EACjC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;wCACzB,aAAa,EAAE,WAAW,CAAC,UAAU;qCACtC,CAAC,EACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wCACjB,KAAK,CAAC,eAAe,EAAE,CAAA;oCACzB,CAAC,GACD,CACiB,CACjB,CACE,CACX,CAAA;gBACH,CAAC,CAAC,CAEA,CACF;YACN,gCAAS,iBAAiB,EAAE,EAAE,SAAS,EAAC,OAAO;YAE3C,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,8BAA8B;gBAC9B,UAAU,CAAC,GAAG,CAAC,CAAA;gBACf,OAAO;gBACL,sBAAsB;gBACtB,gCACM,GAAG,CAAC,WAAW,EAAE,EACrB,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,SAAS,EAAC,4BAA4B;gBAGpC,2BAA2B;gBAC3B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,uBAAuB;oBACvB,OAAO,CACL,oBAAC,kBAAkB,OACb,IAAI,CAAC,YAAY,EAAE,EACvB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EACnB,SAAS,EAAE,IAAI,CACb,oCAAoC,EACpC;4BACE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;yBACtC,CACF;oBAGC,2BAA2B;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAEF,CACtB,CAAA;gBACH,CAAC,CAAC,CAEA,CACP,CAAA;YACH,CAAC,CAAC,CAEA,CACA,CACP,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { styled, Tooltip } from '@mui/material'\nimport {\n FilterList as FilterListIcon,\n Warning as WarningIcon,\n ArrowDownward,\n} from '@mui/icons-material'\nimport { IsHoveringProvider } from '../../hooks/useIsHovering'\nimport HeaderCellMoreButton from './table/HeaderCellMoreButton'\nimport useFormStoreTableContext from './useFormStoreTableContext'\n\nconst SortingIcon = styled(ArrowDownward)(({ theme }) => ({\n transition: theme.transitions.create('transform'),\n}))\n\nconst Table = styled('div')(({ theme }) => ({\n display: 'inline-block',\n backgroundColor: theme.palette.background.paper,\n fontSize: theme.typography.body2.fontSize,\n '& .tc': {\n padding: theme.spacing(1),\n borderBottom: '1px solid',\n borderBottomColor: theme.palette.divider,\n display: 'flex',\n alignItems: 'center',\n '&.is-clickable': {\n cursor: 'pointer',\n transition: theme.transitions.create('transform'),\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n '& .td': {\n position: 'relative',\n borderRight: '1px solid',\n borderRightColor: theme.palette.divider,\n overflowX: 'hidden',\n // minus 1 to cater for the border\n minHeight: `${parseInt(theme.spacing(5.5)) - 1}px`,\n '&.is-resizing': {\n borderRightStyle: 'dashed',\n },\n },\n '& .th': {\n position: 'relative',\n fontWeight: theme.typography.fontWeightBold,\n paddingRight: 0,\n borderBottomWidth: '2px',\n '& .th-content': {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRight: '1px solid',\n borderRightColor: theme.palette.divider,\n paddingRight: theme.spacing(),\n '& .th-label': {\n display: 'inline-flex',\n alignItems: 'center',\n '& .th-icon': {\n marginLeft: theme.spacing(),\n },\n },\n },\n '& .resizer': {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 0,\n borderLeftStyle: 'solid',\n borderRightStyle: 'solid',\n borderColor: theme.palette.divider,\n paddingTop: theme.spacing(),\n paddingBottom: theme.spacing(),\n paddingRight: `calc(${theme.spacing(1)} + 1px)`,\n position: 'absolute',\n right: 0,\n top: theme.spacing(0.5),\n bottom: theme.spacing(0.5),\n transform: `translateX(calc(${theme.spacing(0.5)} + 1px))`,\n zIndex: 1,\n // prevents from scrolling while dragging on touch devices\n touchAction: 'none',\n '&:hover': {\n borderWidth: '1px',\n },\n '&.is-resizing': {\n borderWidth: '1px',\n borderColor: theme.palette.grey[700],\n },\n },\n },\n}))\n\nfunction OneBlinkFormStoreTable() {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups: [parentHeaderGroup],\n rows,\n prepareRow,\n onChangeFilters,\n } = useFormStoreTableContext()\n\n if (!parentHeaderGroup) {\n return null\n }\n\n return (\n <>\n <Table {...getTableProps()} className=\"ob-form-store-table\">\n <div className=\"thead\">\n <div\n {...parentHeaderGroup.getHeaderGroupProps()}\n className=\"tr ob-form-store-table-header-row\"\n >\n {\n // Loop over the headers in each row\n parentHeaderGroup.headers.map((headerGroup) => {\n const sortingProperty = headerGroup.sorting?.property\n const sortingDirection = headerGroup.sorting?.direction\n\n return (\n <Tooltip\n title={headerGroup.tooltip || ''}\n arrow\n key={headerGroup.id}\n PopperProps={{\n sx: {\n zIndex: 'drawer',\n },\n }}\n >\n <div\n className={clsx('th tc ob-form-store-table-header-cell', {\n 'is-clickable': !!sortingProperty,\n })}\n onClick={\n sortingProperty\n ? () => {\n onChangeFilters((currentFilters) => {\n switch (sortingDirection) {\n case 'ascending': {\n return {\n ...currentFilters,\n sorting: [\n {\n property: sortingProperty,\n direction: 'descending',\n },\n ],\n }\n }\n case 'descending': {\n return {\n ...currentFilters,\n sorting: undefined,\n }\n }\n default: {\n return {\n ...currentFilters,\n sorting: [\n {\n property: sortingProperty,\n direction: 'ascending',\n },\n ],\n }\n }\n }\n }, false)\n }\n : undefined\n }\n // Apply the header cell props\n {...headerGroup.getHeaderProps()}\n >\n <IsHoveringProvider className=\"th-content\">\n <div className=\"th-label\">\n <span>{headerGroup.headerText}</span>\n {sortingDirection && (\n <SortingIcon\n fontSize=\"small\"\n color=\"primary\"\n sx={\n sortingDirection === 'descending'\n ? {\n transform: 'rotate(180deg)',\n }\n : undefined\n }\n className=\"th-icon\"\n />\n )}\n {headerGroup.filter?.isInvalid ? (\n <Tooltip\n title={\n headerGroup.filter?.validationMessage || ''\n }\n >\n <WarningIcon\n fontSize=\"small\"\n color=\"error\"\n className=\"th-icon\"\n />\n </Tooltip>\n ) : headerGroup.filter?.value ? (\n <FilterListIcon\n fontSize=\"small\"\n color=\"primary\"\n className=\"th-icon\"\n />\n ) : null}\n </div>\n <HeaderCellMoreButton\n headerGroup={headerGroup}\n onHide={headerGroup.toggleHidden}\n />\n <div\n {...headerGroup.getResizerProps()}\n className={clsx('resizer', {\n 'is-resizing': headerGroup.isResizing,\n })}\n onClick={(event) => {\n event.stopPropagation()\n }}\n />\n </IsHoveringProvider>\n </div>\n </Tooltip>\n )\n })\n }\n </div>\n </div>\n <div {...getTableBodyProps()} className=\"tbody\">\n {\n // Loop over the table rows\n rows.map((row) => {\n // Prepare the row for display\n prepareRow(row)\n return (\n // Apply the row props\n <div\n {...row.getRowProps()}\n key={row.id}\n className=\"tr ob-form-store-table-row\"\n >\n {\n // Loop over the rows cells\n row.cells.map((cell) => {\n // Apply the cell props\n return (\n <IsHoveringProvider\n {...cell.getCellProps()}\n key={cell.column.id}\n className={clsx(\n 'td tc ob-form-store-table-row-cell',\n {\n 'is-resizing': cell.column.isResizing,\n },\n )}\n >\n {\n // Render the cell contents\n cell.render('Cell')\n }\n </IsHoveringProvider>\n )\n })\n }\n </div>\n )\n })\n }\n </div>\n </Table>\n </>\n )\n}\n\nexport default React.memo(OneBlinkFormStoreTable)\n"]}
|
@@ -7,7 +7,7 @@ function ErrorMessage({ title, children, gutterTop, gutterBottom, IconComponent,
|
|
7
7
|
IconComponent = ErrorIcon;
|
8
8
|
}
|
9
9
|
return (React.createElement(React.Fragment, null,
|
10
|
-
React.createElement(LargeIconMessage, { IconComponent: IconComponent, title: title, variant: "error", gutterTop: gutterTop, gutterBottom: gutterBottom, action: onTryAgain && (React.createElement(Button, { variant: "outlined", color: "primary", onClick: () => onTryAgain() }, "Try Again")) }, children)));
|
10
|
+
React.createElement(LargeIconMessage, { IconComponent: IconComponent, title: title, variant: "error", gutterTop: gutterTop, gutterBottom: gutterBottom, action: onTryAgain && (React.createElement(Button, { variant: "outlined", color: "primary", onClick: () => onTryAgain() }, "Try Again")), className: "ob-error-snackbar" }, children)));
|
11
11
|
}
|
12
12
|
export default React.memo(ErrorMessage);
|
13
13
|
//# sourceMappingURL=ErrorMessage.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ErrorMessage.js","sourceRoot":"","sources":["../../../src/components/messages/ErrorMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,gBAEN,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAUtC,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,GACJ;IACN,IAAI,CAAC,aAAa,EAAE;QAClB,aAAa,GAAG,SAAS,CAAA;KAC1B;IAED,OAAO,CACL;QACE,oBAAC,gBAAgB,IACf,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,OAAO,EACf,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,EACJ,UAAU,IAAI,CACZ,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,gBAGpB,CACV,
|
1
|
+
{"version":3,"file":"ErrorMessage.js","sourceRoot":"","sources":["../../../src/components/messages/ErrorMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,gBAEN,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAUtC,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,GACJ;IACN,IAAI,CAAC,aAAa,EAAE;QAClB,aAAa,GAAG,SAAS,CAAA;KAC1B;IAED,OAAO,CACL;QACE,oBAAC,gBAAgB,IACf,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,OAAO,EACf,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,EACJ,UAAU,IAAI,CACZ,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,gBAGpB,CACV,EAEH,SAAS,EAAC,mBAAmB,IAE5B,QAAQ,CACQ,CAClB,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,YAAY,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport ErrorIcon from '@mui/icons-material/Error'\nimport LargeIconMessage, {\n Props as LargeIconMessageProps,\n} from './LargeIconMessage'\nimport { Button } from '@mui/material'\ntype Props = {\n IconComponent?: LargeIconMessageProps['IconComponent']\n title: string\n gutterTop?: boolean\n gutterBottom?: boolean\n children?: React.ReactNode\n onTryAgain?: () => void\n}\n\nfunction ErrorMessage({\n title,\n children,\n gutterTop,\n gutterBottom,\n IconComponent,\n onTryAgain,\n}: Props) {\n if (!IconComponent) {\n IconComponent = ErrorIcon\n }\n\n return (\n <>\n <LargeIconMessage\n IconComponent={IconComponent}\n title={title}\n variant=\"error\"\n gutterTop={gutterTop}\n gutterBottom={gutterBottom}\n action={\n onTryAgain && (\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onTryAgain()}\n >\n Try Again\n </Button>\n )\n }\n className=\"ob-error-snackbar\"\n >\n {children}\n </LargeIconMessage>\n </>\n )\n}\n\nexport default React.memo<Props>(ErrorMessage)\n"]}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
+
import { CommonProps } from '@mui/material/OverridableComponent';
|
2
3
|
declare type Variant = 'primary' | 'success' | 'error' | 'warning';
|
3
4
|
export declare type Props = {
|
4
5
|
IconComponent: React.ComponentType<{
|
@@ -10,6 +11,7 @@ export declare type Props = {
|
|
10
11
|
gutterBottom?: boolean;
|
11
12
|
children?: React.ReactNode;
|
12
13
|
action?: React.ReactNode;
|
14
|
+
className?: CommonProps['className'];
|
13
15
|
};
|
14
16
|
declare const _default: React.NamedExoticComponent<Props>;
|
15
17
|
export default _default;
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { Typography, Grid, Container } from '@mui/material';
|
3
3
|
import { styled } from '@mui/material/styles';
|
4
|
-
function LargeIconMessage({ IconComponent, title, variant, gutterTop, gutterBottom, children, action, }) {
|
4
|
+
function LargeIconMessage({ IconComponent, title, variant, gutterTop, gutterBottom, children, action, className, }) {
|
5
5
|
const Icon = React.useMemo(() => {
|
6
6
|
return styled(IconComponent)(({ theme }) => ({
|
7
7
|
fontSize: theme.spacing(16),
|
8
8
|
}));
|
9
9
|
}, [IconComponent]);
|
10
|
-
return (React.createElement(Container, { maxWidth: "sm" },
|
10
|
+
return (React.createElement(Container, { maxWidth: "sm", className: className || 'ob-large-icon-message' },
|
11
11
|
React.createElement(StyledIconContainer, { gutterTop: gutterTop },
|
12
12
|
React.createElement(Icon, { color: variant })),
|
13
13
|
React.createElement(Typography, { variant: "h5", align: "center", gutterBottom: true, color: variant }, title),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LargeIconMessage.js","sourceRoot":"","sources":["../../../src/components/messages/LargeIconMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"LargeIconMessage.js","sourceRoot":"","sources":["../../../src/components/messages/LargeIconMessage.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Typography, Grid, Container } from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport { CommonProps } from '@mui/material/OverridableComponent'\n\ntype Variant = 'primary' | 'success' | 'error' | 'warning'\nexport type Props = {\n IconComponent: React.ComponentType<{ color: Variant }>\n title: string\n variant: Variant\n gutterTop?: boolean\n gutterBottom?: boolean\n children?: React.ReactNode\n action?: React.ReactNode\n className?: CommonProps['className']\n}\n\nfunction LargeIconMessage({\n IconComponent,\n title,\n variant,\n gutterTop,\n gutterBottom,\n children,\n action,\n className,\n}: Props) {\n const Icon = React.useMemo(() => {\n return styled(IconComponent)(({ theme }) => ({\n fontSize: theme.spacing(16),\n }))\n }, [IconComponent])\n\n return (\n <Container maxWidth=\"sm\" className={className || 'ob-large-icon-message'}>\n <StyledIconContainer gutterTop={gutterTop}>\n <Icon color={variant} />\n </StyledIconContainer>\n <Typography variant=\"h5\" align=\"center\" gutterBottom color={variant}>\n {title}\n </Typography>\n {children ? (\n <StyledTypography\n align=\"center\"\n variant=\"body2\"\n paragraph={!!action}\n gutterBottom={!action && gutterBottom}\n >\n {children}\n </StyledTypography>\n ) : null}\n {action && (\n <StyledGrid\n container\n justifyContent=\"center\"\n gutterBottom={gutterBottom}\n >\n {action}\n </StyledGrid>\n )}\n </Container>\n )\n}\n\nexport default React.memo<Props>(LargeIconMessage)\n\nconst StyledIconContainer = styled('div', {\n shouldForwardProp: (prop) => prop !== 'gutterTop',\n})<{\n gutterTop?: boolean\n}>(({ theme, gutterTop }) => ({\n textAlign: 'center',\n ...(gutterTop\n ? {\n paddingTop: theme.spacing(4),\n }\n : {}),\n}))\n\nconst StyledTypography = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'gutterBottom',\n})<React.ComponentProps<typeof Typography>>(({ theme, gutterBottom }) => ({\n ...(gutterBottom ? { marginBottom: theme.spacing(4) } : {}),\n}))\n\nconst StyledGrid = styled(Grid, {\n shouldForwardProp: (prop) => prop !== 'gutterBottom',\n})<{ gutterBottom?: boolean }>(({ theme, gutterBottom }) => ({\n ...(gutterBottom ? { marginBottom: theme.spacing(4) } : {}),\n}))\n"]}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import LargeIconMessage from './LargeIconMessage';
|
3
3
|
export function NoResourcesYet({ title, children, IconComponent, gutterBottom, }) {
|
4
|
-
return (React.createElement(LargeIconMessage, { IconComponent: IconComponent, title: title, variant: "primary", gutterBottom: gutterBottom, gutterTop: true }, children));
|
4
|
+
return (React.createElement(LargeIconMessage, { IconComponent: IconComponent, title: title, variant: "primary", gutterBottom: gutterBottom, gutterTop: true, className: "ob-no-resources-yet-message" }, children));
|
5
5
|
}
|
6
6
|
export default React.memo(NoResourcesYet);
|
7
7
|
//# sourceMappingURL=NoResourcesYet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NoResourcesYet.js","sourceRoot":"","sources":["../../../src/components/messages/NoResourcesYet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,gBAEN,MAAM,oBAAoB,CAAA;AAO3B,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,aAAa,EACb,YAAY,GACN;IACN,OAAO,CACL,oBAAC,gBAAgB,IACf,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,SAAS,EACjB,YAAY,EAAE,YAAY,EAC1B,SAAS,
|
1
|
+
{"version":3,"file":"NoResourcesYet.js","sourceRoot":"","sources":["../../../src/components/messages/NoResourcesYet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,gBAEN,MAAM,oBAAoB,CAAA;AAO3B,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,aAAa,EACb,YAAY,GACN;IACN,OAAO,CACL,oBAAC,gBAAgB,IACf,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,SAAS,EACjB,YAAY,EAAE,YAAY,EAC1B,SAAS,QACT,SAAS,EAAC,6BAA6B,IAEtC,QAAQ,CACQ,CACpB,CAAA;AACH,CAAC;AACD,eAAe,KAAK,CAAC,IAAI,CAAQ,cAAc,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport LargeIconMessage, {\n Props as LargeIconMessageProps,\n} from './LargeIconMessage'\ntype Props = {\n IconComponent: LargeIconMessageProps['IconComponent']\n title: string\n gutterBottom?: boolean\n children?: React.ReactNode\n}\nexport function NoResourcesYet({\n title,\n children,\n IconComponent,\n gutterBottom,\n}: Props) {\n return (\n <LargeIconMessage\n IconComponent={IconComponent}\n title={title}\n variant=\"primary\"\n gutterBottom={gutterBottom}\n gutterTop\n className=\"ob-no-resources-yet-message\"\n >\n {children}\n </LargeIconMessage>\n )\n}\nexport default React.memo<Props>(NoResourcesYet)\n"]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@oneblink/apps-react",
|
3
3
|
"description": "Helper functions for OneBlink apps in ReactJS.",
|
4
|
-
"version": "1.0.0-beta.
|
4
|
+
"version": "1.0.0-beta.8",
|
5
5
|
"author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
|
6
6
|
"bugs": {
|
7
7
|
"url": "https://github.com/oneblink/apps-react/issues"
|