@docsvision/management-console 6.2.0-beta.12 → 6.2.0-beta.14
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/index.css +1 -1
- package/index.d.ts +6 -0
- package/index.js +315 -39
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1471,6 +1471,10 @@ declare interface IHelpIconButtonProps {
|
|
|
1471
1471
|
transformOrigin?: PopoverOrigin;
|
|
1472
1472
|
}
|
|
1473
1473
|
|
|
1474
|
+
declare interface IInfoBanner {
|
|
1475
|
+
text: string;
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1474
1478
|
export declare interface IInformationIconProps {
|
|
1475
1479
|
className?: string;
|
|
1476
1480
|
color?: string;
|
|
@@ -1700,6 +1704,8 @@ declare enum IncomingMessageState {
|
|
|
1700
1704
|
Paused = 4
|
|
1701
1705
|
}
|
|
1702
1706
|
|
|
1707
|
+
export declare function InfoBanner({ text }: IInfoBanner): JSX.Element;
|
|
1708
|
+
|
|
1703
1709
|
export declare function InformationIcon(props: IInformationIconProps): JSX.Element;
|
|
1704
1710
|
|
|
1705
1711
|
declare interface INumberComponentProps extends Omit<OutlinedTextFieldProps, "variant" | "value" | "onChange" | "type" | "defaultValue"> {
|
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import React__default, { useState, useEffect, createElement, useRef, useMemo, useContext, memo, isValidElement, cloneElement, Children, createContext, useCallback, useDebugValue, useLayoutEffect, forwardRef as forwardRef$1, Fragment as Fragment$1, Component, useReducer } from "react";
|
|
3
3
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
4
|
-
import { Accordion as Accordion$1, AccordionSummary, AccordionDetails, Typography as Typography$3, Button as Button$3, Box, CircularProgress as CircularProgress$3, Tooltip as Tooltip$2, Breadcrumbs, IconButton as IconButton$3, Popover as Popover$4, SvgIcon as SvgIcon$3, TableCell as TableCell$2, Grid as Grid$1, Paper as Paper$3, Chip as Chip$1, MenuItem as MenuItem$2, List as List$4, ListItemButton, ListItemIcon as ListItemIcon$1, ListItemText as ListItemText$1, ListItem as ListItem$1, Input as Input$3, TextField as TextField$3, InputAdornment as InputAdornment$3, Stack, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, RadioGroup, Radio, createTheme as createTheme$3, TableContainer, Table as Table$1, TableHead, TableRow as TableRow$1, TableBody as TableBody$1, capitalize as capitalize$2, ThemeProvider as ThemeProvider$1, Dialog as Dialog$2, DialogTitle, DialogContent as DialogContent$2, DialogActions as DialogActions$2 } from "@mui/material";
|
|
4
|
+
import { Accordion as Accordion$1, AccordionSummary, AccordionDetails, Typography as Typography$3, Button as Button$3, Box, CircularProgress as CircularProgress$3, Tooltip as Tooltip$2, Breadcrumbs, IconButton as IconButton$3, Popover as Popover$4, SvgIcon as SvgIcon$3, TableCell as TableCell$2, Grid as Grid$1, Paper as Paper$3, Chip as Chip$1, MenuItem as MenuItem$2, List as List$4, ListItemButton, ListItemIcon as ListItemIcon$1, ListItemText as ListItemText$1, ListItem as ListItem$1, Input as Input$3, TextField as TextField$3, InputAdornment as InputAdornment$3, Stack, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, RadioGroup, Radio, createTheme as createTheme$3, TableContainer, Table as Table$1, TableHead, TableRow as TableRow$1, TableBody as TableBody$1, FormControl as FormControl$3, capitalize as capitalize$2, ThemeProvider as ThemeProvider$1, Dialog as Dialog$2, DialogTitle, DialogContent as DialogContent$2, DialogActions as DialogActions$2 } from "@mui/material";
|
|
5
5
|
import * as ReactDOM from "react-dom";
|
|
6
6
|
import ReactDOM__default, { flushSync } from "react-dom";
|
|
7
7
|
import { unstable_createGetCssVar, createSpacing as createSpacing$2, useTheme as useTheme$4, GlobalStyles as GlobalStyles$1, unstable_memoTheme, keyframes, css as css$2, styled as styled$1, alpha as alpha$2, lighten as lighten$2, darken as darken$2, decomposeColor as decomposeColor$2, recomposeColor as recomposeColor$2, getThemeProps as getThemeProps$2 } from "@mui/system";
|
|
@@ -66,7 +66,7 @@ function Accordion(props) {
|
|
|
66
66
|
}
|
|
67
67
|
function AlertBanner({ text }) {
|
|
68
68
|
if (text) {
|
|
69
|
-
return /* @__PURE__ */ jsx("div", { className: "alert-banner", children: /* @__PURE__ */ jsx(Typography$3, {
|
|
69
|
+
return /* @__PURE__ */ jsx("div", { className: "alert-banner", children: /* @__PURE__ */ jsx(Typography$3, { color: "inherit", children: text }) });
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
function ButtonWithLoading(props) {
|
|
@@ -52799,7 +52799,7 @@ function ErrorBlock({ text, close }) {
|
|
|
52799
52799
|
] });
|
|
52800
52800
|
}
|
|
52801
52801
|
function ErrorMessage(props) {
|
|
52802
|
-
return /* @__PURE__ */ jsx("p",
|
|
52802
|
+
return /* @__PURE__ */ jsx(Typography$3, { component: "p", variant: "caption", className: classNames("error-message", props.className), children: props.message });
|
|
52803
52803
|
}
|
|
52804
52804
|
function ExpandButton$1(props) {
|
|
52805
52805
|
const { expanded, dataTestId, className, ...buttonProps } = props;
|
|
@@ -58959,17 +58959,22 @@ function TextMessage(props) {
|
|
|
58959
58959
|
const { content, wrapperClassName, footer, footerClassName, header, headerClassName, contentClassName } = props;
|
|
58960
58960
|
const textContent = getTextContent$1(content, contentClassName);
|
|
58961
58961
|
return /* @__PURE__ */ jsxs("div", { className: classNames("text-message__wrapper", wrapperClassName), children: [
|
|
58962
|
-
header && /* @__PURE__ */ jsx("p",
|
|
58962
|
+
header && /* @__PURE__ */ jsx(Typography$3, { component: "p", className: headerClassName, children: header }),
|
|
58963
58963
|
textContent,
|
|
58964
|
-
footer && /* @__PURE__ */ jsx("p",
|
|
58964
|
+
footer && /* @__PURE__ */ jsx(Typography$3, { component: "p", className: footerClassName, children: footer })
|
|
58965
58965
|
] });
|
|
58966
58966
|
}
|
|
58967
58967
|
function getTextContent$1(content, className) {
|
|
58968
58968
|
if (typeof content === "string") {
|
|
58969
|
-
return /* @__PURE__ */ jsx("p",
|
|
58969
|
+
return /* @__PURE__ */ jsx(Typography$3, { component: "p", className, children: content });
|
|
58970
58970
|
}
|
|
58971
58971
|
return /* @__PURE__ */ jsx("ul", { className: classNames("text-message__list", className), children: content.map((m2) => /* @__PURE__ */ jsx("li", { children: m2 }, m2)) });
|
|
58972
58972
|
}
|
|
58973
|
+
function InfoBanner({ text }) {
|
|
58974
|
+
if (text) {
|
|
58975
|
+
return /* @__PURE__ */ jsx("div", { className: "info-banner", "data-testid": "info-banner", children: /* @__PURE__ */ jsx(Typography$3, { variant: "subtitle2", color: "inherit", children: text }) });
|
|
58976
|
+
}
|
|
58977
|
+
}
|
|
58973
58978
|
const KeyboardArrowRightIcon = createSvgIcon(/* @__PURE__ */ jsx("path", {
|
|
58974
58979
|
d: "M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"
|
|
58975
58980
|
}));
|
|
@@ -59004,7 +59009,7 @@ function CellTextContent({ content, multiline = false }) {
|
|
|
59004
59009
|
const shouldShowTooltip = isWidthOverflowing || isHeightOverflowing;
|
|
59005
59010
|
setShowTooltip(shouldShowTooltip);
|
|
59006
59011
|
}, [contentRef, content]);
|
|
59007
|
-
return /* @__PURE__ */ jsx(LightTooltip, { title: content, placement: "top-start", disableHoverListener: !showTooltip, children: /* @__PURE__ */ jsx("div", { ref: contentRef, className: multiline ? "cell-text-content-multiline" : "cell-text-content", children: /* @__PURE__ */ jsx("
|
|
59012
|
+
return /* @__PURE__ */ jsx(LightTooltip, { title: content, placement: "top-start", disableHoverListener: !showTooltip, children: /* @__PURE__ */ jsx("div", { ref: contentRef, className: multiline ? "cell-text-content-multiline" : "cell-text-content", children: /* @__PURE__ */ jsx(Typography$3, { variant: "body2", children: content }) }) });
|
|
59008
59013
|
}
|
|
59009
59014
|
function CellWithFixedWidth(props) {
|
|
59010
59015
|
const { content, maxWidth: maxWidth2 } = props;
|
|
@@ -59066,7 +59071,7 @@ function DatabaseSettingsCard(props) {
|
|
|
59066
59071
|
/* @__PURE__ */ jsxs(Grid$1, { container: true, alignItems: "center", justifyContent: "space-between", wrap: "nowrap", className: "database-settings-card__head", children: [
|
|
59067
59072
|
/* @__PURE__ */ jsxs(Grid$1, { container: true, alignItems: "center", children: [
|
|
59068
59073
|
/* @__PURE__ */ jsx(StorageRounded, { color: "secondary", fontSize: "large" }),
|
|
59069
|
-
/* @__PURE__ */ jsx("
|
|
59074
|
+
/* @__PURE__ */ jsx(Typography$3, { variant: "h5", className: "database-settings-card__title", children: title })
|
|
59070
59075
|
] }),
|
|
59071
59076
|
/* @__PURE__ */ jsx(Grid$1, { children: isDefault && /* @__PURE__ */ jsx(Chip$1, { className: "database-settings-card__chip", size: "small", label }) })
|
|
59072
59077
|
] }),
|
|
@@ -59082,7 +59087,7 @@ function DropdownBody(props) {
|
|
|
59082
59087
|
const shouldShowTooltip = contentRef.current?.scrollWidth > contentRef.current?.offsetWidth;
|
|
59083
59088
|
setShowTooltip(shouldShowTooltip);
|
|
59084
59089
|
}, [displayName]);
|
|
59085
|
-
return /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: showTooltip ? displayName : "", disableFocusListener: true, disableTouchListener: true, children: /* @__PURE__ */ jsx("span",
|
|
59090
|
+
return /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: showTooltip ? displayName : "", disableFocusListener: true, disableTouchListener: true, children: /* @__PURE__ */ jsx(Typography$3, { component: "span", ref: contentRef, className: "dropdown-body", children: displayName }) });
|
|
59086
59091
|
}
|
|
59087
59092
|
function getDisplayName(label, options, value) {
|
|
59088
59093
|
if (typeof value === "undefined" || value === null) return label;
|
|
@@ -59092,7 +59097,7 @@ function getDisplayName(label, options, value) {
|
|
|
59092
59097
|
const DropdownOption2 = React__default.forwardRef(function DropdownOption22({ displayName, ...menuItemProps }, ref2) {
|
|
59093
59098
|
const contentRef = React__default.useRef(null);
|
|
59094
59099
|
const showTooltip = contentRef.current?.scrollWidth > contentRef.current?.offsetWidth;
|
|
59095
|
-
return /* @__PURE__ */ jsx(MenuItem$2, { ref: ref2, ...menuItemProps, children: /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: showTooltip ? displayName : "", disableFocusListener: true, disableTouchListener: true, children: /* @__PURE__ */ jsx("span",
|
|
59100
|
+
return /* @__PURE__ */ jsx(MenuItem$2, { ref: ref2, ...menuItemProps, children: /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: showTooltip ? displayName : "", disableFocusListener: true, disableTouchListener: true, children: /* @__PURE__ */ jsx(Typography$3, { component: "span", ref: contentRef, className: "dropdown-option__content", children: displayName }) }) });
|
|
59096
59101
|
});
|
|
59097
59102
|
function EditorWrapper({ children, isChanged, isEditable }) {
|
|
59098
59103
|
return /* @__PURE__ */ jsx("div", { className: classNames(classIf(isChanged, "changed"), classIf(isEditable, "editable"), "editor-wrapper"), children });
|
|
@@ -59136,10 +59141,10 @@ function EditorCollectionEditor(props) {
|
|
|
59136
59141
|
] });
|
|
59137
59142
|
}
|
|
59138
59143
|
function EditorDescription({ text }) {
|
|
59139
|
-
return text ? /* @__PURE__ */ jsx("
|
|
59144
|
+
return text ? /* @__PURE__ */ jsx(Typography$3, { variant: "body2", className: "editor-description", children: text }) : null;
|
|
59140
59145
|
}
|
|
59141
59146
|
function EditorName({ text }) {
|
|
59142
|
-
return /* @__PURE__ */ jsx("
|
|
59147
|
+
return /* @__PURE__ */ jsx(Typography$3, { variant: "h5", className: "editor-name", children: text });
|
|
59143
59148
|
}
|
|
59144
59149
|
function EditorInnerWrapper(props) {
|
|
59145
59150
|
const { label, description, children, className } = props;
|
|
@@ -59154,7 +59159,7 @@ function GroupPanel(props) {
|
|
|
59154
59159
|
return /* @__PURE__ */ jsx(List$4, { component: Paper$3, children: groups && Object.keys(groups).map((group) => {
|
|
59155
59160
|
return /* @__PURE__ */ jsxs(ListItemButton, { onClick: () => selectGroup(group), selected: selectedGroup === group, children: [
|
|
59156
59161
|
/* @__PURE__ */ jsx(ListItemIcon$1, { children: /* @__PURE__ */ jsx(GroupIcon, {}) }),
|
|
59157
|
-
/* @__PURE__ */ jsx(ListItemText$1, { primary: group })
|
|
59162
|
+
/* @__PURE__ */ jsx(ListItemText$1, { slotProps: { primary: { variant: "body2" } }, primary: group })
|
|
59158
59163
|
] }, group);
|
|
59159
59164
|
}) });
|
|
59160
59165
|
}
|
|
@@ -83676,6 +83681,35 @@ const theme = createTheme$3({
|
|
|
83676
83681
|
h1: {
|
|
83677
83682
|
fontSize: "2rem",
|
|
83678
83683
|
fontWeight: 600
|
|
83684
|
+
},
|
|
83685
|
+
h4: {
|
|
83686
|
+
fontSize: "1.2rem",
|
|
83687
|
+
fontWeight: 600
|
|
83688
|
+
},
|
|
83689
|
+
h5: {
|
|
83690
|
+
fontSize: "1.1rem",
|
|
83691
|
+
fontWeight: 600
|
|
83692
|
+
},
|
|
83693
|
+
h6: {
|
|
83694
|
+
fontSize: "1rem",
|
|
83695
|
+
fontWeight: 600,
|
|
83696
|
+
lineHeight: "normal"
|
|
83697
|
+
},
|
|
83698
|
+
subtitle1: {
|
|
83699
|
+
fontSize: "1.5rem",
|
|
83700
|
+
fontWeight: 400,
|
|
83701
|
+
lineHeight: 1.5
|
|
83702
|
+
},
|
|
83703
|
+
subtitle2: {
|
|
83704
|
+
fontSize: "1.2rem",
|
|
83705
|
+
fontWeight: 400
|
|
83706
|
+
},
|
|
83707
|
+
body2: {
|
|
83708
|
+
fontSize: ".85rem",
|
|
83709
|
+
lineHeight: 1.5
|
|
83710
|
+
},
|
|
83711
|
+
caption: {
|
|
83712
|
+
fontSize: ".8rem"
|
|
83679
83713
|
}
|
|
83680
83714
|
},
|
|
83681
83715
|
components: {
|
|
@@ -83706,12 +83740,22 @@ function DropdownWithEllipsis(props) {
|
|
|
83706
83740
|
const { options, value, label, handleChange, dataTestId, field, className, noOptionsText } = props;
|
|
83707
83741
|
const anchorRef = useRef(null);
|
|
83708
83742
|
const [menuWidth, setMenuWidth] = useState(void 0);
|
|
83743
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
83709
83744
|
useLayoutEffect(() => {
|
|
83710
83745
|
setMenuWidth(anchorRef.current?.offsetWidth);
|
|
83711
83746
|
}, []);
|
|
83747
|
+
const handleKeyDown2 = (event) => {
|
|
83748
|
+
if (options.length === 0 && event.key === "Tab") {
|
|
83749
|
+
setIsOpen(false);
|
|
83750
|
+
return;
|
|
83751
|
+
}
|
|
83752
|
+
};
|
|
83712
83753
|
const selectProps = {
|
|
83713
83754
|
...commonMuiProps.select,
|
|
83714
83755
|
variant: "outlined",
|
|
83756
|
+
open: isOpen,
|
|
83757
|
+
onOpen: () => setIsOpen(true),
|
|
83758
|
+
onClose: () => setIsOpen(false),
|
|
83715
83759
|
MenuProps: {
|
|
83716
83760
|
keepMounted: true,
|
|
83717
83761
|
...commonMuiProps.select.MenuProps,
|
|
@@ -83730,6 +83774,7 @@ function DropdownWithEllipsis(props) {
|
|
|
83730
83774
|
ref: anchorRef,
|
|
83731
83775
|
onChange: (event) => handleChange(event.target.value),
|
|
83732
83776
|
className,
|
|
83777
|
+
onKeyDown: handleKeyDown2,
|
|
83733
83778
|
variant: "outlined",
|
|
83734
83779
|
size: "small",
|
|
83735
83780
|
slotProps: { select: selectProps },
|
|
@@ -83912,6 +83957,227 @@ function AdvancedSettings(props) {
|
|
|
83912
83957
|
};
|
|
83913
83958
|
return /* @__PURE__ */ jsx("div", { className: "advanced-settings", children: /* @__PURE__ */ jsx(Button$3, { name: id, variant: "contained", size: "small", color: "secondary", hidden, onClick: goToConfigurationPage, children: label }) });
|
|
83914
83959
|
}
|
|
83960
|
+
var LogBackupStrategyType = /* @__PURE__ */ ((LogBackupStrategyType2) => {
|
|
83961
|
+
LogBackupStrategyType2[LogBackupStrategyType2["Period"] = 0] = "Period";
|
|
83962
|
+
LogBackupStrategyType2[LogBackupStrategyType2["Quantity"] = 1] = "Quantity";
|
|
83963
|
+
LogBackupStrategyType2[LogBackupStrategyType2["Disabled"] = 2] = "Disabled";
|
|
83964
|
+
return LogBackupStrategyType2;
|
|
83965
|
+
})(LogBackupStrategyType || {});
|
|
83966
|
+
LogBackupStrategyType.Period;
|
|
83967
|
+
const LOG_BACKUP_STRATEGY_PERIOD_IN_DAYS_DEFAULT = 7;
|
|
83968
|
+
const LOG_BACKUP_STRATEGY_QUANTITY_IN_MESSAGES_DEFAULT = 3e3;
|
|
83969
|
+
const LOG_BACKUP_STRATEGY_BACKUP_FOLDER_DEFAULT = "";
|
|
83970
|
+
const LOG_BACKUP_STRATEGY_VALUE_DEFAULT = {
|
|
83971
|
+
strategyType: LogBackupStrategyType,
|
|
83972
|
+
periodInDays: LOG_BACKUP_STRATEGY_PERIOD_IN_DAYS_DEFAULT,
|
|
83973
|
+
quantityInMessages: LOG_BACKUP_STRATEGY_QUANTITY_IN_MESSAGES_DEFAULT,
|
|
83974
|
+
backupFolder: LOG_BACKUP_STRATEGY_BACKUP_FOLDER_DEFAULT
|
|
83975
|
+
};
|
|
83976
|
+
const LOG_BACKUP_STRATEGY_NUMBER_INPUT_WIDTH = 160;
|
|
83977
|
+
const LOG_BACKUP_STRATEGY_PERIOD_MIN_VALUE = 1;
|
|
83978
|
+
const LOG_BACKUP_STRATEGY_PERIOD_MAX_VALUE = 2147483647;
|
|
83979
|
+
const LOG_BACKUP_STRATEGY_MESSAGES_MIN_VALUE = 0;
|
|
83980
|
+
const LOG_BACKUP_STRATEGY_MESSAGES_MAX_VALUE = 2147483647;
|
|
83981
|
+
function getLogBackupStrategyOptions(services) {
|
|
83982
|
+
const resources = services.resources;
|
|
83983
|
+
const { numberGroupSeparator, numberDecimalSeparator } = services.applicationSettings.culture;
|
|
83984
|
+
return [
|
|
83985
|
+
{
|
|
83986
|
+
name: "LogBackupStrategy_Period",
|
|
83987
|
+
type: LogBackupStrategyType.Period,
|
|
83988
|
+
label: resources.LogBackupStrategy_PeriodStrategy,
|
|
83989
|
+
controls: [
|
|
83990
|
+
{
|
|
83991
|
+
name: "period-in-days",
|
|
83992
|
+
instance: NumberComponent,
|
|
83993
|
+
getProperties: (field) => ({
|
|
83994
|
+
name: "periodInDays",
|
|
83995
|
+
numberGroupSeparator,
|
|
83996
|
+
numberDecimalSeparator,
|
|
83997
|
+
sx: {
|
|
83998
|
+
minWidth: LOG_BACKUP_STRATEGY_NUMBER_INPUT_WIDTH,
|
|
83999
|
+
maxWidth: LOG_BACKUP_STRATEGY_NUMBER_INPUT_WIDTH
|
|
84000
|
+
},
|
|
84001
|
+
slotProps: {
|
|
84002
|
+
htmlInput: {
|
|
84003
|
+
className: "log-backup-strategy-folder__number_text-center"
|
|
84004
|
+
}
|
|
84005
|
+
},
|
|
84006
|
+
value: field.value.periodInDays,
|
|
84007
|
+
allowDecimals: false,
|
|
84008
|
+
minValue: LOG_BACKUP_STRATEGY_PERIOD_MIN_VALUE,
|
|
84009
|
+
maxValue: LOG_BACKUP_STRATEGY_PERIOD_MAX_VALUE,
|
|
84010
|
+
onChange: (value) => field.onChange({ ...field.value, periodInDays: value }),
|
|
84011
|
+
onBlur: (ev) => {
|
|
84012
|
+
if (ev.target.value === "") {
|
|
84013
|
+
field.onChange({ ...field.value, periodInDays: LOG_BACKUP_STRATEGY_PERIOD_MIN_VALUE });
|
|
84014
|
+
}
|
|
84015
|
+
}
|
|
84016
|
+
})
|
|
84017
|
+
}
|
|
84018
|
+
]
|
|
84019
|
+
},
|
|
84020
|
+
{
|
|
84021
|
+
name: "LogBackupStrategy_Quantity",
|
|
84022
|
+
type: LogBackupStrategyType.Quantity,
|
|
84023
|
+
label: resources.LogBackupStrategy_QuantityStrategy,
|
|
84024
|
+
controls: [
|
|
84025
|
+
{
|
|
84026
|
+
name: "quantity-in-messages",
|
|
84027
|
+
instance: NumberComponent,
|
|
84028
|
+
getProperties: (field) => ({
|
|
84029
|
+
name: "quantityInMessages",
|
|
84030
|
+
numberGroupSeparator,
|
|
84031
|
+
numberDecimalSeparator,
|
|
84032
|
+
sx: {
|
|
84033
|
+
minWidth: LOG_BACKUP_STRATEGY_NUMBER_INPUT_WIDTH,
|
|
84034
|
+
maxWidth: LOG_BACKUP_STRATEGY_NUMBER_INPUT_WIDTH
|
|
84035
|
+
},
|
|
84036
|
+
slotProps: {
|
|
84037
|
+
htmlInput: {
|
|
84038
|
+
className: "log-backup-strategy-folder__number_text-center"
|
|
84039
|
+
}
|
|
84040
|
+
},
|
|
84041
|
+
value: field.value.quantityInMessages,
|
|
84042
|
+
allowDecimals: false,
|
|
84043
|
+
minValue: LOG_BACKUP_STRATEGY_MESSAGES_MIN_VALUE,
|
|
84044
|
+
maxValue: LOG_BACKUP_STRATEGY_MESSAGES_MAX_VALUE,
|
|
84045
|
+
onChange: (value) => field.onChange({ ...field.value, quantityInMessages: value }),
|
|
84046
|
+
onBlur: (ev) => {
|
|
84047
|
+
if (ev.target.value === "") {
|
|
84048
|
+
field.onChange({ ...field.value, quantityInMessages: LOG_BACKUP_STRATEGY_MESSAGES_MIN_VALUE });
|
|
84049
|
+
}
|
|
84050
|
+
}
|
|
84051
|
+
})
|
|
84052
|
+
}
|
|
84053
|
+
]
|
|
84054
|
+
},
|
|
84055
|
+
{
|
|
84056
|
+
name: "LogBackupStrategy_Disabled",
|
|
84057
|
+
type: LogBackupStrategyType.Disabled,
|
|
84058
|
+
label: resources.LogBackupStrategy_DisabledStrategy
|
|
84059
|
+
}
|
|
84060
|
+
];
|
|
84061
|
+
}
|
|
84062
|
+
class LogBackupStrategyLogic extends ComponentLogic {
|
|
84063
|
+
constructor() {
|
|
84064
|
+
super(...arguments);
|
|
84065
|
+
this.domain = y("LogBackupStrategyLogic");
|
|
84066
|
+
this.componentDidMount = c$1("componentDidMount");
|
|
84067
|
+
this.$options = this.domain.createStore([], { name: "$options" });
|
|
84068
|
+
}
|
|
84069
|
+
initOptions() {
|
|
84070
|
+
v({
|
|
84071
|
+
clock: this.componentDidMount,
|
|
84072
|
+
fn: () => getLogBackupStrategyOptions(this.options.services),
|
|
84073
|
+
target: this.$options
|
|
84074
|
+
});
|
|
84075
|
+
}
|
|
84076
|
+
init() {
|
|
84077
|
+
this.initOptions();
|
|
84078
|
+
}
|
|
84079
|
+
}
|
|
84080
|
+
function convertLabelToNode(label, controls, field, services) {
|
|
84081
|
+
return replaceControls(
|
|
84082
|
+
label,
|
|
84083
|
+
controls,
|
|
84084
|
+
field
|
|
84085
|
+
);
|
|
84086
|
+
}
|
|
84087
|
+
function replaceControls(label, controlsDescriptions, field) {
|
|
84088
|
+
const controls = label.matchAll(/\[.+?\]/g);
|
|
84089
|
+
let index = 0;
|
|
84090
|
+
const nodes = [];
|
|
84091
|
+
for (const control of controls) {
|
|
84092
|
+
const controlSubstr = control[0];
|
|
84093
|
+
const controlSubstrIndex = control.index;
|
|
84094
|
+
const text = label.slice(index, controlSubstrIndex);
|
|
84095
|
+
nodes.push(/* @__PURE__ */ jsx("span", { children: text }));
|
|
84096
|
+
const controlDescriptionIndex = controlSubstr.replaceAll(/[\[\]]/g, "");
|
|
84097
|
+
const controlName = controlsDescriptions[controlDescriptionIndex].name;
|
|
84098
|
+
const ControlComponent = controlsDescriptions[controlDescriptionIndex].instance;
|
|
84099
|
+
const controlProperties = controlsDescriptions[controlDescriptionIndex].getProperties(field);
|
|
84100
|
+
nodes.push(
|
|
84101
|
+
/* @__PURE__ */ jsx(
|
|
84102
|
+
"div",
|
|
84103
|
+
{
|
|
84104
|
+
className: `log-backup-strategy__option_control-wrapper ${controlName}`,
|
|
84105
|
+
"data-testid": `log-backup-strategy-option-control-wrapper-${controlName}`,
|
|
84106
|
+
onClick: (ev) => ev.preventDefault(),
|
|
84107
|
+
children: /* @__PURE__ */ jsx(ControlComponent, { ...controlProperties })
|
|
84108
|
+
}
|
|
84109
|
+
)
|
|
84110
|
+
);
|
|
84111
|
+
index = index + text.length + controlSubstr.length;
|
|
84112
|
+
}
|
|
84113
|
+
nodes.push(/* @__PURE__ */ jsx("span", { children: label.slice(index) }));
|
|
84114
|
+
return /* @__PURE__ */ jsx("div", { className: "log-backup-strategy__option_label", children: nodes });
|
|
84115
|
+
}
|
|
84116
|
+
function LogBackupStrategyOption(props) {
|
|
84117
|
+
const { name, type: type2, label, services, controls = [], field, fieldName } = props;
|
|
84118
|
+
const key = `${fieldName}_${props.type}`;
|
|
84119
|
+
return /* @__PURE__ */ jsx("div", { "data-testid": "log-backup-strategy_option-wrapper", children: /* @__PURE__ */ jsx(
|
|
84120
|
+
FormControlLabel$1,
|
|
84121
|
+
{
|
|
84122
|
+
label: convertLabelToNode(label, controls, field),
|
|
84123
|
+
control: /* @__PURE__ */ createElement(
|
|
84124
|
+
Radio,
|
|
84125
|
+
{
|
|
84126
|
+
...field,
|
|
84127
|
+
key,
|
|
84128
|
+
id: key,
|
|
84129
|
+
name,
|
|
84130
|
+
color: "primary",
|
|
84131
|
+
onChange: (ev) => field.onChange({ ...field.value, strategyType: Number(ev.target.value) }),
|
|
84132
|
+
value: type2,
|
|
84133
|
+
checked: field.value.strategyType === type2,
|
|
84134
|
+
"data-testid": `log-backup-strategy_option_${type2}`
|
|
84135
|
+
}
|
|
84136
|
+
)
|
|
84137
|
+
},
|
|
84138
|
+
`${key}_label}`
|
|
84139
|
+
) });
|
|
84140
|
+
}
|
|
84141
|
+
function LogBackupStrategy(props) {
|
|
84142
|
+
const { id: fieldName, value } = props;
|
|
84143
|
+
const services = useContext(ServicesContext);
|
|
84144
|
+
const logic = useLogic({ ...props, services }, LogBackupStrategyLogic);
|
|
84145
|
+
const options = e(logic.$options);
|
|
84146
|
+
const { resetField, control } = useCustomFormContext();
|
|
84147
|
+
const { field, fieldState } = useController({
|
|
84148
|
+
name: props.id,
|
|
84149
|
+
control,
|
|
84150
|
+
defaultValue: { ...LOG_BACKUP_STRATEGY_VALUE_DEFAULT, ...props.value || {} }
|
|
84151
|
+
});
|
|
84152
|
+
useEffect(() => {
|
|
84153
|
+
logic.componentDidMount();
|
|
84154
|
+
}, [logic]);
|
|
84155
|
+
return /* @__PURE__ */ jsx(EditorContainer, { resetValue: () => {
|
|
84156
|
+
resetField(props.id);
|
|
84157
|
+
}, isChanged: fieldState.isDirty, ...props, children: /* @__PURE__ */ jsxs(FormControl$3, { size: "small", children: [
|
|
84158
|
+
/* @__PURE__ */ jsx(RadioGroup, { children: options.map((option) => /* @__PURE__ */ jsx(LogBackupStrategyOption, { ...option, field, fieldName, services }, `${fieldName}_${option.type}`)) }),
|
|
84159
|
+
/* @__PURE__ */ jsx(
|
|
84160
|
+
EditorInnerWrapper,
|
|
84161
|
+
{
|
|
84162
|
+
label: services.resources.LogBackupStrategy_Title,
|
|
84163
|
+
description: services.resources.LogBackupStrategy_Description,
|
|
84164
|
+
children: /* @__PURE__ */ jsx(
|
|
84165
|
+
TextField$3,
|
|
84166
|
+
{
|
|
84167
|
+
variant: "outlined",
|
|
84168
|
+
size: "small",
|
|
84169
|
+
className: "log-backup-strategy-folder__input",
|
|
84170
|
+
value: field.value.backupFolder,
|
|
84171
|
+
fullWidth: true,
|
|
84172
|
+
required: field.value.strategyType,
|
|
84173
|
+
onChange: (e2) => field.onChange({ ...field.value, backupFolder: e2.target.value || "" }),
|
|
84174
|
+
slotProps: { htmlInput: { "data-testid": "log-backup-strategy-folder" } }
|
|
84175
|
+
}
|
|
84176
|
+
)
|
|
84177
|
+
}
|
|
84178
|
+
)
|
|
84179
|
+
] }) });
|
|
84180
|
+
}
|
|
83915
84181
|
var TableLocationType = /* @__PURE__ */ ((TableLocationType2) => {
|
|
83916
84182
|
TableLocationType2[TableLocationType2["UseDefaultOrCurrent"] = 0] = "UseDefaultOrCurrent";
|
|
83917
84183
|
TableLocationType2[TableLocationType2["UseOwnDatabase"] = 1] = "UseOwnDatabase";
|
|
@@ -85471,7 +85737,7 @@ function DropdownWithTooltip(props) {
|
|
|
85471
85737
|
},
|
|
85472
85738
|
renderValue: (selected) => {
|
|
85473
85739
|
const selectedOption = options.find((option) => option.value === Number(selected));
|
|
85474
|
-
return /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: selectedOption?.tooltip, children: /* @__PURE__ */ jsx("span",
|
|
85740
|
+
return /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: selectedOption?.tooltip, children: /* @__PURE__ */ jsx(Typography$3, { component: "span", className: "database-generation-settings__selected-value", children: selectedOption?.displayName }) });
|
|
85475
85741
|
}
|
|
85476
85742
|
};
|
|
85477
85743
|
return /* @__PURE__ */ jsx(
|
|
@@ -85485,7 +85751,7 @@ function DropdownWithTooltip(props) {
|
|
|
85485
85751
|
className,
|
|
85486
85752
|
size: "small",
|
|
85487
85753
|
slotProps: { select: { ...selectProps, inputProps: { "data-testid": dataTestId } } },
|
|
85488
|
-
children: options.map((option) => /* @__PURE__ */ jsx(MenuItem, { value: option.value, "data-testid": `${dataTestId}-option-${option.value}`, children: /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: option.tooltip, children: /* @__PURE__ */ jsx("span",
|
|
85754
|
+
children: options.map((option) => /* @__PURE__ */ jsx(MenuItem, { value: option.value, "data-testid": `${dataTestId}-option-${option.value}`, children: /* @__PURE__ */ jsx(LightTooltip, { placement: "top", title: option.tooltip, children: /* @__PURE__ */ jsx(Typography$3, { component: "span", children: option.displayName }) }) }, `${name}_${option.value}`))
|
|
85489
85755
|
}
|
|
85490
85756
|
);
|
|
85491
85757
|
}
|
|
@@ -85555,6 +85821,7 @@ function registerEditors() {
|
|
|
85555
85821
|
editorFactory.register("LdapCatalogs", LdapCatalogs);
|
|
85556
85822
|
editorFactory.register("ReadonlyEditor", ReadonlyEditor);
|
|
85557
85823
|
editorFactory.register("AdvancedSettings", AdvancedSettings);
|
|
85824
|
+
editorFactory.register("LogBackupStrategy", LogBackupStrategy);
|
|
85558
85825
|
editorFactory.register("DatabaseGenerationSettings", DatabaseGenerationSettings);
|
|
85559
85826
|
}
|
|
85560
85827
|
serviceName(function(s2) {
|
|
@@ -87365,6 +87632,11 @@ function Toolbar$1() {
|
|
|
87365
87632
|
return await services.localizationService.getResources();
|
|
87366
87633
|
};
|
|
87367
87634
|
const changeLocale = async () => {
|
|
87635
|
+
const { resources, formControl } = services;
|
|
87636
|
+
if (formControl.isDirty) {
|
|
87637
|
+
const canProceed = window.confirm(resources.UnsavedChangesConfirmation);
|
|
87638
|
+
if (!canProceed) return;
|
|
87639
|
+
}
|
|
87368
87640
|
disableLocaleButton(true);
|
|
87369
87641
|
let index;
|
|
87370
87642
|
if (localeIndexInAvailableLocales + 1 < applicationSettings.availableLocales.length) {
|
|
@@ -88568,7 +88840,6 @@ function ReloadIcon(props) {
|
|
|
88568
88840
|
const { className, color: color2, loading, onClick } = props;
|
|
88569
88841
|
return /* @__PURE__ */ jsx("div", { onClick, className: classNames("reload-icon", className, classIf(loading, "loading")), children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: color2, children: /* @__PURE__ */ jsx("path", { d: "M12,18A6,6 0 0,1 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12A8,8 0 0,0 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6A6,6 0 0,1 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12A8,8 0 0,0 12,4Z" }) }) });
|
|
88570
88842
|
}
|
|
88571
|
-
const ICON_COLOR = "#607d8b";
|
|
88572
88843
|
function ExpandButton(props) {
|
|
88573
88844
|
const { expanded, dataTestId, className, disabled, ...elementProps } = props;
|
|
88574
88845
|
const expandedClass = expanded ? "expand-button__expanded" : "expand-button__collapsed";
|
|
@@ -88582,12 +88853,13 @@ function ExpandButton(props) {
|
|
|
88582
88853
|
}
|
|
88583
88854
|
);
|
|
88584
88855
|
}
|
|
88856
|
+
const ICON_COLOR = "#607d8b";
|
|
88585
88857
|
function ServerList(props) {
|
|
88586
88858
|
const { services, servers, selectServer, reloadServerList, selectedServerId, loading } = props;
|
|
88587
88859
|
const [expanded, setExpanded] = useState(true);
|
|
88588
88860
|
return /* @__PURE__ */ jsxs("div", { className: "server-list", children: [
|
|
88589
88861
|
/* @__PURE__ */ jsxs("div", { className: "server-list__title", children: [
|
|
88590
|
-
/* @__PURE__ */ jsxs("
|
|
88862
|
+
/* @__PURE__ */ jsxs(Typography$3, { variant: "h5", className: "server-list__title__text", children: [
|
|
88591
88863
|
/* @__PURE__ */ jsx(ExpandButton, { onClick: () => setExpanded(!expanded), expanded: servers?.length > 0 && expanded, disabled: !servers?.length }),
|
|
88592
88864
|
`${services.resources.Servers} (${servers?.length ?? 0})`
|
|
88593
88865
|
] }),
|
|
@@ -88601,7 +88873,7 @@ function ServerList(props) {
|
|
|
88601
88873
|
{
|
|
88602
88874
|
className: "server-list__item-content" + classIf(selectedServerId === server.id, "selected"),
|
|
88603
88875
|
onClick: () => selectServer(server),
|
|
88604
|
-
children: server.name
|
|
88876
|
+
children: /* @__PURE__ */ jsx(Typography$3, { variant: "body2", component: "span", children: server.name })
|
|
88605
88877
|
}
|
|
88606
88878
|
)
|
|
88607
88879
|
] }, server.id);
|
|
@@ -88680,23 +88952,6 @@ class ServersPageLogic extends ComponentLogic {
|
|
|
88680
88952
|
function ServerIcon() {
|
|
88681
88953
|
return /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24px", height: "24px", fill: ICON_COLOR, children: /* @__PURE__ */ jsx("path", { d: "M2 4.6V9.4C2 10.3 2.5 11 3.2 11H20.9C21.5 11 22.1 10.3 22.1 9.4V4.6C22 3.7 21.5 3 20.8 3H3.2C2.5 3 2 3.7 2 4.6M10 8V6H9V8H10M5 8H7V6H5V8M20 9H4V5H20V9M2 14.6V19.4C2 20.3 2.5 21 3.2 21H20.9C21.5 21 22.1 20.3 22.1 19.4V14.6C22.1 13.7 21.6 13 20.9 13H3.2C2.5 13 2 13.7 2 14.6M10 18V16H9V18H10M5 18H7V16H5V18M20 19H4V15H20V19Z" }) });
|
|
88682
88954
|
}
|
|
88683
|
-
function ServerDescriptionCard(props) {
|
|
88684
|
-
const { name, operatingSystem, services } = props;
|
|
88685
|
-
const resources = services.resources;
|
|
88686
|
-
const fields = [
|
|
88687
|
-
{ label: resources.ServerName, value: name },
|
|
88688
|
-
{ label: resources.OperatingSystem, value: operatingSystem }
|
|
88689
|
-
];
|
|
88690
|
-
return /* @__PURE__ */ jsxs("div", { className: "server-description-card", children: [
|
|
88691
|
-
/* @__PURE__ */ jsx(InformationIcon, { className: "server-description-card__info-icon", color: ICON_COLOR }),
|
|
88692
|
-
/* @__PURE__ */ jsx("div", { className: "server-description-card__data", children: fields.map((field) => {
|
|
88693
|
-
return /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
|
|
88694
|
-
/* @__PURE__ */ jsx("label", { children: field.label }),
|
|
88695
|
-
/* @__PURE__ */ jsx("div", { children: field.value })
|
|
88696
|
-
] }, field.label);
|
|
88697
|
-
}) })
|
|
88698
|
-
] });
|
|
88699
|
-
}
|
|
88700
88955
|
function ComponentList(props) {
|
|
88701
88956
|
const { components, services, onComponentClick, onDeleteClick } = props;
|
|
88702
88957
|
const onDeleteIconClick = async (event, component) => {
|
|
@@ -88717,7 +88972,7 @@ function ComponentList(props) {
|
|
|
88717
88972
|
components.map((component) => {
|
|
88718
88973
|
return /* @__PURE__ */ jsxs("div", { className: "component-list__item", onClick: () => onComponentClick(component), children: [
|
|
88719
88974
|
/* @__PURE__ */ jsx(ComponentIcon, { color: ICON_COLOR }),
|
|
88720
|
-
/* @__PURE__ */ jsx(
|
|
88975
|
+
/* @__PURE__ */ jsx(Typography$3, { className: "component-list__item__content", children: component.serviceName }),
|
|
88721
88976
|
/* @__PURE__ */ jsx(
|
|
88722
88977
|
DeleteIcon,
|
|
88723
88978
|
{
|
|
@@ -88731,6 +88986,26 @@ function ComponentList(props) {
|
|
|
88731
88986
|
})
|
|
88732
88987
|
] });
|
|
88733
88988
|
}
|
|
88989
|
+
function ServerDescriptionCard(props) {
|
|
88990
|
+
const { name, operatingSystem, services } = props;
|
|
88991
|
+
const resources = services.resources;
|
|
88992
|
+
const fields = [
|
|
88993
|
+
{ label: resources.ServerName, value: name },
|
|
88994
|
+
{ label: resources.OperatingSystem, value: operatingSystem }
|
|
88995
|
+
];
|
|
88996
|
+
return /* @__PURE__ */ jsxs("div", { className: "server-description-card", children: [
|
|
88997
|
+
/* @__PURE__ */ jsx(InformationIcon, { className: "server-description-card__info-icon", color: ICON_COLOR }),
|
|
88998
|
+
/* @__PURE__ */ jsx("div", { className: "server-description-card__data", children: fields.map((field) => {
|
|
88999
|
+
return /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
|
|
89000
|
+
/* @__PURE__ */ jsxs("label", { children: [
|
|
89001
|
+
field.label,
|
|
89002
|
+
":"
|
|
89003
|
+
] }),
|
|
89004
|
+
/* @__PURE__ */ jsx(Typography$3, { component: "span", variant: "body2", children: field.value })
|
|
89005
|
+
] }, field.label);
|
|
89006
|
+
}) })
|
|
89007
|
+
] });
|
|
89008
|
+
}
|
|
88734
89009
|
function ServerDescriptionPanel(props) {
|
|
88735
89010
|
const { serverDescription, loadingServices, services } = props;
|
|
88736
89011
|
const onComponentClick = (component) => {
|
|
@@ -88744,7 +89019,7 @@ function ServerDescriptionPanel(props) {
|
|
|
88744
89019
|
return /* @__PURE__ */ jsx(LoadingMore, { loading: true });
|
|
88745
89020
|
}
|
|
88746
89021
|
if (!serverDescription) {
|
|
88747
|
-
return /* @__PURE__ */ jsx("
|
|
89022
|
+
return /* @__PURE__ */ jsx(Typography$3, { variant: "subtitle2", className: "server-description-panel__title", children: services.resources.SelectServer });
|
|
88748
89023
|
}
|
|
88749
89024
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
88750
89025
|
/* @__PURE__ */ jsx(
|
|
@@ -122316,7 +122591,7 @@ function ExtendedConfiguration(props) {
|
|
|
122316
122591
|
] })
|
|
122317
122592
|
] }),
|
|
122318
122593
|
/* @__PURE__ */ jsxs("div", { className: "extended-configuration", children: [
|
|
122319
|
-
/* @__PURE__ */ jsx(Typography$3, { variant: "
|
|
122594
|
+
/* @__PURE__ */ jsx(Typography$3, { variant: "h1", color: "secondary", children: resources.AdvancedSettings }),
|
|
122320
122595
|
/* @__PURE__ */ jsx(SearchRow, { changeSearchText: (searchText2) => logic.changeSearchText(searchText2), searchText, services: props.services }),
|
|
122321
122596
|
/* @__PURE__ */ jsx(Paper$3, { className: "extended-configuration__table", children: /* @__PURE__ */ jsx(
|
|
122322
122597
|
DataGrid,
|
|
@@ -125398,7 +125673,7 @@ function ConfigurationLocksPage(props) {
|
|
|
125398
125673
|
resources,
|
|
125399
125674
|
pendingUnlockOperations
|
|
125400
125675
|
}
|
|
125401
|
-
) : /* @__PURE__ */ jsx("p",
|
|
125676
|
+
) : /* @__PURE__ */ jsx(Typography$3, { component: "p", className: "configuration-locks-page__text", children: resources.ConfigurationLocks_Empty }))
|
|
125402
125677
|
] }) });
|
|
125403
125678
|
}
|
|
125404
125679
|
function ConfigurationLocksRouteComponent(props) {
|
|
@@ -125829,6 +126104,7 @@ export {
|
|
|
125829
126104
|
GroupPanel,
|
|
125830
126105
|
HandPointRightIcon,
|
|
125831
126106
|
HelpIconButton,
|
|
126107
|
+
InfoBanner,
|
|
125832
126108
|
InformationIcon,
|
|
125833
126109
|
KEYCODE_ESCAPE,
|
|
125834
126110
|
LayoutService,
|