@wavemaker-ai/react-runtime 1.0.0-rc.330 → 1.0.0-rc.334
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/actions/notification-action.js +3 -3
- package/actions/toast.js +2 -1
- package/components/advanced/carousel/index.d.ts +1 -0
- package/components/advanced/carousel/template.d.ts +1 -0
- package/components/advanced/login/index.d.ts +1 -0
- package/components/advanced/marquee/index.d.ts +1 -0
- package/components/basic/anchor/index.d.ts +1 -0
- package/components/basic/anchor/index.js +3 -5
- package/components/basic/audio/index.d.ts +1 -0
- package/components/basic/html/index.d.ts +1 -0
- package/components/basic/icon/index.d.ts +1 -0
- package/components/basic/iframe/index.d.ts +1 -0
- package/components/basic/label/index.d.ts +1 -0
- package/components/basic/message/index.js +1 -0
- package/components/basic/picture/index.d.ts +1 -0
- package/components/basic/progress-bar/index.d.ts +1 -0
- package/components/basic/progress-circle/index.d.ts +1 -0
- package/components/basic/richtexteditor/index.d.ts +2 -0
- package/components/basic/search/index.js +9 -11
- package/components/basic/search/providers.d.ts +1 -1
- package/components/basic/search/providers.js +6 -3
- package/components/basic/spinner/index.d.ts +1 -0
- package/components/basic/tile/index.d.ts +1 -0
- package/components/basic/tree/index.d.ts +1 -0
- package/components/basic/video/index.d.ts +1 -0
- package/components/chart/index.d.ts +1 -0
- package/components/container/accordion/accordion-pane/index.d.ts +1 -0
- package/components/container/accordion/index.d.ts +1 -0
- package/components/container/index.d.ts +4 -0
- package/components/container/index.js +33 -9
- package/components/container/layout-grid/grid-column/index.d.ts +1 -0
- package/components/container/layout-grid/grid-row/index.d.ts +1 -0
- package/components/container/layout-grid/index.d.ts +1 -0
- package/components/container/layout-grid/index.js +2 -1
- package/components/container/linear-layout/index.d.ts +1 -0
- package/components/container/linear-layout/index.js +0 -1
- package/components/container/linear-layout/linear-layout-item/index.d.ts +1 -0
- package/components/container/panel/index.d.ts +1 -0
- package/components/container/props.d.ts +1 -0
- package/components/container/repeat-template/index.d.ts +1 -0
- package/components/container/repeat-template/index.js +1 -1
- package/components/container/tabs/index.d.ts +1 -0
- package/components/container/tabs/index.js +8 -6
- package/components/container/tabs/tab-pane/index.d.ts +1 -0
- package/components/container/tabs/tab-pane/index.js +2 -2
- package/components/container/wizard/index.d.ts +2 -0
- package/components/container/wizard/index.js +56 -40
- package/components/container/wizard/wizard-step/index.d.ts +1 -0
- package/components/data/card/card-actions/index.d.ts +1 -0
- package/components/data/card/card-content/index.d.ts +1 -0
- package/components/data/card/card-footer/index.d.ts +1 -0
- package/components/data/card/index.d.ts +1 -0
- package/components/data/form/base-form/hooks/useFormOperations.d.ts +1 -1
- package/components/data/form/base-form/hooks/useFormOperations.js +14 -17
- package/components/data/form/base-form/index.js +22 -23
- package/components/data/form/base-form/props.d.ts +1 -0
- package/components/data/form/base-form/utils.js +5 -4
- package/components/data/form/form-action/index.d.ts +4 -2
- package/components/data/form/form-action/index.js +2 -2
- package/components/data/form/form-context.d.ts +12 -13
- package/components/data/form/form-context.js +4 -6
- package/components/data/form/form-controller/withFormController.js +20 -7
- package/components/data/form/form-field/index.js +40 -15
- package/components/data/form/form-field/props.d.ts +7 -2
- package/components/data/list/components/ListItems.js +1 -3
- package/components/data/list/index.d.ts +2 -0
- package/components/data/list/index.js +6 -11
- package/components/data/pagination/hooks/usePagination.js +8 -8
- package/components/data/table/components/RowExpansionButton.js +5 -1
- package/components/data/table/components/TableBody.js +4 -1
- package/components/data/table/components/TableDataRow.js +1 -1
- package/components/data/table/components/TableHeader.js +3 -1
- package/components/data/table/hooks/useFormWidget.js +2 -2
- package/components/data/table/hooks/usePanelStructure.js +6 -1
- package/components/data/table/hooks/useResponsiveColumns.d.ts +1 -0
- package/components/data/table/hooks/useRowHandlers.js +3 -3
- package/components/data/table/hooks/useRowSelection.js +22 -13
- package/components/data/table/hooks/useTableColumns.js +5 -5
- package/components/data/table/hooks/useTableData.js +10 -2
- package/components/data/table/index.d.ts +2 -0
- package/components/data/table/index.js +15 -14
- package/components/data/table/live-table/index.d.ts +1 -0
- package/components/data/table/props.d.ts +9 -8
- package/components/data/table/table-action/index.d.ts +1 -0
- package/components/data/table/table-column/index.d.ts +1 -0
- package/components/data/table/table-row/index.d.ts +1 -0
- package/components/data/table/table-row-action/index.d.ts +1 -0
- package/components/data/table/utils/buildSelectionColumns.js +45 -50
- package/components/data/table/utils/crud-handlers.js +3 -1
- package/components/data/table/utils/expansionColumn.js +1 -1
- package/components/data/table/utils/index.d.ts +10 -3
- package/components/data/table/utils/index.js +20 -9
- package/components/data/table/utils/selectionUtils.d.ts +14 -0
- package/components/data/table/utils/selectionUtils.js +33 -1
- package/components/dialogs/alert-dialog/index.d.ts +2 -0
- package/components/dialogs/confirm-dialog/index.d.ts +2 -0
- package/components/dialogs/dialog/index.d.ts +2 -0
- package/components/dialogs/dialog-actions/index.d.ts +1 -0
- package/components/dialogs/dialog-actions/index.js +11 -2
- package/components/dialogs/dialog-body/index.d.ts +1 -0
- package/components/dialogs/dialog-content/index.d.ts +1 -0
- package/components/dialogs/dialog-header/index.d.ts +1 -0
- package/components/dialogs/iframe-dialog/index.d.ts +2 -0
- package/components/dialogs/login-dialog/index.d.ts +2 -0
- package/components/dialogs/page-dialog/index.d.ts +2 -0
- package/components/dialogs/withDialogWrapper.js +12 -2
- package/components/form/button/index.d.ts +1 -0
- package/components/form/button-group/index.d.ts +1 -0
- package/components/input/calendar/index.d.ts +2 -0
- package/components/input/chips/index.d.ts +2 -0
- package/components/input/color-picker/index.d.ts +2 -0
- package/components/input/composite/index.d.ts +1 -0
- package/components/input/composite/index.js +32 -6
- package/components/input/default/checkbox/index.d.ts +2 -0
- package/components/input/default/checkboxset/index.d.ts +2 -0
- package/components/input/default/radioset/index.d.ts +2 -0
- package/components/input/default/switch/index.d.ts +2 -0
- package/components/input/epoch/date/index.d.ts +1 -0
- package/components/input/epoch/date/index.js +2 -1
- package/components/input/epoch/date/utils.js +4 -2
- package/components/input/epoch/datetime/index.d.ts +1 -0
- package/components/input/epoch/datetime/index.js +5 -3
- package/components/input/epoch/datetime/props.d.ts +2 -2
- package/components/input/epoch/time/index.d.ts +1 -0
- package/components/input/epoch/time/utils.d.ts +1 -1
- package/components/input/epoch/time/utils.js +2 -2
- package/components/input/fileupload/index.d.ts +1 -0
- package/components/input/fileupload/index.js +2 -1
- package/components/input/fileupload/useFileUpload.js +19 -24
- package/components/input/number/index.d.ts +2 -0
- package/components/input/rating/index.d.ts +2 -0
- package/components/input/select/index.js +6 -3
- package/components/input/slider/index.d.ts +2 -0
- package/components/input/text/index.d.ts +2 -0
- package/components/input/text/index.js +9 -2
- package/components/input/textarea/index.d.ts +2 -0
- package/components/input/upload/index.d.ts +2 -0
- package/components/navbar/index.d.ts +1 -0
- package/components/navbar/nav-item/index.d.ts +1 -0
- package/components/navigation/breadcrumb/index.d.ts +1 -0
- package/components/navigation/menu/index.d.ts +1 -0
- package/components/navigation/menu/index.js +13 -9
- package/components/navigation/menu/props.d.ts +1 -0
- package/components/navigation/popover/index.d.ts +2 -1
- package/components/navigation/popover/index.js +16 -4
- package/components/navigation/popover/props.d.ts +1 -1
- package/components/page/partial/index.d.ts +1 -0
- package/context/PopoverContext.d.ts +5 -0
- package/context/PopoverContext.js +5 -0
- package/context/WidgetProvider.js +9 -2
- package/core/proxy-service.d.ts +18 -1
- package/core/proxy-service.js +84 -14
- package/higherOrder/BaseApp.js +2 -1
- package/higherOrder/BaseDateTime.js +8 -1
- package/higherOrder/BasePage.js +9 -11
- package/higherOrder/props.d.ts +1 -0
- package/higherOrder/useActivePageReactivity.js +1 -4
- package/higherOrder/withBaseWrapper.js +6 -6
- package/package-lock.json +203 -185
- package/package.json +3 -3
- package/runtime-dynamic/components/PageWrapper.js +1 -1
- package/runtime-dynamic/components/PrefabPreview.js +1 -1
- package/runtime-dynamic/components/partial-content.js +17 -1
- package/runtime-dynamic/factories/build-base-page-like-component.js +11 -7
- package/runtime-dynamic/factories/dynamic-component.js +1 -7
- package/runtime-dynamic/routes.js +17 -8
- package/utils/page-params-util.js +22 -1
- package/utils/partial-host-util.d.ts +40 -0
- package/utils/partial-host-util.js +41 -0
- package/variables/model-variable.d.ts +2 -0
- package/variables/model-variable.js +14 -0
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import clsx from "clsx";
|
|
2
3
|
import DialogActions from "@mui/material/DialogActions";
|
|
3
4
|
import withBaseWrapper from "../../../higherOrder/withBaseWrapper";
|
|
4
5
|
const WmDialogFooter = (props) => {
|
|
5
|
-
const { children } = props;
|
|
6
|
-
return /* @__PURE__ */ jsx(
|
|
6
|
+
const { children, className, styles, hidden } = props;
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
DialogActions,
|
|
9
|
+
{
|
|
10
|
+
className: clsx("app-dialog-footer modal-footer", className),
|
|
11
|
+
style: styles,
|
|
12
|
+
hidden: hidden != null ? hidden : false,
|
|
13
|
+
children
|
|
14
|
+
}
|
|
15
|
+
);
|
|
7
16
|
};
|
|
8
17
|
WmDialogFooter.displayName = "WmDialogFooter";
|
|
9
18
|
var dialog_actions_default = withBaseWrapper(WmDialogFooter);
|
|
@@ -23,6 +23,7 @@ declare const _default: import("react").ComponentType<{
|
|
|
23
23
|
width?: number | string;
|
|
24
24
|
height?: number | string;
|
|
25
25
|
className?: string;
|
|
26
|
+
class?: string;
|
|
26
27
|
conditionalstyle?: import("react").CSSProperties;
|
|
27
28
|
conditionalclass?: string;
|
|
28
29
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -26,6 +26,7 @@ declare const _default: import("react").ComponentType<{
|
|
|
26
26
|
width?: number | string;
|
|
27
27
|
height?: number | string;
|
|
28
28
|
className?: string;
|
|
29
|
+
class?: string;
|
|
29
30
|
conditionalstyle?: import("react").CSSProperties;
|
|
30
31
|
conditionalclass?: string;
|
|
31
32
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -40,6 +40,7 @@ declare const _default: React.ComponentType<{
|
|
|
40
40
|
width?: number | string;
|
|
41
41
|
height?: number | string;
|
|
42
42
|
className?: string;
|
|
43
|
+
class?: string;
|
|
43
44
|
conditionalstyle?: React.CSSProperties;
|
|
44
45
|
conditionalclass?: string;
|
|
45
46
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -39,6 +39,7 @@ declare const WmIframeDialogStandalone: {
|
|
|
39
39
|
width?: number | string;
|
|
40
40
|
height?: number | string;
|
|
41
41
|
className?: string;
|
|
42
|
+
class?: string;
|
|
42
43
|
conditionalstyle?: React.CSSProperties;
|
|
43
44
|
conditionalclass?: string;
|
|
44
45
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -135,6 +136,7 @@ declare const _default: {
|
|
|
135
136
|
width?: number | string;
|
|
136
137
|
height?: number | string;
|
|
137
138
|
className?: string;
|
|
139
|
+
class?: string;
|
|
138
140
|
conditionalstyle?: React.CSSProperties;
|
|
139
141
|
conditionalclass?: string;
|
|
140
142
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -38,6 +38,7 @@ declare const WmLoginDialogStandalone: {
|
|
|
38
38
|
width?: number | string;
|
|
39
39
|
height?: number | string;
|
|
40
40
|
className?: string;
|
|
41
|
+
class?: string;
|
|
41
42
|
conditionalstyle?: React.CSSProperties;
|
|
42
43
|
conditionalclass?: string;
|
|
43
44
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -123,6 +124,7 @@ declare const _default: {
|
|
|
123
124
|
width?: number | string;
|
|
124
125
|
height?: number | string;
|
|
125
126
|
className?: string;
|
|
127
|
+
class?: string;
|
|
126
128
|
conditionalstyle?: React.CSSProperties;
|
|
127
129
|
conditionalclass?: string;
|
|
128
130
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -33,6 +33,7 @@ declare const WmPageDialogStandalone: {
|
|
|
33
33
|
width?: number | string;
|
|
34
34
|
height?: number | string;
|
|
35
35
|
className?: string;
|
|
36
|
+
class?: string;
|
|
36
37
|
conditionalstyle?: React.CSSProperties;
|
|
37
38
|
conditionalclass?: string;
|
|
38
39
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -122,6 +123,7 @@ declare const _default: {
|
|
|
122
123
|
width?: number | string;
|
|
123
124
|
height?: number | string;
|
|
124
125
|
className?: string;
|
|
126
|
+
class?: string;
|
|
125
127
|
conditionalstyle?: React.CSSProperties;
|
|
126
128
|
conditionalclass?: string;
|
|
127
129
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -30,8 +30,9 @@ var __objRest = (source, exclude) => {
|
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
32
|
import { jsx } from "react/jsx-runtime";
|
|
33
|
-
import { useCallback, useState, useEffect, useMemo, useRef } from "react";
|
|
33
|
+
import { useCallback, useState, useEffect, useMemo, useRef, useContext } from "react";
|
|
34
34
|
import DialogService from "../../core/dialog.service";
|
|
35
|
+
import { PopoverContext } from "../../context/PopoverContext";
|
|
35
36
|
const BaseDialog = (Component) => {
|
|
36
37
|
const WrappedComponent = (props) => {
|
|
37
38
|
const _a = props, {
|
|
@@ -52,6 +53,8 @@ const BaseDialog = (Component) => {
|
|
|
52
53
|
"appLocale"
|
|
53
54
|
]);
|
|
54
55
|
const [dialogOpen, setDialogOpen] = useState(!!isopen);
|
|
56
|
+
const popoverContext = useContext(PopoverContext);
|
|
57
|
+
const wasDialogOpenRef = useRef(!!isopen);
|
|
55
58
|
const appLocaleMessages = useMemo(
|
|
56
59
|
() => {
|
|
57
60
|
var _a2;
|
|
@@ -65,15 +68,22 @@ const BaseDialog = (Component) => {
|
|
|
65
68
|
setDialogOpen(!!isopen);
|
|
66
69
|
isDialogOpenRef.current = !!isopen;
|
|
67
70
|
}, [isopen]);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (wasDialogOpenRef.current && !dialogOpen) {
|
|
73
|
+
popoverContext == null ? void 0 : popoverContext.onDialogClose();
|
|
74
|
+
}
|
|
75
|
+
wasDialogOpenRef.current = dialogOpen;
|
|
76
|
+
}, [dialogOpen, popoverContext]);
|
|
68
77
|
const handleTransitionEntered = useCallback(() => {
|
|
69
78
|
if (onOpened) {
|
|
70
79
|
onOpened();
|
|
71
80
|
}
|
|
72
81
|
}, [onOpened]);
|
|
73
82
|
const handleOpen = useCallback(() => {
|
|
83
|
+
popoverContext == null ? void 0 : popoverContext.closeForDialog();
|
|
74
84
|
setDialogOpen(true);
|
|
75
85
|
isDialogOpenRef.current = true;
|
|
76
|
-
}, []);
|
|
86
|
+
}, [popoverContext]);
|
|
77
87
|
const handleClose = useCallback(
|
|
78
88
|
(event) => {
|
|
79
89
|
if (isDialogOpenRef.current) {
|
|
@@ -34,6 +34,7 @@ declare const _default: import("react").ComponentType<{
|
|
|
34
34
|
width?: number | string;
|
|
35
35
|
height?: number | string;
|
|
36
36
|
className?: string;
|
|
37
|
+
class?: string;
|
|
37
38
|
conditionalstyle?: import("react").CSSProperties;
|
|
38
39
|
conditionalclass?: string;
|
|
39
40
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -26,6 +26,7 @@ declare const _default: React.ComponentType<{
|
|
|
26
26
|
width?: number | string;
|
|
27
27
|
height?: number | string;
|
|
28
28
|
className?: string;
|
|
29
|
+
class?: string;
|
|
29
30
|
conditionalstyle?: React.CSSProperties;
|
|
30
31
|
conditionalclass?: string;
|
|
31
32
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -29,6 +29,7 @@ export declare const WmCalendar: React.ForwardRefExoticComponent<Omit<{
|
|
|
29
29
|
width?: number | string;
|
|
30
30
|
height?: number | string;
|
|
31
31
|
className?: string;
|
|
32
|
+
class?: string;
|
|
32
33
|
conditionalstyle?: React.CSSProperties;
|
|
33
34
|
conditionalclass?: string;
|
|
34
35
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -89,6 +90,7 @@ declare const _default: React.ComponentType<{
|
|
|
89
90
|
width?: number | string;
|
|
90
91
|
height?: number | string;
|
|
91
92
|
className?: string;
|
|
93
|
+
class?: string;
|
|
92
94
|
conditionalstyle?: React.CSSProperties;
|
|
93
95
|
conditionalclass?: string;
|
|
94
96
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -62,6 +62,7 @@ declare const WmChipsStandalone: React.ComponentType<import("../../data/form/for
|
|
|
62
62
|
width?: number | string;
|
|
63
63
|
height?: number | string;
|
|
64
64
|
className?: string;
|
|
65
|
+
class?: string;
|
|
65
66
|
conditionalstyle?: React.CSSProperties;
|
|
66
67
|
conditionalclass?: string;
|
|
67
68
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -188,6 +189,7 @@ declare const _default: React.ComponentType<{
|
|
|
188
189
|
width?: number | string;
|
|
189
190
|
height?: number | string;
|
|
190
191
|
className?: string;
|
|
192
|
+
class?: string;
|
|
191
193
|
conditionalstyle?: React.CSSProperties;
|
|
192
194
|
conditionalclass?: string;
|
|
193
195
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -29,6 +29,7 @@ declare const WmColorPickerStandalone: React.ComponentType<import("../../data/fo
|
|
|
29
29
|
width?: number | string;
|
|
30
30
|
height?: number | string;
|
|
31
31
|
className?: string;
|
|
32
|
+
class?: string;
|
|
32
33
|
conditionalstyle?: React.CSSProperties;
|
|
33
34
|
conditionalclass?: string;
|
|
34
35
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -118,6 +119,7 @@ declare const _default: React.ComponentType<{
|
|
|
118
119
|
width?: number | string;
|
|
119
120
|
height?: number | string;
|
|
120
121
|
className?: string;
|
|
122
|
+
class?: string;
|
|
121
123
|
conditionalstyle?: React.CSSProperties;
|
|
122
124
|
conditionalclass?: string;
|
|
123
125
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -26,6 +26,7 @@ declare const _default: React.ComponentType<{
|
|
|
26
26
|
width?: number | string;
|
|
27
27
|
height?: number | string;
|
|
28
28
|
className?: string;
|
|
29
|
+
class?: string;
|
|
29
30
|
conditionalstyle?: React.CSSProperties;
|
|
30
31
|
conditionalclass?: string;
|
|
31
32
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -10,6 +10,7 @@ const CAPTION_POSITION = {
|
|
|
10
10
|
top: "caption-top",
|
|
11
11
|
floating: "caption-floating"
|
|
12
12
|
};
|
|
13
|
+
const getPlaceholderOption = (input) => input instanceof HTMLSelectElement ? input.querySelector("#placeholderOption") : null;
|
|
13
14
|
function WmComposite(props) {
|
|
14
15
|
const { children, styles, className, captionposition = "left", id, required } = props;
|
|
15
16
|
const containerRef = useRef(null);
|
|
@@ -17,6 +18,11 @@ function WmComposite(props) {
|
|
|
17
18
|
const hasInputValue = useCallback(
|
|
18
19
|
(input) => {
|
|
19
20
|
var _a;
|
|
21
|
+
if (input instanceof HTMLSelectElement) {
|
|
22
|
+
return Array.from(input.selectedOptions).some(
|
|
23
|
+
(option) => option.id !== "placeholderOption" && Boolean(option.value.trim())
|
|
24
|
+
);
|
|
25
|
+
}
|
|
20
26
|
return Boolean((_a = input.value) == null ? void 0 : _a.trim());
|
|
21
27
|
},
|
|
22
28
|
[]
|
|
@@ -32,7 +38,12 @@ function WmComposite(props) {
|
|
|
32
38
|
const target = event.target;
|
|
33
39
|
const originalPlaceholder = target.getAttribute("data-original-placeholder");
|
|
34
40
|
if (originalPlaceholder) {
|
|
35
|
-
target
|
|
41
|
+
const placeholderOption = getPlaceholderOption(target);
|
|
42
|
+
if (placeholderOption) {
|
|
43
|
+
placeholderOption.textContent = originalPlaceholder;
|
|
44
|
+
} else {
|
|
45
|
+
target.setAttribute("placeholder", originalPlaceholder);
|
|
46
|
+
}
|
|
36
47
|
}
|
|
37
48
|
},
|
|
38
49
|
[isFloating, toggleFloatActive]
|
|
@@ -42,21 +53,31 @@ function WmComposite(props) {
|
|
|
42
53
|
if (!isFloating) return;
|
|
43
54
|
const target = event.target;
|
|
44
55
|
toggleFloatActive(hasInputValue(target));
|
|
45
|
-
target
|
|
56
|
+
const placeholderOption = getPlaceholderOption(target);
|
|
57
|
+
if (placeholderOption) {
|
|
58
|
+
placeholderOption.textContent = "";
|
|
59
|
+
} else {
|
|
60
|
+
target.setAttribute("placeholder", "");
|
|
61
|
+
}
|
|
46
62
|
},
|
|
47
63
|
[isFloating, toggleFloatActive, hasInputValue]
|
|
48
64
|
);
|
|
49
65
|
useEffect(() => {
|
|
50
66
|
if (!isFloating || !containerRef.current) return;
|
|
51
67
|
const container = containerRef.current;
|
|
52
|
-
const INPUT_SELECTOR =
|
|
68
|
+
const INPUT_SELECTOR = 'input, select, textarea:not([aria-hidden="true"])';
|
|
53
69
|
const inputElements = container.querySelectorAll(INPUT_SELECTOR);
|
|
54
70
|
if (inputElements.length === 0) return;
|
|
55
71
|
inputElements.forEach((input) => {
|
|
56
|
-
const
|
|
72
|
+
const placeholderOption = getPlaceholderOption(input);
|
|
73
|
+
const originalPlaceholder = (placeholderOption == null ? void 0 : placeholderOption.textContent) || input.getAttribute("placeholder");
|
|
57
74
|
if (originalPlaceholder) {
|
|
58
75
|
input.setAttribute("data-original-placeholder", originalPlaceholder);
|
|
59
|
-
|
|
76
|
+
if (placeholderOption) {
|
|
77
|
+
placeholderOption.textContent = "";
|
|
78
|
+
} else {
|
|
79
|
+
input.setAttribute("placeholder", "");
|
|
80
|
+
}
|
|
60
81
|
}
|
|
61
82
|
if (hasInputValue(input)) {
|
|
62
83
|
toggleFloatActive(true);
|
|
@@ -68,7 +89,12 @@ function WmComposite(props) {
|
|
|
68
89
|
inputElements.forEach((input) => {
|
|
69
90
|
const originalPlaceholder = input.getAttribute("data-original-placeholder");
|
|
70
91
|
if (originalPlaceholder) {
|
|
71
|
-
input
|
|
92
|
+
const placeholderOption = getPlaceholderOption(input);
|
|
93
|
+
if (placeholderOption) {
|
|
94
|
+
placeholderOption.textContent = originalPlaceholder;
|
|
95
|
+
} else {
|
|
96
|
+
input.setAttribute("placeholder", originalPlaceholder);
|
|
97
|
+
}
|
|
72
98
|
input.removeAttribute("data-original-placeholder");
|
|
73
99
|
}
|
|
74
100
|
input.removeEventListener("focus", handleFocus);
|
|
@@ -28,6 +28,7 @@ declare const WmCheckboxStandalone: React.ComponentType<import("../../../data/fo
|
|
|
28
28
|
width?: number | string;
|
|
29
29
|
height?: number | string;
|
|
30
30
|
className?: string;
|
|
31
|
+
class?: string;
|
|
31
32
|
conditionalstyle?: React.CSSProperties;
|
|
32
33
|
conditionalclass?: string;
|
|
33
34
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -119,6 +120,7 @@ declare const _default: React.ComponentType<{
|
|
|
119
120
|
width?: number | string;
|
|
120
121
|
height?: number | string;
|
|
121
122
|
className?: string;
|
|
123
|
+
class?: string;
|
|
122
124
|
conditionalstyle?: React.CSSProperties;
|
|
123
125
|
conditionalclass?: string;
|
|
124
126
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -50,6 +50,7 @@ declare const WmCheckboxsetStandalone: React.ComponentType<import("../../../data
|
|
|
50
50
|
padding?: string;
|
|
51
51
|
margin?: string;
|
|
52
52
|
className?: string;
|
|
53
|
+
class?: string;
|
|
53
54
|
conditionalstyle?: React.CSSProperties;
|
|
54
55
|
conditionalclass?: string;
|
|
55
56
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -160,6 +161,7 @@ declare const _default: React.ComponentType<{
|
|
|
160
161
|
padding?: string;
|
|
161
162
|
margin?: string;
|
|
162
163
|
className?: string;
|
|
164
|
+
class?: string;
|
|
163
165
|
conditionalstyle?: React.CSSProperties;
|
|
164
166
|
conditionalclass?: string;
|
|
165
167
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -43,6 +43,7 @@ declare const WmRadiosetStandalone: React.ComponentType<import("../../../data/fo
|
|
|
43
43
|
width?: number | string;
|
|
44
44
|
height?: number | string;
|
|
45
45
|
className?: string;
|
|
46
|
+
class?: string;
|
|
46
47
|
conditionalstyle?: React.CSSProperties;
|
|
47
48
|
conditionalclass?: string;
|
|
48
49
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -149,6 +150,7 @@ declare const _default: React.ComponentType<{
|
|
|
149
150
|
width?: number | string;
|
|
150
151
|
height?: number | string;
|
|
151
152
|
className?: string;
|
|
153
|
+
class?: string;
|
|
152
154
|
conditionalstyle?: React.CSSProperties;
|
|
153
155
|
conditionalclass?: string;
|
|
154
156
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -43,6 +43,7 @@ declare const WmSwitchStandalone: React.ComponentType<import("../../../data/form
|
|
|
43
43
|
width?: number | string;
|
|
44
44
|
height?: number | string;
|
|
45
45
|
className?: string;
|
|
46
|
+
class?: string;
|
|
46
47
|
conditionalstyle?: React.CSSProperties;
|
|
47
48
|
conditionalclass?: string;
|
|
48
49
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -145,6 +146,7 @@ declare const _default: React.ComponentType<{
|
|
|
145
146
|
width?: number | string;
|
|
146
147
|
height?: number | string;
|
|
147
148
|
className?: string;
|
|
149
|
+
class?: string;
|
|
148
150
|
conditionalstyle?: React.CSSProperties;
|
|
149
151
|
conditionalclass?: string;
|
|
150
152
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -20,6 +20,7 @@ declare const _default: React.ComponentType<{
|
|
|
20
20
|
width?: number | string;
|
|
21
21
|
height?: number | string;
|
|
22
22
|
className?: string;
|
|
23
|
+
class?: string;
|
|
23
24
|
conditionalstyle?: React.CSSProperties;
|
|
24
25
|
conditionalclass?: string;
|
|
25
26
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -153,7 +153,7 @@ const WmDate = forwardRef((props, ref) => {
|
|
|
153
153
|
() => {
|
|
154
154
|
var _a2;
|
|
155
155
|
return [
|
|
156
|
-
defaultDateFormat || ((_a2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _a2.date) || "
|
|
156
|
+
defaultDateFormat || ((_a2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _a2.date) || "yyyy-MM-dd",
|
|
157
157
|
selectedLocale || (listener == null ? void 0 : listener.selectedLocale) || "en"
|
|
158
158
|
];
|
|
159
159
|
},
|
|
@@ -255,6 +255,7 @@ const WmDate = forwardRef((props, ref) => {
|
|
|
255
255
|
if (!dateValue) return "";
|
|
256
256
|
try {
|
|
257
257
|
const momentDate = moment(dateValue).locale(currentLocale);
|
|
258
|
+
if (!momentDate.isValid()) return "";
|
|
258
259
|
const momentPattern = convertToMomentFormat(datepattern);
|
|
259
260
|
return momentDate.format(momentPattern);
|
|
260
261
|
} catch (e) {
|
|
@@ -57,10 +57,12 @@ const parseExcludedDates = (excludedates, getDateObj) => {
|
|
|
57
57
|
};
|
|
58
58
|
const defaultGetDateObj = (date) => {
|
|
59
59
|
if (!date) return null;
|
|
60
|
-
if (date instanceof Date) return date;
|
|
60
|
+
if (date instanceof Date) return isNaN(date.getTime()) ? null : date;
|
|
61
61
|
if (typeof date === "string") {
|
|
62
62
|
const parsedDate = moment(date).toDate();
|
|
63
|
-
|
|
63
|
+
if (!isNaN(parsedDate.getTime())) return parsedDate;
|
|
64
|
+
const fallbackDate = new Date(date);
|
|
65
|
+
return isNaN(fallbackDate.getTime()) ? null : fallbackDate;
|
|
64
66
|
}
|
|
65
67
|
return null;
|
|
66
68
|
};
|
|
@@ -20,6 +20,7 @@ declare const _default: React.ComponentType<{
|
|
|
20
20
|
width?: number | string;
|
|
21
21
|
height?: number | string;
|
|
22
22
|
className?: string;
|
|
23
|
+
class?: string;
|
|
23
24
|
conditionalstyle?: React.CSSProperties;
|
|
24
25
|
conditionalclass?: string;
|
|
25
26
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -96,8 +96,8 @@ const WmDateTime = memo(
|
|
|
96
96
|
const defaultDateTimeFormat = useMemo(() => {
|
|
97
97
|
const combinedFromParts = () => {
|
|
98
98
|
var _a2, _b2;
|
|
99
|
-
const datePart = defaultDateFormat || ((_a2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _a2.date) || "
|
|
100
|
-
const timePart = defaultTimeFormat || ((_b2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _b2.time) || "
|
|
99
|
+
const datePart = defaultDateFormat || ((_a2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _a2.date) || "yyyy-MM-dd";
|
|
100
|
+
const timePart = defaultTimeFormat || ((_b2 = listener == null ? void 0 : listener.localeFormats) == null ? void 0 : _b2.time) || "hh:mm a";
|
|
101
101
|
return `${datePart} ${timePart}`;
|
|
102
102
|
};
|
|
103
103
|
return combinedFromParts();
|
|
@@ -586,10 +586,12 @@ const WmDateTime = memo(
|
|
|
586
586
|
},
|
|
587
587
|
InputLabelProps: {
|
|
588
588
|
shrink: floatinglabel ? void 0 : false,
|
|
589
|
-
className: floatinglabel ? "wm-datetime-input-label" : void 0
|
|
589
|
+
className: floatinglabel ? "wm-datetime-input-label" : void 0,
|
|
590
|
+
sx: floatinglabel ? { ".app-composite-widget.caption-floating &": { display: "none" } } : void 0
|
|
590
591
|
},
|
|
591
592
|
inputProps: __spreadValues(__spreadValues({
|
|
592
593
|
accessKey: shortcutkey,
|
|
594
|
+
"aria-label": arialabel || floatinglabel,
|
|
593
595
|
"aria-invalid": invalidFormat || dateNotInRange,
|
|
594
596
|
className: "form-control app-textbox display-input wm-datetime-html-input"
|
|
595
597
|
}, disabled ? { disabled: true } : {}), readonly ? { readOnly: true } : {}),
|
|
@@ -45,12 +45,12 @@ export interface DateTimeProps {
|
|
|
45
45
|
defaultDateTimeFormat?: string;
|
|
46
46
|
/**
|
|
47
47
|
* Default date segment for display when `datepattern` is unset and `defaultDateTimeFormat` is not set.
|
|
48
|
-
* Falls back to `listener.localeFormats.date`, then `"
|
|
48
|
+
* Falls back to `listener.localeFormats.date`, then `"yyyy-MM-dd"`.
|
|
49
49
|
*/
|
|
50
50
|
defaultDateFormat?: string;
|
|
51
51
|
/**
|
|
52
52
|
* Default time segment for display when `datepattern` is unset and `defaultDateTimeFormat` is not set.
|
|
53
|
-
* Falls back to `listener.localeFormats.time`, then `"
|
|
53
|
+
* Falls back to `listener.localeFormats.time`, then `"hh:mm a"`.
|
|
54
54
|
*/
|
|
55
55
|
defaultTimeFormat?: string;
|
|
56
56
|
/**
|
|
@@ -20,6 +20,7 @@ declare const _default: React.ComponentType<{
|
|
|
20
20
|
width?: number | string;
|
|
21
21
|
height?: number | string;
|
|
22
22
|
className?: string;
|
|
23
|
+
class?: string;
|
|
23
24
|
conditionalstyle?: React.CSSProperties;
|
|
24
25
|
conditionalclass?: string;
|
|
25
26
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -9,7 +9,7 @@ export declare function validateTimeRange(timeValue: Date | moment.Moment | null
|
|
|
9
9
|
export declare function validateTimeFormat(inputValue: string, pattern: string, required: boolean, validationmessage?: string): ValidationResult;
|
|
10
10
|
export declare function parseTimeObj(timeValue: string | Date | null | undefined): Date | null;
|
|
11
11
|
export declare const DEFAULT_CLASS = "input-group app-timeinput";
|
|
12
|
-
export declare const DEFAULT_TIMEPATTERN = "
|
|
12
|
+
export declare const DEFAULT_TIMEPATTERN = "hh:mm a";
|
|
13
13
|
export declare const DEFAULT_OUTPUT_FORMAT = "HH:mm:ss";
|
|
14
14
|
export declare const READONLY_STYLES: {
|
|
15
15
|
cursor: string;
|
|
@@ -76,7 +76,7 @@ function formatDisplayTimeValue(value, pattern) {
|
|
|
76
76
|
if (pattern === "timestamp") {
|
|
77
77
|
return momentObj.valueOf().toString();
|
|
78
78
|
}
|
|
79
|
-
return momentObj.isValid() ? momentObj.format(pattern) : "";
|
|
79
|
+
return momentObj.isValid() ? momentObj.format(pattern.replace(/\ba\b/g, "A")) : "";
|
|
80
80
|
} catch (error) {
|
|
81
81
|
console.warn("Error formatting display value:", error);
|
|
82
82
|
return "";
|
|
@@ -178,7 +178,7 @@ function parseTimeObj(timeValue) {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
const DEFAULT_CLASS = "input-group app-timeinput";
|
|
181
|
-
const DEFAULT_TIMEPATTERN = "
|
|
181
|
+
const DEFAULT_TIMEPATTERN = "hh:mm a";
|
|
182
182
|
const DEFAULT_OUTPUT_FORMAT = "HH:mm:ss";
|
|
183
183
|
const READONLY_STYLES = {
|
|
184
184
|
cursor: "not-allowed"
|
|
@@ -52,6 +52,7 @@ declare const _default: React.ComponentType<{
|
|
|
52
52
|
width?: number | string;
|
|
53
53
|
height?: number | string;
|
|
54
54
|
className?: string;
|
|
55
|
+
class?: string;
|
|
55
56
|
conditionalstyle?: React.CSSProperties;
|
|
56
57
|
conditionalclass?: string;
|
|
57
58
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -250,7 +250,8 @@ const WmFileUpload = memo(
|
|
|
250
250
|
"onDelete",
|
|
251
251
|
"onBeforedelete",
|
|
252
252
|
"onError",
|
|
253
|
-
"hidden"
|
|
253
|
+
"hidden",
|
|
254
|
+
"className"
|
|
254
255
|
];
|
|
255
256
|
const propsChanged = keysToCheck.some((key) => prevProps[key] !== nextProps[key]);
|
|
256
257
|
const filesChanged = prevProps.datasource !== nextProps.datasource || prevProps.deletedatasource !== nextProps.deletedatasource;
|
|
@@ -30,7 +30,6 @@ const useFileUpload = (props) => {
|
|
|
30
30
|
disabled = !fileUploadConstants.DEFAULT_VALUES.ENABLED,
|
|
31
31
|
contenttype = "",
|
|
32
32
|
maxfilesize,
|
|
33
|
-
uploadpath,
|
|
34
33
|
datasource,
|
|
35
34
|
extensions,
|
|
36
35
|
filetype,
|
|
@@ -104,7 +103,7 @@ const useFileUpload = (props) => {
|
|
|
104
103
|
const eventHandler = (_b2 = (_a2 = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a2[name]) == null ? void 0 : _b2[eventName];
|
|
105
104
|
return eventHandler ? eventHandler(payload.$event, listener.Widgets[name], payload.files) || true : true;
|
|
106
105
|
},
|
|
107
|
-
[
|
|
106
|
+
[name]
|
|
108
107
|
);
|
|
109
108
|
const fileUploadProgress = (progress) => {
|
|
110
109
|
setUploadedFiles((prevFiles) => {
|
|
@@ -125,26 +124,18 @@ const useFileUpload = (props) => {
|
|
|
125
124
|
});
|
|
126
125
|
});
|
|
127
126
|
};
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
(_b2 = listener == null ? void 0 : listener.App) == null ? void 0 : _b2.notifyApp("File upload failed", "Error");
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return () => {
|
|
142
|
-
const progressObs2 = datasource && datasource._progressObservable;
|
|
143
|
-
if (progressObs2 == null ? void 0 : progressObs2.unsubscribe) {
|
|
144
|
-
progressObs2.unsubscribe();
|
|
127
|
+
const subscribeToProgress = useCallback((progressObs) => {
|
|
128
|
+
if (!progressObs) return;
|
|
129
|
+
progressObs.subscribe((progress) => {
|
|
130
|
+
var _a2, _b2;
|
|
131
|
+
fileUploadProgress(progress);
|
|
132
|
+
if (progress.progress === 100) {
|
|
133
|
+
(_a2 = listener == null ? void 0 : listener.App) == null ? void 0 : _a2.notifyApp("File uploaded successfully", "Success");
|
|
134
|
+
} else if (progress.errMsg) {
|
|
135
|
+
(_b2 = listener == null ? void 0 : listener.App) == null ? void 0 : _b2.notifyApp("File upload failed", "Error");
|
|
145
136
|
}
|
|
146
|
-
};
|
|
147
|
-
}, [
|
|
137
|
+
});
|
|
138
|
+
}, []);
|
|
148
139
|
useEffect(() => {
|
|
149
140
|
const selected = getChooseFilter();
|
|
150
141
|
setChooseFilter(selected);
|
|
@@ -193,7 +184,7 @@ const useFileUpload = (props) => {
|
|
|
193
184
|
window.removeEventListener("focus", disableDropZone);
|
|
194
185
|
};
|
|
195
186
|
const onBeforeSelectEventCall = ($event, $files) => {
|
|
196
|
-
var _a2, _b2
|
|
187
|
+
var _a2, _b2;
|
|
197
188
|
const files = getValidFiles(
|
|
198
189
|
$files,
|
|
199
190
|
contenttype,
|
|
@@ -237,14 +228,18 @@ const useFileUpload = (props) => {
|
|
|
237
228
|
});
|
|
238
229
|
if (datasource) {
|
|
239
230
|
datasource._progressObservable = eventObserver();
|
|
231
|
+
subscribeToProgress(datasource._progressObservable);
|
|
240
232
|
datasource.dataBinding = datasource.dataBinding || {};
|
|
241
233
|
datasource.dataBinding.files = filesWithIds;
|
|
242
234
|
datasource.dataSet = filesWithIds;
|
|
243
235
|
}
|
|
244
236
|
setUploadedFiles((prev) => multiple ? [...prev, ...filesWithIds] : [...filesWithIds]);
|
|
245
237
|
listener == null ? void 0 : listener.onChange(name, { selectedFiles: filesWithIds });
|
|
246
|
-
|
|
247
|
-
|
|
238
|
+
onSelect == null ? void 0 : onSelect(
|
|
239
|
+
$event,
|
|
240
|
+
(_b2 = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _b2[name],
|
|
241
|
+
filesWithIds
|
|
242
|
+
);
|
|
248
243
|
}
|
|
249
244
|
}
|
|
250
245
|
};
|
|
@@ -35,6 +35,7 @@ declare const WmNumberStandalone: React.ComponentType<import("../../data/form/fo
|
|
|
35
35
|
width?: number | string;
|
|
36
36
|
height?: number | string;
|
|
37
37
|
className?: string;
|
|
38
|
+
class?: string;
|
|
38
39
|
conditionalstyle?: React.CSSProperties;
|
|
39
40
|
conditionalclass?: string;
|
|
40
41
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -132,6 +133,7 @@ declare const _default: React.ComponentType<{
|
|
|
132
133
|
width?: number | string;
|
|
133
134
|
height?: number | string;
|
|
134
135
|
className?: string;
|
|
136
|
+
class?: string;
|
|
135
137
|
conditionalstyle?: React.CSSProperties;
|
|
136
138
|
conditionalclass?: string;
|
|
137
139
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -56,6 +56,7 @@ declare const WmRatingStandalone: React.ComponentType<import("../../data/form/fo
|
|
|
56
56
|
width?: number | string;
|
|
57
57
|
height?: number | string;
|
|
58
58
|
className?: string;
|
|
59
|
+
class?: string;
|
|
59
60
|
conditionalstyle?: React.CSSProperties;
|
|
60
61
|
conditionalclass?: string;
|
|
61
62
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|
|
@@ -176,6 +177,7 @@ declare const _default: React.ComponentType<{
|
|
|
176
177
|
width?: number | string;
|
|
177
178
|
height?: number | string;
|
|
178
179
|
className?: string;
|
|
180
|
+
class?: string;
|
|
179
181
|
conditionalstyle?: React.CSSProperties;
|
|
180
182
|
conditionalclass?: string;
|
|
181
183
|
showindevice?: ("xs" | "sm" | "md" | "lg" | "all")[];
|