dinocollab-core 1.0.2 → 1.0.4
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/_virtual/_rollupPluginBabelHelpers.js +1 -487
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/api-context/alert-global.js +1 -165
- package/dist/api-context/alert-global.js.map +1 -1
- package/dist/api-context/drawer-global.js +1 -111
- package/dist/api-context/drawer-global.js.map +1 -1
- package/dist/api-context/global-modal.js +1 -94
- package/dist/api-context/global-modal.js.map +1 -1
- package/dist/api-context/popover-global.js +1 -109
- package/dist/api-context/popover-global.js.map +1 -1
- package/dist/api-context/popover.js +1 -93
- package/dist/api-context/popover.js.map +1 -1
- package/dist/api-context/ui.units.js +1 -22
- package/dist/api-context/ui.units.js.map +1 -1
- package/dist/components/breadcrumbs.js +1 -64
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/copy-to-clipboard.js +1 -111
- package/dist/components/copy-to-clipboard.js.map +1 -1
- package/dist/components/help-tooltip.js +1 -103
- package/dist/components/help-tooltip.js.map +1 -1
- package/dist/components/image-with-fallback.js +1 -50
- package/dist/components/image-with-fallback.js.map +1 -1
- package/dist/components/text-editor.js +1 -117
- package/dist/components/text-editor.js.map +1 -1
- package/dist/components/text-editor.preview.js +1 -26
- package/dist/components/text-editor.preview.js.map +1 -1
- package/dist/form/create.autocomplete.chips.js +1 -227
- package/dist/form/create.autocomplete.chips.js.map +1 -1
- package/dist/form/create.date-expired.js +1 -210
- package/dist/form/create.date-expired.js.map +1 -1
- package/dist/form/create.date-picker.js +1 -127
- package/dist/form/create.date-picker.js.map +1 -1
- package/dist/form/create.form-base.js +1 -140
- package/dist/form/create.form-base.js.map +1 -1
- package/dist/form/create.form-comfirm.js +1 -130
- package/dist/form/create.form-comfirm.js.map +1 -1
- package/dist/form/create.form-grid-layout.js +1 -187
- package/dist/form/create.form-grid-layout.js.map +1 -1
- package/dist/form/create.form-grid-layout.units.js +1 -41
- package/dist/form/create.form-grid-layout.units.js.map +1 -1
- package/dist/form/create.input.file.js +1 -78
- package/dist/form/create.input.file.js.map +1 -1
- package/dist/form/create.input.js +1 -275
- package/dist/form/create.input.js.map +1 -1
- package/dist/form/create.select-simple.js +1 -113
- package/dist/form/create.select-simple.js.map +1 -1
- package/dist/form/create.select-with-api.js +1 -276
- package/dist/form/create.select-with-api.js.map +1 -1
- package/dist/form/create.text-editor.js +1 -180
- package/dist/form/create.text-editor.js.map +1 -1
- package/dist/form/dino-form.js +1 -40
- package/dist/form/dino-form.js.map +1 -1
- package/dist/form/helper.js +1 -156
- package/dist/form/helper.js.map +1 -1
- package/dist/form/modal-wrapper.js +1 -81
- package/dist/form/modal-wrapper.js.map +1 -1
- package/dist/form/validator.js +1 -189
- package/dist/form/validator.js.map +1 -1
- package/dist/hooks/index.js +1 -47
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.js +1 -32
- package/dist/index.js.map +1 -1
- package/dist/redux/create.hoc-lazy.js +1 -70
- package/dist/redux/create.hoc-lazy.js.map +1 -1
- package/dist/redux/dino.js +1 -10
- package/dist/redux/dino.js.map +1 -1
- package/dist/redux/types.js +1 -8
- package/dist/redux/types.js.map +1 -1
- package/dist/redux/ui.error-page.js +1 -88
- package/dist/redux/ui.error-page.js.map +1 -1
- package/dist/redux/vector-404.webp.js +1 -3
- package/dist/redux/vector-404.webp.js.map +1 -1
- package/dist/table/context.js +1 -14
- package/dist/table/context.js.map +1 -1
- package/dist/table/create.action-row.js +1 -143
- package/dist/table/create.action-row.js.map +1 -1
- package/dist/table/create.table.js +1 -245
- package/dist/table/create.table.js.map +1 -1
- package/dist/table/custom.filter-operators.js +1 -88
- package/dist/table/custom.filter-operators.js.map +1 -1
- package/dist/table/dino.js +1 -135
- package/dist/table/dino.js.map +1 -1
- package/dist/table/helpers.js +1 -114
- package/dist/table/helpers.js.map +1 -1
- package/dist/table/model-filter.js +1 -22
- package/dist/table/model-filter.js.map +1 -1
- package/dist/table/toolbar-pannel.js +1 -142
- package/dist/table/toolbar-pannel.js.map +1 -1
- package/dist/table/ui.buttons.js +1 -66
- package/dist/table/ui.buttons.js.map +1 -1
- package/dist/table/ui.units.js +1 -247
- package/dist/table/ui.units.js.map +1 -1
- package/dist/utils/dayjs-config.js +1 -11
- package/dist/utils/dayjs-config.js.map +1 -1
- package/dist/utils/helpers.js +1 -198
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/json-object.js +1 -37
- package/dist/utils/json-object.js.map +1 -1
- package/dist/utils/query-param.js +1 -171
- package/dist/utils/query-param.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.text-editor.js","sources":["../../src/form/create.text-editor.tsx"],"sourcesContent":["import React, { Component, createRef } from 'react'\r\nimport { Box, BoxProps, IconButton, styled, Tooltip, Typography } from '@mui/material'\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen'\r\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { TextEditor as TextEditorBase, textEditorClasses } from '../components'\r\n\r\nexport interface ITextEditorParams {\r\n id: string\r\n title: string\r\n}\r\n\r\nexport interface ITextEditorProps<T> extends IFormInputBase<T> {}\r\n\r\nexport interface ITextEditorState {\r\n isFullscreen: boolean\r\n}\r\n\r\nfunction CreateTextEditor<T>(params: ITextEditorParams) {\r\n class TextEditor extends Component<ITextEditorProps<T>, ITextEditorState> {\r\n contentRef\r\n constructor(props: ITextEditorProps<T>) {\r\n super(props)\r\n this.state = {\r\n isFullscreen: false\r\n }\r\n this.contentRef = createRef<HTMLDivElement | null>()\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n handleFullscreenChange = () => {\r\n this.setState({ isFullscreen: !!document.fullscreenElement })\r\n }\r\n\r\n handleFullscreenToggle = () => {\r\n if (this.contentRef.current) {\r\n if (!document.fullscreenElement) {\r\n this.contentRef.current.requestFullscreen().catch((err) => {\r\n console.error(`Error attempting to enable full-screen mode: ${err.message}`)\r\n })\r\n } else {\r\n document.exitFullscreen()\r\n }\r\n }\r\n }\r\n\r\n getWrapClasses = () => {\r\n const classes = []\r\n if (this.state.isFullscreen) classes.push(textEditorClasses.fullscreen)\r\n return classes.join(' ')\r\n }\r\n\r\n render() {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const dValue = (this.props.name ? this.props.data?.[this.props.name] : '')?.toString() ?? ''\r\n\r\n return (\r\n <Box id={params.id} ref={this.contentRef} sx={{ backgroundColor: '#fff' }}>\r\n {this.state.isFullscreen && (\r\n <WrapTitle>\r\n <Typography variant='h4' sx={{ fontWeight: 600, flex: 1, textAlign: 'center' }}>\r\n {params.title}\r\n </Typography>\r\n </WrapTitle>\r\n )}\r\n <Wrap className={this.getWrapClasses()}>\r\n <WrapActions>\r\n <Tooltip title={this.state.isFullscreen ? 'Exit Fullscreen' : 'Fullscreen'} arrow>\r\n <CustomButton sx={{ color: '#06c' }} onClick={this.handleFullscreenToggle}>\r\n {this.state.isFullscreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\r\n </CustomButton>\r\n </Tooltip>\r\n </WrapActions>\r\n <WrapTextEditor>\r\n <TextEditorBase\r\n defautValue={dValue}\r\n name={this.props.name?.toString() ?? ''}\r\n readOnly={this.props.disabled}\r\n error={errorMessage.error}\r\n onBlur={() => {\r\n if (!this.props.name) return\r\n this.props.onBlur?.(this.props.name)\r\n }}\r\n />\r\n </WrapTextEditor>\r\n </Wrap>\r\n </Box>\r\n )\r\n }\r\n }\r\n return TextEditor\r\n}\r\nexport default CreateTextEditor\r\n\r\nconst editorHeight = 64\r\n\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n maxWidth: theme.breakpoints.values.xl,\r\n margin: '0 auto',\r\n position: 'relative',\r\n [`&.${textEditorClasses.fullscreen} .${textEditorClasses.root}`]: {\r\n height: `calc(100vh - ${editorHeight + 10}px)`\r\n },\r\n [`&.${textEditorClasses.fullscreen}`]: {\r\n width: '871px'\r\n }\r\n}))\r\n\r\nconst WrapTitle = styled(Box)({\r\n height: `${editorHeight}px`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n})\r\n\r\nconst WrapActions = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <Box>{children}</Box>\r\n </Box>\r\n))({\r\n position: 'sticky',\r\n top: '-1px',\r\n zIndex: 2,\r\n '& > div': {\r\n height: 0,\r\n display: 'flex',\r\n justifyContent: 'right',\r\n padding: '0 6px'\r\n }\r\n})\r\n\r\nconst CustomButton = styled(IconButton)({\r\n flex: '0 0 auto',\r\n marginTop: '1px',\r\n width: '40px',\r\n height: '40px'\r\n})\r\n\r\nconst WrapTextEditor = styled(Box)({\r\n backgroundColor: '#fff',\r\n width: '100%',\r\n '& .ql-container': {\r\n fontFamily: '\"Roboto\", serif',\r\n fontSize: '14px'\r\n },\r\n '& .ql-toolbar': {\r\n position: 'sticky',\r\n top: '-1px',\r\n backgroundColor: '#fff',\r\n zIndex: 1\r\n }\r\n})\r\n"],"names":["CreateTextEditor","params","TextEditor","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isFullscreen","document","fullscreenElement","contentRef","current","requestFullscreen","err","console","error","concat","message","exitFullscreen","classes","state","push","textEditorClasses","fullscreen","join","createRef","_inherits","_createClass","key","value","componentDidMount","addEventListener","handleFullscreenChange","componentWillUnmount","removeEventListener","render","_toString","_ref","_this$props$data","_this$props$name$toSt","_this$props$name","_this2","errorMessage","getErrorMessage","messageErrors","name","dValue","data","toString","_jsxs","Box","id","ref","sx","backgroundColor","children","_jsx","WrapTitle","Typography","variant","fontWeight","flex","textAlign","title","Wrap","className","getWrapClasses","WrapActions","Tooltip","arrow","CustomButton","color","onClick","handleFullscreenToggle","FullscreenExitIcon","FullscreenIcon","WrapTextEditor","TextEditorBase","defautValue","readOnly","disabled","onBlur","_this2$props$onBlur","_this2$props","call","Component","editorHeight","styled","_ref2","theme","maxWidth","breakpoints","values","xl","margin","position","root","height","width","display","justifyContent","alignItems","_ref4","_objectWithoutProperties","_excluded","_objectSpread","top","zIndex","padding","IconButton","marginTop","fontFamily","fontSize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.text-editor.js","sources":["../../src/form/create.text-editor.tsx"],"sourcesContent":["import React, { Component, createRef } from 'react'\r\nimport { Box, BoxProps, IconButton, styled, Tooltip, Typography } from '@mui/material'\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen'\r\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { TextEditor as TextEditorBase, textEditorClasses } from '../components'\r\n\r\nexport interface ITextEditorParams {\r\n id: string\r\n title: string\r\n}\r\n\r\nexport interface ITextEditorProps<T> extends IFormInputBase<T> {}\r\n\r\nexport interface ITextEditorState {\r\n isFullscreen: boolean\r\n}\r\n\r\nfunction CreateTextEditor<T>(params: ITextEditorParams) {\r\n class TextEditor extends Component<ITextEditorProps<T>, ITextEditorState> {\r\n contentRef\r\n constructor(props: ITextEditorProps<T>) {\r\n super(props)\r\n this.state = {\r\n isFullscreen: false\r\n }\r\n this.contentRef = createRef<HTMLDivElement | null>()\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n handleFullscreenChange = () => {\r\n this.setState({ isFullscreen: !!document.fullscreenElement })\r\n }\r\n\r\n handleFullscreenToggle = () => {\r\n if (this.contentRef.current) {\r\n if (!document.fullscreenElement) {\r\n this.contentRef.current.requestFullscreen().catch((err) => {\r\n console.error(`Error attempting to enable full-screen mode: ${err.message}`)\r\n })\r\n } else {\r\n document.exitFullscreen()\r\n }\r\n }\r\n }\r\n\r\n getWrapClasses = () => {\r\n const classes = []\r\n if (this.state.isFullscreen) classes.push(textEditorClasses.fullscreen)\r\n return classes.join(' ')\r\n }\r\n\r\n render() {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const dValue = (this.props.name ? this.props.data?.[this.props.name] : '')?.toString() ?? ''\r\n\r\n return (\r\n <Box id={params.id} ref={this.contentRef} sx={{ backgroundColor: '#fff' }}>\r\n {this.state.isFullscreen && (\r\n <WrapTitle>\r\n <Typography variant='h4' sx={{ fontWeight: 600, flex: 1, textAlign: 'center' }}>\r\n {params.title}\r\n </Typography>\r\n </WrapTitle>\r\n )}\r\n <Wrap className={this.getWrapClasses()}>\r\n <WrapActions>\r\n <Tooltip title={this.state.isFullscreen ? 'Exit Fullscreen' : 'Fullscreen'} arrow>\r\n <CustomButton sx={{ color: '#06c' }} onClick={this.handleFullscreenToggle}>\r\n {this.state.isFullscreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\r\n </CustomButton>\r\n </Tooltip>\r\n </WrapActions>\r\n <WrapTextEditor>\r\n <TextEditorBase\r\n defautValue={dValue}\r\n name={this.props.name?.toString() ?? ''}\r\n readOnly={this.props.disabled}\r\n error={errorMessage.error}\r\n onBlur={() => {\r\n if (!this.props.name) return\r\n this.props.onBlur?.(this.props.name)\r\n }}\r\n />\r\n </WrapTextEditor>\r\n </Wrap>\r\n </Box>\r\n )\r\n }\r\n }\r\n return TextEditor\r\n}\r\nexport default CreateTextEditor\r\n\r\nconst editorHeight = 64\r\n\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n maxWidth: theme.breakpoints.values.xl,\r\n margin: '0 auto',\r\n position: 'relative',\r\n [`&.${textEditorClasses.fullscreen} .${textEditorClasses.root}`]: {\r\n height: `calc(100vh - ${editorHeight + 10}px)`\r\n },\r\n [`&.${textEditorClasses.fullscreen}`]: {\r\n width: '871px'\r\n }\r\n}))\r\n\r\nconst WrapTitle = styled(Box)({\r\n height: `${editorHeight}px`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n})\r\n\r\nconst WrapActions = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <Box>{children}</Box>\r\n </Box>\r\n))({\r\n position: 'sticky',\r\n top: '-1px',\r\n zIndex: 2,\r\n '& > div': {\r\n height: 0,\r\n display: 'flex',\r\n justifyContent: 'right',\r\n padding: '0 6px'\r\n }\r\n})\r\n\r\nconst CustomButton = styled(IconButton)({\r\n flex: '0 0 auto',\r\n marginTop: '1px',\r\n width: '40px',\r\n height: '40px'\r\n})\r\n\r\nconst WrapTextEditor = styled(Box)({\r\n backgroundColor: '#fff',\r\n width: '100%',\r\n '& .ql-container': {\r\n fontFamily: '\"Roboto\", serif',\r\n fontSize: '14px'\r\n },\r\n '& .ql-toolbar': {\r\n position: 'sticky',\r\n top: '-1px',\r\n backgroundColor: '#fff',\r\n zIndex: 1\r\n }\r\n})\r\n"],"names":["CreateTextEditor","params","TextEditor","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isFullscreen","document","fullscreenElement","contentRef","current","exitFullscreen","requestFullscreen","err","console","error","concat","message","classes","state","push","textEditorClasses","fullscreen","join","createRef","_inherits","Component","_createClass","key","value","addEventListener","this","handleFullscreenChange","removeEventListener","_toString","_ref","_this$props$data","_this$props$name$toSt","_this$props$name","_this2","errorMessage","getErrorMessage","messageErrors","name","dValue","data","toString","_jsxs","Box","id","ref","sx","backgroundColor","children","_jsx","WrapTitle","Typography","variant","fontWeight","flex","textAlign","title","Wrap","className","getWrapClasses","WrapActions","Tooltip","arrow","CustomButton","color","onClick","handleFullscreenToggle","FullscreenExitIcon","FullscreenIcon","WrapTextEditor","TextEditorBase","defautValue","readOnly","disabled","onBlur","_this2$props$onBlur","_this2$props","call","styled","_ref2","theme","maxWidth","breakpoints","values","xl","margin","position","root","height","editorHeight","width","display","justifyContent","alignItems","_ref4","_objectWithoutProperties","_excluded","_objectSpread","top","zIndex","padding","IconButton","marginTop","fontFamily","fontSize"],"mappings":"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"}
|
package/dist/form/dino-form.js
CHANGED
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import FormValidator from './validator.js';
|
|
3
|
-
import FormModalWrapper from './modal-wrapper.js';
|
|
4
|
-
import CreateFormBase from './create.form-base.js';
|
|
5
|
-
import CreateInputFile from './create.input.file.js';
|
|
6
|
-
import CreateInput from './create.input.js';
|
|
7
|
-
import CreateDatePicker from './create.date-picker.js';
|
|
8
|
-
import CreateTextEditor from './create.text-editor.js';
|
|
9
|
-
import CreateDateExpired from './create.date-expired.js';
|
|
10
|
-
import CreateFormComfirm from './create.form-comfirm.js';
|
|
11
|
-
import CreateSelectSimple from './create.select-simple.js';
|
|
12
|
-
import CreateSelectWithApi from './create.select-with-api.js';
|
|
13
|
-
import CreateFormGridLayout from './create.form-grid-layout.js';
|
|
14
|
-
import CreateAutocompleteChip from './create.autocomplete.chips.js';
|
|
15
|
-
import { FormBottomBarWrap } from './create.form-grid-layout.units.js';
|
|
16
|
-
|
|
17
|
-
var DinoFormBase = /*#__PURE__*/_createClass(function DinoFormBase() {
|
|
18
|
-
_classCallCheck(this, DinoFormBase);
|
|
19
|
-
//#region Base
|
|
20
|
-
_defineProperty(this, "ModalWrap", FormModalWrapper);
|
|
21
|
-
_defineProperty(this, "BottomBarWrap", FormBottomBarWrap);
|
|
22
|
-
_defineProperty(this, "FormValidator", FormValidator);
|
|
23
|
-
_defineProperty(this, "validator", FormValidator.initial);
|
|
24
|
-
_defineProperty(this, "createFormBase", CreateFormBase);
|
|
25
|
-
_defineProperty(this, "createFormComfirm", CreateFormComfirm);
|
|
26
|
-
_defineProperty(this, "createFormGridLayout", CreateFormGridLayout);
|
|
27
|
-
//#endregion
|
|
28
|
-
//#region Inputs
|
|
29
|
-
_defineProperty(this, "createDateExpired", CreateDateExpired);
|
|
30
|
-
_defineProperty(this, "createDatePicker", CreateDatePicker);
|
|
31
|
-
_defineProperty(this, "createAutocompleteChip", CreateAutocompleteChip);
|
|
32
|
-
_defineProperty(this, "createInput", CreateInput);
|
|
33
|
-
_defineProperty(this, "createInputFile", CreateInputFile);
|
|
34
|
-
_defineProperty(this, "createSelectSimple", CreateSelectSimple);
|
|
35
|
-
_defineProperty(this, "createSelectWithApi", CreateSelectWithApi);
|
|
36
|
-
_defineProperty(this, "createTextEditor", CreateTextEditor);
|
|
37
|
-
});
|
|
38
|
-
var DinoForm = new DinoFormBase();
|
|
39
|
-
|
|
40
|
-
export { DinoForm as default };
|
|
1
|
+
import{createClass as t,classCallCheck as e,defineProperty as r}from"../_virtual/_rollupPluginBabelHelpers.js";import i from"./validator.js";import o from"./modal-wrapper.js";import a from"./create.form-base.js";import m from"./create.input.file.js";import s from"./create.input.js";import p from"./create.date-picker.js";import c from"./create.text-editor.js";import l from"./create.date-expired.js";import f from"./create.form-comfirm.js";import h from"./create.select-simple.js";import d from"./create.select-with-api.js";import j from"./create.form-grid-layout.js";import u from"./create.autocomplete.chips.js";import{FormBottomBarWrap as n}from"./create.form-grid-layout.units.js";var x=new(t((function t(){e(this,t),r(this,"ModalWrap",o),r(this,"BottomBarWrap",n),r(this,"FormValidator",i),r(this,"validator",i.initial),r(this,"createFormBase",a),r(this,"createFormComfirm",f),r(this,"createFormGridLayout",j),r(this,"createDateExpired",l),r(this,"createDatePicker",p),r(this,"createAutocompleteChip",u),r(this,"createInput",s),r(this,"createInputFile",m),r(this,"createSelectSimple",h),r(this,"createSelectWithApi",d),r(this,"createTextEditor",c)})));export{x as default};
|
|
41
2
|
//# sourceMappingURL=dino-form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["
|
|
1
|
+
{"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["DinoForm","_createClass","DinoFormBase","_classCallCheck","_defineProperty","FormModalWrapper","FormBottomBarWrap","FormValidator","this","initial","CreateFormBase","CreateFormComfirm","CreateFormGridLayout","CreateDateExpired","CreateDatePicker","CreateAutocompleteChip","CreateInput","CreateInputFile","CreateSelectSimple","CreateSelectWithApi","CreateTextEditor"],"mappings":"8qBAamE,IAyB7DA,EAAW,IAvBCC,GAAA,SAAAC,IAAAC,OAAAD,GAChBE,mBACYC,GAAgBD,uBACZE,GAAiBF,uBACjBG,GAAaH,EAAAI,KAAA,YACjBD,EAAcE,SAAOL,wBAChBM,GAAcN,2BACXO,GAAiBP,8BACdQ,GAGvBR,2BACmBS,GAAiBT,0BACjBU,GAAgBV,gCACVW,GAAsBX,qBACjCY,GAAWZ,yBACPa,GAAeb,4BACZc,GAAkBd,6BACjBe,GAAmBf,0BACtBgB,EAAgB"}
|
package/dist/form/helper.js
CHANGED
|
@@ -1,157 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import FormValidator from './validator.js';
|
|
3
|
-
|
|
4
|
-
var objectAssign = function objectAssign(model) {
|
|
5
|
-
for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
6
|
-
sources[_key - 1] = arguments[_key];
|
|
7
|
-
}
|
|
8
|
-
if (sources.length < 1) {
|
|
9
|
-
return model;
|
|
10
|
-
}
|
|
11
|
-
var temps = sources.filter(function (x) {
|
|
12
|
-
return x;
|
|
13
|
-
});
|
|
14
|
-
return temps.reduce(function (a, b) {
|
|
15
|
-
a = Object.assign(a, b);
|
|
16
|
-
return a;
|
|
17
|
-
}, model);
|
|
18
|
-
};
|
|
19
|
-
var _deepMerge = function deepMerge(model) {
|
|
20
|
-
for (var _len2 = arguments.length, sources = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
21
|
-
sources[_key2 - 1] = arguments[_key2];
|
|
22
|
-
}
|
|
23
|
-
sources = sources.filter(function (x) {
|
|
24
|
-
return !!x;
|
|
25
|
-
});
|
|
26
|
-
if (sources.length < 1) {
|
|
27
|
-
return model;
|
|
28
|
-
}
|
|
29
|
-
var temps = [model].concat(_toConsumableArray(sources)).filter(function (x) {
|
|
30
|
-
return x;
|
|
31
|
-
});
|
|
32
|
-
var fieldObjects = temps.reduce(function (a, b) {
|
|
33
|
-
if (!b) return a;
|
|
34
|
-
var fields = Object.keys(b).filter(function (x) {
|
|
35
|
-
return _typeof(b[x]) === 'object' && !Array.isArray(b[x]);
|
|
36
|
-
});
|
|
37
|
-
a.push.apply(a, _toConsumableArray(fields));
|
|
38
|
-
return a;
|
|
39
|
-
}, []);
|
|
40
|
-
var target = objectAssign.apply(void 0, [model].concat(_toConsumableArray(temps.slice(1))));
|
|
41
|
-
var temp = target;
|
|
42
|
-
var temp2 = temps.slice(1).filter(function (x) {
|
|
43
|
-
return !!x;
|
|
44
|
-
});
|
|
45
|
-
var _loop = function _loop() {
|
|
46
|
-
var element = fieldObjects[index];
|
|
47
|
-
temp[element] = _deepMerge.apply(void 0, [{}, temp[element]].concat(_toConsumableArray(temp2.map(function (x) {
|
|
48
|
-
return x[element];
|
|
49
|
-
}))));
|
|
50
|
-
};
|
|
51
|
-
for (var index = 0; index < fieldObjects.length; index++) {
|
|
52
|
-
_loop();
|
|
53
|
-
}
|
|
54
|
-
return target;
|
|
55
|
-
};
|
|
56
|
-
var getErrorMessage = function getErrorMessage(MessageErrors, key) {
|
|
57
|
-
return MessageErrors && MessageErrors[key] ? _objectSpread2(_objectSpread2({}, MessageErrors[key][0]), {}, {
|
|
58
|
-
error: true
|
|
59
|
-
}) : {
|
|
60
|
-
error: false,
|
|
61
|
-
message: ''
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
var convertFormDataToJson = function convertFormDataToJson(form) {
|
|
65
|
-
var data = Array.from(form).reduce(function (a, b) {
|
|
66
|
-
if (!a[b[0]]) {
|
|
67
|
-
a[b[0]] = b[1];
|
|
68
|
-
} else if (Array.isArray(a[b[0]])) {
|
|
69
|
-
a[b[0]].push(b[1]);
|
|
70
|
-
} else {
|
|
71
|
-
a[b[0]] = [a[b[0]], b[1]];
|
|
72
|
-
}
|
|
73
|
-
return a;
|
|
74
|
-
}, {});
|
|
75
|
-
Object.keys(data).forEach(function (key) {
|
|
76
|
-
var value = data[key];
|
|
77
|
-
if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {
|
|
78
|
-
data[key] = value.toString().toLocaleLowerCase() === 'true';
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return data;
|
|
82
|
-
};
|
|
83
|
-
var SingleValidate = function SingleValidate(key, modelState, MessageErrors, Validator) {
|
|
84
|
-
var messageErrors = Validator.run(modelState);
|
|
85
|
-
if (messageErrors) {
|
|
86
|
-
var errors = MessageErrors || {};
|
|
87
|
-
var keys = Object.keys(modelState).filter(function (key) {
|
|
88
|
-
return !!modelState[key];
|
|
89
|
-
}).filter(function (key) {
|
|
90
|
-
return modelState[key] instanceof File ? !!modelState[key].size : false;
|
|
91
|
-
});
|
|
92
|
-
keys.push(key);
|
|
93
|
-
keys.forEach(function (key) {
|
|
94
|
-
if (messageErrors[key]) {
|
|
95
|
-
errors[key] = messageErrors[key];
|
|
96
|
-
} else {
|
|
97
|
-
delete errors[key];
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return errors;
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
};
|
|
104
|
-
var getErrorFromResponse = function getErrorFromResponse(error, ModelRender) {
|
|
105
|
-
var _error$response;
|
|
106
|
-
var data = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data;
|
|
107
|
-
if (data) {
|
|
108
|
-
var keys = Object.keys(ModelRender);
|
|
109
|
-
var MessageErrors = {};
|
|
110
|
-
keys.forEach(function (key) {
|
|
111
|
-
var messages = data[key];
|
|
112
|
-
if (Array.isArray(messages) && messages.length > 0) {
|
|
113
|
-
MessageErrors[key] = [{
|
|
114
|
-
message: messages[0]
|
|
115
|
-
}];
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return MessageErrors;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
var validateMerge = function validateMerge() {
|
|
122
|
-
for (var _len3 = arguments.length, validateor = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
123
|
-
validateor[_key3] = arguments[_key3];
|
|
124
|
-
}
|
|
125
|
-
var configs = validateor.map(function (x) {
|
|
126
|
-
return x === null || x === void 0 ? void 0 : x.configs;
|
|
127
|
-
}).filter(function (x) {
|
|
128
|
-
return !!x;
|
|
129
|
-
});
|
|
130
|
-
var temp = Object.assign.apply(Object, [{}].concat(_toConsumableArray(configs)));
|
|
131
|
-
var _loop2 = function _loop2() {
|
|
132
|
-
var key = Object.keys(temp)[index];
|
|
133
|
-
//merge configs
|
|
134
|
-
temp[key] = _deepMerge.apply(void 0, [{}].concat(_toConsumableArray(configs.map(function (x) {
|
|
135
|
-
return x ? x[key] : {
|
|
136
|
-
Rules: []
|
|
137
|
-
};
|
|
138
|
-
}))));
|
|
139
|
-
//merge rules
|
|
140
|
-
temp[key].Rules = configs.map(function (x) {
|
|
141
|
-
return x ? x[key] : {
|
|
142
|
-
Rules: []
|
|
143
|
-
};
|
|
144
|
-
}).reduce(function (a, b) {
|
|
145
|
-
var _b$Rules;
|
|
146
|
-
a.push.apply(a, _toConsumableArray((_b$Rules = b === null || b === void 0 ? void 0 : b.Rules) !== null && _b$Rules !== void 0 ? _b$Rules : []));
|
|
147
|
-
return a;
|
|
148
|
-
}, []);
|
|
149
|
-
};
|
|
150
|
-
for (var index = 0; index < Object.keys(temp).length; index++) {
|
|
151
|
-
_loop2();
|
|
152
|
-
}
|
|
153
|
-
return new FormValidator(temp);
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
export { SingleValidate, convertFormDataToJson, getErrorFromResponse, getErrorMessage, validateMerge };
|
|
1
|
+
import{toConsumableArray as r,objectSpread2 as n,typeof as e}from"../_virtual/_rollupPluginBabelHelpers.js";import t from"./validator.js";var o=function(r){for(var n=arguments.length,e=new Array(n>1?n-1:0),t=1;t<n;t++)e[t-1]=arguments[t];return e.length<1?r:e.filter((function(r){return r})).reduce((function(r,n){return r=Object.assign(r,n)}),r)},u=function(n){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];if((a=a.filter((function(r){return!!r}))).length<1)return n;for(var c=[n].concat(r(a)).filter((function(r){return r})),f=c.reduce((function(n,t){if(!t)return n;var o=Object.keys(t).filter((function(r){return"object"===e(t[r])&&!Array.isArray(t[r])}));return n.push.apply(n,r(o)),n}),[]),l=o.apply(void 0,[n].concat(r(c.slice(1)))),s=l,p=c.slice(1).filter((function(r){return!!r})),v=function(){var n=f[y];s[n]=u.apply(void 0,[{},s[n]].concat(r(p.map((function(r){return r[n]})))))},y=0;y<f.length;y++)v();return l},a=function(r,e){return r&&r[e]?n(n({},r[e][0]),{},{error:!0}):{error:!1,message:""}},i=function(r){var n=Array.from(r).reduce((function(r,n){return r[n[0]]?Array.isArray(r[n[0]])?r[n[0]].push(n[1]):r[n[0]]=[r[n[0]],n[1]]:r[n[0]]=n[1],r}),{});return Object.keys(n).forEach((function(r){var e=n[r];"string"!=typeof e||"true"!==e.toString().toLocaleLowerCase()&&"false"!==e.toString().toLocaleLowerCase()||(n[r]="true"===e.toString().toLocaleLowerCase())})),n},c=function(r,n,e,t){var o=t.run(n);if(o){var u=e||{},a=Object.keys(n).filter((function(r){return!!n[r]})).filter((function(r){return n[r]instanceof File&&!!n[r].size}));return a.push(r),a.forEach((function(r){o[r]?u[r]=o[r]:delete u[r]})),u}return null},f=function(r,n){var e,t=null===(e=r.response)||void 0===e?void 0:e.data;if(t){var o=Object.keys(n),u={};return o.forEach((function(r){var n=t[r];Array.isArray(n)&&n.length>0&&(u[r]=[{message:n[0]}])})),u}},l=function(){for(var n=arguments.length,e=new Array(n),o=0;o<n;o++)e[o]=arguments[o];for(var a=e.map((function(r){return null==r?void 0:r.configs})).filter((function(r){return!!r})),i=Object.assign.apply(Object,[{}].concat(r(a))),c=function(){var n=Object.keys(i)[f];i[n]=u.apply(void 0,[{}].concat(r(a.map((function(r){return r?r[n]:{Rules:[]}}))))),i[n].Rules=a.map((function(r){return r?r[n]:{Rules:[]}})).reduce((function(n,e){var t;return n.push.apply(n,r(null!==(t=null==e?void 0:e.Rules)&&void 0!==t?t:[])),n}),[])},f=0;f<Object.keys(i).length;f++)c();return new t(i)};export{c as SingleValidate,i as convertFormDataToJson,f as getErrorFromResponse,a as getErrorMessage,l as validateMerge};
|
|
157
2
|
//# sourceMappingURL=helper.js.map
|
package/dist/form/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","temps","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","temps","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
|
|
@@ -1,82 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { styled, Paper, IconButton, Box, Typography } from '@mui/material';
|
|
4
|
-
import CloseIcon from '@mui/icons-material/Close';
|
|
5
|
-
import 'react';
|
|
6
|
-
import '../api-context/alert-global.js';
|
|
7
|
-
import '../api-context/drawer-global.js';
|
|
8
|
-
import { MapGlobalModalContext } from '../api-context/global-modal.js';
|
|
9
|
-
|
|
10
|
-
var FormModalWrapper = function FormModalWrapper(props) {
|
|
11
|
-
return MapGlobalModalContext(function (context) {
|
|
12
|
-
var _props$slots, _props$slots2;
|
|
13
|
-
return jsxs(Wrap, {
|
|
14
|
-
size: props.size,
|
|
15
|
-
className: props.fullHeight ? 'full-height' : undefined,
|
|
16
|
-
children: [jsxs(TopBar, {
|
|
17
|
-
sx: (_props$slots = props.slots) === null || _props$slots === void 0 ? void 0 : _props$slots.sxTopbarProps,
|
|
18
|
-
children: [((_props$slots2 = props.slots) === null || _props$slots2 === void 0 ? void 0 : _props$slots2.beforeTitle) && jsxs(Fragment, {
|
|
19
|
-
children: [props.slots.beforeTitle, jsx(Box, {
|
|
20
|
-
flex: 1
|
|
21
|
-
})]
|
|
22
|
-
}), jsx(Typography, {
|
|
23
|
-
component: 'h3',
|
|
24
|
-
variant: 'subtitle1',
|
|
25
|
-
sx: {
|
|
26
|
-
mt: '2px',
|
|
27
|
-
ml: '8px',
|
|
28
|
-
fontWeight: 700
|
|
29
|
-
},
|
|
30
|
-
children: props.title
|
|
31
|
-
}), jsx(Box, {
|
|
32
|
-
flex: 1
|
|
33
|
-
}), jsx(BtnClose, {
|
|
34
|
-
onClick: function onClick() {
|
|
35
|
-
props.onCloseClick && props.onCloseClick();
|
|
36
|
-
context.close();
|
|
37
|
-
},
|
|
38
|
-
children: jsx(CloseIcon, {})
|
|
39
|
-
})]
|
|
40
|
-
}), props.children]
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
var Wrap = styled(Paper)(function (_ref) {
|
|
45
|
-
var theme = _ref.theme,
|
|
46
|
-
size = _ref.size;
|
|
47
|
-
return _defineProperty(_defineProperty({
|
|
48
|
-
maxHeight: 'calc(100vh - 24px)',
|
|
49
|
-
overflow: 'hidden',
|
|
50
|
-
display: 'flex',
|
|
51
|
-
flexDirection: 'column',
|
|
52
|
-
position: 'relative',
|
|
53
|
-
maxWidth: 'calc(100vw - 24px)',
|
|
54
|
-
width: theme.breakpoints.values[size !== null && size !== void 0 ? size : 'lg']
|
|
55
|
-
}, theme.breakpoints.down('sm'), {
|
|
56
|
-
width: 'calc(100vw - 24px)'
|
|
57
|
-
}), '&.full-height', {
|
|
58
|
-
height: 'calc(100vh - 24px)'
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
var BtnClose = styled(IconButton)({
|
|
62
|
-
flex: '0 0 auto',
|
|
63
|
-
color: '#3c3c3c',
|
|
64
|
-
'& svg': {
|
|
65
|
-
transition: 'all 0.2s'
|
|
66
|
-
},
|
|
67
|
-
'&:hover svg': {
|
|
68
|
-
color: '#ff200c'
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
var TopBar = styled(Box)({
|
|
72
|
-
display: 'flex',
|
|
73
|
-
alignItems: 'center',
|
|
74
|
-
padding: '0 8px 0 8px',
|
|
75
|
-
gap: '6px',
|
|
76
|
-
flex: '0 0 auto',
|
|
77
|
-
boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',
|
|
78
|
-
height: '48px'
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
export { FormModalWrapper as default };
|
|
1
|
+
import{defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as e,jsx as i,Fragment as o}from"react/jsx-runtime";import{styled as t,Paper as r,IconButton as a,Box as n,Typography as p}from"@mui/material";import s from"@mui/icons-material/Close";import"react";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import{MapGlobalModalContext as c}from"../api-context/global-modal.js";var x=function(l){return c((function(t){var r,a;return e(m,{size:l.size,className:l.fullHeight?"full-height":void 0,children:[e(h,{sx:null===(r=l.slots)||void 0===r?void 0:r.sxTopbarProps,children:[(null===(a=l.slots)||void 0===a?void 0:a.beforeTitle)&&e(o,{children:[l.slots.beforeTitle,i(n,{flex:1})]}),i(p,{component:"h3",variant:"subtitle1",sx:{mt:"2px",ml:"8px",fontWeight:700},children:l.title}),i(n,{flex:1}),i(f,{onClick:function(){l.onCloseClick&&l.onCloseClick(),t.close()},children:i(s,{})})]}),l.children]})}))},m=t(r)((function(e){var i=e.theme,o=e.size;return l(l({maxHeight:"calc(100vh - 24px)",overflow:"hidden",display:"flex",flexDirection:"column",position:"relative",maxWidth:"calc(100vw - 24px)",width:i.breakpoints.values[null!=o?o:"lg"]},i.breakpoints.down("sm"),{width:"calc(100vw - 24px)"}),"&.full-height",{height:"calc(100vh - 24px)"})})),f=t(a)({flex:"0 0 auto",color:"#3c3c3c","& svg":{transition:"all 0.2s"},"&:hover svg":{color:"#ff200c"}}),h=t(n)({display:"flex",alignItems:"center",padding:"0 8px 0 8px",gap:"6px",flex:"0 0 auto",boxShadow:"rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px",height:"48px"});export{x as default};
|
|
82
2
|
//# sourceMappingURL=modal-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":"
|
|
1
|
+
{"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":"kbAgBA,IAAMA,EAA+C,SAACC,GACpD,OAAOC,GAAsB,SAACC,GAAO,IAAAC,EAAAC,EAAA,OACnCC,EAACC,EAAK,CAAAC,KAAMP,EAAMO,KAAMC,UAAWR,EAAMS,WAAa,mBAAgBC,EACpEC,SAAA,CAAAN,EAACO,EAAM,CAACC,GAAe,QAAbV,EAAEH,EAAMc,aAAK,IAAAX,OAAA,EAAXA,EAAaY,yBACX,QAAXX,EAAAJ,EAAMc,aAAK,IAAAV,OAAA,EAAXA,EAAaY,cACZX,EAAAY,EAAA,CAAAN,SAAA,CACGX,EAAMc,MAAME,YACbE,EAACC,EAAG,CAACC,KAAM,OAGfF,EAACG,EAAW,CAAAC,UAAU,KAAKC,QAAQ,YAAYV,GAAI,CAAEW,GAAI,MAAOC,GAAI,MAAOC,WAAY,cACpF1B,EAAM2B,QAETT,EAACC,EAAI,CAAAC,KAAM,IACXF,EAACU,EACC,CAAAC,QAAS,WACP7B,EAAM8B,cAAgB9B,EAAM8B,eAC5B5B,EAAQ6B,OACT,EAEDpB,SAAAO,EAACc,EAAS,CAAA,QAGbhC,EAAMW,WACF,GAEX,EAGML,EAAO2B,EAAOC,EAAPD,EAAqC,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAO7B,EAAI4B,EAAJ5B,KAAI,OAAA8B,EAAAA,EAAA,CAC9DC,UAAW,qBACXC,SAAU,SACVC,QAAS,OACTC,cAAe,SACfC,SAAU,WACVC,SAAU,qBACVC,MAAOR,EAAMS,YAAYC,OAAOvC,QAAAA,EAAQ,OACvC6B,EAAMS,YAAYE,KAAK,MAAQ,CAAEH,MAAO,uBACzC,gBAAiB,CACfI,OAAQ,sBACT,IAGGpB,EAAWK,EAAOgB,EAAPhB,CAAmB,CAClCb,KAAM,WACN8B,MAAO,UACP,QAAS,CAAEC,WAAY,YACvB,cAAe,CAAED,MAAO,aAGpBtC,EAASqB,EAAOd,EAAPc,CAAY,CACzBO,QAAS,OACTY,WAAY,SACZC,QAAS,cACTC,IAAK,MACLlC,KAAM,WACNmC,UAAW,uFACXP,OAAQ"}
|