impaktapps-jsonforms 5.426.1244-alpha.6 → 5.426.1244-alpha.61
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/impaktapps-jsonforms.d.ts +1 -0
- package/dist/impaktapps-jsonforms.es.js +113913 -0
- package/dist/impaktapps-jsonforms.es.js.map +1 -0
- package/dist/impaktapps-jsonforms.umd.js +535 -0
- package/dist/impaktapps-jsonforms.umd.js.map +1 -0
- package/dist/src/impaktapps-jsonforms/core/App/App.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/core/App/Home.d.ts +5 -0
- package/dist/src/impaktapps-jsonforms/core/AppWithoutRouter.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/lib/index.d.ts +5 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/ButtonIcon.d.ts +1 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/ComponentWrapper.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/Helpertext.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/LoaderInfo.d.ts +5 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/Skeleton.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/const.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/fileDownloadFunction.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/formattingAndMasking.d.ts +9 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/getComponentProps.d.ts +8 -0
- package/dist/src/impaktapps-jsonforms/renderers/common/getHiddenKeys.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/AutoComplete.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Button.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Checkbox.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/DataGrid.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Date.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/DownloadFile.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/EmptyBox.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/FileInput.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Graph.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/IconsButton.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Image.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Input.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/InputSlider.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Label.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Notify.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Password.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/PopUp.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/ProgressBar.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Radio.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/RankCard.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/RollAndDice.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/RunningBoyProgressBar.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/SVG.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Slider.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/SpeedoMeter.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Stepper.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Table.d.ts +7 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/TextArea.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Timer.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/UploadFile.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/components/Wrapper.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/context/Context.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/context/impaktappsJsonformsStore.d.ts +59 -0
- package/dist/src/impaktapps-jsonforms/renderers/context/useImpaktappsJsonformsStore.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlAutoComplete.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlButton.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlDate.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlDownloadFile.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlEmptyBox.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlGraph.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlIconButton.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlInput.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlInputSlider.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlLabel.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlNotify.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlPassword.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlProgressBar.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlRadio.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlSpeedoMeter.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlTimer.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlUploadFile.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/controls/ControlWrapper.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/index.d.ts +2 -0
- package/dist/src/impaktapps-jsonforms/renderers/interface/inputfieldProps.d.ts +39 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/Horizontal.d.ts +9 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/HorizontalControl.d.ts +10 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/Slider.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/SliderControl.d.ts +11 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/Tab.d.ts +4 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/TabControl.d.ts +11 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/Wrapper.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/layouts/WrapperControl.d.ts +11 -0
- package/dist/src/impaktapps-jsonforms/renderers/permissions/Permission.d.ts +7 -0
- package/dist/src/impaktapps-jsonforms/renderers/permissions/PermissionUtils.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/permissions/getFieldName.d.ts +1 -0
- package/dist/src/impaktapps-jsonforms/renderers/permissions/getMatchedPermissions.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/renderers/rankTester/rankTester.d.ts +3 -0
- package/dist/src/impaktapps-jsonforms/styles/StyleFactory.d.ts +26 -0
- package/dist/src/vite-env.d.ts +1 -0
- package/dist/style.css +1 -0
- package/package.json +1 -1
- package/src/impaktapps-jsonforms/renderers/common/ButtonIcon.tsx +35 -4
- package/src/impaktapps-jsonforms/renderers/components/Checkbox.tsx +5 -5
- package/src/impaktapps-jsonforms/renderers/components/Input.tsx +28 -2
- package/src/impaktapps-jsonforms/renderers/components/Label.tsx +19 -2
- package/src/impaktapps-jsonforms/renderers/components/Password.tsx +9 -2
- package/src/impaktapps-jsonforms/renderers/components/SVG.tsx +46 -0
- package/src/impaktapps-jsonforms/renderers/index.ts +2 -0
- package/src/impaktapps-jsonforms/styles/StyleFactory.tsx +22 -16
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.slick-arrow{font-size:24px;color:red;background-color:transparent;border:none;outline:none}.slick-arrow:hover{color:#0f0}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports (outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports (outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
|
package/package.json
CHANGED
|
@@ -24,6 +24,9 @@ import CloseIcon from '@mui/icons-material/Close';
|
|
|
24
24
|
import ReplayIcon from '@mui/icons-material/Replay';
|
|
25
25
|
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
|
|
26
26
|
import AlarmIcon from '@mui/icons-material/Alarm';
|
|
27
|
+
import LockIcon from '@mui/icons-material/Lock';
|
|
28
|
+
import DraftsIcon from '@mui/icons-material/Drafts';
|
|
29
|
+
import PermPhoneMsgIcon from '@mui/icons-material/PermPhoneMsg';
|
|
27
30
|
export function ButtonIcon(iconName: string, data: any) {
|
|
28
31
|
switch (iconName) {
|
|
29
32
|
case "AlarmIcon":
|
|
@@ -36,11 +39,11 @@ export function ButtonIcon(iconName: string, data: any) {
|
|
|
36
39
|
return <FileCopyIcon sx={{ ...data?.iconStyle }} />;
|
|
37
40
|
case "PauseIcon":
|
|
38
41
|
return <PauseIcon sx={{ ...data?.iconStyle }} />;
|
|
39
|
-
|
|
42
|
+
case "PlayIcon":
|
|
40
43
|
return <PlayArrowIcon sx={{ ...data?.iconStyle }} />;
|
|
41
|
-
|
|
44
|
+
case "CloseIcon":
|
|
42
45
|
return <CloseIcon sx={{ ...data?.iconStyle }} />;
|
|
43
|
-
|
|
46
|
+
case "ReplayIcon":
|
|
44
47
|
return <ReplayIcon sx={{ ...data?.iconStyle }} />;
|
|
45
48
|
case "DeleteIcon":
|
|
46
49
|
return <DeleteIcon sx={{ ...data?.iconStyle }} />;
|
|
@@ -76,8 +79,36 @@ export function ButtonIcon(iconName: string, data: any) {
|
|
|
76
79
|
return <RefreshOutlinedIcon sx={{ ...data?.iconStyle }} />;
|
|
77
80
|
case "DownloadIcon":
|
|
78
81
|
return <DownloadIcon sx={{ ...data?.iconStyle }} />;
|
|
79
|
-
|
|
82
|
+
case "SearchIcon":
|
|
80
83
|
return <SearchIcon sx={{ ...data?.iconStyle }} />;
|
|
84
|
+
case "LockIcon":
|
|
85
|
+
return <LockIcon sx={{ ...data?.iconStyle }} />
|
|
86
|
+
case "DraftsIcon":
|
|
87
|
+
return <DraftsIcon sx={{ ...data?.iconStyle }} />
|
|
88
|
+
case "PermPhoneMsgIcon":
|
|
89
|
+
return <PermPhoneMsgIcon sx={{ ...data?.iconStyle }} />
|
|
90
|
+
case "PrevIcon":
|
|
91
|
+
return (
|
|
92
|
+
<svg fill="inherit" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
|
|
93
|
+
viewBox="0 0 473.654 473.654" enable-background="new 0 0 473.654 473.654" >
|
|
94
|
+
<circle cx="236.827" cy="236.827" r="236.827" />
|
|
95
|
+
<path fill="#FFFFFF" d="M338.465,207.969c-43.487,0-86.975,0-130.459,0c11.08-11.08,22.161-22.161,33.241-33.245
|
|
96
|
+
c25.56-25.56-14.259-65.084-39.883-39.456c-27.011,27.011-54.018,54.022-81.029,81.033c-10.841,10.841-10.549,28.907,0.213,39.669
|
|
97
|
+
c27.011,27.007,54.018,54.018,81.029,81.025c25.56,25.56,65.084-14.259,39.456-39.883c-11.013-11.013-22.026-22.026-33.039-33.035
|
|
98
|
+
c43.357,0,86.713,0,130.066,0C374.283,264.077,374.604,207.969,338.465,207.969z"/>
|
|
99
|
+
|
|
100
|
+
</svg>
|
|
101
|
+
);
|
|
102
|
+
case "VerifiedIcon":
|
|
103
|
+
return (
|
|
104
|
+
<svg id="Layer_1" height="inherit" viewBox="0 0 512 512" width="inherit" xmlns="http://www.w3.org/2000/svg" data-name="Layer 1">
|
|
105
|
+
<g id="VERIFIED">
|
|
106
|
+
<path fill={data?.iconStyle?.color1} d="m490.11 205.16q-15.94-15.43-31.94-31.09-.45-21.69-1.13-43.36c-.6-19.35-9-37.81-23.31-52.15s-32.87-22.65-52.24-23.26q-21.72-.67-43.44-1.12-15.66-15.94-31.05-31.84c-13.89-14.22-31.87-22.17-51-22.16s-37.12 8-50.92 22.16q-15.47 15.93-31.15 31.91-21.72.44-43.43 1.12c-39.88 1.36-74.2 35.63-75.56 75.4q-.67 21.69-1.13 43.36-16 15.65-31.94 31.08c-14.19 13.79-22.16 31.79-22.16 50.79s7.92 37 22.16 50.84q15.94 15.42 32 31.05.43 21.69 1.12 43.39c.61 19.38 9 37.79 23.3 52.15s32.85 22.65 52.25 23.25q21.72.69 43.44 1.13 15.66 15.93 31.11 31.82c13.83 14.22 31.83 22.17 51 22.16s37.12-7.94 51-22.15q15.45-15.92 31.12-31.88 21.72-.45 43.43-1.13c39.87-1.35 74.19-35.62 75.55-75.4q.68-21.67 1.12-43.34 16-15.66 31.95-31.09c14.19-13.78 22.16-31.76 22.16-50.83s-8.1-36.97-22.31-50.81z" />
|
|
107
|
+
<path fill={data?.iconStyle?.color2} d="m338.05 54.18q-15.66-15.94-31.05-31.84c-13.89-14.22-31.87-22.17-51-22.16s-37.12 8-50.92 22.16q-15.47 15.93-31.15 31.91-21.72.44-43.43 1.12c-39.88 1.36-74.2 35.63-75.56 75.4q-.67 21.69-1.13 43.36-16 15.65-31.94 31.08c-14.19 13.79-22.16 31.79-22.16 50.79s7.92 37 22.16 50.84q15.94 15.42 32 31.05.38 18.74 1 37.48a280.33 280.33 0 0 0 53.39 5.12c153.9 0 278.66-124.76 278.66-278.66a280.42 280.42 0 0 0 -3.92-46.45l-1.46-.08q-21.77-.67-43.49-1.12z" />
|
|
108
|
+
<path d="m383.44 223.57c-43.18 44.87-87.05 90.74-130.19 136.24a37.56 37.56 0 0 1 -27.25 11.78h-.17a38.25 38.25 0 0 1 -27.3-11.72q-34.6-35.73-69.42-71.2a37.36 37.36 0 0 1 .76-53.43 38.37 38.37 0 0 1 54 .67q20.69 21.21 41.43 42.54c34.25-35.89 68.67-72 102.55-107.54 14.38-15.13 38.37-15.38 53.79-.78s16.29 38.39 1.8 53.44z" fill="#fff" />
|
|
109
|
+
</g>
|
|
110
|
+
</svg>
|
|
111
|
+
);
|
|
81
112
|
case "ExceptionIcon":
|
|
82
113
|
return (
|
|
83
114
|
<svg
|
|
@@ -26,11 +26,11 @@ function CheckBox(props: inputProps) {
|
|
|
26
26
|
key={uuidv4()}
|
|
27
27
|
checked={data}
|
|
28
28
|
sx={{
|
|
29
|
-
...theme.
|
|
30
|
-
color: theme.myTheme.palette.action.active,
|
|
31
|
-
"&.Mui-checked": {
|
|
32
|
-
|
|
33
|
-
},
|
|
29
|
+
...theme.CheckBoxStyle, ...uischema?.config?.style,
|
|
30
|
+
// color: theme.myTheme.palette.action.active,
|
|
31
|
+
// "&.Mui-checked": {
|
|
32
|
+
// color: theme.myTheme.palette.action.active,
|
|
33
|
+
// },
|
|
34
34
|
}}
|
|
35
35
|
/>
|
|
36
36
|
}
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
formatAndMaskingProvider,
|
|
13
13
|
prepareMaskingAndFormating,
|
|
14
14
|
} from "../common/formattingAndMasking";
|
|
15
|
+
import { ButtonIcon } from "../common/ButtonIcon";
|
|
16
|
+
import { useJsonForms } from "@jsonforms/react";
|
|
15
17
|
const Input = memo(function (props: inputProps) {
|
|
16
18
|
const {
|
|
17
19
|
data,
|
|
@@ -43,6 +45,14 @@ const Input = memo(function (props: inputProps) {
|
|
|
43
45
|
);
|
|
44
46
|
const onPointerEnter = () => setShowAdornment(true);
|
|
45
47
|
const onPointerLeave = () => setShowAdornment(false);
|
|
48
|
+
const ctx = useJsonForms();
|
|
49
|
+
const callServiceProvider = (event: any) => {
|
|
50
|
+
serviceProvider(ctx, uischemaData, {
|
|
51
|
+
event,
|
|
52
|
+
path,
|
|
53
|
+
...uischemaData.additionalData,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
46
56
|
|
|
47
57
|
useEffect(() => {
|
|
48
58
|
if (data && uischemaData.formatStrArray && count === 0) {
|
|
@@ -92,15 +102,23 @@ const Input = memo(function (props: inputProps) {
|
|
|
92
102
|
)}
|
|
93
103
|
>
|
|
94
104
|
<TextField
|
|
105
|
+
id={uischemaData?.id}
|
|
95
106
|
key={path}
|
|
96
107
|
required={required}
|
|
97
108
|
autoFocus={uischemaData?.autoFocus}
|
|
98
109
|
fullWidth
|
|
99
110
|
sx={{ ...theme.InputFieldStyle, ...uischema?.config?.style }}
|
|
100
111
|
value={uischemaData.formatStrArray ? maskedValue : inputText}
|
|
101
|
-
onKeyDown={(e) =>
|
|
112
|
+
onKeyDown={(e) =>{
|
|
113
|
+
handleKeyDown(e)
|
|
114
|
+
if(uischemaData.onKeyDown)
|
|
115
|
+
callServiceProvider(e)
|
|
116
|
+
}}
|
|
102
117
|
onChange={(e) => {
|
|
118
|
+
|
|
103
119
|
handleInputChange(e);
|
|
120
|
+
if(uischemaData.onChange)
|
|
121
|
+
callServiceProvider(e)
|
|
104
122
|
}}
|
|
105
123
|
placeholder={uischemaData.placeholder}
|
|
106
124
|
disabled={
|
|
@@ -113,13 +131,21 @@ const Input = memo(function (props: inputProps) {
|
|
|
113
131
|
}
|
|
114
132
|
onPointerEnter={(event) => onPointerEnter()}
|
|
115
133
|
onPointerLeave={(event) => onPointerLeave()}
|
|
134
|
+
inputProps={uischemaData?.inputProps}
|
|
116
135
|
InputProps={{
|
|
136
|
+
startAdornment: (<InputAdornment
|
|
137
|
+
position="start"
|
|
138
|
+
>
|
|
139
|
+
{uischemaData?.startAdornmentIcon
|
|
140
|
+
? ButtonIcon(uischemaData?.startAdornmentIcon, uischemaData)
|
|
141
|
+
: <></>}
|
|
142
|
+
</InputAdornment>),
|
|
117
143
|
endAdornment: (
|
|
118
144
|
<InputAdornment
|
|
119
145
|
position="end"
|
|
120
146
|
style={{
|
|
121
147
|
display:
|
|
122
|
-
!showAdornment || !enabled || data === undefined
|
|
148
|
+
!showAdornment || !enabled || data === undefined || uischemaData?.hideEndAdornment
|
|
123
149
|
? "none"
|
|
124
150
|
: "flex",
|
|
125
151
|
position: "absolute",
|
|
@@ -6,14 +6,24 @@ import { getFieldName } from "../permissions/getFieldName";
|
|
|
6
6
|
import { useJsonForms } from "@jsonforms/react";
|
|
7
7
|
import ComponentWrapper from "../common/ComponentWrapper";
|
|
8
8
|
import { getComponentProps } from "../common/getComponentProps";
|
|
9
|
+
import { ButtonIcon } from "../common/ButtonIcon";
|
|
9
10
|
|
|
10
11
|
const Label = memo(function ({ uischema, path, data,schema,rootSchema }: inputProps) {
|
|
11
12
|
const uischemaData = uischema?.config?.main;
|
|
12
|
-
const { pageName, permissions, theme } = useContext(DataContext);
|
|
13
|
+
const { serviceProvider, pageName, permissions, theme } = useContext(DataContext);
|
|
14
|
+
const ctx = useJsonForms();
|
|
13
15
|
const fieldName = getFieldName(path);
|
|
16
|
+
const callServiceProvider = (event: any) => {
|
|
17
|
+
serviceProvider(ctx, uischemaData, {
|
|
18
|
+
event,
|
|
19
|
+
path,
|
|
20
|
+
...uischemaData.additionalData
|
|
21
|
+
});
|
|
22
|
+
};
|
|
14
23
|
return (
|
|
15
24
|
<ComponentWrapper
|
|
16
25
|
{...getComponentProps(`${pageName}:${fieldName}`,permissions,schema,rootSchema)} >
|
|
26
|
+
|
|
17
27
|
<Typography
|
|
18
28
|
|
|
19
29
|
sx={{
|
|
@@ -22,8 +32,15 @@ const Label = memo(function ({ uischema, path, data,schema,rootSchema }: inputPr
|
|
|
22
32
|
...uischema?.config?.style,
|
|
23
33
|
}}
|
|
24
34
|
variant={uischemaData?.variant}
|
|
35
|
+
onClick={(e) => callServiceProvider(e)}
|
|
36
|
+
paragraph={uischemaData?.paragraph}
|
|
25
37
|
>
|
|
26
|
-
{
|
|
38
|
+
{uischemaData?.isSvgIcon ?
|
|
39
|
+
(ButtonIcon(uischemaData?.iconName, uischema.config))
|
|
40
|
+
: uischemaData?.isInputLabel ?
|
|
41
|
+
(<label htmlFor={uischemaData?.htmlFor} style={{ ...uischema?.config?.style,}}>{data ? data : uischemaData?.heading}</label>)
|
|
42
|
+
: (data ? data : uischemaData?.heading)
|
|
43
|
+
}
|
|
27
44
|
</Typography>
|
|
28
45
|
</ComponentWrapper>
|
|
29
46
|
);
|
|
@@ -15,6 +15,7 @@ import { inputProps } from "../interface/inputfieldProps";
|
|
|
15
15
|
import { useDebouncedChange } from "@jsonforms/material-renderers";
|
|
16
16
|
import { Visibility, VisibilityOff } from "@mui/icons-material";
|
|
17
17
|
import { getComponentProps } from "../common/getComponentProps";
|
|
18
|
+
import { ButtonIcon } from "../common/ButtonIcon";
|
|
18
19
|
const Password = memo(function (props: inputProps) {
|
|
19
20
|
const { data, required, errors, schema,rootSchema, uischema, path, handleChange } =
|
|
20
21
|
props;
|
|
@@ -39,7 +40,7 @@ const Password = memo(function (props: inputProps) {
|
|
|
39
40
|
<ComponentWrapper
|
|
40
41
|
{...getComponentProps(`${pageName}:${fieldName}`,permissions,schema,rootSchema)} >
|
|
41
42
|
<TextField
|
|
42
|
-
|
|
43
|
+
id={uischemaData?.id}
|
|
43
44
|
required={required}
|
|
44
45
|
autoFocus={uischemaData?.autoFocus}
|
|
45
46
|
fullWidth
|
|
@@ -52,7 +53,13 @@ const Password = memo(function (props: inputProps) {
|
|
|
52
53
|
label={uischemaData?.label}
|
|
53
54
|
size={uischemaData?.size || "medium"}
|
|
54
55
|
type={showPassword ? "text" : "password"}
|
|
55
|
-
InputProps={{
|
|
56
|
+
InputProps={{startAdornment: (<InputAdornment
|
|
57
|
+
position="start"
|
|
58
|
+
>
|
|
59
|
+
{uischemaData?.startAdornmentIcon
|
|
60
|
+
? ButtonIcon(uischemaData?.startAdornmentIcon, uischemaData)
|
|
61
|
+
: <></>}
|
|
62
|
+
</InputAdornment>),
|
|
56
63
|
endAdornment: (
|
|
57
64
|
<InputAdornment position="end">
|
|
58
65
|
<Tooltip title={showPassword ? "Hide Password" : "Show Password"}>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { memo, useContext, useEffect, useState } from "react";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
3
|
+
import { DataContext } from "../context/Context";
|
|
4
|
+
import { inputProps } from "../interface/inputfieldProps";
|
|
5
|
+
import { useJsonForms, withJsonFormsControlProps } from "@jsonforms/react";
|
|
6
|
+
import ComponentWrapper from "../common/ComponentWrapper";
|
|
7
|
+
import { getFieldName } from "../permissions/getFieldName";
|
|
8
|
+
import { getComponentProps } from "../common/getComponentProps";
|
|
9
|
+
|
|
10
|
+
const SVG = memo(function ({ uischema, path, data,schema,rootSchema }: inputProps) {
|
|
11
|
+
const uischemaData = uischema?.config?.main;
|
|
12
|
+
const { pageName, permissions, theme, serviceProvider} = useContext(DataContext);
|
|
13
|
+
const ctx = useJsonForms();
|
|
14
|
+
const fieldName = getFieldName(path);
|
|
15
|
+
const callServiceProvider = async (loadSvg: String) => {
|
|
16
|
+
const result = await serviceProvider(ctx, uischemaData, {
|
|
17
|
+
event: { _reactName: loadSvg },
|
|
18
|
+
path,
|
|
19
|
+
...uischemaData.additionalData
|
|
20
|
+
});
|
|
21
|
+
return result
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const [svgData, setSvgData] = useState(null)
|
|
25
|
+
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const fetchData = async () => {
|
|
28
|
+
try {
|
|
29
|
+
const result = await callServiceProvider("loadSvg");
|
|
30
|
+
setSvgData(result);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error('Error fetching SVG data:', error);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
fetchData();
|
|
37
|
+
}, []);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<ComponentWrapper
|
|
41
|
+
{...getComponentProps(`${pageName}:${fieldName}`,permissions,schema,rootSchema)}>
|
|
42
|
+
<Box dangerouslySetInnerHTML={{ __html: svgData }} style={{...uischema?.config?.style}}/>
|
|
43
|
+
</ComponentWrapper>
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
export default withJsonFormsControlProps(SVG);
|
|
@@ -37,6 +37,7 @@ import PopUp from "./components/PopUp";
|
|
|
37
37
|
import Stepper from "./components/Stepper";
|
|
38
38
|
import DataGrid from "./components/DataGrid";
|
|
39
39
|
import StepperFun from "./components/Stepper"
|
|
40
|
+
import SVG from "./components/SVG";
|
|
40
41
|
export const renderers:any = [
|
|
41
42
|
...materialRenderers,
|
|
42
43
|
{
|
|
@@ -77,5 +78,6 @@ export const renderers:any = [
|
|
|
77
78
|
{ tester: rankTester("PopUp"), renderer: PopUp},
|
|
78
79
|
{ tester: rankTester("Stepper"), renderer:Stepper },
|
|
79
80
|
{ tester: rankTester("DataGrid"), renderer:DataGrid },
|
|
81
|
+
{ tester: rankTester("SVG"), renderer:SVG },
|
|
80
82
|
];
|
|
81
83
|
export default renderers;
|
|
@@ -67,7 +67,7 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
67
67
|
padding: myTheme.palette.shape.paddingInput,
|
|
68
68
|
},
|
|
69
69
|
"& .MuiInputLabel-root": {
|
|
70
|
-
color:
|
|
70
|
+
color: myTheme.palette.text.inputLabel,
|
|
71
71
|
fontWeight: myTheme.palette.typography.FontWeightlight,
|
|
72
72
|
fontFamily: myTheme.palette.typography.fontFamily,
|
|
73
73
|
fontSize: myTheme.palette.typography.fontSize,
|
|
@@ -89,9 +89,9 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
89
89
|
RadioStyle: objProvidedStyle?.RadioStyle || {
|
|
90
90
|
borderRadius: myTheme.palette.shape.borderRadius,
|
|
91
91
|
padding: "4px",
|
|
92
|
-
border: `0.5px solid ${
|
|
92
|
+
border: `0.5px solid ${myTheme.palette.text.radioBorder}`,
|
|
93
93
|
background: myTheme.palette.background.input,
|
|
94
|
-
color:myTheme.palette.text.input,
|
|
94
|
+
color: myTheme.palette.text.input,
|
|
95
95
|
fontFamily: "inherit",
|
|
96
96
|
"& .MuiTypography-body1": {
|
|
97
97
|
fontSize: "14px", // custom label font size
|
|
@@ -100,9 +100,9 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
100
100
|
"& .MuiRadio-root": {
|
|
101
101
|
color: myTheme.palette.text.primary,
|
|
102
102
|
},
|
|
103
|
-
|
|
103
|
+
|
|
104
104
|
"&:hover": {
|
|
105
|
-
border: `0.8px solid ${
|
|
105
|
+
border: `0.8px solid ${myTheme.palette.action.hover}`,
|
|
106
106
|
},
|
|
107
107
|
"&:active": {
|
|
108
108
|
border: `2.5px solid ${myTheme.palette.action.focus}`,
|
|
@@ -160,7 +160,7 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
160
160
|
fontWeight: "500",
|
|
161
161
|
fontSize: "20px",
|
|
162
162
|
background: "inherit",
|
|
163
|
-
color:
|
|
163
|
+
color: myTheme.palette.text.primary,
|
|
164
164
|
},
|
|
165
165
|
Buttonstyle: objProvidedStyle?.Buttonstyle || {
|
|
166
166
|
borderRadius: "5px",
|
|
@@ -185,7 +185,7 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
185
185
|
background: myTheme.palette.background.iconButton,
|
|
186
186
|
borderRadius: "10px",
|
|
187
187
|
"&:hover": {
|
|
188
|
-
color:myTheme.palette.action.iconButtonHoverColor,
|
|
188
|
+
color: myTheme.palette.action.iconButtonHoverColor,
|
|
189
189
|
background: myTheme.palette.action.focusBackground
|
|
190
190
|
},
|
|
191
191
|
},
|
|
@@ -193,15 +193,15 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
193
193
|
height: "auto",
|
|
194
194
|
width: "98%",
|
|
195
195
|
margin: "15px auto ",
|
|
196
|
-
color:myTheme.palette.text.primary,
|
|
197
|
-
background:myTheme.palette.secondary.main,
|
|
196
|
+
color: myTheme.palette.text.primary,
|
|
197
|
+
background: myTheme.palette.secondary.main,
|
|
198
198
|
borderRadius: "20px",
|
|
199
199
|
},
|
|
200
200
|
TabStyle: objProvidedStyle?.TabStyle || {
|
|
201
201
|
fontWeight: myTheme.palette.typography.fontWeightMedium,
|
|
202
202
|
fontFamily: "inherit",
|
|
203
|
-
color:
|
|
204
|
-
background:myTheme.palette.background.heading,
|
|
203
|
+
color: myTheme.palette.text.input,
|
|
204
|
+
background: myTheme.palette.background.heading,
|
|
205
205
|
"&:hover": {
|
|
206
206
|
color: myTheme.palette.action.hover,
|
|
207
207
|
},
|
|
@@ -210,7 +210,7 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
210
210
|
},
|
|
211
211
|
},
|
|
212
212
|
TabsStyle: objProvidedStyle?.TabsStyle || {
|
|
213
|
-
background:myTheme.palette.background.heading,
|
|
213
|
+
background: myTheme.palette.background.heading,
|
|
214
214
|
fontFamily: "roboto",
|
|
215
215
|
borderRadius: "20px 20px 0 0",
|
|
216
216
|
"& .MuiTabs-flexContainer": {
|
|
@@ -218,7 +218,7 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
218
218
|
},
|
|
219
219
|
},
|
|
220
220
|
TabContainerStyle: objProvidedStyle?.TabContainerStyle || {
|
|
221
|
-
background:myTheme.palette.secondary.main,
|
|
221
|
+
background: myTheme.palette.secondary.main,
|
|
222
222
|
fontFamily: "roboto",
|
|
223
223
|
borderRadius: "20px",
|
|
224
224
|
width: "98%",
|
|
@@ -228,15 +228,15 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
228
228
|
DataGridStyle: objProvidedStyle?.DataGridStyle || {
|
|
229
229
|
fontFamily: "roboto",
|
|
230
230
|
borderRadius: myTheme.palette.shape.borderRadius,
|
|
231
|
-
background:myTheme.palette.secondary.main,
|
|
231
|
+
background: myTheme.palette.secondary.main,
|
|
232
232
|
},
|
|
233
233
|
pageStyle: objProvidedStyle?.pageStyle || {
|
|
234
|
-
boxSizing:"border-box",
|
|
234
|
+
boxSizing: "border-box",
|
|
235
235
|
background: myTheme.palette.primary.main,
|
|
236
236
|
minHeight: "100vh",
|
|
237
237
|
margin: "1px 20px 20px 10px",
|
|
238
238
|
height: "auto",
|
|
239
|
-
padding:"10px 20px 20px 10px",
|
|
239
|
+
padding: "10px 20px 20px 10px",
|
|
240
240
|
borderRadius: myTheme.palette.shape.borderRadius,
|
|
241
241
|
fontFamily: myTheme.palette.typography.fontFamily,
|
|
242
242
|
},
|
|
@@ -244,6 +244,12 @@ export const useTheme = (objProvidedStyle: any) => {
|
|
|
244
244
|
width: "100%",
|
|
245
245
|
paddingTop: "20px",
|
|
246
246
|
},
|
|
247
|
+
CheckBoxStyle: objProvidedStyle?.CheckBoxStyle || {
|
|
248
|
+
color: myTheme.palette.action.active,
|
|
249
|
+
"&.Mui-checked": {
|
|
250
|
+
color: myTheme.palette.action.active,
|
|
251
|
+
},
|
|
252
|
+
},
|
|
247
253
|
InputFieldStyle: objProvidedStyle?.InputFieldStyle || InputFieldStyle,
|
|
248
254
|
useStyles: makeStyles({
|
|
249
255
|
dateStyle: InputFieldStyle,
|