aefis-core-ui 2.3.0-rc14 → 2.3.0-rc15
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/index.d.ts +1 -2
- package/dist/index.modern.js +219 -838
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -67,12 +67,6 @@ import Nouislider from 'nouislider-react';
|
|
|
67
67
|
import 'lodash/camelCase';
|
|
68
68
|
import debounce from 'lodash/debounce';
|
|
69
69
|
import StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';
|
|
70
|
-
import DeleteOutlineOutlinedIcon from '@mui/icons-material/DeleteOutlineOutlined';
|
|
71
|
-
import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
|
|
72
|
-
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
73
|
-
import '@mui/icons-material/MoreVert';
|
|
74
|
-
import produce from 'immer';
|
|
75
|
-
import { v4 } from 'uuid';
|
|
76
70
|
import { MuiForm5 } from '@rjsf/material-ui';
|
|
77
71
|
import isEmpty from 'lodash/isEmpty';
|
|
78
72
|
import compose from 'lodash/fp/compose';
|
|
@@ -90,7 +84,6 @@ import FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orien
|
|
|
90
84
|
import FilePondPluginImagePreview from 'filepond-plugin-image-preview';
|
|
91
85
|
import { registerPlugin, FilePond } from 'react-filepond';
|
|
92
86
|
import FilePondPluginGetFile from 'filepond-plugin-get-file';
|
|
93
|
-
import FilePondPluginFileValidateSize from 'filepond-plugin-file-validate-size';
|
|
94
87
|
import MaskedInput from 'react-text-mask';
|
|
95
88
|
import StylesProvider from '@mui/styles/StylesProvider';
|
|
96
89
|
|
|
@@ -1692,12 +1685,12 @@ const LegacyButtonTheme = createTheme(theme, {
|
|
|
1692
1685
|
}
|
|
1693
1686
|
});
|
|
1694
1687
|
|
|
1695
|
-
const _excluded$
|
|
1688
|
+
const _excluded$k = ["name"];
|
|
1696
1689
|
const Button = /*#__PURE__*/forwardRef(function Button(_ref, ref) {
|
|
1697
1690
|
let {
|
|
1698
1691
|
name
|
|
1699
1692
|
} = _ref,
|
|
1700
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
1693
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
|
|
1701
1694
|
const isColorDefault = props.color === undefined || props.color === "default";
|
|
1702
1695
|
const colorThemeName = isColorDefault ? "grey" : props.color;
|
|
1703
1696
|
const theme = useTheme$1();
|
|
@@ -1790,7 +1783,7 @@ AnimatedExpandMoreIcon.propTypes = {
|
|
|
1790
1783
|
sx: PropTypes.any
|
|
1791
1784
|
};
|
|
1792
1785
|
|
|
1793
|
-
const _excluded$
|
|
1786
|
+
const _excluded$j = ["name", "icon", "menuConfiguration", "color", "displayType", "variant", "onClick", "link"];
|
|
1794
1787
|
const AefisButton = withStyles$1({
|
|
1795
1788
|
root: {
|
|
1796
1789
|
"&:focus": {
|
|
@@ -1812,7 +1805,7 @@ const MenuButton = /*#__PURE__*/forwardRef(function MenuButton(_ref, ref) {
|
|
|
1812
1805
|
onClick,
|
|
1813
1806
|
link
|
|
1814
1807
|
} = _ref,
|
|
1815
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
1808
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
|
|
1816
1809
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
1817
1810
|
const handleClick = (event, link, buttonId) => {
|
|
1818
1811
|
setAnchorEl(event.currentTarget);
|
|
@@ -1912,12 +1905,7 @@ MenuButton.propTypes = {
|
|
|
1912
1905
|
/** Button variant */
|
|
1913
1906
|
variant: PropTypes.oneOf(["contained", "outlined", "text"]),
|
|
1914
1907
|
/** The type of the button */
|
|
1915
|
-
menuConfiguration: PropTypes.
|
|
1916
|
-
name: PropTypes.string,
|
|
1917
|
-
icon: PropTypes.any,
|
|
1918
|
-
divider: PropTypes.any,
|
|
1919
|
-
onClick: PropTypes.function
|
|
1920
|
-
})),
|
|
1908
|
+
menuConfiguration: PropTypes.array,
|
|
1921
1909
|
/** The function to execute when the button is clicked. */
|
|
1922
1910
|
onClick: PropTypes.func
|
|
1923
1911
|
};
|
|
@@ -1962,23 +1950,30 @@ const useStyles$F = makeStyles(theme => ({
|
|
|
1962
1950
|
}));
|
|
1963
1951
|
const titleProps = {
|
|
1964
1952
|
color: "textPrimary",
|
|
1965
|
-
variant: "
|
|
1953
|
+
variant: "h3",
|
|
1966
1954
|
style: {
|
|
1967
|
-
fontSize: "1.
|
|
1955
|
+
fontSize: "1.2rem",
|
|
1968
1956
|
fontWeight: 500,
|
|
1969
|
-
lineHeight: 1.
|
|
1970
|
-
letterSpacing:
|
|
1957
|
+
lineHeight: 1.3,
|
|
1958
|
+
letterSpacing: 0.5,
|
|
1959
|
+
whiteSpace: "nowrap",
|
|
1960
|
+
overflow: "hidden",
|
|
1961
|
+
textOverflow: "ellipsis"
|
|
1971
1962
|
}
|
|
1972
1963
|
};
|
|
1973
1964
|
const subtitleProps = {
|
|
1974
1965
|
color: "textSecondary",
|
|
1975
|
-
variant: "body1",
|
|
1976
1966
|
style: {
|
|
1977
|
-
fontSize: "0.
|
|
1978
|
-
fontWeight:
|
|
1967
|
+
fontSize: "0.875rem",
|
|
1968
|
+
fontWeight: 400,
|
|
1969
|
+
lineHeight: 1.4,
|
|
1970
|
+
letterSpacing: 0,
|
|
1979
1971
|
display: "inline-flex",
|
|
1980
1972
|
verticalAlign: "middle",
|
|
1981
|
-
alignItems: "center"
|
|
1973
|
+
alignItems: "center",
|
|
1974
|
+
whiteSpace: "nowrap",
|
|
1975
|
+
overflow: "hidden",
|
|
1976
|
+
textOverflow: "ellipsis"
|
|
1982
1977
|
}
|
|
1983
1978
|
};
|
|
1984
1979
|
const getGradientBackgroundColorArray = arrayIndex => {
|
|
@@ -2006,20 +2001,6 @@ const ContentBox = props => {
|
|
|
2006
2001
|
return props.children ? /*#__PURE__*/React.cloneElement(props.children) : "";
|
|
2007
2002
|
};
|
|
2008
2003
|
titleProps.component = props.titleComponent;
|
|
2009
|
-
if (props.wrapTitle) {
|
|
2010
|
-
titleProps["style"] = _extends({}, titleProps.style, {
|
|
2011
|
-
whiteSpace: "nowrap",
|
|
2012
|
-
overflow: "hidden",
|
|
2013
|
-
textOverflow: "ellipsis"
|
|
2014
|
-
});
|
|
2015
|
-
}
|
|
2016
|
-
if (props.wrapSubtitle) {
|
|
2017
|
-
titleProps["style"] = _extends({}, titleProps.style, {
|
|
2018
|
-
whiteSpace: "nowrap",
|
|
2019
|
-
overflow: "hidden",
|
|
2020
|
-
textOverflow: "ellipsis"
|
|
2021
|
-
});
|
|
2022
|
-
}
|
|
2023
2004
|
const headerProps = {
|
|
2024
2005
|
title: props.title,
|
|
2025
2006
|
disableTypography: false,
|
|
@@ -2038,7 +2019,7 @@ const ContentBox = props => {
|
|
|
2038
2019
|
}
|
|
2039
2020
|
if (typeof props.subtitle !== "string" && props.subtitle !== undefined) {
|
|
2040
2021
|
headerProps.title = /*#__PURE__*/jsx(Typography, {
|
|
2041
|
-
variant: "
|
|
2022
|
+
variant: "h3",
|
|
2042
2023
|
component: props.titleComponent,
|
|
2043
2024
|
style: titleProps.style,
|
|
2044
2025
|
display: "block",
|
|
@@ -2049,13 +2030,13 @@ const ContentBox = props => {
|
|
|
2049
2030
|
headerProps.subheader = props.subtitle;
|
|
2050
2031
|
}
|
|
2051
2032
|
if (props.titleBadge) {
|
|
2052
|
-
headerProps.title = /*#__PURE__*/jsx(
|
|
2033
|
+
headerProps.title = /*#__PURE__*/jsx("div", {
|
|
2053
2034
|
children: /*#__PURE__*/jsx(StyledBadge$1, {
|
|
2054
2035
|
badgeContent: props.titleBadge,
|
|
2055
2036
|
invisible: invisible,
|
|
2056
2037
|
color: "secondary",
|
|
2057
2038
|
children: /*#__PURE__*/jsx(Typography, {
|
|
2058
|
-
variant: "
|
|
2039
|
+
variant: "h3",
|
|
2059
2040
|
component: props.titleComponent,
|
|
2060
2041
|
style: titleProps.style,
|
|
2061
2042
|
display: "block",
|
|
@@ -2076,13 +2057,12 @@ const ContentBox = props => {
|
|
|
2076
2057
|
variant: "body1",
|
|
2077
2058
|
component: "span",
|
|
2078
2059
|
noWrap: true,
|
|
2079
|
-
|
|
2060
|
+
sx: {
|
|
2061
|
+
color: "text.secondary"
|
|
2062
|
+
},
|
|
2080
2063
|
style: {
|
|
2081
|
-
fontSize: "0.
|
|
2082
|
-
|
|
2083
|
-
display: "inline-flex",
|
|
2084
|
-
verticalAlign: "middle",
|
|
2085
|
-
alignItems: "center"
|
|
2064
|
+
fontSize: "0.875rem",
|
|
2065
|
+
letterSpacing: 0
|
|
2086
2066
|
},
|
|
2087
2067
|
children: props.subtitle
|
|
2088
2068
|
});
|
|
@@ -2094,7 +2074,6 @@ const ContentBox = props => {
|
|
|
2094
2074
|
const cardStyle = _extends({
|
|
2095
2075
|
marginBottom: props.hasGutter ? 8 : 0,
|
|
2096
2076
|
borderRadius: 16,
|
|
2097
|
-
transition: "border 100ms ease-out",
|
|
2098
2077
|
boxShadow: props.displayType === "outlined" ? "none" : "rgb(58 53 65 / 10%) 0px 2px 10px 0px"
|
|
2099
2078
|
}, props.cardStyle);
|
|
2100
2079
|
if (props.displayType === "outlined") {
|
|
@@ -2112,7 +2091,7 @@ const ContentBox = props => {
|
|
|
2112
2091
|
return /*#__PURE__*/jsxs(Box$1, {
|
|
2113
2092
|
sx: props.sx,
|
|
2114
2093
|
style: props.containerStyle,
|
|
2115
|
-
children: [props.header && /*#__PURE__*/jsx(
|
|
2094
|
+
children: [props.header && /*#__PURE__*/jsx("div", {
|
|
2116
2095
|
className: classes.sectionHeader,
|
|
2117
2096
|
children: /*#__PURE__*/jsx(Typography, {
|
|
2118
2097
|
variant: "h6",
|
|
@@ -2122,7 +2101,7 @@ const ContentBox = props => {
|
|
|
2122
2101
|
}), /*#__PURE__*/jsxs(Card, {
|
|
2123
2102
|
style: cardStyle,
|
|
2124
2103
|
className: tag.tag,
|
|
2125
|
-
children: [useHeaderImage && /*#__PURE__*/jsx(
|
|
2104
|
+
children: [useHeaderImage && /*#__PURE__*/jsx("div", {
|
|
2126
2105
|
style: imageDivStyle,
|
|
2127
2106
|
className: classes.imageContainer,
|
|
2128
2107
|
title: props.title,
|
|
@@ -2134,10 +2113,6 @@ const ContentBox = props => {
|
|
|
2134
2113
|
image: props.image
|
|
2135
2114
|
}), props.title && /*#__PURE__*/jsx(CardHeader, _extends({}, headerProps)), props.formatContent && /*#__PURE__*/jsx(CardContent, {
|
|
2136
2115
|
className: !props.title ? classes.cardContentWithoutTitle : classes.cardContent,
|
|
2137
|
-
sx: !props.children && !props.description ? {
|
|
2138
|
-
display: "none",
|
|
2139
|
-
visibility: "hidden"
|
|
2140
|
-
} : undefined,
|
|
2141
2116
|
children: /*#__PURE__*/jsxs(React.Fragment, {
|
|
2142
2117
|
children: [props.description && /*#__PURE__*/jsx(Typography, {
|
|
2143
2118
|
variant: "body2",
|
|
@@ -2172,9 +2147,7 @@ ContentBox.defaultProps = {
|
|
|
2172
2147
|
imageHeight: 150,
|
|
2173
2148
|
hasGutter: true,
|
|
2174
2149
|
imageBackgroundColor: "transparent",
|
|
2175
|
-
titleComponent: "div"
|
|
2176
|
-
wrapTitle: false,
|
|
2177
|
-
wrapSubtitle: false
|
|
2150
|
+
titleComponent: "div"
|
|
2178
2151
|
};
|
|
2179
2152
|
ContentBox.propTypes = {
|
|
2180
2153
|
/** Content of the content box */
|
|
@@ -2189,10 +2162,6 @@ ContentBox.propTypes = {
|
|
|
2189
2162
|
subtitle: PropTypes.any,
|
|
2190
2163
|
/** Main title of the content box. Can be a string or any component. */
|
|
2191
2164
|
title: PropTypes.any,
|
|
2192
|
-
/** Wrap the title? */
|
|
2193
|
-
wrapTitle: PropTypes.bool,
|
|
2194
|
-
/** Wrap the subtitle? */
|
|
2195
|
-
wrapSubtitle: PropTypes.bool,
|
|
2196
2165
|
/** Add a badge to the title of the content box. */
|
|
2197
2166
|
titleBadge: PropTypes.number,
|
|
2198
2167
|
/** The component to use to render the title. */
|
|
@@ -2335,10 +2304,11 @@ const Chip = ({
|
|
|
2335
2304
|
})
|
|
2336
2305
|
})
|
|
2337
2306
|
};
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
const
|
|
2307
|
+
|
|
2308
|
+
// TODO: create FormChip (or similar) and use contextful version there. Pure
|
|
2309
|
+
// and Contextful component should be seperated
|
|
2310
|
+
const formControl = useFormControl();
|
|
2311
|
+
const _canDelete = canDelete && !(formControl != null && formControl.disabled);
|
|
2342
2312
|
const Chip = () => {
|
|
2343
2313
|
return /*#__PURE__*/jsx(Chip$1, _extends({
|
|
2344
2314
|
role: role || "presentation",
|
|
@@ -2346,7 +2316,7 @@ const Chip = ({
|
|
|
2346
2316
|
}, chipProps, _canDelete && {
|
|
2347
2317
|
onDelete
|
|
2348
2318
|
}, {
|
|
2349
|
-
disabled: disabled
|
|
2319
|
+
disabled: formControl == null ? void 0 : formControl.disabled
|
|
2350
2320
|
}));
|
|
2351
2321
|
};
|
|
2352
2322
|
|
|
@@ -3465,7 +3435,7 @@ CardSectionTitle$1.propTypes = {
|
|
|
3465
3435
|
title: PropTypes.string
|
|
3466
3436
|
};
|
|
3467
3437
|
|
|
3468
|
-
const _excluded$
|
|
3438
|
+
const _excluded$i = ["title", "children", "height", "titleComponent"];
|
|
3469
3439
|
const CardSection$1 = _ref => {
|
|
3470
3440
|
let {
|
|
3471
3441
|
title,
|
|
@@ -3473,7 +3443,7 @@ const CardSection$1 = _ref => {
|
|
|
3473
3443
|
height,
|
|
3474
3444
|
titleComponent
|
|
3475
3445
|
} = _ref,
|
|
3476
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3446
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
|
|
3477
3447
|
return /*#__PURE__*/jsxs(Box$1, _extends({
|
|
3478
3448
|
sx: {
|
|
3479
3449
|
height: height || "inherit"
|
|
@@ -3573,7 +3543,7 @@ SvgImage.propTypes = {
|
|
|
3573
3543
|
width: PropTypes.any
|
|
3574
3544
|
};
|
|
3575
3545
|
|
|
3576
|
-
const _excluded$
|
|
3546
|
+
const _excluded$h = ["source", "description", "width", "height", "decorative", "showSkeleton", "fallbackImage"],
|
|
3577
3547
|
_excluded2$1 = ["src", "extension"];
|
|
3578
3548
|
const RenderImage = _ref => {
|
|
3579
3549
|
let {
|
|
@@ -3585,7 +3555,7 @@ const RenderImage = _ref => {
|
|
|
3585
3555
|
showSkeleton,
|
|
3586
3556
|
fallbackImage
|
|
3587
3557
|
} = _ref,
|
|
3588
|
-
other = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3558
|
+
other = _objectWithoutPropertiesLoose(_ref, _excluded$h);
|
|
3589
3559
|
const altText = decorative ? "" : description;
|
|
3590
3560
|
const role = decorative ? "presentation" : "img";
|
|
3591
3561
|
const hidden = !!decorative;
|
|
@@ -3663,7 +3633,7 @@ Image.propTypes = {
|
|
|
3663
3633
|
extension: PropTypes.string
|
|
3664
3634
|
};
|
|
3665
3635
|
|
|
3666
|
-
const _excluded$
|
|
3636
|
+
const _excluded$g = ["type"];
|
|
3667
3637
|
const imageProps = {
|
|
3668
3638
|
award: Award,
|
|
3669
3639
|
building: Building,
|
|
@@ -3689,7 +3659,7 @@ const IsometricImage = _ref => {
|
|
|
3689
3659
|
let {
|
|
3690
3660
|
type
|
|
3691
3661
|
} = _ref,
|
|
3692
|
-
other = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3662
|
+
other = _objectWithoutPropertiesLoose(_ref, _excluded$g);
|
|
3693
3663
|
const image = getIsometricImage(type);
|
|
3694
3664
|
return /*#__PURE__*/jsx(Image, _extends({
|
|
3695
3665
|
src: image
|
|
@@ -4372,9 +4342,6 @@ const RenderCard = props => {
|
|
|
4372
4342
|
configuration: props.actionsConfiguration,
|
|
4373
4343
|
data: props.data
|
|
4374
4344
|
}) : undefined,
|
|
4375
|
-
cardStyle: props.cardStyle || undefined,
|
|
4376
|
-
containerStyle: props.containerStyle || undefined,
|
|
4377
|
-
sx: props.sx || undefined,
|
|
4378
4345
|
children: /*#__PURE__*/jsxs(Fragment, {
|
|
4379
4346
|
children: [props.description && /*#__PURE__*/jsx(CardSection, {
|
|
4380
4347
|
sx: descriptionContainerStyle,
|
|
@@ -4408,10 +4375,7 @@ RenderCard.propTypes = {
|
|
|
4408
4375
|
avatarIconColor: PropTypes.string,
|
|
4409
4376
|
gradientColorHeaderImageId: PropTypes.any,
|
|
4410
4377
|
autoTruncateDescription: PropTypes.bool,
|
|
4411
|
-
avatar: PropTypes.any
|
|
4412
|
-
cardStyle: PropTypes.any,
|
|
4413
|
-
containerStyle: PropTypes.any,
|
|
4414
|
-
sx: PropTypes.object
|
|
4378
|
+
avatar: PropTypes.any
|
|
4415
4379
|
};
|
|
4416
4380
|
const BusinessObjectCard = props => {
|
|
4417
4381
|
return props.displayType === "skeleton" ? /*#__PURE__*/jsx(RenderSkeleton, {
|
|
@@ -4456,22 +4420,16 @@ BusinessObjectCard.propTypes = {
|
|
|
4456
4420
|
/** Override the avatar with provided avatar object. */
|
|
4457
4421
|
avatar: PropTypes.any,
|
|
4458
4422
|
/** Automatically truncate the description. For consistency, this should nearly always be set to "true" */
|
|
4459
|
-
autoTruncateDescription: PropTypes.bool
|
|
4460
|
-
/** Additional styles for the card */
|
|
4461
|
-
cardStyle: PropTypes.any,
|
|
4462
|
-
/** Additional styles for the content box container */
|
|
4463
|
-
containerStyle: PropTypes.any,
|
|
4464
|
-
/** Additional styles to apply */
|
|
4465
|
-
sx: PropTypes.object
|
|
4423
|
+
autoTruncateDescription: PropTypes.bool
|
|
4466
4424
|
};
|
|
4467
4425
|
|
|
4468
|
-
const _excluded$
|
|
4426
|
+
const _excluded$f = ["enableScrollTop", "containerProps"];
|
|
4469
4427
|
const SwipeableViews = _ref => {
|
|
4470
4428
|
let {
|
|
4471
4429
|
enableScrollTop = true,
|
|
4472
4430
|
containerProps = {}
|
|
4473
4431
|
} = _ref,
|
|
4474
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
4432
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
|
|
4475
4433
|
const containerRef = containerProps.ref || useRef();
|
|
4476
4434
|
useEffect(() => {
|
|
4477
4435
|
if (enableScrollTop) {
|
|
@@ -5110,7 +5068,7 @@ SectionTitle.propTypes = {
|
|
|
5110
5068
|
component: PropTypes.string
|
|
5111
5069
|
};
|
|
5112
5070
|
|
|
5113
|
-
const _excluded$
|
|
5071
|
+
const _excluded$e = ["title", "subtitle", "children", "display", "format", "renderList", "titleComponent"];
|
|
5114
5072
|
const Section = _ref => {
|
|
5115
5073
|
let {
|
|
5116
5074
|
title,
|
|
@@ -5121,7 +5079,7 @@ const Section = _ref => {
|
|
|
5121
5079
|
renderList,
|
|
5122
5080
|
titleComponent
|
|
5123
5081
|
} = _ref,
|
|
5124
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5082
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
|
|
5125
5083
|
const containerStyle = {
|
|
5126
5084
|
boxSizing: "border-box",
|
|
5127
5085
|
width: "100%",
|
|
@@ -5758,7 +5716,7 @@ FullPageViewer.propTypes = {
|
|
|
5758
5716
|
onMessage: PropTypes.func
|
|
5759
5717
|
};
|
|
5760
5718
|
|
|
5761
|
-
const _excluded$
|
|
5719
|
+
const _excluded$d = ["height", "children", "onScroll", "showTopFade", "showBottomFade", "component", "onScrollReachStart", "onScrollReachEnd"];
|
|
5762
5720
|
const useStyles$w = makeStyles(() => ({
|
|
5763
5721
|
scroller: {
|
|
5764
5722
|
position: "relative",
|
|
@@ -5831,7 +5789,7 @@ const ScrollingContainer = _ref => {
|
|
|
5831
5789
|
onScrollReachStart,
|
|
5832
5790
|
onScrollReachEnd
|
|
5833
5791
|
} = _ref,
|
|
5834
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5792
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
|
|
5835
5793
|
const classes = useStyles$w();
|
|
5836
5794
|
const [scrolled, setScrolled] = useState(false);
|
|
5837
5795
|
const rootStyle = {
|
|
@@ -7582,7 +7540,7 @@ var dataSourceManager = {
|
|
|
7582
7540
|
getDataSourceUrl: getDataSourceUrl
|
|
7583
7541
|
};
|
|
7584
7542
|
|
|
7585
|
-
const _excluded$
|
|
7543
|
+
const _excluded$c = ["clearOnChange", "minimumLength"];
|
|
7586
7544
|
const WAIT_INTERVAL = 1000;
|
|
7587
7545
|
const ENTER_KEY = 13;
|
|
7588
7546
|
const TextSearch$1 = _ref => {
|
|
@@ -7590,7 +7548,7 @@ const TextSearch$1 = _ref => {
|
|
|
7590
7548
|
clearOnChange,
|
|
7591
7549
|
minimumLength
|
|
7592
7550
|
} = _ref,
|
|
7593
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
7551
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
|
|
7594
7552
|
const [value, setValue] = useState("");
|
|
7595
7553
|
const [timer, setTimer] = useState(null);
|
|
7596
7554
|
const handleChange = e => {
|
|
@@ -7625,13 +7583,13 @@ const TextSearch$1 = _ref => {
|
|
|
7625
7583
|
value: value,
|
|
7626
7584
|
onKeyDown: handleKeyDown,
|
|
7627
7585
|
placeholder: props.placeholder,
|
|
7628
|
-
sx:
|
|
7586
|
+
sx: {
|
|
7629
7587
|
input: {
|
|
7630
7588
|
"&::placeholder": {
|
|
7631
7589
|
opacity: 0.7
|
|
7632
7590
|
}
|
|
7633
7591
|
}
|
|
7634
|
-
}
|
|
7592
|
+
}
|
|
7635
7593
|
}, props, {
|
|
7636
7594
|
inputProps: _extends({}, props.inputProps, {
|
|
7637
7595
|
"aria-label": props.placeholder
|
|
@@ -7719,7 +7677,7 @@ const mapFilters = newFilters => {
|
|
|
7719
7677
|
return mappedFilters;
|
|
7720
7678
|
};
|
|
7721
7679
|
|
|
7722
|
-
const _excluded$
|
|
7680
|
+
const _excluded$b = ["parentMenuOpen", "label", "rightIcon", "leftIcon", "children", "className", "tabIndex", "ContainerProps"];
|
|
7723
7681
|
const useMenuItemStyles = makeStyles(theme => ({
|
|
7724
7682
|
root: props => ({
|
|
7725
7683
|
backgroundColor: props.open ? theme.palette.action.hover : "rgba(0,0,0,0)"
|
|
@@ -7740,7 +7698,7 @@ const NestedMenuItem = /*#__PURE__*/React.forwardRef(function NestedMenuItem(pro
|
|
|
7740
7698
|
tabIndex: tabIndexProp,
|
|
7741
7699
|
ContainerProps: ContainerPropsProp = {}
|
|
7742
7700
|
} = props,
|
|
7743
|
-
MenuItemProps = _objectWithoutPropertiesLoose(props, _excluded$
|
|
7701
|
+
MenuItemProps = _objectWithoutPropertiesLoose(props, _excluded$b);
|
|
7744
7702
|
const {
|
|
7745
7703
|
ref: containerRefProp
|
|
7746
7704
|
} = ContainerPropsProp,
|
|
@@ -9002,12 +8960,12 @@ Actions.propTypes = {
|
|
|
9002
8960
|
onAction: PropTypes.func
|
|
9003
8961
|
};
|
|
9004
8962
|
|
|
9005
|
-
const _excluded$
|
|
8963
|
+
const _excluded$a = ["hasFilters"];
|
|
9006
8964
|
const RenderFilterButton = /*#__PURE__*/React.forwardRef(function RenderFilterButton(_ref, ref) {
|
|
9007
8965
|
let {
|
|
9008
8966
|
hasFilters
|
|
9009
8967
|
} = _ref,
|
|
9010
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
8968
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
|
9011
8969
|
return /*#__PURE__*/jsx(IconButton$1, _extends({}, props, {
|
|
9012
8970
|
ref: ref,
|
|
9013
8971
|
children: /*#__PURE__*/jsx(Badge, {
|
|
@@ -9100,7 +9058,7 @@ DefaultIconButton.propTypes = {
|
|
|
9100
9058
|
onClick: PropTypes.func
|
|
9101
9059
|
};
|
|
9102
9060
|
|
|
9103
|
-
const _excluded$
|
|
9061
|
+
const _excluded$9 = ["filterSet", "onClick", "disableSetDefault", "index"];
|
|
9104
9062
|
const useStyles$m = makeStyles(theme => ({
|
|
9105
9063
|
operations: {
|
|
9106
9064
|
display: "flex",
|
|
@@ -9172,7 +9130,7 @@ const Item$1 = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
9172
9130
|
disableSetDefault,
|
|
9173
9131
|
index
|
|
9174
9132
|
} = _ref,
|
|
9175
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
9133
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
9176
9134
|
const {
|
|
9177
9135
|
id,
|
|
9178
9136
|
disabled,
|
|
@@ -9228,7 +9186,7 @@ const renderUserDefinedFilters = ({
|
|
|
9228
9186
|
index: index
|
|
9229
9187
|
}, `user-defined-filters-${index}`));
|
|
9230
9188
|
|
|
9231
|
-
const _excluded$
|
|
9189
|
+
const _excluded$8 = ["filterSet", "onClick", "disableSetDefault", "index"];
|
|
9232
9190
|
const useStyles$l = makeStyles(() => ({
|
|
9233
9191
|
operations: {
|
|
9234
9192
|
display: "flex",
|
|
@@ -9270,7 +9228,7 @@ const Item = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
9270
9228
|
disableSetDefault,
|
|
9271
9229
|
index
|
|
9272
9230
|
} = _ref,
|
|
9273
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
9231
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
9274
9232
|
const {
|
|
9275
9233
|
id,
|
|
9276
9234
|
disabled,
|
|
@@ -10424,7 +10382,7 @@ const getInfoTextByFilterAndSortingCount = (filterCount, sortCount) => {
|
|
|
10424
10382
|
return `${appliedText} applied to the data`;
|
|
10425
10383
|
};
|
|
10426
10384
|
|
|
10427
|
-
const _excluded$
|
|
10385
|
+
const _excluded$7 = ["status", "data", "isFetching", "fetchNextPage", "hasNextPage", "refetch"];
|
|
10428
10386
|
const useDidMount = () => {
|
|
10429
10387
|
const didMountRef = useRef(false);
|
|
10430
10388
|
useEffect(() => {
|
|
@@ -10539,7 +10497,7 @@ const RichDataTable = /*#__PURE__*/forwardRef(function RichDatatable(props, ref)
|
|
|
10539
10497
|
hasNextPage,
|
|
10540
10498
|
refetch
|
|
10541
10499
|
} = _useDataSourceInfinit;
|
|
10542
|
-
_objectWithoutPropertiesLoose(_useDataSourceInfinit, _excluded$
|
|
10500
|
+
_objectWithoutPropertiesLoose(_useDataSourceInfinit, _excluded$7);
|
|
10543
10501
|
const isError = useIsError(status);
|
|
10544
10502
|
const renderReTryButton = useCallback(status => /*#__PURE__*/jsx(Button, {
|
|
10545
10503
|
onClick: () => refetch(),
|
|
@@ -10706,7 +10664,7 @@ const RichDataTable = /*#__PURE__*/forwardRef(function RichDatatable(props, ref)
|
|
|
10706
10664
|
exportOptions: props.exportOptions,
|
|
10707
10665
|
actions: props.actions && props.actions.length > 0 || props.addAction ? updateActions(props.actions, handleDrawerOpen, enableTableRowAction, selectedRowCount, Add) : undefined,
|
|
10708
10666
|
onFilterClick: isFilterPanelEnabled ? handleFilterClick : undefined,
|
|
10709
|
-
hasFilters: filterPanelState.filterCount > 0 || filterPanelState.sortCount > 0 ||
|
|
10667
|
+
hasFilters: filterPanelState.filterCount > 0 || filterPanelState.sortCount > 0 || filterPanelState.searchText,
|
|
10710
10668
|
disableFilterButton: isFetching
|
|
10711
10669
|
}, props.titleAndActionHeaderProps)), /*#__PURE__*/jsx(DataTable, _extends({}, props, {
|
|
10712
10670
|
tableRef: DataTableRef,
|
|
@@ -10921,7 +10879,7 @@ const {
|
|
|
10921
10879
|
withEvent: withBOPEvent
|
|
10922
10880
|
} = createComponentEvent();
|
|
10923
10881
|
|
|
10924
|
-
const _excluded$
|
|
10882
|
+
const _excluded$6 = ["onSubmit", "value", "columns", "filterPanelConfig", "multiple", "dataSource", "confirmButtonText"];
|
|
10925
10883
|
const useDialogOpenEventListener$1 = cb => useBOPEventlistener(event => {
|
|
10926
10884
|
if (event.name === events.OPEN_ENHANCED_SEARCH_DIALOG) cb(event.payload);
|
|
10927
10885
|
});
|
|
@@ -10935,7 +10893,7 @@ const EnhancedSearchDialog = _ref => {
|
|
|
10935
10893
|
dataSource,
|
|
10936
10894
|
confirmButtonText
|
|
10937
10895
|
} = _ref,
|
|
10938
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
10896
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
10939
10897
|
const [selection, setSelection] = useState([]);
|
|
10940
10898
|
const [open, setOpen] = useState(false);
|
|
10941
10899
|
useDialogOpenEventListener$1(isOpen => setOpen(isOpen));
|
|
@@ -11052,7 +11010,7 @@ const useDependencyChange = (callback, currentState) => {
|
|
|
11052
11010
|
}
|
|
11053
11011
|
};
|
|
11054
11012
|
|
|
11055
|
-
const _excluded$
|
|
11013
|
+
const _excluded$5 = ["visibleValues", "multiple", "dataSource", "optionTemplate", "getOptionLabel", "renderTags", "renderOption", "freeSolo", "newItemTemplate", "loadOnOpen", "openOnFocus", "enhancedSearch", "disableCloseOnSelect", "listSelect", "onAdd", "pageSize", "groupName", "idTemplate", "group", "shouldResetOnParametersChange", "queryParamNames", "enableInfinteScroll", "renderAddItemForm", "AddItemFormModalComponent", "autoCompleteProps"];
|
|
11056
11014
|
const useStyles$f = makeStyles(theme => ({
|
|
11057
11015
|
menu: {
|
|
11058
11016
|
textDecoration: "none",
|
|
@@ -11114,10 +11072,9 @@ const BusinessObjectPicker = _ref => {
|
|
|
11114
11072
|
enableInfinteScroll,
|
|
11115
11073
|
renderAddItemForm,
|
|
11116
11074
|
AddItemFormModalComponent,
|
|
11117
|
-
autoCompleteProps = {}
|
|
11118
|
-
preventHorizontalExpand = false
|
|
11075
|
+
autoCompleteProps = {}
|
|
11119
11076
|
} = _ref,
|
|
11120
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
11077
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
11121
11078
|
const classes = useStyles$f();
|
|
11122
11079
|
// TODO: implement controlled behaviour
|
|
11123
11080
|
const [value, setValue] = useAutoCompleteValue(props.value, multiple);
|
|
@@ -11384,11 +11341,6 @@ const BusinessObjectPicker = _ref => {
|
|
|
11384
11341
|
selectOnFocus: false,
|
|
11385
11342
|
renderTags: renderTags || (props.type ? renderTypeTags : renderCustomTags),
|
|
11386
11343
|
renderInput: params => /*#__PURE__*/jsx(TextSearch$1, _extends({}, params, props, {
|
|
11387
|
-
sx: _extends({}, preventHorizontalExpand && {
|
|
11388
|
-
"&>div.MuiInputBase-root": {
|
|
11389
|
-
flexWrap: "nowrap !important"
|
|
11390
|
-
}
|
|
11391
|
-
}),
|
|
11392
11344
|
type: "text",
|
|
11393
11345
|
inputProps: _extends({}, params.inputProps, {
|
|
11394
11346
|
"data-testid": "content-input"
|
|
@@ -11558,9 +11510,7 @@ BusinessObjectPicker.propTypes = {
|
|
|
11558
11510
|
/** render prop to handle form content, render function provided onSubmit callback function */
|
|
11559
11511
|
renderAddItemForm: PropTypes.func,
|
|
11560
11512
|
/** override props of MUI's AutoComplete components */
|
|
11561
|
-
autoCompleteProps: PropTypes.object
|
|
11562
|
-
/** preventHorizontalExpand */
|
|
11563
|
-
preventHorizontalExpand: PropTypes.bool
|
|
11513
|
+
autoCompleteProps: PropTypes.object
|
|
11564
11514
|
};
|
|
11565
11515
|
BusinessObjectPicker.defaultProps = {
|
|
11566
11516
|
multiple: false,
|
|
@@ -12522,7 +12472,7 @@ CurriculumChart.propTypes = {
|
|
|
12522
12472
|
onLoad: PropTypes.func
|
|
12523
12473
|
};
|
|
12524
12474
|
|
|
12525
|
-
const _excluded$
|
|
12475
|
+
const _excluded$4 = ["error", "inputFormat", "value", "isControlled", "onChange", "clearable", "disabled", "required", "showButton", "minimumDate", "maximumDate", "inputEndAdornmentText"];
|
|
12526
12476
|
const MuiDatePicker = props => {
|
|
12527
12477
|
const isMobile = useMediaQuery$1(theme => theme.breakpoints.down("md"));
|
|
12528
12478
|
if (props.type) {
|
|
@@ -12562,7 +12512,7 @@ const DatePickerBase = _ref => {
|
|
|
12562
12512
|
maximumDate,
|
|
12563
12513
|
inputEndAdornmentText
|
|
12564
12514
|
} = _ref,
|
|
12565
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
12515
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
12566
12516
|
const [value, setValue] = useFormItemState(propsValue, isControlled);
|
|
12567
12517
|
const handleChange = newValue => {
|
|
12568
12518
|
!isControlled && setValue(newValue);
|
|
@@ -15258,485 +15208,6 @@ RubricDistributionChart.propTypes = {
|
|
|
15258
15208
|
titleComponent: PropTypes.oneOf(["h1", "h2", "h3", "h4", "div", "p"])
|
|
15259
15209
|
};
|
|
15260
15210
|
|
|
15261
|
-
const _excluded$5 = ["rules"];
|
|
15262
|
-
const FieldWrapper = ({
|
|
15263
|
-
children
|
|
15264
|
-
}) => {
|
|
15265
|
-
return /*#__PURE__*/jsx(Box$1, {
|
|
15266
|
-
sx: {
|
|
15267
|
-
paddingTop: 1,
|
|
15268
|
-
overflow: "auto"
|
|
15269
|
-
},
|
|
15270
|
-
children: children
|
|
15271
|
-
});
|
|
15272
|
-
};
|
|
15273
|
-
const TemplateField = ({
|
|
15274
|
-
templateSelectionCode,
|
|
15275
|
-
templateOptions,
|
|
15276
|
-
templateInputMap,
|
|
15277
|
-
onChange
|
|
15278
|
-
}) => {
|
|
15279
|
-
const data = useMemo(() => templateOptions.map(({
|
|
15280
|
-
label,
|
|
15281
|
-
code: value
|
|
15282
|
-
}) => ({
|
|
15283
|
-
label,
|
|
15284
|
-
value
|
|
15285
|
-
}), [templateOptions]));
|
|
15286
|
-
const value = useMemo(() => {
|
|
15287
|
-
if (!templateSelectionCode) return undefined;
|
|
15288
|
-
return {
|
|
15289
|
-
value: templateSelectionCode,
|
|
15290
|
-
label: templateInputMap[templateSelectionCode].label
|
|
15291
|
-
};
|
|
15292
|
-
}, [templateSelectionCode]);
|
|
15293
|
-
return /*#__PURE__*/jsx(BusinessObjectPicker$1, {
|
|
15294
|
-
multiple: false,
|
|
15295
|
-
data: data,
|
|
15296
|
-
value: value,
|
|
15297
|
-
onChange: onChange,
|
|
15298
|
-
optionTemplate: "{{label}}",
|
|
15299
|
-
preventHorizontalExpand: true
|
|
15300
|
-
});
|
|
15301
|
-
};
|
|
15302
|
-
function Row({
|
|
15303
|
-
groupId,
|
|
15304
|
-
index,
|
|
15305
|
-
ruleId,
|
|
15306
|
-
ruleIndex,
|
|
15307
|
-
name: templateSelectionCode,
|
|
15308
|
-
// template selection
|
|
15309
|
-
value: ruleValue,
|
|
15310
|
-
// rule value
|
|
15311
|
-
template: ruleTemplate,
|
|
15312
|
-
onRuleDelete,
|
|
15313
|
-
onTemplateSelect,
|
|
15314
|
-
onTemplateValueChange,
|
|
15315
|
-
templateInputMap,
|
|
15316
|
-
templateOptions
|
|
15317
|
-
}) {
|
|
15318
|
-
const handleChange = useDebounceCallback((value, template) => {
|
|
15319
|
-
onTemplateValueChange({
|
|
15320
|
-
value,
|
|
15321
|
-
template,
|
|
15322
|
-
// TODO: send these as 2nd argument
|
|
15323
|
-
groupId,
|
|
15324
|
-
ruleId
|
|
15325
|
-
// TODO: fix index and ruleIndex lot of re-rendering
|
|
15326
|
-
// index,
|
|
15327
|
-
// ruleIndex
|
|
15328
|
-
});
|
|
15329
|
-
});
|
|
15330
|
-
|
|
15331
|
-
const templateValueField = useMemo(() => {
|
|
15332
|
-
if (!templateSelectionCode) return null;
|
|
15333
|
-
const TemplateInputField = templateInputMap[templateSelectionCode].component;
|
|
15334
|
-
return /*#__PURE__*/jsx(TemplateInputField, {
|
|
15335
|
-
value: ruleValue,
|
|
15336
|
-
template: ruleTemplate
|
|
15337
|
-
// TODO: add debouncer
|
|
15338
|
-
,
|
|
15339
|
-
onChange: handleChange
|
|
15340
|
-
});
|
|
15341
|
-
|
|
15342
|
-
// TODO: take out index from here together with onChange handler
|
|
15343
|
-
// index, ruleIndex,
|
|
15344
|
-
}, [groupId, ruleId, templateSelectionCode, ruleValue, ruleTemplate]);
|
|
15345
|
-
return /*#__PURE__*/jsxs(Box$1, {
|
|
15346
|
-
sx: {
|
|
15347
|
-
display: "flex",
|
|
15348
|
-
flexWrap: "no-wrap",
|
|
15349
|
-
paddingTop: 1
|
|
15350
|
-
},
|
|
15351
|
-
children: [/*#__PURE__*/jsxs(Grid, {
|
|
15352
|
-
sx: {
|
|
15353
|
-
flex: 1,
|
|
15354
|
-
backgroundColor: "#f9f9f9",
|
|
15355
|
-
marginLeft: 1,
|
|
15356
|
-
paddingTop: 1,
|
|
15357
|
-
paddingLeft: 2,
|
|
15358
|
-
paddingBottom: 1,
|
|
15359
|
-
paddingRight: 2,
|
|
15360
|
-
borderRadius: "8px",
|
|
15361
|
-
marginBottom: "4px"
|
|
15362
|
-
} // this is for grow
|
|
15363
|
-
,
|
|
15364
|
-
container: true,
|
|
15365
|
-
rowSpacing: 0.5,
|
|
15366
|
-
columnSpacing: 2,
|
|
15367
|
-
direction: "row",
|
|
15368
|
-
children: [/*#__PURE__*/jsx(Grid, {
|
|
15369
|
-
item: true,
|
|
15370
|
-
xs: 12,
|
|
15371
|
-
sm: 12,
|
|
15372
|
-
md: 4,
|
|
15373
|
-
style: {
|
|
15374
|
-
paddingLeft: 0
|
|
15375
|
-
},
|
|
15376
|
-
children: /*#__PURE__*/jsx(FieldWrapper, {
|
|
15377
|
-
children: /*#__PURE__*/jsx(TemplateField, {
|
|
15378
|
-
templateSelectionCode: templateSelectionCode,
|
|
15379
|
-
templateInputMap: templateInputMap,
|
|
15380
|
-
templateOptions: templateOptions,
|
|
15381
|
-
onChange: valueFieldCode => {
|
|
15382
|
-
onTemplateSelect({
|
|
15383
|
-
templateCode: (valueFieldCode == null ? void 0 : valueFieldCode.value) || null,
|
|
15384
|
-
groupId,
|
|
15385
|
-
ruleId,
|
|
15386
|
-
index,
|
|
15387
|
-
ruleIndex
|
|
15388
|
-
});
|
|
15389
|
-
}
|
|
15390
|
-
})
|
|
15391
|
-
})
|
|
15392
|
-
}), /*#__PURE__*/jsx(Grid, {
|
|
15393
|
-
item: true,
|
|
15394
|
-
xs: 12,
|
|
15395
|
-
sm: 12,
|
|
15396
|
-
md: 8,
|
|
15397
|
-
children: /*#__PURE__*/jsx(FieldWrapper, {
|
|
15398
|
-
children: templateValueField
|
|
15399
|
-
})
|
|
15400
|
-
})]
|
|
15401
|
-
}), /*#__PURE__*/jsx(Box$1, {
|
|
15402
|
-
sx: {
|
|
15403
|
-
width: "48px",
|
|
15404
|
-
marginTop: "22px"
|
|
15405
|
-
},
|
|
15406
|
-
children: /*#__PURE__*/jsx(MenuButton, {
|
|
15407
|
-
displayType: "icon",
|
|
15408
|
-
menuConfiguration: [{
|
|
15409
|
-
name: "Move Up",
|
|
15410
|
-
icon: /*#__PURE__*/jsx(KeyboardArrowUpIcon, {}),
|
|
15411
|
-
onClick: () => {}
|
|
15412
|
-
}, {
|
|
15413
|
-
name: "Move Down",
|
|
15414
|
-
icon: /*#__PURE__*/jsx(KeyboardArrowDownIcon, {}),
|
|
15415
|
-
onClick: () => {}
|
|
15416
|
-
}, {
|
|
15417
|
-
name: "Add Rule Below",
|
|
15418
|
-
icon: /*#__PURE__*/jsx(AddIcon, {}),
|
|
15419
|
-
onClick: () => {}
|
|
15420
|
-
}, {
|
|
15421
|
-
name: "Delete",
|
|
15422
|
-
icon: /*#__PURE__*/jsx(DeleteOutlineOutlinedIcon, {}),
|
|
15423
|
-
onClick: () => {
|
|
15424
|
-
onRuleDelete({
|
|
15425
|
-
ruleId,
|
|
15426
|
-
index,
|
|
15427
|
-
ruleIndex,
|
|
15428
|
-
groupId
|
|
15429
|
-
});
|
|
15430
|
-
}
|
|
15431
|
-
}]
|
|
15432
|
-
})
|
|
15433
|
-
})]
|
|
15434
|
-
});
|
|
15435
|
-
}
|
|
15436
|
-
const RuleGroup = /*#__PURE__*/memo(_ref => {
|
|
15437
|
-
let {
|
|
15438
|
-
rules
|
|
15439
|
-
} = _ref,
|
|
15440
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
15441
|
-
return /*#__PURE__*/jsx(Box$1, {
|
|
15442
|
-
sx: {
|
|
15443
|
-
paddingBottom: 1
|
|
15444
|
-
},
|
|
15445
|
-
children: rules.map(({
|
|
15446
|
-
id,
|
|
15447
|
-
name,
|
|
15448
|
-
value,
|
|
15449
|
-
template
|
|
15450
|
-
}, ruleIndex) => /*#__PURE__*/jsx(Row, _extends({
|
|
15451
|
-
name: name,
|
|
15452
|
-
value: value,
|
|
15453
|
-
template: template,
|
|
15454
|
-
ruleIndex: ruleIndex,
|
|
15455
|
-
ruleId: id
|
|
15456
|
-
}, rest), id))
|
|
15457
|
-
});
|
|
15458
|
-
});
|
|
15459
|
-
|
|
15460
|
-
const RuleGroupFooter = /*#__PURE__*/memo(({
|
|
15461
|
-
groupId,
|
|
15462
|
-
onGroupDelete,
|
|
15463
|
-
onRuleAdd
|
|
15464
|
-
}) => /*#__PURE__*/jsx(Box$1, {
|
|
15465
|
-
sx: {
|
|
15466
|
-
display: "flex",
|
|
15467
|
-
justifyContent: "end",
|
|
15468
|
-
marginRight: 6
|
|
15469
|
-
},
|
|
15470
|
-
children: /*#__PURE__*/jsxs(Box$1, {
|
|
15471
|
-
sx: {
|
|
15472
|
-
display: "flex",
|
|
15473
|
-
flexDirection: "row"
|
|
15474
|
-
},
|
|
15475
|
-
children: [/*#__PURE__*/jsx(Button
|
|
15476
|
-
// onClick={onGroupDelete}
|
|
15477
|
-
, {
|
|
15478
|
-
onClick: () => onGroupDelete({
|
|
15479
|
-
groupId
|
|
15480
|
-
}),
|
|
15481
|
-
startIcon: /*#__PURE__*/jsx(DeleteOutlineOutlinedIcon, {}),
|
|
15482
|
-
children: "Delete Group"
|
|
15483
|
-
}), /*#__PURE__*/jsx(Button, {
|
|
15484
|
-
onClick: () => onRuleAdd({
|
|
15485
|
-
groupId
|
|
15486
|
-
})
|
|
15487
|
-
// onClick={onRuleAdd}
|
|
15488
|
-
,
|
|
15489
|
-
startIcon: /*#__PURE__*/jsx(AddIcon, {}),
|
|
15490
|
-
children: "Add Rule"
|
|
15491
|
-
})]
|
|
15492
|
-
})
|
|
15493
|
-
}));
|
|
15494
|
-
|
|
15495
|
-
const BuilderHeader = /*#__PURE__*/memo(({
|
|
15496
|
-
onAdd,
|
|
15497
|
-
children
|
|
15498
|
-
}) => /*#__PURE__*/jsxs(Box$1, {
|
|
15499
|
-
sx: {
|
|
15500
|
-
display: "flex"
|
|
15501
|
-
},
|
|
15502
|
-
children: [/*#__PURE__*/jsx(Box$1, {
|
|
15503
|
-
sx: {
|
|
15504
|
-
flex: 1
|
|
15505
|
-
},
|
|
15506
|
-
children: children
|
|
15507
|
-
}), /*#__PURE__*/jsx(Box$1, {
|
|
15508
|
-
sx: {
|
|
15509
|
-
display: "flex",
|
|
15510
|
-
justifyContent: "end",
|
|
15511
|
-
paddingBottom: 1
|
|
15512
|
-
},
|
|
15513
|
-
children: /*#__PURE__*/jsx(Button, {
|
|
15514
|
-
startIcon: /*#__PURE__*/jsx(AddIcon, {}),
|
|
15515
|
-
onClick: onAdd,
|
|
15516
|
-
children: "Add Group"
|
|
15517
|
-
})
|
|
15518
|
-
})]
|
|
15519
|
-
}));
|
|
15520
|
-
|
|
15521
|
-
const RuleGroupIndex = /*#__PURE__*/memo(({
|
|
15522
|
-
onMovePosition,
|
|
15523
|
-
groupId,
|
|
15524
|
-
index,
|
|
15525
|
-
isFirst,
|
|
15526
|
-
isLast
|
|
15527
|
-
}) => /*#__PURE__*/jsx(Box$1, {
|
|
15528
|
-
sx: {
|
|
15529
|
-
width: "40px",
|
|
15530
|
-
height: "88px"
|
|
15531
|
-
},
|
|
15532
|
-
children: /*#__PURE__*/jsxs(Box$1, {
|
|
15533
|
-
sx: {
|
|
15534
|
-
display: "flex",
|
|
15535
|
-
flexDirection: "column",
|
|
15536
|
-
alignItems: "center",
|
|
15537
|
-
position: "relative",
|
|
15538
|
-
top: "0px",
|
|
15539
|
-
width: "20px"
|
|
15540
|
-
},
|
|
15541
|
-
children: [/*#__PURE__*/jsx(IconButton$1, {
|
|
15542
|
-
sx: {
|
|
15543
|
-
visibility: isFirst ? "hidden" : "none"
|
|
15544
|
-
},
|
|
15545
|
-
"aria-label": "move up",
|
|
15546
|
-
onClick: () => onMovePosition({
|
|
15547
|
-
groupId,
|
|
15548
|
-
index
|
|
15549
|
-
}, true),
|
|
15550
|
-
children: /*#__PURE__*/jsx(KeyboardArrowUpIcon, {
|
|
15551
|
-
sx: {
|
|
15552
|
-
color: "grey"
|
|
15553
|
-
}
|
|
15554
|
-
})
|
|
15555
|
-
}), /*#__PURE__*/jsx(Typography, {
|
|
15556
|
-
variant: "body1",
|
|
15557
|
-
color: "#727373",
|
|
15558
|
-
sx: {
|
|
15559
|
-
fontWeight: "500"
|
|
15560
|
-
},
|
|
15561
|
-
children: index + 1
|
|
15562
|
-
}), /*#__PURE__*/jsx(IconButton$1, {
|
|
15563
|
-
"aria-label": "move down",
|
|
15564
|
-
sx: {
|
|
15565
|
-
visibility: isLast ? "hidden" : "none"
|
|
15566
|
-
},
|
|
15567
|
-
onClick: () => onMovePosition({
|
|
15568
|
-
groupId,
|
|
15569
|
-
index
|
|
15570
|
-
}, false),
|
|
15571
|
-
children: /*#__PURE__*/jsx(KeyboardArrowDownIcon, {
|
|
15572
|
-
sx: {
|
|
15573
|
-
color: "grey"
|
|
15574
|
-
}
|
|
15575
|
-
})
|
|
15576
|
-
})]
|
|
15577
|
-
})
|
|
15578
|
-
}));
|
|
15579
|
-
|
|
15580
|
-
const _excluded$4 = ["code"];
|
|
15581
|
-
const TextBuilder = /*#__PURE__*/memo(({
|
|
15582
|
-
renderHeader,
|
|
15583
|
-
templateOptions,
|
|
15584
|
-
value: _value = [],
|
|
15585
|
-
onChange: _onChange = () => {},
|
|
15586
|
-
defaultRule
|
|
15587
|
-
}) => {
|
|
15588
|
-
const templateInputMap = useMemo(() => templateOptions.reduce((obj, _ref) => {
|
|
15589
|
-
let {
|
|
15590
|
-
code
|
|
15591
|
-
} = _ref,
|
|
15592
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
15593
|
-
return _extends({}, obj, {
|
|
15594
|
-
[code]: rest
|
|
15595
|
-
});
|
|
15596
|
-
}, {}), [templateOptions]);
|
|
15597
|
-
|
|
15598
|
-
// TODO: change rows => RuleGroups
|
|
15599
|
-
const [rows, setRows] = useState(_value);
|
|
15600
|
-
const setMutatableRows = useCallback(setterFn => {
|
|
15601
|
-
setRows(rows => produce(rows, setterFn));
|
|
15602
|
-
}, []);
|
|
15603
|
-
useEffect(() => {
|
|
15604
|
-
_onChange(rows);
|
|
15605
|
-
}, [rows]);
|
|
15606
|
-
const handleAddGroup = () => {
|
|
15607
|
-
// TODO use setMutatableRows
|
|
15608
|
-
setRows([...rows, {
|
|
15609
|
-
index: rows.length,
|
|
15610
|
-
groupId: v4(),
|
|
15611
|
-
rules: [_extends({
|
|
15612
|
-
id: v4()
|
|
15613
|
-
}, defaultRule)]
|
|
15614
|
-
}]);
|
|
15615
|
-
};
|
|
15616
|
-
const handleGroupDelete = ({
|
|
15617
|
-
groupId
|
|
15618
|
-
}) => {
|
|
15619
|
-
const newRows = rows.filter(row => row.groupId !== groupId);
|
|
15620
|
-
setRows(newRows);
|
|
15621
|
-
};
|
|
15622
|
-
const handleRuleDelete = ({
|
|
15623
|
-
index,
|
|
15624
|
-
ruleIndex,
|
|
15625
|
-
groupId,
|
|
15626
|
-
ruleId
|
|
15627
|
-
}) => {
|
|
15628
|
-
setMutatableRows(groups => {
|
|
15629
|
-
groups[index].rules = groups[index].rules.filter(rule => rule.id !== ruleId);
|
|
15630
|
-
});
|
|
15631
|
-
};
|
|
15632
|
-
|
|
15633
|
-
// TODO change name
|
|
15634
|
-
const handleRuleTemplateSelect = ({
|
|
15635
|
-
groupId,
|
|
15636
|
-
index,
|
|
15637
|
-
ruleId,
|
|
15638
|
-
ruleIndex,
|
|
15639
|
-
templateCode
|
|
15640
|
-
}) => {
|
|
15641
|
-
setMutatableRows(groups => {
|
|
15642
|
-
groups[index].rules[ruleIndex].name = templateCode || null;
|
|
15643
|
-
groups[index].rules[ruleIndex].value = null;
|
|
15644
|
-
groups[index].rules[ruleIndex].template = null;
|
|
15645
|
-
});
|
|
15646
|
-
};
|
|
15647
|
-
const handleRuleTemplateValueChange = ({
|
|
15648
|
-
value,
|
|
15649
|
-
template,
|
|
15650
|
-
groupId,
|
|
15651
|
-
index,
|
|
15652
|
-
ruleId,
|
|
15653
|
-
ruleIndex
|
|
15654
|
-
}) => {
|
|
15655
|
-
setMutatableRows(groups => {
|
|
15656
|
-
const rule = groups.find(group => group.groupId === groupId).rules.find(rule => rule.id === ruleId);
|
|
15657
|
-
rule.value = value;
|
|
15658
|
-
rule.template = template;
|
|
15659
|
-
// groups[index].rules[ruleIndex].value = value;
|
|
15660
|
-
// groups[index].rules[ruleIndex].template = template;
|
|
15661
|
-
});
|
|
15662
|
-
};
|
|
15663
|
-
|
|
15664
|
-
const moveGroupPosition = ({
|
|
15665
|
-
index
|
|
15666
|
-
}, isUp) => {
|
|
15667
|
-
const newRows = rows.slice();
|
|
15668
|
-
const nextRow = isUp ? index - 1 : index + 1;
|
|
15669
|
-
[newRows[index], newRows[nextRow]] = [newRows[nextRow], newRows[index]];
|
|
15670
|
-
setRows(newRows);
|
|
15671
|
-
};
|
|
15672
|
-
const handleAddRule = ({
|
|
15673
|
-
groupId
|
|
15674
|
-
}) => {
|
|
15675
|
-
// TODO use setMutatableRows
|
|
15676
|
-
const newRules = rows.map(row => {
|
|
15677
|
-
if (row.groupId !== groupId) return row;
|
|
15678
|
-
return _extends({}, row, {
|
|
15679
|
-
rules: [...row.rules, _extends({
|
|
15680
|
-
id: v4()
|
|
15681
|
-
}, defaultRule)]
|
|
15682
|
-
});
|
|
15683
|
-
});
|
|
15684
|
-
setRows(newRules);
|
|
15685
|
-
};
|
|
15686
|
-
return /*#__PURE__*/jsxs(ContentBox, {
|
|
15687
|
-
sx: {
|
|
15688
|
-
".MuiFormControl-root": {
|
|
15689
|
-
background: "white"
|
|
15690
|
-
}
|
|
15691
|
-
},
|
|
15692
|
-
children: [/*#__PURE__*/jsx(BuilderHeader, {
|
|
15693
|
-
onAdd: handleAddGroup,
|
|
15694
|
-
children: renderHeader()
|
|
15695
|
-
}), rows.map(({
|
|
15696
|
-
groupId,
|
|
15697
|
-
rules
|
|
15698
|
-
}, index) => /*#__PURE__*/jsx(ContentBox, {
|
|
15699
|
-
displayType: "outlined",
|
|
15700
|
-
sx: {
|
|
15701
|
-
paddingBottom: 2
|
|
15702
|
-
},
|
|
15703
|
-
children: /*#__PURE__*/jsxs(Box$1, {
|
|
15704
|
-
sx: {
|
|
15705
|
-
display: "flex",
|
|
15706
|
-
flexWrap: "no-wrap",
|
|
15707
|
-
border: "1px solid transparent"
|
|
15708
|
-
},
|
|
15709
|
-
children: [/*#__PURE__*/jsx(RuleGroupIndex, {
|
|
15710
|
-
onMovePosition: moveGroupPosition,
|
|
15711
|
-
isFirst: index === 0,
|
|
15712
|
-
isLast: index === rows.length - 1,
|
|
15713
|
-
index: index,
|
|
15714
|
-
groupId: groupId
|
|
15715
|
-
}), /*#__PURE__*/jsxs(Box$1, {
|
|
15716
|
-
sx: {
|
|
15717
|
-
flex: 1
|
|
15718
|
-
},
|
|
15719
|
-
children: [/*#__PURE__*/jsx(RuleGroup, {
|
|
15720
|
-
index: index,
|
|
15721
|
-
rules: rules,
|
|
15722
|
-
groupId: groupId,
|
|
15723
|
-
templateOptions: templateOptions,
|
|
15724
|
-
templateInputMap: templateInputMap,
|
|
15725
|
-
onRuleDelete: handleRuleDelete,
|
|
15726
|
-
onTemplateSelect: handleRuleTemplateSelect,
|
|
15727
|
-
onTemplateValueChange: handleRuleTemplateValueChange
|
|
15728
|
-
}), /*#__PURE__*/jsx(RuleGroupFooter, {
|
|
15729
|
-
groupIndex: index,
|
|
15730
|
-
groupId: groupId,
|
|
15731
|
-
onGroupDelete: handleGroupDelete,
|
|
15732
|
-
onRuleAdd: handleAddRule
|
|
15733
|
-
})]
|
|
15734
|
-
})]
|
|
15735
|
-
})
|
|
15736
|
-
}, groupId))]
|
|
15737
|
-
});
|
|
15738
|
-
});
|
|
15739
|
-
|
|
15740
15211
|
const moreThan = ruleValue => ({
|
|
15741
15212
|
fieldValue
|
|
15742
15213
|
}) => {
|
|
@@ -17105,6 +16576,14 @@ const render = (value, formState) => {
|
|
|
17105
16576
|
}
|
|
17106
16577
|
return mustache.render(value, formState);
|
|
17107
16578
|
};
|
|
16579
|
+
const renderUrl = (value, formState) => {
|
|
16580
|
+
if (value === undefined || value === null) {
|
|
16581
|
+
return value;
|
|
16582
|
+
}
|
|
16583
|
+
return decodeHtml$2(mustache.render(value, formState));
|
|
16584
|
+
};
|
|
16585
|
+
const useRenderUrl = template => useSelectFormState(state => renderUrl(template, state));
|
|
16586
|
+
const useRender = template => useSelectFormState(state => render(template, state));
|
|
17108
16587
|
|
|
17109
16588
|
const useQueryTemplateParam = queryTemplate => {
|
|
17110
16589
|
const selector = useCallback(state => {
|
|
@@ -17391,7 +16870,7 @@ const DateSelectReadOnly$1 = ({
|
|
|
17391
16870
|
schema
|
|
17392
16871
|
}) => {
|
|
17393
16872
|
const value = useMemo(() => {
|
|
17394
|
-
if (
|
|
16873
|
+
if (formData == undefined) return null;
|
|
17395
16874
|
const date = new Date(formData.date);
|
|
17396
16875
|
const options = _extends({}, formData.type === "y" && {
|
|
17397
16876
|
year: "numeric"
|
|
@@ -17441,37 +16920,30 @@ const DateSelect = props => {
|
|
|
17441
16920
|
rawErrors,
|
|
17442
16921
|
disabled
|
|
17443
16922
|
} = props;
|
|
16923
|
+
const [selectedDate, setSelectedDate] = useState(null);
|
|
16924
|
+
const [dateType, setDateType] = useState(dateTypes.day);
|
|
17444
16925
|
const serverSideDateFormat = "MM-dd-yyyy";
|
|
17445
|
-
|
|
17446
|
-
selectedDate,
|
|
17447
|
-
dateType
|
|
17448
|
-
}, setFieldValue] = useState(() => {
|
|
16926
|
+
useEffect(() => {
|
|
17449
16927
|
if (formData && typeof formData === "object" && formData.date != undefined) {
|
|
17450
|
-
|
|
17451
|
-
|
|
17452
|
-
|
|
17453
|
-
};
|
|
16928
|
+
let obj = formData;
|
|
16929
|
+
setDateType(findDateType(obj.type));
|
|
16930
|
+
setSelectedDate(parse$1(obj.date, serverSideDateFormat, new Date()));
|
|
17454
16931
|
} else {
|
|
17455
|
-
|
|
17456
|
-
|
|
17457
|
-
dateType: formData != null && formData.type ? findDateType(formData.type) : dateTypes.day
|
|
17458
|
-
};
|
|
16932
|
+
setDateType(dateTypes.day);
|
|
16933
|
+
setSelectedDate(null);
|
|
17459
16934
|
}
|
|
17460
|
-
});
|
|
16935
|
+
}, [formData]);
|
|
17461
16936
|
const handleDateTypeChange = (event, newDateType) => {
|
|
17462
|
-
|
|
17463
|
-
|
|
17464
|
-
|
|
17465
|
-
|
|
17466
|
-
|
|
16937
|
+
if (newDateType != null) {
|
|
16938
|
+
setDateType(newDateType);
|
|
16939
|
+
if (typeof selectedDate !== "undefined" && selectedDate != null) {
|
|
16940
|
+
format$1(selectedDate, serverSideDateFormat);
|
|
16941
|
+
onChange({
|
|
16942
|
+
date: format$1(selectedDate, serverSideDateFormat),
|
|
16943
|
+
type: newDateType.type
|
|
16944
|
+
});
|
|
16945
|
+
}
|
|
17467
16946
|
}
|
|
17468
|
-
setFieldValue(prev => _extends({}, prev, {
|
|
17469
|
-
dateType: newDateType
|
|
17470
|
-
}));
|
|
17471
|
-
onChange({
|
|
17472
|
-
date: newDate,
|
|
17473
|
-
type: newDateType.type
|
|
17474
|
-
});
|
|
17475
16947
|
};
|
|
17476
16948
|
const handleDateChange = newDate => {
|
|
17477
16949
|
if (newDate != null) {
|
|
@@ -17481,17 +16953,13 @@ const DateSelect = props => {
|
|
|
17481
16953
|
newDate = setDate(newDate, 1);
|
|
17482
16954
|
newDate = setMonth(newDate, 0);
|
|
17483
16955
|
}
|
|
17484
|
-
|
|
17485
|
-
selectedDate: newDate
|
|
17486
|
-
}));
|
|
16956
|
+
setSelectedDate(newDate);
|
|
17487
16957
|
onChange({
|
|
17488
16958
|
date: format$1(newDate, serverSideDateFormat),
|
|
17489
16959
|
type: dateType.type
|
|
17490
16960
|
});
|
|
17491
16961
|
} else {
|
|
17492
|
-
|
|
17493
|
-
selectedDate: null
|
|
17494
|
-
}));
|
|
16962
|
+
setSelectedDate(newDate);
|
|
17495
16963
|
onChange({
|
|
17496
16964
|
date: null,
|
|
17497
16965
|
type: dateType.type
|
|
@@ -17561,7 +17029,7 @@ const DateSelect = props => {
|
|
|
17561
17029
|
inputVariant: "outlined",
|
|
17562
17030
|
inputFormat: dateType.format,
|
|
17563
17031
|
views: dateType.views,
|
|
17564
|
-
value: selectedDate
|
|
17032
|
+
value: typeof selectedDate === "undefined" ? null : selectedDate,
|
|
17565
17033
|
onChange: handleDateChange,
|
|
17566
17034
|
disabled: disabled,
|
|
17567
17035
|
renderInput: params => /*#__PURE__*/jsx(TextField, _extends({}, params, {
|
|
@@ -17571,12 +17039,7 @@ const DateSelect = props => {
|
|
|
17571
17039
|
sx: dateInputStyles
|
|
17572
17040
|
})),
|
|
17573
17041
|
minDate: minDate,
|
|
17574
|
-
maxDate: maxDate
|
|
17575
|
-
componentsProps: {
|
|
17576
|
-
actionBar: {
|
|
17577
|
-
actions: ["cancel", "clear", "accept"]
|
|
17578
|
-
}
|
|
17579
|
-
}
|
|
17042
|
+
maxDate: maxDate
|
|
17580
17043
|
})
|
|
17581
17044
|
})]
|
|
17582
17045
|
});
|
|
@@ -17616,6 +17079,49 @@ const DisableWrapper = ({
|
|
|
17616
17079
|
}));
|
|
17617
17080
|
};
|
|
17618
17081
|
|
|
17082
|
+
const ImageUploadReadOnly = ({
|
|
17083
|
+
formData,
|
|
17084
|
+
schema,
|
|
17085
|
+
uiSchema: _uiSchema = {
|
|
17086
|
+
"ui:options": {}
|
|
17087
|
+
}
|
|
17088
|
+
}) => {
|
|
17089
|
+
const {
|
|
17090
|
+
downloadUrl: downloadUrlTemplate,
|
|
17091
|
+
extension: extensionTemplate
|
|
17092
|
+
} = _uiSchema["ui:options"];
|
|
17093
|
+
const downloadUrl = useRenderUrl(downloadUrlTemplate);
|
|
17094
|
+
const extension = useRender(extensionTemplate);
|
|
17095
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
17096
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
17097
|
+
gutterBottom: true,
|
|
17098
|
+
variant: "subtitle2",
|
|
17099
|
+
children: schema.title
|
|
17100
|
+
}), /*#__PURE__*/jsx(Paper, {
|
|
17101
|
+
sx: {
|
|
17102
|
+
height: 185,
|
|
17103
|
+
justifyContent: "center",
|
|
17104
|
+
display: "flex",
|
|
17105
|
+
padding: 2,
|
|
17106
|
+
overflow: "hidden"
|
|
17107
|
+
},
|
|
17108
|
+
variant: "outlined",
|
|
17109
|
+
children: /*#__PURE__*/jsx(Image, {
|
|
17110
|
+
src: downloadUrl,
|
|
17111
|
+
style: {
|
|
17112
|
+
height: "100%",
|
|
17113
|
+
width: "auto"
|
|
17114
|
+
},
|
|
17115
|
+
extension: extension
|
|
17116
|
+
})
|
|
17117
|
+
})]
|
|
17118
|
+
});
|
|
17119
|
+
};
|
|
17120
|
+
ImageUploadReadOnly.propTypes = {
|
|
17121
|
+
schema: PropTypes.any,
|
|
17122
|
+
renderedValues: PropTypes.any
|
|
17123
|
+
};
|
|
17124
|
+
|
|
17619
17125
|
const FieldContainer = props => {
|
|
17620
17126
|
return /*#__PURE__*/jsx(Box$2, _extends({}, props, {
|
|
17621
17127
|
sx: _extends({}, props.sx, {
|
|
@@ -17627,30 +17133,7 @@ const FieldContainer = props => {
|
|
|
17627
17133
|
};
|
|
17628
17134
|
FieldContainer.propTypes = Box$2.propTypes;
|
|
17629
17135
|
|
|
17630
|
-
registerPlugin(FilePondPluginFileValidateType,
|
|
17631
|
-
|
|
17632
|
-
// Check enums below
|
|
17633
|
-
// source:https://github.com/pqina/filepond-docs/blob/master/content/patterns/API/filepond-object.md#filepond-status
|
|
17634
|
-
const FILE_STATUS = {
|
|
17635
|
-
INIT: 1,
|
|
17636
|
-
IDLE: 2,
|
|
17637
|
-
PROCESSING_QUEUED: 9,
|
|
17638
|
-
PROCESSING: 3,
|
|
17639
|
-
PROCESSING_COMPLETE: 5,
|
|
17640
|
-
// upload complete
|
|
17641
|
-
PROCESSING_ERROR: 6,
|
|
17642
|
-
PROCESSING_REVERT_ERROR: 10,
|
|
17643
|
-
LOADING: 7,
|
|
17644
|
-
LOAD_ERROR: 8
|
|
17645
|
-
};
|
|
17646
|
-
const FILE_ORIGIN = {
|
|
17647
|
-
INPUT: 1,
|
|
17648
|
-
// add by user
|
|
17649
|
-
LIMBO: 2,
|
|
17650
|
-
// temp file
|
|
17651
|
-
LOCAL: 3 // pre-loaded files
|
|
17652
|
-
};
|
|
17653
|
-
|
|
17136
|
+
registerPlugin(FilePondPluginFileValidateType, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginGetFile);
|
|
17654
17137
|
const Upload = props => {
|
|
17655
17138
|
const {
|
|
17656
17139
|
schema,
|
|
@@ -17659,202 +17142,106 @@ const Upload = props => {
|
|
|
17659
17142
|
"ui:options": {}
|
|
17660
17143
|
},
|
|
17661
17144
|
onChange,
|
|
17662
|
-
disabled
|
|
17145
|
+
disabled,
|
|
17146
|
+
required
|
|
17663
17147
|
} = props;
|
|
17664
|
-
const emptyValue = uiSchema["ui:emptyValue"] || null;
|
|
17665
17148
|
const isReadOnly = useReadOnly();
|
|
17666
17149
|
const {
|
|
17150
|
+
documentName: documentNameTemplate,
|
|
17151
|
+
downloadUrl: downloadUrlTemplate,
|
|
17152
|
+
extension: extensionTemplate,
|
|
17667
17153
|
uploadDataSource,
|
|
17154
|
+
mapUploadResponse,
|
|
17668
17155
|
acceptedFileTypes,
|
|
17669
17156
|
message,
|
|
17670
|
-
|
|
17671
|
-
isImage = true,
|
|
17672
|
-
// multiple = true, // change to false
|
|
17673
|
-
|
|
17674
|
-
isPreviewHidden = false,
|
|
17675
|
-
idTemplate,
|
|
17676
|
-
downloadUrlTemplate,
|
|
17677
|
-
nameTemplate,
|
|
17678
|
-
mapUploadResponseToIdTemplate,
|
|
17679
|
-
maxFiles = 1,
|
|
17680
|
-
maxFileSize = null,
|
|
17681
|
-
maxTotalFileSize = null
|
|
17157
|
+
isImage
|
|
17682
17158
|
} = uiSchema["ui:options"];
|
|
17683
|
-
|
|
17684
|
-
// TODO: implement single vs multipe mode, currently only multiple is active
|
|
17685
|
-
// let _formData = formData; if (multiple && (formData === null ||
|
|
17686
|
-
// formData === undefined)) { _formData = [];
|
|
17687
|
-
// }
|
|
17688
|
-
const _formData = formData || [];
|
|
17689
|
-
const initialFiles = useMemo(() => {
|
|
17690
|
-
return _formData.map(({
|
|
17691
|
-
data
|
|
17692
|
-
}) => {
|
|
17693
|
-
const id = mustache.render(idTemplate, data);
|
|
17694
|
-
const downloadUrl = downloadUrlTemplate ? decodeHtml$2(mustache.render(downloadUrlTemplate, data)) : downloadUrlTemplate;
|
|
17695
|
-
const name = mustache.render(nameTemplate, data);
|
|
17696
|
-
return {
|
|
17697
|
-
// INFO: source appears in preview but also needed to identify
|
|
17698
|
-
// the download URL. Check issue:
|
|
17699
|
-
// https://github.com/pqina/filepond/issues/284
|
|
17700
|
-
source: `${name} id:${id}`,
|
|
17701
|
-
options: {
|
|
17702
|
-
type: "local",
|
|
17703
|
-
origin: downloadUrl,
|
|
17704
|
-
// INFO: id is used in getFileIds function
|
|
17705
|
-
metadata: {
|
|
17706
|
-
url: downloadUrl,
|
|
17707
|
-
id
|
|
17708
|
-
}
|
|
17709
|
-
}
|
|
17710
|
-
};
|
|
17711
|
-
});
|
|
17712
|
-
}, []);
|
|
17713
17159
|
const inputProps = uiSchema == null ? void 0 : uiSchema["ui:props"];
|
|
17714
|
-
const
|
|
17715
|
-
const
|
|
17716
|
-
|
|
17717
|
-
|
|
17718
|
-
const {
|
|
17719
|
-
origin,
|
|
17720
|
-
status
|
|
17721
|
-
} = file;
|
|
17722
|
-
if (origin === FILE_ORIGIN.LOCAL) return true;
|
|
17723
|
-
if (origin === FILE_ORIGIN.INPUT && status === FILE_STATUS.PROCESSING_COMPLETE) return true;
|
|
17724
|
-
}).map(file => {
|
|
17725
|
-
if (file.origin === FILE_ORIGIN.LOCAL) return file.getMetadata().id;
|
|
17726
|
-
return file.serverId;
|
|
17727
|
-
}).map(i => i.toString())) || [];
|
|
17728
|
-
};
|
|
17160
|
+
const documentName = useRender(documentNameTemplate);
|
|
17161
|
+
const downloadUrl = useRenderUrl(downloadUrlTemplate);
|
|
17162
|
+
useRender(extensionTemplate);
|
|
17163
|
+
const [files, setFiles] = useState([]);
|
|
17729
17164
|
const uploadUrl = useMemo(() => getDataSourceUrl(uploadDataSource), [uploadDataSource]);
|
|
17730
|
-
|
|
17731
|
-
|
|
17732
|
-
|
|
17733
|
-
|
|
17734
|
-
|
|
17735
|
-
|
|
17736
|
-
|
|
17165
|
+
|
|
17166
|
+
// INFO: this state is needed to prevent re-load of file during submit
|
|
17167
|
+
const [currentFileId, setCurrentFileId] = useState();
|
|
17168
|
+
|
|
17169
|
+
// TODO: change this to useMemo with help of useLastestDeps
|
|
17170
|
+
useEffect(() => {
|
|
17171
|
+
if (formData === currentFileId) return;
|
|
17172
|
+
const files = [{
|
|
17173
|
+
source: documentName || "File",
|
|
17174
|
+
options: {
|
|
17175
|
+
type: "local",
|
|
17176
|
+
metadata: {
|
|
17177
|
+
url: downloadUrl
|
|
17178
|
+
}
|
|
17179
|
+
}
|
|
17180
|
+
}];
|
|
17181
|
+
if (formData != undefined) setFiles(files);
|
|
17182
|
+
}, [formData]);
|
|
17183
|
+
const handleLoad = (source, load, error) => {
|
|
17184
|
+
fetch(downloadUrl).then(res => res.blob()).then(res => {
|
|
17737
17185
|
const file = res.type === "jpeg/jfif" || !res.type ? new Blob([res], {
|
|
17738
17186
|
type: "image/jpeg"
|
|
17739
17187
|
}) : res;
|
|
17740
|
-
|
|
17741
|
-
load(preview);
|
|
17188
|
+
load(file);
|
|
17742
17189
|
}).catch(error);
|
|
17743
|
-
|
|
17744
|
-
// Should expose an abort method so the request can be cancelled
|
|
17745
|
-
return {
|
|
17746
|
-
abort: () => abort()
|
|
17747
|
-
};
|
|
17748
17190
|
};
|
|
17749
17191
|
const handleUploadResponse = res => {
|
|
17750
17192
|
try {
|
|
17751
17193
|
const jsonRes = JSON.parse(res);
|
|
17752
|
-
const
|
|
17753
|
-
|
|
17194
|
+
const fileUuid = mapUploadResponse ? mustache.render(mapUploadResponse.fileUuid, jsonRes) : jsonRes.DATA.fileUuid;
|
|
17195
|
+
setCurrentFileId(fileUuid);
|
|
17196
|
+
onChange(fileUuid);
|
|
17754
17197
|
} catch (err) {
|
|
17755
|
-
|
|
17756
|
-
(_window$logger = window.logger) == null ? void 0 : _window$logger.sendLog({
|
|
17757
|
-
name: `Upload response could not be parsed. ${err}`,
|
|
17758
|
-
data: res
|
|
17759
|
-
});
|
|
17198
|
+
console.log(err);
|
|
17760
17199
|
}
|
|
17761
17200
|
};
|
|
17762
|
-
|
|
17763
|
-
|
|
17201
|
+
const handleDelete = () => {
|
|
17202
|
+
setCurrentFileId();
|
|
17203
|
+
setFiles([]);
|
|
17204
|
+
onChange();
|
|
17205
|
+
};
|
|
17764
17206
|
const messageProps = {
|
|
17765
17207
|
title: (message == null ? void 0 : message.title) || undefined,
|
|
17766
17208
|
description: (message == null ? void 0 : message.description) || undefined,
|
|
17767
17209
|
type: (message == null ? void 0 : message.type) || "info",
|
|
17768
17210
|
canDismiss: (message == null ? void 0 : message.canDismiss) || true
|
|
17769
17211
|
};
|
|
17770
|
-
const {
|
|
17771
|
-
|
|
17772
|
-
|
|
17773
|
-
|
|
17774
|
-
|
|
17775
|
-
|
|
17776
|
-
|
|
17777
|
-
|
|
17778
|
-
|
|
17779
|
-
|
|
17780
|
-
}));
|
|
17781
|
-
if (value.length === 0) onChange(emptyValue);else onChange(value);
|
|
17782
|
-
};
|
|
17783
|
-
|
|
17784
|
-
// TODO: move to memo component
|
|
17785
|
-
const FileUpload = useMemo(() => {
|
|
17786
|
-
const styles = isReadOnly ? {
|
|
17787
|
-
// INFO: hide drop panel and drop panel
|
|
17788
|
-
"div>div>div.filepond--drop-label": {
|
|
17789
|
-
display: "none"
|
|
17790
|
-
},
|
|
17791
|
-
"button.filepond--action-remove-item": {
|
|
17792
|
-
display: "none"
|
|
17793
|
-
}
|
|
17794
|
-
} : null;
|
|
17795
|
-
const getAcceptedFileTypes = () => {
|
|
17796
|
-
if (acceptedFileTypes) return acceptedFileTypes;
|
|
17797
|
-
if (isImage) return ["image/*"];
|
|
17798
|
-
return null;
|
|
17799
|
-
};
|
|
17800
|
-
const filePondProps = {
|
|
17801
|
-
acceptedFileTypes: getAcceptedFileTypes(),
|
|
17802
|
-
files: initialFiles,
|
|
17803
|
-
// files: undefined,
|
|
17804
|
-
allowMultiple: true,
|
|
17805
|
-
server: {
|
|
17806
|
-
url: uploadUrl,
|
|
17807
|
-
process: {
|
|
17808
|
-
method: "POST",
|
|
17809
|
-
headers: {
|
|
17810
|
-
Methods: "POST"
|
|
17811
|
-
},
|
|
17812
|
-
onload: handleUploadResponse,
|
|
17813
|
-
onerror: e => {
|
|
17814
|
-
var _window$logger2;
|
|
17815
|
-
const message = `The image could not be uploaded.`;
|
|
17816
|
-
error(message);
|
|
17817
|
-
(_window$logger2 = window.logger) == null ? void 0 : _window$logger2.sendLog({
|
|
17818
|
-
name: message,
|
|
17819
|
-
data: e
|
|
17820
|
-
});
|
|
17821
|
-
}
|
|
17212
|
+
const filePondProps = {
|
|
17213
|
+
acceptedFileTypes: acceptedFileTypes ? acceptedFileTypes : isImage ? ["image/*"] : null,
|
|
17214
|
+
files,
|
|
17215
|
+
allowMultiple: false,
|
|
17216
|
+
server: {
|
|
17217
|
+
url: uploadUrl,
|
|
17218
|
+
process: {
|
|
17219
|
+
method: "POST",
|
|
17220
|
+
headers: {
|
|
17221
|
+
Methods: "POST"
|
|
17822
17222
|
},
|
|
17823
|
-
|
|
17223
|
+
onload: handleUploadResponse
|
|
17824
17224
|
},
|
|
17825
|
-
|
|
17826
|
-
|
|
17827
|
-
|
|
17828
|
-
|
|
17829
|
-
|
|
17830
|
-
|
|
17831
|
-
|
|
17832
|
-
|
|
17833
|
-
|
|
17834
|
-
|
|
17835
|
-
|
|
17836
|
-
|
|
17837
|
-
|
|
17838
|
-
|
|
17839
|
-
const overrideProps = typeof inputProps === "function" ? inputProps(filePondProps) : inputProps;
|
|
17840
|
-
return /*#__PURE__*/jsx(Box$1, {
|
|
17841
|
-
sx: styles,
|
|
17842
|
-
children: /*#__PURE__*/jsx(FilePond, _extends({
|
|
17843
|
-
ref: filePondRef
|
|
17844
|
-
}, filePondProps, overrideProps))
|
|
17845
|
-
});
|
|
17846
|
-
}, []);
|
|
17847
|
-
|
|
17848
|
-
// TODO: better implementation
|
|
17225
|
+
load: handleLoad,
|
|
17226
|
+
revert: handleDelete
|
|
17227
|
+
},
|
|
17228
|
+
onupdatefiles: files => {
|
|
17229
|
+
if (files.length === 0) {
|
|
17230
|
+
onChange(undefined);
|
|
17231
|
+
}
|
|
17232
|
+
setFiles(files);
|
|
17233
|
+
},
|
|
17234
|
+
allowProcess: false,
|
|
17235
|
+
disabled: isReadOnly,
|
|
17236
|
+
allowDownloadByUrl: true
|
|
17237
|
+
};
|
|
17238
|
+
const overrideProps = typeof inputProps === "function" ? inputProps(filePondProps) : inputProps;
|
|
17849
17239
|
if (isReadOnly) {
|
|
17850
17240
|
if (formData == undefined) return /*#__PURE__*/jsx(ReadOnlyView, {
|
|
17851
17241
|
label: schema.title,
|
|
17852
17242
|
emptyViewText: "No file uploaded"
|
|
17853
17243
|
});
|
|
17854
|
-
return /*#__PURE__*/jsx(
|
|
17855
|
-
label: schema.title,
|
|
17856
|
-
renderValue: () => FileUpload
|
|
17857
|
-
});
|
|
17244
|
+
if (isImage) return /*#__PURE__*/jsx(ImageUploadReadOnly, _extends({}, props));
|
|
17858
17245
|
}
|
|
17859
17246
|
return /*#__PURE__*/jsxs(FieldContainer, {
|
|
17860
17247
|
children: [/*#__PURE__*/jsxs(DisableWrapper, {
|
|
@@ -17871,7 +17258,7 @@ const Upload = props => {
|
|
|
17871
17258
|
sx: {
|
|
17872
17259
|
marginTop: 1
|
|
17873
17260
|
},
|
|
17874
|
-
children:
|
|
17261
|
+
children: /*#__PURE__*/jsx(FilePond, _extends({}, filePondProps, overrideProps))
|
|
17875
17262
|
})]
|
|
17876
17263
|
}), message && /*#__PURE__*/jsx(Alert, _extends({}, messageProps))]
|
|
17877
17264
|
});
|
|
@@ -18958,13 +18345,7 @@ const DateWidgetRaw = ({
|
|
|
18958
18345
|
required: required,
|
|
18959
18346
|
onChange: handleChange,
|
|
18960
18347
|
disabled: disabled
|
|
18961
|
-
}, uiSchema == null ? void 0 : uiSchema["ui:props"]
|
|
18962
|
-
componentsProps: {
|
|
18963
|
-
actionBar: {
|
|
18964
|
-
actions: ["cancel", "clear", "accept"]
|
|
18965
|
-
}
|
|
18966
|
-
}
|
|
18967
|
-
}));
|
|
18348
|
+
}, uiSchema == null ? void 0 : uiSchema["ui:props"]));
|
|
18968
18349
|
};
|
|
18969
18350
|
DateWidgetRaw.propTypes = {
|
|
18970
18351
|
onChange: PropTypes.func,
|
|
@@ -20906,5 +20287,5 @@ const DynamicFormHooks = {
|
|
|
20906
20287
|
useReadOnly
|
|
20907
20288
|
};
|
|
20908
20289
|
|
|
20909
|
-
export { Actions$1 as Actions, Alert, AvatarBox, AvatarTitle, BusinessObject, BusinessObjectCard, EmptyCardSection as BusinessObjectCardEmptySection, CardSection as BusinessObjectCardSection, CardSectionTitle as BusinessObjectCardSectionTitle, BusinessObjectPanel, Header$1 as BusinessObjectPanelHeader, Section as BusinessObjectPanelSection, SectionTitle as BusinessObjectPanelSectionTitle, BusinessObjectPicker$1 as BusinessObjectPicker, BusinessObjectStatus, BusinessObjectStatusButton, BusinessObjectTable, Button, Chip, ContentBox, CoreProvider, CurriculumChart, DataTable, DatePickerBase as DatePicker, DisplayInFrame, DocViewer, Drawer, DynamicForm$1 as DynamicForm, BusinessObjectPickerField$1 as DynamicFormBusinessObjectPickerField, DynamicFormHooks, EditableText, FilterPanel, FilterChips$1 as FilterPanelFilterChips, mapFilters as FilterPanelMapFilters, FullPageViewer, Icon$1 as Icon, Image, IsometricImage, List, ListItem, ListItemGroup, MenuButton, ModalDialog, Notification, OutcomeSpace, PanelDrawer, ProgressChart, RichDataTable, RubricDistributionChart, RubricLegend, RubricScoreSlider, ScrollToTopButton, ScrollingContainer, SkeletonContent, StatBoxes, StatusMessage, SvgImage, SwipeableTabPanel, Content as SwipeableTabPanelContent,
|
|
20290
|
+
export { Actions$1 as Actions, Alert, AvatarBox, AvatarTitle, BusinessObject, BusinessObjectCard, EmptyCardSection as BusinessObjectCardEmptySection, CardSection as BusinessObjectCardSection, CardSectionTitle as BusinessObjectCardSectionTitle, BusinessObjectPanel, Header$1 as BusinessObjectPanelHeader, Section as BusinessObjectPanelSection, SectionTitle as BusinessObjectPanelSectionTitle, BusinessObjectPicker$1 as BusinessObjectPicker, BusinessObjectStatus, BusinessObjectStatusButton, BusinessObjectTable, Button, Chip, ContentBox, CoreProvider, CurriculumChart, DataTable, DatePickerBase as DatePicker, DisplayInFrame, DocViewer, Drawer, DynamicForm$1 as DynamicForm, BusinessObjectPickerField$1 as DynamicFormBusinessObjectPickerField, DynamicFormHooks, EditableText, FilterPanel, FilterChips$1 as FilterPanelFilterChips, mapFilters as FilterPanelMapFilters, FullPageViewer, Icon$1 as Icon, Image, IsometricImage, List, ListItem, ListItemGroup, MenuButton, ModalDialog, Notification, OutcomeSpace, PanelDrawer, ProgressChart, RichDataTable, RubricDistributionChart, RubricLegend, RubricScoreSlider, ScrollToTopButton, ScrollingContainer, SkeletonContent, StatBoxes, StatusMessage, SvgImage, SwipeableTabPanel, Content as SwipeableTabPanelContent, Timeline, TitleAndActionHeader, TitleAndDescription, UserAvatar, WizardPanel, businessObjectColor, businessObjectConfiguration, businessObjectIcon, createComponentEvent, createEvent, createComponentStore as createStore, dataSourceManager, filterSortData, getBaseUrl, getConfiguration, getDataSourceUrl, http, outcomeSpaceColor, outcomeSpaceTypeFromSource, registerDataSource, registerDataSources, setDataSourceConfiguration, template, useComponentWillMount, useDataSourceInfiniteQuery, useDataSourceMutation, useDataSourceQuery, useDataSourceUrl, useDebounceCallback, useNotify, useRefDimensions, withStatusButtonDataSource };
|
|
20910
20291
|
//# sourceMappingURL=index.modern.js.map
|