@oneblink/apps-react 9.0.0-beta.4 → 9.0.0-beta.5
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/OneBlinkFormBase.js +1 -1
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/PaymentReceipt.js +2 -2
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/apps/tenants.d.ts +2 -1
- package/dist/apps/tenants.js +25 -1
- package/dist/apps/tenants.js.map +1 -1
- package/dist/components/ArcGISWebMap.js +6 -3
- package/dist/components/ArcGISWebMap.js.map +1 -1
- package/dist/components/ConfirmDialog.js +3 -2
- package/dist/components/ConfirmDialog.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +1 -3
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +1 -3
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +3 -3
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCell.js +1 -0
- package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
- package/dist/components/formStore/table/useFormStoreTable.js +1 -0
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/renderer/Modal.js +3 -1
- package/dist/components/renderer/Modal.js.map +1 -1
- package/dist/components/renderer/Tooltip.js +3 -1
- package/dist/components/renderer/Tooltip.js.map +1 -1
- package/dist/form-elements/FormElementBSB.js +1 -1
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js +3 -10
- package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
- package/dist/form-elements/FormElementLocation.js +5 -1
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.js +1 -1
- package/dist/form-elements/FormElementLookupButton.js.map +1 -1
- package/dist/form-elements/FormElementSummary.js +3 -1
- package/dist/form-elements/FormElementSummary.js.map +1 -1
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js +2 -0
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
- package/dist/hooks/useFormSubmissionDuration.js +2 -0
- package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
- package/dist/hooks/useLoadDataState.js +4 -3
- package/dist/hooks/useLoadDataState.js.map +1 -1
- package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
- package/dist/hooks/useOneBlinkFormContainer.js +2 -2
- package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
- package/package.json +10 -7
|
@@ -130,7 +130,7 @@ function OneBlinkFormStoreTable() {
|
|
|
130
130
|
if (!parentHeaderGroup) {
|
|
131
131
|
return null;
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
const rowBackground = { alternate: false };
|
|
134
134
|
return (_jsx(_Fragment, { children: _jsxs(Table, { className: "ob-form-store-table", style: { ...columnSizeVars }, children: [_jsx("div", { className: "thead", children: _jsx(HeaderRow, { className: "tr ob-form-store-table-header-row", children:
|
|
135
135
|
// Loop over the headers in each row
|
|
136
136
|
parentHeaderGroup.headers.map((header) => {
|
|
@@ -207,12 +207,12 @@ function OneBlinkFormStoreTable() {
|
|
|
207
207
|
var _a;
|
|
208
208
|
if (((_a = rows[index - 1]) === null || _a === void 0 ? void 0 : _a.original.submissionId) !==
|
|
209
209
|
row.original.submissionId) {
|
|
210
|
-
|
|
210
|
+
rowBackground.alternate = !rowBackground.alternate;
|
|
211
211
|
}
|
|
212
212
|
return (
|
|
213
213
|
// Apply the row props
|
|
214
214
|
_jsx(CellRow, { className: clsx('tr ob-form-store-table-row', {
|
|
215
|
-
'ob-form-store-table-row__alternate':
|
|
215
|
+
'ob-form-store-table-row__alternate': rowBackground.alternate,
|
|
216
216
|
}), children:
|
|
217
217
|
// Loop over the rows cells
|
|
218
218
|
row.getAllCells().map((cell) => {
|
|
@@ -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 { flexRender } from '@tanstack/react-table'\nimport { formStoreService } from '../../apps'\nimport { IsHoveringProvider } from '../../hooks/useIsHovering'\nimport HeaderCellMoreButton from './table/HeaderCellMoreButton'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nconst SortingIcon = styled(MaterialIcon)(({ 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 '& .ob-form-store-table-row__alternate': {\n backgroundColor: theme.palette.action.hover,\n },\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\nconst HeaderRow = styled('div')(() => ({\n display: 'flex',\n}))\n\nconst CellRow = styled('div')(() => ({\n display: 'flex',\n}))\n\nfunction OneBlinkFormStoreTable() {\n const {\n getHeaderGroups,\n getCoreRowModel,\n getFlatHeaders,\n getState,\n onChangeParameters,\n } = useFormStoreTableContext()\n\n const [parentHeaderGroup] = getHeaderGroups()\n const rows = getCoreRowModel().rows\n\n const columnSizingInfo = getState().columnSizingInfo\n const columnSizing = getState().columnSizing\n\n /**\n * Pinched from\n * https://tanstack.com/table/latest/docs/framework/react/examples/column-resizing-performant\n * Instead of calling `column.getSize()` on every render for every header and\n * especially every data cell (very expensive), we will calculate all column\n * sizes at once at the root table level in a useMemo and pass the column\n * sizes down as CSS variables to the <table> element.\n */\n\n const columnSizeVars = React.useMemo(() => {\n // we want the memo to recalculate if these change, dropping them here so the linter doesn't complain about unused dependencies\n /* eslint-disable @typescript-eslint/no-unused-expressions */\n columnSizingInfo\n columnSizing\n /* eslint-enable @typescript-eslint/no-unused-expressions */\n const headers = getFlatHeaders()\n const colSizes: { [key: string]: number } = {}\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]!\n colSizes[`--header-${header.id}-size`] = header.getSize()\n colSizes[`--col-${header.column.id}-size`] = header.column.getSize()\n }\n return colSizes\n }, [getFlatHeaders, columnSizingInfo, columnSizing])\n\n if (!parentHeaderGroup) {\n return null\n }\n\n let alternateBackground = false\n\n return (\n <>\n <Table className=\"ob-form-store-table\" style={{ ...columnSizeVars }}>\n <div className=\"thead\">\n <HeaderRow className=\"tr ob-form-store-table-header-row\">\n {\n // Loop over the headers in each row\n parentHeaderGroup.headers.map((header) => {\n const sortingProperty =\n header.column.columnDef.meta?.sorting?.property\n const sortingDirection = header.column.getIsSorted()\n\n if (!header.column.getIsVisible()) {\n return null\n }\n\n return (\n <Tooltip\n title={header.column.columnDef?.meta?.tooltip || ''}\n arrow\n key={header.id}\n slotProps={{\n popper: {\n sx: {\n zIndex: 'drawer',\n },\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 onChangeParameters(\n (\n currentParameters: formStoreService.FormStoreParameters,\n ) => {\n const sortingMeta =\n header.column.columnDef.meta?.sorting\n ?.property\n if (!sortingMeta) {\n return currentParameters\n }\n switch (sortingDirection) {\n case 'asc': {\n return {\n ...currentParameters,\n sorting: [\n {\n property: sortingMeta,\n direction: 'descending',\n },\n ],\n }\n }\n case 'desc': {\n return {\n ...currentParameters,\n sorting: undefined,\n }\n }\n default: {\n return {\n ...currentParameters,\n sorting: [\n {\n property: sortingMeta,\n direction: 'ascending',\n },\n ],\n }\n }\n }\n },\n false,\n )\n }\n : undefined\n }\n style={{\n width: `calc(var(--header-${header?.id}-size) * 1px)`,\n }}\n >\n <IsHoveringProvider className=\"th-content\">\n <div className=\"th-label\">\n <span>\n {typeof header.column.columnDef?.header === 'string'\n ? header.column.columnDef?.header\n : ''}\n </span>\n {sortingDirection && (\n <SortingIcon\n fontSize=\"small\"\n color=\"primary\"\n sx={\n sortingDirection === 'asc'\n ? {\n transform: 'rotate(180deg)',\n }\n : undefined\n }\n className=\"th-icon\"\n >\n arrow_downward\n </SortingIcon>\n )}\n\n {header.column.columnDef.meta?.filter?.isInvalid ? (\n <Tooltip\n title={\n header.column.columnDef.meta?.filter\n ?.validationMessage || ''\n }\n >\n <MaterialIcon\n fontSize=\"small\"\n color=\"error\"\n className=\"th-icon\"\n >\n warning\n </MaterialIcon>\n </Tooltip>\n ) : header.column.columnDef.meta?.filter?.value ? (\n <MaterialIcon\n fontSize=\"small\"\n color=\"primary\"\n className=\"th-icon\"\n >\n filter_list\n </MaterialIcon>\n ) : null}\n </div>\n <HeaderCellMoreButton\n header={header}\n onHide={() => header.column.toggleVisibility()}\n />\n <div\n className={clsx('resizer', {\n 'is-resizing': header.column.getIsResizing(),\n })}\n onClick={(event) => {\n event.stopPropagation()\n }}\n onDoubleClick={() => header.column.resetSize()}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n </IsHoveringProvider>\n </div>\n </Tooltip>\n )\n })\n }\n </HeaderRow>\n </div>\n <div className=\"tbody\">\n {\n // Loop over the table rows\n rows.map((row, index) => {\n if (\n rows[index - 1]?.original.submissionId !==\n row.original.submissionId\n ) {\n alternateBackground = !alternateBackground\n }\n return (\n // Apply the row props\n <CellRow\n key={row.id}\n className={clsx('tr ob-form-store-table-row', {\n 'ob-form-store-table-row__alternate': alternateBackground,\n })}\n >\n {\n // Loop over the rows cells\n row.getAllCells().map((cell) => {\n // Apply the cell props\n return (\n <IsHoveringProvider\n key={cell.column.id}\n className={clsx(\n 'td tc ob-form-store-table-row-cell',\n {\n 'is-resizing': cell.column.getIsResizing(),\n },\n )}\n style={{ width: cell.column.getSize() }}\n >\n {\n // Render the cell contents\n flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )\n }\n </IsHoveringProvider>\n )\n })\n }\n </CellRow>\n )\n })\n }\n </div>\n </Table>\n </>\n )\n}\n\n/**\n * @returns\n * @group Components\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,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,oBAAoB,MAAM,8BAA8B,CAAA;AAC/D,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACvD,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,uCAAuC,EAAE;QACvC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;KAC5C;IACD,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,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC,CAAA;AAEH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC,CAAA;AAEH,SAAS,sBAAsB;IAC7B,MAAM,EACJ,eAAe,EACf,eAAe,EACf,cAAc,EACd,QAAQ,EACR,kBAAkB,GACnB,GAAG,wBAAwB,EAAE,CAAA;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAG,eAAe,EAAE,CAAA;IAC7C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC,IAAI,CAAA;IAEnC,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,gBAAgB,CAAA;IACpD,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,YAAY,CAAA;IAE5C;;;;;;;OAOG;IAEH,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,+HAA+H;QAC/H,6DAA6D;QAC7D,gBAAgB,CAAA;QAChB,YAAY,CAAA;QACZ,4DAA4D;QAC5D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;QAChC,MAAM,QAAQ,GAA8B,EAAE,CAAA;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;YAC1B,QAAQ,CAAC,YAAY,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YACzD,QAAQ,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACtE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;IAEpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,aAAa,GAAG,EAAC,SAAS,EAAE,KAAK,EAAC,CAAA;IAExC,OAAO,CACL,4BACE,MAAC,KAAK,IAAC,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,aACjE,cAAK,SAAS,EAAC,OAAO,YACpB,KAAC,SAAS,IAAC,SAAS,EAAC,mCAAmC;wBAEpD,oCAAoC;wBACpC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;4BACvC,MAAM,eAAe,GACnB,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,OAAO,0CAAE,QAAQ,CAAA;4BACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;4BAEpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gCAClC,OAAO,IAAI,CAAA;4BACb,CAAC;4BAED,OAAO,CACL,KAAC,OAAO,IACN,KAAK,EAAE,CAAA,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,0CAAE,IAAI,0CAAE,OAAO,KAAI,EAAE,EACnD,KAAK,QAEL,SAAS,EAAE;oCACT,MAAM,EAAE;wCACN,EAAE,EAAE;4CACF,MAAM,EAAE,QAAQ;yCACjB;qCACF;iCACF,YAED,cACE,SAAS,EAAE,IAAI,CAAC,uCAAuC,EAAE;wCACvD,cAAc,EAAE,CAAC,CAAC,eAAe;qCAClC,CAAC,EACF,OAAO,EACL,eAAe;wCACb,CAAC,CAAC,GAAG,EAAE;4CACH,kBAAkB,CAChB,CACE,iBAAuD,EACvD,EAAE;;gDACF,MAAM,WAAW,GACf,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,OAAO,0CACjC,QAAQ,CAAA;gDACd,IAAI,CAAC,WAAW,EAAE,CAAC;oDACjB,OAAO,iBAAiB,CAAA;gDAC1B,CAAC;gDACD,QAAQ,gBAAgB,EAAE,CAAC;oDACzB,KAAK,KAAK,CAAC,CAAC,CAAC;wDACX,OAAO;4DACL,GAAG,iBAAiB;4DACpB,OAAO,EAAE;gEACP;oEACE,QAAQ,EAAE,WAAW;oEACrB,SAAS,EAAE,YAAY;iEACxB;6DACF;yDACF,CAAA;oDACH,CAAC;oDACD,KAAK,MAAM,CAAC,CAAC,CAAC;wDACZ,OAAO;4DACL,GAAG,iBAAiB;4DACpB,OAAO,EAAE,SAAS;yDACnB,CAAA;oDACH,CAAC;oDACD,OAAO,CAAC,CAAC,CAAC;wDACR,OAAO;4DACL,GAAG,iBAAiB;4DACpB,OAAO,EAAE;gEACP;oEACE,QAAQ,EAAE,WAAW;oEACrB,SAAS,EAAE,WAAW;iEACvB;6DACF;yDACF,CAAA;oDACH,CAAC;gDACH,CAAC;4CACH,CAAC,EACD,KAAK,CACN,CAAA;wCACH,CAAC;wCACH,CAAC,CAAC,SAAS,EAEf,KAAK,EAAE;wCACL,KAAK,EAAE,qBAAqB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,eAAe;qCACtD,YAED,MAAC,kBAAkB,IAAC,SAAS,EAAC,YAAY,aACxC,eAAK,SAAS,EAAC,UAAU,aACvB,yBACG,OAAO,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,0CAAE,MAAM,CAAA,KAAK,QAAQ;4DAClD,CAAC,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,0CAAE,MAAM;4DACjC,CAAC,CAAC,EAAE,GACD,EACN,gBAAgB,IAAI,CACnB,KAAC,WAAW,IACV,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,SAAS,EACf,EAAE,EACA,gBAAgB,KAAK,KAAK;4DACxB,CAAC,CAAC;gEACE,SAAS,EAAE,gBAAgB;6DAC5B;4DACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAC,SAAS,+BAGP,CACf,EAEA,CAAA,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,MAAM,0CAAE,SAAS,EAAC,CAAC,CAAC,CACjD,KAAC,OAAO,IACN,KAAK,EACH,CAAA,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,MAAM,0CAChC,iBAAiB,KAAI,EAAE,YAG7B,KAAC,YAAY,IACX,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,SAAS,wBAGN,GACP,CACX,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,MAAM,0CAAE,KAAK,EAAC,CAAC,CAAC,CAChD,KAAC,YAAY,IACX,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAC,SAAS,EACf,SAAS,EAAC,SAAS,4BAGN,CAChB,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,oBAAoB,IACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAC9C,EACF,cACE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;oDACzB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;iDAC7C,CAAC,EACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oDACjB,KAAK,CAAC,eAAe,EAAE,CAAA;gDACzB,CAAC,EACD,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAC9C,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,EACtC,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,GACvC,IACiB,GACjB,IAnID,MAAM,CAAC,EAAE,CAoIN,CACX,CAAA;wBACH,CAAC,CAAC,GAEM,GACR,EACN,cAAK,SAAS,EAAC,OAAO;oBAElB,2BAA2B;oBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;;wBACtB,IACE,CAAA,MAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,0CAAE,QAAQ,CAAC,YAAY;4BACtC,GAAG,CAAC,QAAQ,CAAC,YAAY,EACzB,CAAC;4BACD,aAAa,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,SAAS,CAAA;wBACpD,CAAC;wBACD,OAAO;wBACL,sBAAsB;wBACtB,KAAC,OAAO,IAEN,SAAS,EAAE,IAAI,CAAC,4BAA4B,EAAE;gCAC5C,oCAAoC,EAAE,aAAa,CAAC,SAAS;6BAC9D,CAAC;4BAGA,2BAA2B;4BAC3B,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gCAC7B,uBAAuB;gCACvB,OAAO,CACL,KAAC,kBAAkB,IAEjB,SAAS,EAAE,IAAI,CACb,oCAAoC,EACpC;wCACE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;qCAC3C,CACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;oCAGrC,2BAA2B;oCAC3B,UAAU,CACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAC1B,IAAI,CAAC,UAAU,EAAE,CAClB,IAdE,IAAI,CAAC,MAAM,CAAC,EAAE,CAgBA,CACtB,CAAA;4BACH,CAAC,CAAC,IA7BC,GAAG,CAAC,EAAE,CA+BH,CACX,CAAA;oBACH,CAAC,CAAC,GAEA,IACA,GACP,CACJ,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,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 { flexRender } from '@tanstack/react-table'\nimport { formStoreService } from '../../apps'\nimport { IsHoveringProvider } from '../../hooks/useIsHovering'\nimport HeaderCellMoreButton from './table/HeaderCellMoreButton'\nimport useFormStoreTableContext from './useFormStoreTableContext'\nimport MaterialIcon from '../MaterialIcon'\n\nconst SortingIcon = styled(MaterialIcon)(({ 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 '& .ob-form-store-table-row__alternate': {\n backgroundColor: theme.palette.action.hover,\n },\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\nconst HeaderRow = styled('div')(() => ({\n display: 'flex',\n}))\n\nconst CellRow = styled('div')(() => ({\n display: 'flex',\n}))\n\nfunction OneBlinkFormStoreTable() {\n const {\n getHeaderGroups,\n getCoreRowModel,\n getFlatHeaders,\n getState,\n onChangeParameters,\n } = useFormStoreTableContext()\n\n const [parentHeaderGroup] = getHeaderGroups()\n const rows = getCoreRowModel().rows\n\n const columnSizingInfo = getState().columnSizingInfo\n const columnSizing = getState().columnSizing\n\n /**\n * Pinched from\n * https://tanstack.com/table/latest/docs/framework/react/examples/column-resizing-performant\n * Instead of calling `column.getSize()` on every render for every header and\n * especially every data cell (very expensive), we will calculate all column\n * sizes at once at the root table level in a useMemo and pass the column\n * sizes down as CSS variables to the <table> element.\n */\n\n const columnSizeVars = React.useMemo(() => {\n // we want the memo to recalculate if these change, dropping them here so the linter doesn't complain about unused dependencies\n /* eslint-disable @typescript-eslint/no-unused-expressions */\n columnSizingInfo\n columnSizing\n /* eslint-enable @typescript-eslint/no-unused-expressions */\n const headers = getFlatHeaders()\n const colSizes: { [key: string]: number } = {}\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]!\n colSizes[`--header-${header.id}-size`] = header.getSize()\n colSizes[`--col-${header.column.id}-size`] = header.column.getSize()\n }\n return colSizes\n }, [getFlatHeaders, columnSizingInfo, columnSizing])\n\n if (!parentHeaderGroup) {\n return null\n }\n\n const rowBackground = {alternate: false}\n\n return (\n <>\n <Table className=\"ob-form-store-table\" style={{ ...columnSizeVars }}>\n <div className=\"thead\">\n <HeaderRow className=\"tr ob-form-store-table-header-row\">\n {\n // Loop over the headers in each row\n parentHeaderGroup.headers.map((header) => {\n const sortingProperty =\n header.column.columnDef.meta?.sorting?.property\n const sortingDirection = header.column.getIsSorted()\n\n if (!header.column.getIsVisible()) {\n return null\n }\n\n return (\n <Tooltip\n title={header.column.columnDef?.meta?.tooltip || ''}\n arrow\n key={header.id}\n slotProps={{\n popper: {\n sx: {\n zIndex: 'drawer',\n },\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 onChangeParameters(\n (\n currentParameters: formStoreService.FormStoreParameters,\n ) => {\n const sortingMeta =\n header.column.columnDef.meta?.sorting\n ?.property\n if (!sortingMeta) {\n return currentParameters\n }\n switch (sortingDirection) {\n case 'asc': {\n return {\n ...currentParameters,\n sorting: [\n {\n property: sortingMeta,\n direction: 'descending',\n },\n ],\n }\n }\n case 'desc': {\n return {\n ...currentParameters,\n sorting: undefined,\n }\n }\n default: {\n return {\n ...currentParameters,\n sorting: [\n {\n property: sortingMeta,\n direction: 'ascending',\n },\n ],\n }\n }\n }\n },\n false,\n )\n }\n : undefined\n }\n style={{\n width: `calc(var(--header-${header?.id}-size) * 1px)`,\n }}\n >\n <IsHoveringProvider className=\"th-content\">\n <div className=\"th-label\">\n <span>\n {typeof header.column.columnDef?.header === 'string'\n ? header.column.columnDef?.header\n : ''}\n </span>\n {sortingDirection && (\n <SortingIcon\n fontSize=\"small\"\n color=\"primary\"\n sx={\n sortingDirection === 'asc'\n ? {\n transform: 'rotate(180deg)',\n }\n : undefined\n }\n className=\"th-icon\"\n >\n arrow_downward\n </SortingIcon>\n )}\n\n {header.column.columnDef.meta?.filter?.isInvalid ? (\n <Tooltip\n title={\n header.column.columnDef.meta?.filter\n ?.validationMessage || ''\n }\n >\n <MaterialIcon\n fontSize=\"small\"\n color=\"error\"\n className=\"th-icon\"\n >\n warning\n </MaterialIcon>\n </Tooltip>\n ) : header.column.columnDef.meta?.filter?.value ? (\n <MaterialIcon\n fontSize=\"small\"\n color=\"primary\"\n className=\"th-icon\"\n >\n filter_list\n </MaterialIcon>\n ) : null}\n </div>\n <HeaderCellMoreButton\n header={header}\n onHide={() => header.column.toggleVisibility()}\n />\n <div\n className={clsx('resizer', {\n 'is-resizing': header.column.getIsResizing(),\n })}\n onClick={(event) => {\n event.stopPropagation()\n }}\n onDoubleClick={() => header.column.resetSize()}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n </IsHoveringProvider>\n </div>\n </Tooltip>\n )\n })\n }\n </HeaderRow>\n </div>\n <div className=\"tbody\">\n {\n // Loop over the table rows\n rows.map((row, index) => {\n if (\n rows[index - 1]?.original.submissionId !==\n row.original.submissionId\n ) {\n rowBackground.alternate = !rowBackground.alternate\n }\n return (\n // Apply the row props\n <CellRow\n key={row.id}\n className={clsx('tr ob-form-store-table-row', {\n 'ob-form-store-table-row__alternate': rowBackground.alternate,\n })}\n >\n {\n // Loop over the rows cells\n row.getAllCells().map((cell) => {\n // Apply the cell props\n return (\n <IsHoveringProvider\n key={cell.column.id}\n className={clsx(\n 'td tc ob-form-store-table-row-cell',\n {\n 'is-resizing': cell.column.getIsResizing(),\n },\n )}\n style={{ width: cell.column.getSize() }}\n >\n {\n // Render the cell contents\n flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )\n }\n </IsHoveringProvider>\n )\n })\n }\n </CellRow>\n )\n })\n }\n </div>\n </Table>\n </>\n )\n}\n\n/**\n * @returns\n * @group Components\n */\nexport default React.memo(OneBlinkFormStoreTable)\n"]}
|
|
@@ -37,6 +37,7 @@ const RepeatableSetCell = ({ formElement, value }) => {
|
|
|
37
37
|
sorting: undefined,
|
|
38
38
|
unwindRepeatableSets: undefined,
|
|
39
39
|
}), [formElement.elements]);
|
|
40
|
+
// eslint-disable-next-line react-hooks/incompatible-library
|
|
40
41
|
const { getRowModel } = useReactTable({
|
|
41
42
|
columns: columns,
|
|
42
43
|
data: value.map((entry) => ({ submission: entry })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatableSetCell.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCell.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Typography, Divider as MuiDivider, styled } from '@mui/material'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport useBooleanState from '../../../hooks/useBooleanState'\nimport generateColumns from './generateColumns'\nimport { getCoreRowModel, useReactTable } from '@tanstack/react-table'\nimport RepeatableSetCellAccordion from './RepeatableSetCellAccordion'\n\nconst Wrapper = styled('div')({\n width: '100%',\n})\nconst CellRow = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(),\n width: '100%',\n}))\n\nconst CellValue = styled('span')(({ theme }) => ({\n flex: 2,\n marginLeft: theme.spacing(),\n textAlign: 'right',\n width: '100%',\n}))\n\nconst Divider = styled(MuiDivider)(({ theme }) => ({\n margin: theme.spacing(1, -2),\n}))\n\ntype Props = {\n value: Array<Record<string, unknown>>\n formElement: FormTypes.RepeatableSetElement\n}\n\nconst RepeatableSetCell = ({ formElement, value }: Props) => {\n const [isVisible, , , toggleVisibility] = useBooleanState(false)\n const hasMultipleEntries = value.length > 1\n const columns = React.useMemo(\n () =>\n generateColumns({\n onChangeParameters: () => {},\n formElements: formElement.elements,\n parentElementNames: [],\n initialColumns: [],\n allowCopy: false,\n filters: undefined,\n sorting: undefined,\n unwindRepeatableSets: undefined,\n }),\n [formElement.elements],\n )\n const { getRowModel } = useReactTable({\n columns: columns,\n data: value.map((entry) => ({ submission: entry })),\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const rows = React.useMemo(() => getRowModel().rows, [getRowModel])\n\n return (\n <RepeatableSetCellAccordion\n title={`${value.length} Entr${hasMultipleEntries ? 'ies' : 'y'}`}\n isOpen={isVisible}\n onChange={toggleVisibility}\n >\n <Wrapper>\n {getRowModel().rows.map((row, i) => {\n const isLast = i === rows.length - 1\n return (\n <React.Fragment key={row.id}>\n {row.getAllCells().map((cell) => {\n const cellValue = cell.getValue()\n if (!cellValue) return null\n return (\n <CellRow key={cell.column.id}>\n <span>\n <Typography color=\"textSecondary\" variant=\"body2\">\n {cell.column.columnDef.header?.toString() || ''}:\n </Typography>\n </span>\n <CellValue>{cellValue as string}</CellValue>\n </CellRow>\n )\n })}\n {!isLast && <Divider />}\n </React.Fragment>\n )\n })}\n </Wrapper>\n </RepeatableSetCellAccordion>\n )\n}\n\nexport default React.memo<Props>(RepeatableSetCell)\n"]}
|
|
1
|
+
{"version":3,"file":"RepeatableSetCell.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCell.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Typography, Divider as MuiDivider, styled } from '@mui/material'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport useBooleanState from '../../../hooks/useBooleanState'\nimport generateColumns from './generateColumns'\nimport { getCoreRowModel, useReactTable } from '@tanstack/react-table'\nimport RepeatableSetCellAccordion from './RepeatableSetCellAccordion'\n\nconst Wrapper = styled('div')({\n width: '100%',\n})\nconst CellRow = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(),\n width: '100%',\n}))\n\nconst CellValue = styled('span')(({ theme }) => ({\n flex: 2,\n marginLeft: theme.spacing(),\n textAlign: 'right',\n width: '100%',\n}))\n\nconst Divider = styled(MuiDivider)(({ theme }) => ({\n margin: theme.spacing(1, -2),\n}))\n\ntype Props = {\n value: Array<Record<string, unknown>>\n formElement: FormTypes.RepeatableSetElement\n}\n\nconst RepeatableSetCell = ({ formElement, value }: Props) => {\n const [isVisible, , , toggleVisibility] = useBooleanState(false)\n const hasMultipleEntries = value.length > 1\n const columns = React.useMemo(\n () =>\n generateColumns({\n onChangeParameters: () => {},\n formElements: formElement.elements,\n parentElementNames: [],\n initialColumns: [],\n allowCopy: false,\n filters: undefined,\n sorting: undefined,\n unwindRepeatableSets: undefined,\n }),\n [formElement.elements],\n )\n // eslint-disable-next-line react-hooks/incompatible-library\n const { getRowModel } = useReactTable({\n columns: columns,\n data: value.map((entry) => ({ submission: entry })),\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const rows = React.useMemo(() => getRowModel().rows, [getRowModel])\n\n return (\n <RepeatableSetCellAccordion\n title={`${value.length} Entr${hasMultipleEntries ? 'ies' : 'y'}`}\n isOpen={isVisible}\n onChange={toggleVisibility}\n >\n <Wrapper>\n {getRowModel().rows.map((row, i) => {\n const isLast = i === rows.length - 1\n return (\n <React.Fragment key={row.id}>\n {row.getAllCells().map((cell) => {\n const cellValue = cell.getValue()\n if (!cellValue) return null\n return (\n <CellRow key={cell.column.id}>\n <span>\n <Typography color=\"textSecondary\" variant=\"body2\">\n {cell.column.columnDef.header?.toString() || ''}:\n </Typography>\n </span>\n <CellValue>{cellValue as string}</CellValue>\n </CellRow>\n )\n })}\n {!isLast && <Divider />}\n </React.Fragment>\n )\n })}\n </Wrapper>\n </RepeatableSetCellAccordion>\n )\n}\n\nexport default React.memo<Props>(RepeatableSetCell)\n"]}
|
|
@@ -351,6 +351,7 @@ export default function useFormStoreTable({ form, formStoreRecords, parameters,
|
|
|
351
351
|
}), false);
|
|
352
352
|
}, [onChangeParameters, parameters.sorting, columns]);
|
|
353
353
|
const [columnVisibility, setColumnVisibility] = React.useState((initialState === null || initialState === void 0 ? void 0 : initialState.columnVisibility) || {});
|
|
354
|
+
// eslint-disable-next-line react-hooks/incompatible-library
|
|
354
355
|
const table = useReactTable({
|
|
355
356
|
meta: {
|
|
356
357
|
defaultHiddenColumnsVersion: initialState === null || initialState === void 0 ? void 0 : initialState.defaultHiddenColumnsVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { formStoreService, localisationService } from '../../../apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.keys(state.columnVisibility),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useFormStoreTable.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/useFormStoreTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { formStoreService, localisationService } from '../../../apps'\nimport {\n useReactTable,\n getCoreRowModel,\n OnChangeFn,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport { format } from 'date-fns'\nimport generateColumns from './generateColumns'\nimport ActionedByTableCell from './ActionedByTableCell'\nimport TableCellCopyButton from './TableCellCopyButton'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport { FormStoreElementsContext } from '../OneBlinkFormStoreProvider'\nimport getVersionedFormTableState, { FormTableState } from './getVersionedState'\n\nconst defaultColumn = {\n minSize: 150,\n size: 225,\n}\n\nconst localStorageKey = (formId: number) =>\n `REACT_TABLE_STATE_FORM_STORE_${formId}`\n\nexport default function useFormStoreTable({\n form,\n formStoreRecords,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n}: {\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n form: FormTypes.Form\n parameters: formStoreService.FormStoreParameters\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n onRefresh: () => void\n submissionIdValidationMessage?: string\n}) {\n // Resets parameters on form change\n React.useEffect(() => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: undefined,\n sorting: [\n {\n property: 'dateTimeSubmitted',\n direction: 'descending',\n },\n ],\n }),\n false,\n )\n }, [form, onChangeParameters])\n\n const formElements = React.useContext(FormStoreElementsContext)\n const columns = React.useMemo(() => {\n return generateColumns<SubmissionTypes.FormStoreRecord>({\n sorting: parameters.sorting,\n filters: parameters.filters,\n unwindRepeatableSets: parameters.unwindRepeatableSets,\n formElements,\n parentElementNames: [],\n onChangeParameters,\n allowCopy: true,\n initialColumns: [\n {\n id: 'COMPLETED_AT',\n header: 'Completion Date Time',\n meta: {\n sorting: {\n property: 'dateTimeCompleted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeCompleted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeCompleted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeCompleted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n\n cell: ({ row: { original: formStoreRecord } }) => {\n if (!formStoreRecord.dateTimeCompleted) {\n return null\n }\n const text = format(\n new Date(formStoreRecord.dateTimeCompleted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_AT',\n header: 'Submission Date Time',\n meta: {\n sorting: {\n property: 'dateTimeSubmitted',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'dateTimeSubmitted',\n )?.direction,\n },\n filter: {\n type: 'DATETIME',\n value: parameters.filters?.dateTimeSubmitted as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n dateTimeSubmitted: newValue,\n },\n }),\n false,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const text = format(\n new Date(formStoreRecord.dateTimeSubmitted),\n localisationService.getDateFnsFormats().longDateTime,\n )\n return (\n <>\n {text}\n <TableCellCopyButton text={text} />\n </>\n )\n },\n },\n {\n id: 'SUBMITTED_BY',\n header: 'Submitted By',\n meta: {\n sorting: undefined,\n filter: {\n type: 'TEXT',\n value: parameters.filters?.submittedBy as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submittedBy: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <ActionedByTableCell\n userProfile={formStoreRecord.user}\n developerKey={formStoreRecord.key}\n variant=\"outlined\"\n />\n ),\n },\n {\n id: 'SUBMISSION_ID',\n header: 'Submission Id',\n meta: {\n sorting: undefined,\n filter: {\n type: 'SUBMISSION_ID',\n value: parameters.filters?.submissionId as\n | { $eq: string }\n | undefined,\n validationMessage: submissionIdValidationMessage,\n isInvalid: !!submissionIdValidationMessage,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submissionId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.submissionId}\n <TableCellCopyButton text={formStoreRecord.submissionId} />\n </>\n ),\n },\n {\n id: 'EXTERNAL_ID',\n header: 'External Id',\n meta: {\n sorting: {\n property: 'externalId',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'externalId',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.externalId as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n externalId: newValue,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.externalId}\n {formStoreRecord.externalId && (\n <TableCellCopyButton text={formStoreRecord.externalId} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP',\n header: 'Task Group',\n meta: {\n sorting: {\n property: 'taskGroup.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroup.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroup?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroup: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroup?.name}\n {formStoreRecord.taskGroup?.name && (\n <TableCellCopyButton text={formStoreRecord.taskGroup?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_GROUP_INSTANCE',\n header: 'Task Group Instance',\n meta: {\n sorting: {\n property: 'taskGroupInstance.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskGroupInstance.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskGroupInstance?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskGroupInstance: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskGroupInstance?.label}\n {formStoreRecord.taskGroupInstance?.label && (\n <TableCellCopyButton\n text={formStoreRecord.taskGroupInstance?.label}\n />\n )}\n </>\n ),\n },\n {\n id: 'TASK',\n header: 'Task',\n meta: {\n sorting: {\n property: 'task.name',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'task.name',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.task?.name as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n task: newValue\n ? {\n name: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.task?.name}\n {formStoreRecord.task?.name && (\n <TableCellCopyButton text={formStoreRecord.task?.name} />\n )}\n </>\n ),\n },\n {\n id: 'TASK_ACTION',\n header: 'Task Action',\n meta: {\n sorting: {\n property: 'taskAction.label',\n direction: parameters.sorting?.find(\n ({ property }) => property === 'taskAction.label',\n )?.direction,\n },\n filter: {\n type: 'TEXT',\n value: parameters.filters?.taskAction?.label as\n | { $regex: string }\n | undefined,\n onChange: (newValue) => {\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n taskAction: newValue\n ? {\n label: newValue,\n }\n : undefined,\n },\n }),\n true,\n )\n },\n },\n },\n cell: ({ row: { original: formStoreRecord } }) => (\n <>\n {formStoreRecord.taskAction?.label}\n {formStoreRecord.taskAction?.label && (\n <TableCellCopyButton text={formStoreRecord.taskAction?.label} />\n )}\n </>\n ),\n },\n ],\n })\n }, [\n formElements,\n onChangeParameters,\n parameters,\n submissionIdValidationMessage,\n ])\n\n const [initialState] = React.useState<FormTableState | undefined>(() => {\n const text = localStorage.getItem(localStorageKey(form.id))\n return getVersionedFormTableState(\n text\n ? JSON.parse(text)\n : {\n formId: form.id,\n },\n )\n })\n\n const transformedSorting = React.useMemo(() => {\n return parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n )\n }, [parameters.sorting, columns])\n\n const onSortingChange: OnChangeFn<SortingState> = React.useCallback(\n (updaterOrValue) => {\n const sortingState =\n typeof updaterOrValue === 'function'\n ? updaterOrValue(\n // transform the parameters sorting state to the tanstack sorting state\n parameters.sorting?.reduce<SortingState>(\n (memo, { property, direction }) => {\n const column = columns.find(\n (column) => column.meta?.sorting?.property === property,\n )\n if (column?.id) {\n memo.push({\n id: column.id,\n desc: direction === 'descending',\n })\n }\n return memo\n },\n [],\n ) ?? [],\n )\n : updaterOrValue\n onChangeParameters(\n (currentParameters) => ({\n ...currentParameters,\n // transform the tanstack sorting state to the parameters sorting state\n sorting: sortingState.reduce<\n NonNullable<formStoreService.FormStoreParameters['sorting']>\n >((memo, { id, desc }) => {\n const column = columns.find((column) => column.id === id)\n if (column?.meta?.sorting?.property) {\n memo.push({\n property: column.meta.sorting.property,\n direction: desc ? 'descending' : 'ascending',\n })\n }\n return memo\n }, []),\n }),\n false,\n )\n },\n [onChangeParameters, parameters.sorting, columns],\n )\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>(initialState?.columnVisibility || {})\n\n // eslint-disable-next-line react-hooks/incompatible-library\n const table = useReactTable({\n meta: {\n defaultHiddenColumnsVersion: initialState?.defaultHiddenColumnsVersion,\n formId: form.id,\n },\n columns,\n data: formStoreRecords,\n defaultColumn,\n state: {\n sorting: transformedSorting,\n columnVisibility,\n },\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange,\n manualFiltering: true,\n initialState,\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const state = table.getState()\n\n React.useEffect(() => {\n if (table.options.meta?.formId !== form.id) {\n // If the form id changes, do not save the state from the previous form over the that of the new form\n return\n }\n if (!state.columnSizing.isResizingColumn) {\n const storageKey = localStorageKey(form.id)\n const augmentedState = {\n ...state,\n hiddenColumns: Object.keys(state.columnVisibility),\n formId: table.options.meta?.formId,\n }\n localStorage.setItem(storageKey, JSON.stringify(augmentedState))\n }\n }, [form.id, state, table.options.meta?.formId])\n\n return {\n ...table,\n form,\n parameters,\n onChangeParameters,\n onRefresh,\n submissionIdValidationMessage,\n } as const\n}\n"]}
|
|
@@ -13,7 +13,9 @@ function Modal({ isOpen, title, children, className, cardClassName, titleClassNa
|
|
|
13
13
|
'is-active': isOpen,
|
|
14
14
|
}), open: isOpen, slots: {
|
|
15
15
|
backdrop: () => _jsx("div", { className: "modal-background-faded" }),
|
|
16
|
-
},
|
|
16
|
+
},
|
|
17
|
+
// eslint-disable-next-line react-hooks/refs
|
|
18
|
+
container: ref === null || ref === void 0 ? void 0 : ref.current, disableScrollLock: true, children: _jsxs("div", { className: clsx('modal-card', cardClassName), children: [title && (_jsx("header", { className: "modal-card-head", children: _jsx("p", { className: clsx('modal-card-title', titleClassName), children: title }) })), _jsx("section", { className: clsx('modal-card-body', bodyClassName), children: children }), actions && _jsx("footer", { className: "modal-card-foot", children: actions })] }) }));
|
|
17
19
|
}
|
|
18
20
|
export default React.memo(Modal);
|
|
19
21
|
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/renderer/Modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAajD,MAAM,CAAC,MAAM,qBAAqB,GAChC,KAAK,CAAC,aAAa,CAAgD,IAAI,CAAC,CAAA;AAE1E,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,GAIV;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEnD,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAC7C,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,YACrC,QAAQ,GACL,GACyB,CAClC,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EACb,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,OAAO,GACD;IACN,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;IACnD,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE;YAC3C,WAAW,EAAE,MAAM;SACpB,CAAC,EACF,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAK,SAAS,EAAC,wBAAwB,GAAO;SAC/D,
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/renderer/Modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAajD,MAAM,CAAC,MAAM,qBAAqB,GAChC,KAAK,CAAC,aAAa,CAAgD,IAAI,CAAC,CAAA;AAE1E,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,GAIV;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEnD,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAC7C,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,YACrC,QAAQ,GACL,GACyB,CAClC,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EACb,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,OAAO,GACD;IACN,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;IACnD,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE;YAC3C,WAAW,EAAE,MAAM;SACpB,CAAC,EACF,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAK,SAAS,EAAC,wBAAwB,GAAO;SAC/D;QACD,4CAA4C;QAC5C,SAAS,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EACvB,iBAAiB,EAAE,IAAI,YAEvB,eAAK,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,aAC9C,KAAK,IAAI,CACR,iBAAQ,SAAS,EAAC,iBAAiB,YACjC,YAAG,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,YAAG,KAAK,GAAK,GAC5D,CACV,EACD,kBAAS,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,YACvD,QAAQ,GACD,EACT,OAAO,IAAI,iBAAQ,SAAS,EAAC,iBAAiB,YAAE,OAAO,GAAU,IAC9D,GACG,CACZ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\nimport { Modal as MuiModal } from '@mui/material'\n\ntype Props = {\n isOpen: boolean\n title?: string\n children: React.ReactNode\n actions: React.ReactNode | null\n className?: string\n cardClassName?: string\n titleClassName?: string\n bodyClassName?: string\n}\n\nexport const ModalContainerContext =\n React.createContext<React.RefObject<HTMLDivElement | null> | null>(null)\n\nexport function ModalContainerProvider({\n children,\n className,\n}: {\n children: React.ReactNode\n className?: string\n}) {\n const modalRef = React.useRef<HTMLDivElement>(null)\n\n return (\n <ModalContainerContext.Provider value={modalRef}>\n <div ref={modalRef} className={className}>\n {children}\n </div>\n </ModalContainerContext.Provider>\n )\n}\n\nfunction Modal({\n isOpen,\n title,\n children,\n className,\n cardClassName,\n titleClassName,\n bodyClassName,\n actions,\n}: Props) {\n const ref = React.useContext(ModalContainerContext)\n return (\n <MuiModal\n className={clsx('modal ob-modal', className, {\n 'is-active': isOpen,\n })}\n open={isOpen}\n slots={{\n backdrop: () => <div className=\"modal-background-faded\"></div>,\n }}\n // eslint-disable-next-line react-hooks/refs\n container={ref?.current}\n disableScrollLock={true}\n >\n <div className={clsx('modal-card', cardClassName)}>\n {title && (\n <header className=\"modal-card-head\">\n <p className={clsx('modal-card-title', titleClassName)}>{title}</p>\n </header>\n )}\n <section className={clsx('modal-card-body', bodyClassName)}>\n {children}\n </section>\n {actions && <footer className=\"modal-card-foot\">{actions}</footer>}\n </div>\n </MuiModal>\n )\n}\n\nexport default React.memo(Modal)\n"]}
|
|
@@ -5,7 +5,9 @@ import useOneBlinkFormContainer from '../../hooks/useOneBlinkFormContainer';
|
|
|
5
5
|
function Tooltip({ children, ...props }) {
|
|
6
6
|
var _a;
|
|
7
7
|
const container = useOneBlinkFormContainer();
|
|
8
|
-
return (_jsx(MuiTooltip, { ...props, slotProps: {
|
|
8
|
+
return (_jsx(MuiTooltip, { ...props, slotProps: {
|
|
9
|
+
popper: { container: container.current, ...(_a = props.slotProps) === null || _a === void 0 ? void 0 : _a.popper },
|
|
10
|
+
}, children: children }));
|
|
9
11
|
}
|
|
10
12
|
export default React.memo(Tooltip);
|
|
11
13
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/renderer/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,wBAAwB,MAAM,sCAAsC,CAAA;AAE3E,SAAS,OAAO,CAAC,EACf,QAAQ,EACR,GAAG,KAAK,EACgC;;IACxC,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAA;IAE5C,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/renderer/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,wBAAwB,MAAM,sCAAsC,CAAA;AAE3E,SAAS,OAAO,CAAC,EACf,QAAQ,EACR,GAAG,KAAK,EACgC;;IACxC,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAA;IAE5C,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,SAAS,EAAE;YACT,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,MAAA,KAAK,CAAC,SAAS,0CAAE,MAAM,EAAE;SACrE,YAEA,QAAQ,GACE,CACd,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Tooltip as MuiTooltip } from '@mui/material'\nimport useOneBlinkFormContainer from '../../hooks/useOneBlinkFormContainer'\n\nfunction Tooltip({\n children,\n ...props\n}: React.ComponentProps<typeof MuiTooltip>) {\n const container = useOneBlinkFormContainer()\n\n return (\n <MuiTooltip\n {...props}\n slotProps={{\n popper: { container: container.current, ...props.slotProps?.popper },\n }}\n >\n {children}\n </MuiTooltip>\n )\n}\n\nexport default React.memo(Tooltip)\n"]}
|
|
@@ -88,7 +88,7 @@ function FormElementBSB({ id, formId, element, value, onChange, validationMessag
|
|
|
88
88
|
'no-addons-mobile': !hasCopyButton && !hasLookupButton,
|
|
89
89
|
}), children: [_jsx("div", { className: clsx('control is-expanded', {
|
|
90
90
|
'is-loading': isLoading,
|
|
91
|
-
}), children: _jsx(InputMask, { mask: "
|
|
91
|
+
}), children: _jsx(InputMask, { mask: "xxx-xxx", replacement: { x: /\d/ }, showMask: true, type: "text", placeholder: element.placeholderValue, id: id, name: element.name, className: "input ob-input cypress-bsb-control", value: text, onChange: (e) => {
|
|
92
92
|
setText(e.target.value);
|
|
93
93
|
}, required: element.required, disabled: element.readOnly, onBlur: () => {
|
|
94
94
|
if (text === 'xxx-xxx') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormElementBSB.js","sourceRoot":"","sources":["../../src/form-elements/FormElementBSB.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { InputMask } from '@react-input/mask'\nimport clsx from 'clsx'\nimport CopyToClipboardButton from '../components/renderer/CopyToClipboardButton'\nimport LookupButton from '../components/renderer/LookupButton'\nimport { FormTypes, MiscTypes } from '@oneblink/types'\nimport FormElementLabelContainer from '../components/renderer/FormElementLabelContainer'\nimport { FormElementValueChangeHandler, IsDirtyProps } from '../types/form'\nimport { formService } from '../apps'\nimport { LookupNotificationContext } from '../hooks/useLookupNotification'\nimport useElementAriaDescribedby from '../hooks/useElementAriaDescribedby'\nimport FormElementValidationMessage from '../components/renderer/FormElementValidationMessage'\n\ntype Props = {\n id: string\n formId: number\n element: FormTypes.BSBElement\n value: unknown\n onChange: FormElementValueChangeHandler<\n string | { isInvalid: boolean; isValidating: boolean }\n >\n displayValidationMessage: boolean\n validationMessage: string | undefined\n autocompleteAttributes?: string\n} & IsDirtyProps\n\nfunction FormElementBSB({\n id,\n formId,\n element,\n value,\n onChange,\n validationMessage,\n displayValidationMessage,\n isDirty,\n setIsDirty,\n autocompleteAttributes,\n}: Props) {\n const ariaDescribedby = useElementAriaDescribedby(id, element)\n const [text, setText] = React.useState(typeof value === 'string' ? value : '')\n const isValidFormat = /\\d{3}-\\d{3}/.test(text)\n\n const [{ isLoading, errorMessage, bsbRecord }, setState] = React.useState<{\n isLoading: boolean\n errorMessage: string | null\n bsbRecord: MiscTypes.BSBRecord | null\n }>({\n isLoading: false,\n errorMessage: null,\n bsbRecord: null,\n })\n\n React.useEffect(() => {\n if (bsbRecord) {\n onChange(element, {\n value: bsbRecord.bsb,\n })\n }\n }, [bsbRecord, element, onChange, value])\n\n React.useEffect(() => {\n if (text === '') {\n return\n }\n\n if (!isValidFormat) {\n setState({\n isLoading: false,\n errorMessage: null,\n bsbRecord: null,\n })\n return\n }\n\n setState({\n isLoading: true,\n errorMessage: null,\n bsbRecord: null,\n })\n\n const abortController = new AbortController()\n const getBSBRecord = async () => {\n onChange(element, {\n value: { isValidating: true, isInvalid: false },\n })\n try {\n const bsbRecord = await formService.getBSBRecord(\n formId,\n text,\n abortController.signal,\n )\n if (!abortController.signal.aborted) {\n setState({\n isLoading: false,\n errorMessage: null,\n bsbRecord,\n })\n }\n } catch (error) {\n console.warn('Error validating BSB number', error)\n if (!abortController.signal.aborted) {\n onChange(element, {\n value: { isInvalid: true, isValidating: false },\n })\n setState({\n isLoading: false,\n errorMessage: `The BSB number \"${text}\" does not exist`,\n bsbRecord: null,\n })\n }\n }\n }\n\n getBSBRecord()\n\n return () => {\n abortController.abort()\n }\n }, [formId, isValidFormat, text, onChange, element])\n\n const { isLookingUp } = React.useContext(LookupNotificationContext)\n const isDisplayingValidationMessage =\n (((isDirty || displayValidationMessage) &&\n !!validationMessage &&\n !isLoading) ||\n errorMessage) &&\n !isLookingUp\n\n const hasCopyButton = !!value && !!element.readOnly\n const hasLookupButton = element.isDataLookup || element.isElementLookup\n return (\n <div className=\"cypress-bsb-element\">\n <FormElementLabelContainer\n className=\"ob-bsb\"\n id={id}\n element={element}\n required={element.required}\n >\n <div\n className={clsx('field has-addons', {\n 'no-addons-mobile': !hasCopyButton && !hasLookupButton,\n })}\n >\n <div\n className={clsx('control is-expanded', {\n 'is-loading': isLoading,\n })}\n >\n <InputMask\n mask=\"ddd-ddd\"\n replacement={{ d: /\\d/ }}\n type=\"text\"\n placeholder={element.placeholderValue}\n id={id}\n name={element.name}\n className=\"input ob-input cypress-bsb-control\"\n value={text}\n onChange={(e) => {\n setText(e.target.value)\n }}\n required={element.required}\n disabled={element.readOnly}\n onBlur={() => {\n if (text === 'xxx-xxx') {\n onChange(element, {\n value: undefined,\n })\n }\n setIsDirty()\n }}\n aria-describedby={ariaDescribedby}\n autoComplete={autocompleteAttributes}\n aria-required={element.required}\n />\n </div>\n {bsbRecord && (\n <BSBDisplay\n bsbRecord={bsbRecord}\n className=\"ob-bsb__display-desktop\"\n />\n )}\n {hasCopyButton && (\n <div className=\"control\">\n <CopyToClipboardButton\n className=\"button is-input-addon copy-button cypress-copy-to-clipboard-button\"\n text={text}\n />\n </div>\n )}\n <LookupButton\n isInputButton\n value={value}\n validationMessage={validationMessage}\n lookupButtonConfig={element.lookupButton}\n />\n </div>\n {bsbRecord && (\n <BSBDisplay\n bsbRecord={bsbRecord}\n className=\"ob-bsb__display-mobile\"\n />\n )}\n {isDisplayingValidationMessage && (\n <FormElementValidationMessage\n message={errorMessage || validationMessage}\n />\n )}\n </FormElementLabelContainer>\n </div>\n )\n}\n\nconst BSBDisplay = ({\n bsbRecord,\n className,\n}: {\n bsbRecord: MiscTypes.BSBRecord\n className: string\n}) => {\n return (\n <div className={`control ob-bsb__record-control ${className}`}>\n <a className=\"button is-static ob-bsb__record-button\">\n {bsbRecord.financialInstitutionMnemonic} - {bsbRecord.name}\n </a>\n </div>\n )\n}\nexport default React.memo(FormElementBSB)\n"]}
|
|
1
|
+
{"version":3,"file":"FormElementBSB.js","sourceRoot":"","sources":["../../src/form-elements/FormElementBSB.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,qBAAqB,MAAM,8CAA8C,CAAA;AAChF,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAE9D,OAAO,yBAAyB,MAAM,kDAAkD,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,yBAAyB,MAAM,oCAAoC,CAAA;AAC1E,OAAO,4BAA4B,MAAM,qDAAqD,CAAA;AAe9F,SAAS,cAAc,CAAC,EACtB,EAAE,EACF,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,OAAO,EACP,UAAU,EACV,sBAAsB,GAChB;IACN,MAAM,eAAe,GAAG,yBAAyB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAItE;QACD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,OAAO,EAAE;gBAChB,KAAK,EAAE,SAAS,CAAC,GAAG;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,QAAQ,CAAC;gBACP,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,QAAQ,CAAC;YACP,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,QAAQ,CAAC,OAAO,EAAE;gBAChB,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;aAChD,CAAC,CAAA;YACF,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,YAAY,CAC9C,MAAM,EACN,IAAI,EACJ,eAAe,CAAC,MAAM,CACvB,CAAA;gBACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,QAAQ,CAAC;wBACP,SAAS,EAAE,KAAK;wBAChB,YAAY,EAAE,IAAI;wBAClB,SAAS;qBACV,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;gBAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,QAAQ,CAAC,OAAO,EAAE;wBAChB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;qBAChD,CAAC,CAAA;oBACF,QAAQ,CAAC;wBACP,SAAS,EAAE,KAAK;wBAChB,YAAY,EAAE,mBAAmB,IAAI,kBAAkB;wBACvD,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,YAAY,EAAE,CAAA;QAEd,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IAEpD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;IACnE,MAAM,6BAA6B,GACjC,CAAC,CAAC,CAAC,OAAO,IAAI,wBAAwB,CAAC;QACrC,CAAC,CAAC,iBAAiB;QACnB,CAAC,SAAS,CAAC;QACX,YAAY,CAAC;QACf,CAAC,WAAW,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,eAAe,CAAA;IACvE,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,YAClC,MAAC,yBAAyB,IACxB,SAAS,EAAC,QAAQ,EAClB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,aAE1B,eACE,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE;wBAClC,kBAAkB,EAAE,CAAC,aAAa,IAAI,CAAC,eAAe;qBACvD,CAAC,aAEF,cACE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE;gCACrC,YAAY,EAAE,SAAS;6BACxB,CAAC,YAEF,KAAC,SAAS,IACR,IAAI,EAAC,SAAS,EACd,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EACxB,QAAQ,QACR,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,OAAO,CAAC,gBAAgB,EACrC,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gCACzB,CAAC,EACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,MAAM,EAAE,GAAG,EAAE;oCACX,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wCACvB,QAAQ,CAAC,OAAO,EAAE;4CAChB,KAAK,EAAE,SAAS;yCACjB,CAAC,CAAA;oCACJ,CAAC;oCACD,UAAU,EAAE,CAAA;gCACd,CAAC,sBACiB,eAAe,EACjC,YAAY,EAAE,sBAAsB,mBACrB,OAAO,CAAC,QAAQ,GAC/B,GACE,EACL,SAAS,IAAI,CACZ,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,yBAAyB,GACnC,CACH,EACA,aAAa,IAAI,CAChB,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,qBAAqB,IACpB,SAAS,EAAC,oEAAoE,EAC9E,IAAI,EAAE,IAAI,GACV,GACE,CACP,EACD,KAAC,YAAY,IACX,aAAa,QACb,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,OAAO,CAAC,YAAY,GACxC,IACE,EACL,SAAS,IAAI,CACZ,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,wBAAwB,GAClC,CACH,EACA,6BAA6B,IAAI,CAChC,KAAC,4BAA4B,IAC3B,OAAO,EAAE,YAAY,IAAI,iBAAiB,GAC1C,CACH,IACyB,GACxB,CACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,SAAS,EACT,SAAS,GAIV,EAAE,EAAE;IACH,OAAO,CACL,cAAK,SAAS,EAAE,kCAAkC,SAAS,EAAE,YAC3D,aAAG,SAAS,EAAC,wCAAwC,aAClD,SAAS,CAAC,4BAA4B,SAAK,SAAS,CAAC,IAAI,IACxD,GACA,CACP,CAAA;AACH,CAAC,CAAA;AACD,eAAe,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { InputMask } from '@react-input/mask'\nimport clsx from 'clsx'\nimport CopyToClipboardButton from '../components/renderer/CopyToClipboardButton'\nimport LookupButton from '../components/renderer/LookupButton'\nimport { FormTypes, MiscTypes } from '@oneblink/types'\nimport FormElementLabelContainer from '../components/renderer/FormElementLabelContainer'\nimport { FormElementValueChangeHandler, IsDirtyProps } from '../types/form'\nimport { formService } from '../apps'\nimport { LookupNotificationContext } from '../hooks/useLookupNotification'\nimport useElementAriaDescribedby from '../hooks/useElementAriaDescribedby'\nimport FormElementValidationMessage from '../components/renderer/FormElementValidationMessage'\n\ntype Props = {\n id: string\n formId: number\n element: FormTypes.BSBElement\n value: unknown\n onChange: FormElementValueChangeHandler<\n string | { isInvalid: boolean; isValidating: boolean }\n >\n displayValidationMessage: boolean\n validationMessage: string | undefined\n autocompleteAttributes?: string\n} & IsDirtyProps\n\nfunction FormElementBSB({\n id,\n formId,\n element,\n value,\n onChange,\n validationMessage,\n displayValidationMessage,\n isDirty,\n setIsDirty,\n autocompleteAttributes,\n}: Props) {\n const ariaDescribedby = useElementAriaDescribedby(id, element)\n const [text, setText] = React.useState(typeof value === 'string' ? value : '')\n const isValidFormat = /\\d{3}-\\d{3}/.test(text)\n\n const [{ isLoading, errorMessage, bsbRecord }, setState] = React.useState<{\n isLoading: boolean\n errorMessage: string | null\n bsbRecord: MiscTypes.BSBRecord | null\n }>({\n isLoading: false,\n errorMessage: null,\n bsbRecord: null,\n })\n\n React.useEffect(() => {\n if (bsbRecord) {\n onChange(element, {\n value: bsbRecord.bsb,\n })\n }\n }, [bsbRecord, element, onChange, value])\n\n React.useEffect(() => {\n if (text === '') {\n return\n }\n\n if (!isValidFormat) {\n setState({\n isLoading: false,\n errorMessage: null,\n bsbRecord: null,\n })\n return\n }\n\n setState({\n isLoading: true,\n errorMessage: null,\n bsbRecord: null,\n })\n\n const abortController = new AbortController()\n const getBSBRecord = async () => {\n onChange(element, {\n value: { isValidating: true, isInvalid: false },\n })\n try {\n const bsbRecord = await formService.getBSBRecord(\n formId,\n text,\n abortController.signal,\n )\n if (!abortController.signal.aborted) {\n setState({\n isLoading: false,\n errorMessage: null,\n bsbRecord,\n })\n }\n } catch (error) {\n console.warn('Error validating BSB number', error)\n if (!abortController.signal.aborted) {\n onChange(element, {\n value: { isInvalid: true, isValidating: false },\n })\n setState({\n isLoading: false,\n errorMessage: `The BSB number \"${text}\" does not exist`,\n bsbRecord: null,\n })\n }\n }\n }\n\n getBSBRecord()\n\n return () => {\n abortController.abort()\n }\n }, [formId, isValidFormat, text, onChange, element])\n\n const { isLookingUp } = React.useContext(LookupNotificationContext)\n const isDisplayingValidationMessage =\n (((isDirty || displayValidationMessage) &&\n !!validationMessage &&\n !isLoading) ||\n errorMessage) &&\n !isLookingUp\n\n const hasCopyButton = !!value && !!element.readOnly\n const hasLookupButton = element.isDataLookup || element.isElementLookup\n return (\n <div className=\"cypress-bsb-element\">\n <FormElementLabelContainer\n className=\"ob-bsb\"\n id={id}\n element={element}\n required={element.required}\n >\n <div\n className={clsx('field has-addons', {\n 'no-addons-mobile': !hasCopyButton && !hasLookupButton,\n })}\n >\n <div\n className={clsx('control is-expanded', {\n 'is-loading': isLoading,\n })}\n >\n <InputMask\n mask=\"xxx-xxx\"\n replacement={{ x: /\\d/ }}\n showMask\n type=\"text\"\n placeholder={element.placeholderValue}\n id={id}\n name={element.name}\n className=\"input ob-input cypress-bsb-control\"\n value={text}\n onChange={(e) => {\n setText(e.target.value)\n }}\n required={element.required}\n disabled={element.readOnly}\n onBlur={() => {\n if (text === 'xxx-xxx') {\n onChange(element, {\n value: undefined,\n })\n }\n setIsDirty()\n }}\n aria-describedby={ariaDescribedby}\n autoComplete={autocompleteAttributes}\n aria-required={element.required}\n />\n </div>\n {bsbRecord && (\n <BSBDisplay\n bsbRecord={bsbRecord}\n className=\"ob-bsb__display-desktop\"\n />\n )}\n {hasCopyButton && (\n <div className=\"control\">\n <CopyToClipboardButton\n className=\"button is-input-addon copy-button cypress-copy-to-clipboard-button\"\n text={text}\n />\n </div>\n )}\n <LookupButton\n isInputButton\n value={value}\n validationMessage={validationMessage}\n lookupButtonConfig={element.lookupButton}\n />\n </div>\n {bsbRecord && (\n <BSBDisplay\n bsbRecord={bsbRecord}\n className=\"ob-bsb__display-mobile\"\n />\n )}\n {isDisplayingValidationMessage && (\n <FormElementValidationMessage\n message={errorMessage || validationMessage}\n />\n )}\n </FormElementLabelContainer>\n </div>\n )\n}\n\nconst BSBDisplay = ({\n bsbRecord,\n className,\n}: {\n bsbRecord: MiscTypes.BSBRecord\n className: string\n}) => {\n return (\n <div className={`control ob-bsb__record-control ${className}`}>\n <a className=\"button is-static ob-bsb__record-button\">\n {bsbRecord.financialInstitutionMnemonic} - {bsbRecord.name}\n </a>\n </div>\n )\n}\nexport default React.memo(FormElementBSB)\n"]}
|
|
@@ -12,20 +12,13 @@ function FormElementFreshdeskDependentField({ element, onUpdateFormElements, ...
|
|
|
12
12
|
const value = props.value;
|
|
13
13
|
if ((_a = props.value) === null || _a === void 0 ? void 0 : _a.category) {
|
|
14
14
|
const subCategoryOptions = getNestedOptions(element.options, value === null || value === void 0 ? void 0 : value.category);
|
|
15
|
-
subcategoryElement
|
|
16
|
-
elements.push(subcategoryElement);
|
|
15
|
+
elements.push({ ...subcategoryElement, options: subCategoryOptions });
|
|
17
16
|
if (value === null || value === void 0 ? void 0 : value.subCategory) {
|
|
18
17
|
const itemOptions = getNestedOptions(subCategoryOptions, value === null || value === void 0 ? void 0 : value.subCategory);
|
|
19
|
-
itemElement
|
|
20
|
-
elements.push(itemElement);
|
|
18
|
+
elements.push({ ...itemElement, options: itemOptions });
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
|
-
return {
|
|
24
|
-
...element,
|
|
25
|
-
type: 'form',
|
|
26
|
-
formId: NaN,
|
|
27
|
-
elements,
|
|
28
|
-
};
|
|
21
|
+
return { ...element, type: 'form', formId: NaN, elements };
|
|
29
22
|
}, [element, props.value, freshdeskElements]);
|
|
30
23
|
const handleUpdateNestedFormElements = React.useCallback((setter) => {
|
|
31
24
|
const [newFormFormElement] = setter([formFormElement]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormElementFreshdeskDependentField.js","sourceRoot":"","sources":["../../src/form-elements/FormElementFreshdeskDependentField.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,eAA0B,MAAM,mBAAmB,CAAA;AAC1D,OAAO,uCAAuC,EAAE,EAC9C,gBAAgB,GACjB,MAAM,qDAAqD,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,SAAS,kCAAkC,CAAC,EAC1C,OAAO,EACP,oBAAoB,EACpB,GAAG,KAAK,EAGT;IACC,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,uCAAuC,CAAC,OAAO,CAAC,EACtD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;;QACpE,MAAM,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC,GAAG,iBAAiB,CAAA;QAC5E,MAAM,QAAQ,GAAG,CAAC,eAAe,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAEP,CAAA;QAEb,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;YAC1B,MAAM,kBAAkB,GAAG,gBAAgB,CACzC,OAAO,CAAC,OAAO,EACf,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAChB,CAAA;
|
|
1
|
+
{"version":3,"file":"FormElementFreshdeskDependentField.js","sourceRoot":"","sources":["../../src/form-elements/FormElementFreshdeskDependentField.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormTypes } from '@oneblink/types'\nimport FormElementForm, { Props } from './FormElementForm'\nimport generateFreshdeskDependentFieldElements, {\n getNestedOptions,\n} from '../services/generateFreshdeskDependentFieldElements'\nimport { UpdateFormElementsHandler } from '../types/form'\nimport { typeCastService } from '@oneblink/sdk-core'\n\nfunction FormElementFreshdeskDependentField({\n element,\n onUpdateFormElements,\n ...props\n}: Omit<Props, 'element'> & {\n element: FormTypes.FreshdeskDependentFieldElement\n}) {\n const freshdeskElements = React.useMemo(\n () => generateFreshdeskDependentFieldElements(element),\n [element],\n )\n\n const formFormElement = React.useMemo<FormTypes.FormFormElement>(() => {\n const [categoryElement, subcategoryElement, itemElement] = freshdeskElements\n const elements = [categoryElement]\n const value = props.value as\n | FormTypes.FreshdeskDependentFieldElementValue\n | undefined\n\n if (props.value?.category) {\n const subCategoryOptions = getNestedOptions(\n element.options,\n value?.category,\n )\n\n elements.push({ ...subcategoryElement, options: subCategoryOptions })\n\n if (value?.subCategory) {\n const itemOptions = getNestedOptions(\n subCategoryOptions,\n value?.subCategory,\n )\n elements.push({ ...itemElement, options: itemOptions })\n }\n }\n\n return { ...element, type: 'form', formId: NaN, elements }\n }, [element, props.value, freshdeskElements])\n\n const handleUpdateNestedFormElements =\n React.useCallback<UpdateFormElementsHandler>(\n (setter) => {\n const [newFormFormElement] = setter([formFormElement])\n if (\n newFormFormElement.type !== 'form' ||\n !Array.isArray(newFormFormElement.elements) ||\n !newFormFormElement.elements[0]\n ) {\n return\n }\n const categoryElementWithOptions =\n typeCastService.formElements.toOptionsElement(\n newFormFormElement.elements[0],\n )\n if (!categoryElementWithOptions?.options) {\n return\n }\n\n onUpdateFormElements((formElements) => {\n return formElements.map((formElement) => {\n if (formElement.id === element.id) {\n return {\n ...formElement,\n options: categoryElementWithOptions.options,\n }\n }\n return formElement\n })\n })\n },\n [element.id, formFormElement, onUpdateFormElements],\n )\n\n return (\n <FormElementForm\n element={formFormElement}\n onUpdateFormElements={handleUpdateNestedFormElements}\n {...props}\n />\n )\n}\n\nexport default React.memo(FormElementFreshdeskDependentField)\n"]}
|
|
@@ -199,7 +199,11 @@ const GoogleLocationPicker = React.memo(function GoogleLocationPicker({ location
|
|
|
199
199
|
}, [handleDragEnd, map, marker, markerAnimation]);
|
|
200
200
|
return (_jsx(GoogleMap, { onLoad: (map) => setMap(map), onUnmount: () => setMap(null), mapContainerStyle: {
|
|
201
201
|
height: 300,
|
|
202
|
-
},
|
|
202
|
+
},
|
|
203
|
+
// eslint-disable-next-line react-hooks/refs
|
|
204
|
+
center: originalCenter.current, zoom: location.zoom, onZoomChanged: onZoomChanged, onClick: handleClick, options: { draggableCursor: 'pointer' }, children: _jsx(Marker, { onLoad: (marker) => setMarker(marker), onUnmount: () => setMarker(null), animation: markerAnimation,
|
|
205
|
+
// eslint-disable-next-line react-hooks/refs
|
|
206
|
+
position: originalCenter.current, draggable: true, onDragEnd: handleDragEnd }) }));
|
|
203
207
|
});
|
|
204
208
|
export default React.memo(FormElementLocation);
|
|
205
209
|
//# sourceMappingURL=FormElementLocation.js.map
|