dinocollab-core 1.0.0
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/README.md +54 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js +431 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/assets/vector-404265a04f4f9c8be1f.webp +0 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js +46 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/src/api-context/alert-global.js +151 -0
- package/dist/src/api-context/alert-global.js.map +1 -0
- package/dist/src/api-context/drawer-global.js +105 -0
- package/dist/src/api-context/drawer-global.js.map +1 -0
- package/dist/src/api-context/global-modal.js +87 -0
- package/dist/src/api-context/global-modal.js.map +1 -0
- package/dist/src/api-context/popover-global.js +102 -0
- package/dist/src/api-context/popover-global.js.map +1 -0
- package/dist/src/api-context/popover.js +86 -0
- package/dist/src/api-context/popover.js.map +1 -0
- package/dist/src/api-context/ui.units.js +21 -0
- package/dist/src/api-context/ui.units.js.map +1 -0
- package/dist/src/components/copy-to-clipboard.js +105 -0
- package/dist/src/components/copy-to-clipboard.js.map +1 -0
- package/dist/src/components/custom.breadcrumbs.js +61 -0
- package/dist/src/components/custom.breadcrumbs.js.map +1 -0
- package/dist/src/components/help-tooltip.js +91 -0
- package/dist/src/components/help-tooltip.js.map +1 -0
- package/dist/src/components/image-with-fallback.js +48 -0
- package/dist/src/components/image-with-fallback.js.map +1 -0
- package/dist/src/components/text-editor.js +117 -0
- package/dist/src/components/text-editor.js.map +1 -0
- package/dist/src/form/create.autocomplete.chips.js +218 -0
- package/dist/src/form/create.autocomplete.chips.js.map +1 -0
- package/dist/src/form/create.date-expired.js +201 -0
- package/dist/src/form/create.date-expired.js.map +1 -0
- package/dist/src/form/create.date-picker.js +125 -0
- package/dist/src/form/create.date-picker.js.map +1 -0
- package/dist/src/form/create.form-base.js +135 -0
- package/dist/src/form/create.form-base.js.map +1 -0
- package/dist/src/form/create.form-comfirm.js +119 -0
- package/dist/src/form/create.form-comfirm.js.map +1 -0
- package/dist/src/form/create.form-grid-layout.js +177 -0
- package/dist/src/form/create.form-grid-layout.js.map +1 -0
- package/dist/src/form/create.form-grid-layout.units.js +39 -0
- package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
- package/dist/src/form/create.input-base.js +260 -0
- package/dist/src/form/create.input-base.js.map +1 -0
- package/dist/src/form/create.input.file.js +74 -0
- package/dist/src/form/create.input.file.js.map +1 -0
- package/dist/src/form/create.select-simple.js +104 -0
- package/dist/src/form/create.select-simple.js.map +1 -0
- package/dist/src/form/create.select-with-api.js +271 -0
- package/dist/src/form/create.select-with-api.js.map +1 -0
- package/dist/src/form/create.text-editor.js +156 -0
- package/dist/src/form/create.text-editor.js.map +1 -0
- package/dist/src/form/dino-form.js +42 -0
- package/dist/src/form/dino-form.js.map +1 -0
- package/dist/src/form/helper.js +157 -0
- package/dist/src/form/helper.js.map +1 -0
- package/dist/src/form/modal-wrapper.js +75 -0
- package/dist/src/form/modal-wrapper.js.map +1 -0
- package/dist/src/form/validator.js +186 -0
- package/dist/src/form/validator.js.map +1 -0
- package/dist/src/hooks/index.js +48 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/index.js +26 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/redux/create.hoc-lazy.js +67 -0
- package/dist/src/redux/create.hoc-lazy.js.map +1 -0
- package/dist/src/redux/dino.js +11 -0
- package/dist/src/redux/dino.js.map +1 -0
- package/dist/src/redux/types.js +9 -0
- package/dist/src/redux/types.js.map +1 -0
- package/dist/src/redux/ui.error-page.js +80 -0
- package/dist/src/redux/ui.error-page.js.map +1 -0
- package/dist/src/redux/vector-404.webp.js +4 -0
- package/dist/src/redux/vector-404.webp.js.map +1 -0
- package/dist/src/table/context.js +12 -0
- package/dist/src/table/context.js.map +1 -0
- package/dist/src/table/create.action-row.js +135 -0
- package/dist/src/table/create.action-row.js.map +1 -0
- package/dist/src/table/create.status-cell.js +49 -0
- package/dist/src/table/create.status-cell.js.map +1 -0
- package/dist/src/table/create.table.js +233 -0
- package/dist/src/table/create.table.js.map +1 -0
- package/dist/src/table/custom.filter-operators.js +89 -0
- package/dist/src/table/custom.filter-operators.js.map +1 -0
- package/dist/src/table/dino.js +129 -0
- package/dist/src/table/dino.js.map +1 -0
- package/dist/src/table/helpers.js +116 -0
- package/dist/src/table/helpers.js.map +1 -0
- package/dist/src/table/model-filter.js +23 -0
- package/dist/src/table/model-filter.js.map +1 -0
- package/dist/src/table/toolbar-pannel.js +134 -0
- package/dist/src/table/toolbar-pannel.js.map +1 -0
- package/dist/src/table/ui.buttons.js +60 -0
- package/dist/src/table/ui.buttons.js.map +1 -0
- package/dist/src/table/ui.units.js +201 -0
- package/dist/src/table/ui.units.js.map +1 -0
- package/dist/src/utils/dayjs-config.js +12 -0
- package/dist/src/utils/dayjs-config.js.map +1 -0
- package/dist/src/utils/helpers.js +197 -0
- package/dist/src/utils/helpers.js.map +1 -0
- package/dist/src/utils/json-object.js +38 -0
- package/dist/src/utils/json-object.js.map +1 -0
- package/dist/src/utils/query-param.js +172 -0
- package/dist/src/utils/query-param.js.map +1 -0
- package/package.json +52 -0
- package/rollup.config.js +39 -0
- package/src/@types/global.d.ts +5 -0
- package/src/api-context/alert-global.tsx +174 -0
- package/src/api-context/drawer-global.tsx +116 -0
- package/src/api-context/global-modal.tsx +109 -0
- package/src/api-context/index.ts +13 -0
- package/src/api-context/popover-global.tsx +107 -0
- package/src/api-context/popover.tsx +89 -0
- package/src/api-context/ui.units.tsx +10 -0
- package/src/components/copy-to-clipboard.tsx +86 -0
- package/src/components/custom.breadcrumbs.tsx +67 -0
- package/src/components/help-tooltip.tsx +75 -0
- package/src/components/image-with-fallback.tsx +51 -0
- package/src/components/index.tsx +1 -0
- package/src/components/input-debounce-timer.tsx +138 -0
- package/src/components/loading-buttons.tsx +35 -0
- package/src/components/text-editor.preview.tsx +30 -0
- package/src/components/text-editor.tsx +125 -0
- package/src/form/README.md +55 -0
- package/src/form/create.autocomplete.chips.tsx +199 -0
- package/src/form/create.date-expired.tsx +195 -0
- package/src/form/create.date-picker.tsx +122 -0
- package/src/form/create.form-base.tsx +102 -0
- package/src/form/create.form-comfirm.tsx +83 -0
- package/src/form/create.form-grid-layout.tsx +170 -0
- package/src/form/create.form-grid-layout.units.tsx +37 -0
- package/src/form/create.input-base.tsx +222 -0
- package/src/form/create.input.file.tsx +76 -0
- package/src/form/create.select-simple.tsx +101 -0
- package/src/form/create.select-with-api.tsx +213 -0
- package/src/form/create.text-editor.tsx +161 -0
- package/src/form/dino-form.tsx +40 -0
- package/src/form/helper.ts +132 -0
- package/src/form/index.ts +12 -0
- package/src/form/modal-wrapper.tsx +75 -0
- package/src/form/types.ts +16 -0
- package/src/form/validator.ts +202 -0
- package/src/hooks/index.ts +44 -0
- package/src/index.ts +7 -0
- package/src/lab/create.autocomplete.simple.tsx +57 -0
- package/src/lab/create.dino-store.ts +59 -0
- package/src/lab/create.multi-select-dropdown.tsx +189 -0
- package/src/lab/create.select-mul-with-api/index.tsx +271 -0
- package/src/lab/create.select-mul-with-api/table-custom.tsx +194 -0
- package/src/lab/create.select-mul-with-api/types.ts +26 -0
- package/src/lab/create.select-mul-with-api/ui.units.tsx +163 -0
- package/src/lab/filter-bar/base.tsx +162 -0
- package/src/lab/filter-bar/create.filter-bar.tsx +190 -0
- package/src/lab/filter-bar/create.filter-menu.tsx +156 -0
- package/src/lab/filter-bar/create.filter-panel.tsx +95 -0
- package/src/lab/filter-bar/create.filtered.tsx +41 -0
- package/src/lab/filter-bar/create.sort-menu.tsx +43 -0
- package/src/lab/filter-bar/demo.tsx +50 -0
- package/src/lab/filter-bar/index.ts +6 -0
- package/src/lab/filter-bar/types.ts +105 -0
- package/src/lab/filter-bar/ui.units.tsx +70 -0
- package/src/lab/grafana-dashboard/configs.ts +43 -0
- package/src/lab/grafana-dashboard/date-time-range/absolute-time-rage.tsx +137 -0
- package/src/lab/grafana-dashboard/date-time-range/helpers.ts +126 -0
- package/src/lab/grafana-dashboard/date-time-range/index.tsx +62 -0
- package/src/lab/grafana-dashboard/date-time-range/menu-wrap.tsx +101 -0
- package/src/lab/grafana-dashboard/date-time-range/quick-ranges.tsx +161 -0
- package/src/lab/grafana-dashboard/date-time-range/types.ts +9 -0
- package/src/lab/grafana-dashboard/date-time-range/units.tsx +18 -0
- package/src/lab/grafana-dashboard/helper.ts +25 -0
- package/src/lab/grafana-dashboard/hooks.tsx +79 -0
- package/src/lab/grafana-dashboard/icons.tsx +67 -0
- package/src/lab/grafana-dashboard/index.tsx +120 -0
- package/src/lab/grafana-dashboard/top-bar.tsx +62 -0
- package/src/lab/grafana-dashboard/top-bar.types.ts +5 -0
- package/src/lab/grafana-dashboard/types.ts +8 -0
- package/src/lab/media-player.core1.tsx +273 -0
- package/src/lab/media-player.muted.tsx +62 -0
- package/src/lab/media-player.units.ts +80 -0
- package/src/lab/table-grid/create.table-grid.tsx +183 -0
- package/src/lab/table-grid/demo.tsx +53 -0
- package/src/lab/table-grid/dino.tsx +8 -0
- package/src/lab/table-grid/helpers.tsx +11 -0
- package/src/lab/table-grid/index.ts +3 -0
- package/src/lab/table-grid/item-actions.tsx +138 -0
- package/src/lab/table-grid/toolbar-pannel.tsx +98 -0
- package/src/lab/table-grid/types.ts +68 -0
- package/src/redux/create.hoc-lazy.tsx +80 -0
- package/src/redux/dino.ts +9 -0
- package/src/redux/index.ts +6 -0
- package/src/redux/types.ts +27 -0
- package/src/redux/ui.error-page.tsx +62 -0
- package/src/redux/ui.units.tsx +41 -0
- package/src/redux/vector-404.webp +0 -0
- package/src/table/context.tsx +16 -0
- package/src/table/create.action-row.tsx +91 -0
- package/src/table/create.status-cell.tsx +51 -0
- package/src/table/create.table.tsx +239 -0
- package/src/table/custom.filter-operators.ts +94 -0
- package/src/table/dino.tsx +120 -0
- package/src/table/helpers.ts +94 -0
- package/src/table/index.ts +13 -0
- package/src/table/model-filter.ts +43 -0
- package/src/table/toolbar-pannel.tsx +106 -0
- package/src/table/types.ts +50 -0
- package/src/table/ui.buttons.tsx +54 -0
- package/src/table/ui.units.tsx +189 -0
- package/src/utils/dayjs-config.ts +13 -0
- package/src/utils/helpers.ts +171 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/json-object.ts +29 -0
- package/src/utils/mfe-events.tsx +34 -0
- package/src/utils/query-param.ts +129 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __awaiter } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { Box } from '@mui/material';
|
|
5
|
+
import { convertFormDataToJson, SingleValidate, ValidateMerge, GetErrorFromResponse } from './helper.js';
|
|
6
|
+
import FormValidator, { SingleRuleValidate } from './validator.js';
|
|
7
|
+
|
|
8
|
+
var CreateFormBase = function CreateFormBase(param) {
|
|
9
|
+
var FormBaseContext = /*#__PURE__*/React.createContext({});
|
|
10
|
+
var FormBase = /*#__PURE__*/function (_Component) {
|
|
11
|
+
function FormBase(props) {
|
|
12
|
+
var _this;
|
|
13
|
+
_classCallCheck(this, FormBase);
|
|
14
|
+
_this = _callSuper(this, FormBase, [props]);
|
|
15
|
+
_this.refForm = null;
|
|
16
|
+
_this.setError = function (keyName, message) {
|
|
17
|
+
var error = _defineProperty({}, keyName, [{
|
|
18
|
+
rule: SingleRuleValidate.Custom,
|
|
19
|
+
message: message
|
|
20
|
+
}]);
|
|
21
|
+
_this.setState({
|
|
22
|
+
messageErrors: Object.assign({}, _this.state.messageErrors, error)
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
_this.clearErrorAll = function () {
|
|
26
|
+
_this.setState({
|
|
27
|
+
messageErrors: {}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
_this.onSubmit = function (e) {
|
|
31
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
32
|
+
var _this2 = this;
|
|
33
|
+
var formData, model, messageErrors;
|
|
34
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
35
|
+
while (1) switch (_context.prev = _context.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
formData = new FormData(e.currentTarget);
|
|
39
|
+
model = convertFormDataToJson(formData);
|
|
40
|
+
this.setState({
|
|
41
|
+
modelState: model
|
|
42
|
+
});
|
|
43
|
+
messageErrors = this.validate.run(model);
|
|
44
|
+
if (!messageErrors) {
|
|
45
|
+
_context.next = 9;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
this.setState({
|
|
49
|
+
messageErrors: messageErrors
|
|
50
|
+
});
|
|
51
|
+
if (!(Object.keys(messageErrors).length > 0)) {
|
|
52
|
+
_context.next = 9;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
return _context.abrupt("return");
|
|
56
|
+
case 9:
|
|
57
|
+
_context.next = 11;
|
|
58
|
+
return this.props.onSubmit(model, e)["catch"](function (error) {
|
|
59
|
+
var messageError = GetErrorFromResponse(error, model);
|
|
60
|
+
_this2.setState({
|
|
61
|
+
messageErrors: Object.assign(Object.assign({}, _this2.state.messageErrors), messageError || {})
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
case 11:
|
|
65
|
+
case "end":
|
|
66
|
+
return _context.stop();
|
|
67
|
+
}
|
|
68
|
+
}, _callee, this);
|
|
69
|
+
}));
|
|
70
|
+
};
|
|
71
|
+
_this.onBlur = function (keyName) {
|
|
72
|
+
if (!_this.refForm) return;
|
|
73
|
+
var messageErrors = _this.state.messageErrors;
|
|
74
|
+
var formData = new FormData(_this.refForm);
|
|
75
|
+
var model = convertFormDataToJson(formData);
|
|
76
|
+
_this.setState({
|
|
77
|
+
modelState: model
|
|
78
|
+
});
|
|
79
|
+
var error = SingleValidate(keyName, model, messageErrors, _this.validate) || {};
|
|
80
|
+
_this.setState({
|
|
81
|
+
messageErrors: error
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
_this.getValidate = function () {
|
|
85
|
+
var defaultValidate = new FormValidator({});
|
|
86
|
+
return ValidateMerge(defaultValidate, param === null || param === void 0 ? void 0 : param.validate, _this.props.validate);
|
|
87
|
+
};
|
|
88
|
+
_this.validate = _this.getValidate();
|
|
89
|
+
_this.state = {
|
|
90
|
+
messageErrors: {}
|
|
91
|
+
};
|
|
92
|
+
return _this;
|
|
93
|
+
}
|
|
94
|
+
_inherits(FormBase, _Component);
|
|
95
|
+
return _createClass(FormBase, [{
|
|
96
|
+
key: "render",
|
|
97
|
+
value: function render() {
|
|
98
|
+
var _this3 = this;
|
|
99
|
+
var onBlur = this.onBlur,
|
|
100
|
+
setError = this.setError,
|
|
101
|
+
clearErrorAll = this.clearErrorAll;
|
|
102
|
+
var _this$state = this.state,
|
|
103
|
+
modelState = _this$state.modelState,
|
|
104
|
+
messageErrors = _this$state.messageErrors;
|
|
105
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
106
|
+
component: "form",
|
|
107
|
+
sx: this.props.sx,
|
|
108
|
+
ref: function ref(_ref) {
|
|
109
|
+
return _this3.refForm = _ref;
|
|
110
|
+
},
|
|
111
|
+
onSubmit: this.onSubmit
|
|
112
|
+
}, /*#__PURE__*/React.createElement(FormBaseContext.Provider, {
|
|
113
|
+
value: {
|
|
114
|
+
setError: setError,
|
|
115
|
+
onBlur: onBlur,
|
|
116
|
+
clearErrorAll: clearErrorAll,
|
|
117
|
+
modelState: modelState,
|
|
118
|
+
messageErrors: messageErrors
|
|
119
|
+
}
|
|
120
|
+
}, this.props.children));
|
|
121
|
+
}
|
|
122
|
+
}]);
|
|
123
|
+
}(Component);
|
|
124
|
+
return {
|
|
125
|
+
Form: FormBase,
|
|
126
|
+
Validator: param === null || param === void 0 ? void 0 : param.validate,
|
|
127
|
+
Context: FormBaseContext,
|
|
128
|
+
contextMapping: function contextMapping(params) {
|
|
129
|
+
return /*#__PURE__*/React.createElement(FormBaseContext.Consumer, null, params);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export { CreateFormBase as default };
|
|
135
|
+
//# sourceMappingURL=create.form-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.form-base.js","sources":["../../../src/form/create.form-base.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, SxProps, Theme } from '@mui/material'\r\nimport { IFormBase } from './types'\r\nimport { convertFormDataToJson, GetErrorFromResponse, SingleValidate, ValidateMerge } from './helper'\r\nimport FormValidator, { PartialError, SingleRuleValidate } from './validator'\r\n\r\ninterface IParam<TModel> {\r\n validate?: FormValidator<Partial<TModel>>\r\n}\r\n\r\ninterface IProps<TModel> {\r\n sx?: SxProps<Theme>\r\n validate?: FormValidator<Partial<TModel>>\r\n onSubmit: (data: Partial<TModel>, e: React.FormEvent<HTMLFormElement>) => Promise<void>\r\n}\r\n\r\ninterface IState<TModel> extends Pick<IFormBase<TModel>, 'messageErrors'> {\r\n modelState?: Partial<TModel>\r\n}\r\n\r\nexport interface IFormContextBase<TModel> {\r\n modelState?: Partial<TModel>\r\n messageErrors: PartialError<TModel>\r\n onBlur: (keyName: keyof TModel) => void\r\n setError: (keyName: keyof TModel, message: string) => void\r\n clearErrorAll: (keyName: keyof TModel) => void\r\n}\r\n\r\nconst CreateFormBase = function <TModel>(param?: IParam<TModel>) {\r\n const FormBaseContext = React.createContext<IFormContextBase<TModel>>({} as any)\r\n class FormBase extends Component<React.PropsWithChildren<IProps<TModel>>, IState<TModel>> {\r\n refForm: HTMLFormElement | null = null\r\n constructor(props: IProps<TModel>) {\r\n super(props)\r\n this.validate = this.getValidate()\r\n this.state = { messageErrors: {} }\r\n }\r\n\r\n setError = (keyName: keyof TModel, message: string) => {\r\n const error = { [keyName]: [{ rule: SingleRuleValidate.Custom, message }] }\r\n this.setState({\r\n messageErrors: Object.assign({}, this.state.messageErrors, error)\r\n })\r\n }\r\n\r\n clearErrorAll = () => {\r\n this.setState({ messageErrors: {} })\r\n }\r\n\r\n render() {\r\n const { onBlur, setError, clearErrorAll } = this\r\n const { modelState, messageErrors } = this.state\r\n return (\r\n <Box component='form' sx={this.props.sx} ref={(ref: HTMLFormElement) => (this.refForm = ref)} onSubmit={this.onSubmit}>\r\n <FormBaseContext.Provider value={{ setError, onBlur, clearErrorAll, modelState, messageErrors }}>\r\n {this.props.children}\r\n </FormBaseContext.Provider>\r\n </Box>\r\n )\r\n }\r\n\r\n private validate: FormValidator<Partial<TModel>>\r\n onSubmit: React.FormEventHandler<HTMLFormElement> = async (e) => {\r\n e.preventDefault()\r\n const formData = new FormData(e.currentTarget as HTMLFormElement)\r\n const model = convertFormDataToJson<TModel>(formData)\r\n this.setState({ modelState: model })\r\n const messageErrors = this.validate.run(model) as PartialError<TModel>\r\n if (messageErrors) {\r\n this.setState({ messageErrors: messageErrors })\r\n if (Object.keys(messageErrors).length > 0) return\r\n }\r\n await this.props.onSubmit(model, e).catch((error) => {\r\n const messageError = GetErrorFromResponse(error, model)\r\n this.setState({ messageErrors: { ...this.state.messageErrors, ...(messageError || {}) } })\r\n })\r\n }\r\n\r\n onBlur = (keyName: keyof TModel) => {\r\n if (!this.refForm) return\r\n const { messageErrors } = this.state\r\n const formData = new FormData(this.refForm)\r\n const model = convertFormDataToJson(formData)\r\n this.setState({ modelState: model })\r\n const error = SingleValidate<TModel, Partial<TModel>>(keyName, model, messageErrors, this.validate) || {}\r\n this.setState({ messageErrors: error as PartialError<TModel> })\r\n }\r\n\r\n getValidate = (): FormValidator<Partial<TModel>> => {\r\n const defaultValidate = new FormValidator<Partial<TModel>>({})\r\n return ValidateMerge(defaultValidate, param?.validate, this.props.validate)\r\n }\r\n }\r\n\r\n return {\r\n Form: FormBase,\r\n Validator: param?.validate,\r\n Context: FormBaseContext,\r\n contextMapping: (params: (context: IFormContextBase<TModel>) => JSX.Element) => <FormBaseContext.Consumer>{params}</FormBaseContext.Consumer>\r\n }\r\n}\r\nexport default CreateFormBase\r\n"],"names":["CreateFormBase","param","FormBaseContext","React","createContext","FormBase","_Component","props","_this","_classCallCheck","_callSuper","refForm","setError","keyName","message","error","_defineProperty","rule","SingleRuleValidate","Custom","setState","messageErrors","Object","assign","state","clearErrorAll","onSubmit","e","__awaiter","_regeneratorRuntime","mark","_callee","_this2","formData","model","wrap","_callee$","_context","prev","next","preventDefault","FormData","currentTarget","convertFormDataToJson","modelState","validate","run","keys","length","abrupt","messageError","GetErrorFromResponse","stop","onBlur","SingleValidate","getValidate","defaultValidate","FormValidator","ValidateMerge","_inherits","_createClass","key","value","render","_this3","_this$state","createElement","Box","component","sx","ref","Provider","children","Component","Form","Validator","Context","contextMapping","params","Consumer"],"mappings":";;;;;;;AA4BA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAqBC,KAAsB,EAAA;EAC7D,IAAMC,eAAe,gBAAGC,KAAK,CAACC,aAAa,CAA2B,EAAS,CAAC;EAAA,IAC1EC,QAAS,0BAAAC,UAAA,EAAA;IAEb,SAAAD,QAAAA,CAAYE,KAAqB,EAAA;AAAA,MAAA,IAAAC,KAAA;AAAAC,MAAAA,eAAA,OAAAJ,QAAA,CAAA;AAC/BG,MAAAA,KAAA,GAAAE,UAAA,CAAAL,IAAAA,EAAAA,QAAA,GAAME,KAAK,CAAA,CAAA;MAFbC,KAAA,CAAOG,OAAA,GAA2B,IAAI;AAOtCH,MAAAA,KAAA,CAAAI,QAAQ,GAAG,UAACC,OAAqB,EAAEC,OAAe,EAAI;AACpD,QAAA,IAAMC,KAAK,GAAAC,eAAA,CAAMH,EAAAA,EAAAA,OAAO,EAAG,CAAC;UAAEI,IAAI,EAAEC,kBAAkB,CAACC,MAAM;AAAEL,UAAAA,OAAO,EAAPA;AAAS,SAAA,CAAC,CAAE;QAC3EN,KAAA,CAAKY,QAAQ,CAAC;AACZC,UAAAA,aAAa,EAAEC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEf,KAAA,CAAKgB,KAAK,CAACH,aAAa,EAAEN,KAAK;AACjE,SAAA,CAAC;OACH;MAEDP,KAAA,CAAaiB,aAAA,GAAG,YAAK;QACnBjB,KAAA,CAAKY,QAAQ,CAAC;AAAEC,UAAAA,aAAa,EAAE;AAAI,SAAA,CAAC;OACrC;AAeDb,MAAAA,KAAA,CAAAkB,QAAQ,GAA4C,UAAOC,CAAC,EAAA;AAAA,QAAA,OAAIC,SAAA,CAAApB,KAAA,EAAA,MAAA,EAAA,MAAA,eAAAqB,mBAAA,EAAA,CAAAC,IAAA,CAAA,SAAAC,OAAA,GAAA;AAAA,UAAA,IAAAC,MAAA,GAAA,IAAA;AAAA,UAAA,IAAAC,QAAA,EAAAC,KAAA,EAAAb,aAAA;AAAA,UAAA,OAAAQ,mBAAA,EAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,cAAA,KAAA,CAAA;gBAC9DZ,CAAC,CAACa,cAAc,EAAE;AACZP,gBAAAA,QAAQ,GAAG,IAAIQ,QAAQ,CAACd,CAAC,CAACe,aAAgC,CAAC;AAC3DR,gBAAAA,KAAK,GAAGS,qBAAqB,CAASV,QAAQ,CAAC;gBACrD,IAAI,CAACb,QAAQ,CAAC;AAAEwB,kBAAAA,UAAU,EAAEV;AAAO,iBAAA,CAAC;gBAC9Bb,aAAa,GAAG,IAAI,CAACwB,QAAQ,CAACC,GAAG,CAACZ,KAAK,CAAyB;AAAA,gBAAA,IAAA,CAClEb,aAAa,EAAA;AAAAgB,kBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,kBAAA;AAAA;gBACf,IAAI,CAACnB,QAAQ,CAAC;AAAEC,kBAAAA,aAAa,EAAEA;AAAe,iBAAA,CAAC;gBAAA,IAC3CC,EAAAA,MAAM,CAACyB,IAAI,CAAC1B,aAAa,CAAC,CAAC2B,MAAM,GAAG,CAAC,CAAA,EAAA;AAAAX,kBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,kBAAA;AAAA;gBAAA,OAAAF,QAAA,CAAAY,MAAA,CAAA,QAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAZ,gBAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAE3C,gBAAA,OAAM,IAAI,CAAChC,KAAK,CAACmB,QAAQ,CAACQ,KAAK,EAAEP,CAAC,CAAC,CAAA,OAAA,CAAM,CAAC,UAACZ,KAAK,EAAI;AAClD,kBAAA,IAAMmC,YAAY,GAAGC,oBAAoB,CAACpC,KAAK,EAAEmB,KAAK,CAAC;kBACvDF,MAAI,CAACZ,QAAQ,CAAC;oBAAEC,aAAa,EAAOC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAAS,MAAI,CAACR,KAAK,CAACH,aAAa,CAAK,EAAC6B,YAAY,IAAI,EAAG;AAAE,mBAAE,CAAC;AAC5F,iBAAC,CAAC;AAAA,cAAA,KAAA,EAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAAb,QAAA,CAAAe,IAAA,EAAA;AAAA;AAAA,WAAA,EAAArB,OAAA,EAAA,IAAA,CAAA;AAAA,SACH,CAAA,CAAA;AAAA,OAAA;AAEDvB,MAAAA,KAAA,CAAA6C,MAAM,GAAG,UAACxC,OAAqB,EAAI;AACjC,QAAA,IAAI,CAACL,KAAA,CAAKG,OAAO,EAAE;AACnB,QAAA,IAAQU,aAAa,GAAKb,KAAA,CAAKgB,KAAK,CAA5BH,aAAa;QACrB,IAAMY,QAAQ,GAAG,IAAIQ,QAAQ,CAACjC,KAAA,CAAKG,OAAO,CAAC;AAC3C,QAAA,IAAMuB,KAAK,GAAGS,qBAAqB,CAACV,QAAQ,CAAC;QAC7CzB,KAAA,CAAKY,QAAQ,CAAC;AAAEwB,UAAAA,UAAU,EAAEV;AAAO,SAAA,CAAC;AACpC,QAAA,IAAMnB,KAAK,GAAGuC,cAAc,CAA0BzC,OAAO,EAAEqB,KAAK,EAAEb,aAAa,EAAEb,KAAA,CAAKqC,QAAQ,CAAC,IAAI,EAAE;QACzGrC,KAAA,CAAKY,QAAQ,CAAC;AAAEC,UAAAA,aAAa,EAAEN;AAA+B,SAAA,CAAC;OAChE;MAEDP,KAAA,CAAW+C,WAAA,GAAG,YAAqC;AACjD,QAAA,IAAMC,eAAe,GAAG,IAAIC,aAAa,CAAkB,EAAE,CAAC;QAC9D,OAAOC,aAAa,CAACF,eAAe,EAAEvD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAAA,KAAK,CAAE4C,QAAQ,EAAErC,KAAA,CAAKD,KAAK,CAACsC,QAAQ,CAAC;OAC5E;AAzDCrC,MAAAA,KAAA,CAAKqC,QAAQ,GAAGrC,KAAA,CAAK+C,WAAW,EAAE;MAClC/C,KAAA,CAAKgB,KAAK,GAAG;AAAEH,QAAAA,aAAa,EAAE;OAAI;AAAA,MAAA,OAAAb,KAAA;AACpC;IAACmD,SAAA,CAAAtD,QAAA,EAAAC,UAAA,CAAA;IAAA,OAAAsD,YAAA,CAAAvD,QAAA,EAAA,CAAA;MAAAwD,GAAA,EAAA,QAAA;AAAAC,MAAAA,KAAA,EAaD,SAAAC,MAAMA,GAAA;AAAA,QAAA,IAAAC,MAAA,GAAA,IAAA;AACJ,QAAA,IAAQX,MAAM,GAA8B,IAAI,CAAxCA,MAAM;UAAEzC,QAAQ,GAAoB,IAAI,CAAhCA,QAAQ;UAAEa,aAAa,GAAK,IAAI,CAAtBA,aAAa;AACvC,QAAA,IAAAwC,WAAA,GAAsC,IAAI,CAACzC,KAAK;UAAxCoB,UAAU,GAAAqB,WAAA,CAAVrB,UAAU;UAAEvB,aAAa,GAAA4C,WAAA,CAAb5C,aAAa;AACjC,QAAA,oBACElB,KAAA,CAAA+D,aAAA,CAACC,GAAG,EAAA;AAACC,UAAAA,SAAS,EAAC,MAAM;AAACC,UAAAA,EAAE,EAAE,IAAI,CAAC9D,KAAK,CAAC8D,EAAG;AAACC,UAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGA,IAAoB,EAAA;AAAA,YAAA,OAAMN,MAAI,CAACrD,OAAO,GAAG2D,IAAG;WAAE;UAAC5C,QAAQ,EAAE,IAAI,CAACA;AAAS,SAAA,eACpHvB,KAAA,CAAA+D,aAAA,CAAChE,eAAe,CAACqE,QAAQ,EAAA;AAACT,UAAAA,KAAK,EAAE;AAAElD,YAAAA,QAAQ,EAARA,QAAQ;AAAEyC,YAAAA,MAAM,EAANA,MAAM;AAAE5B,YAAAA,aAAa,EAAbA,aAAa;AAAEmB,YAAAA,UAAU,EAAVA,UAAU;AAAEvB,YAAAA,aAAa,EAAbA;AAAa;AAAG,SAAA,EAC7F,IAAI,CAACd,KAAK,CAACiE,QACY,CACvB,CAAC;AAEV;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CA7BoBC,SAAkE,CAAA;EAgEzF,OAAO;AACLC,IAAAA,IAAI,EAAErE,QAAQ;AACdsE,IAAAA,SAAS,EAAE1E,KAAK,KAAA,IAAA,IAALA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAAA,KAAK,CAAE4C,QAAQ;AAC1B+B,IAAAA,OAAO,EAAE1E,eAAe;AACxB2E,IAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,MAA0D,EAAA;MAAA,oBAAK3E,KAAA,CAAA+D,aAAA,CAAChE,eAAe,CAAC6E,QAAQ,EAAED,IAAAA,EAAAA,MAAiC,CAAC;AAAA;GAC9I;AACH;;;;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __awaiter } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { styled, Button, Box, Card, DialogTitle, DialogContent, DialogActions } from '@mui/material';
|
|
5
|
+
import { fetchDelay } from '../utils/helpers.js';
|
|
6
|
+
import '../utils/query-param.js';
|
|
7
|
+
import '../utils/dayjs-config.js';
|
|
8
|
+
import '../api-context/alert-global.js';
|
|
9
|
+
import '../api-context/drawer-global.js';
|
|
10
|
+
import { MapGlobalModalContext } from '../api-context/global-modal.js';
|
|
11
|
+
|
|
12
|
+
var CreateFormComfirm = function CreateFormComfirm(param) {
|
|
13
|
+
var FormConfirm = /*#__PURE__*/function (_Component) {
|
|
14
|
+
function FormConfirm(props) {
|
|
15
|
+
var _this;
|
|
16
|
+
_classCallCheck(this, FormConfirm);
|
|
17
|
+
_this = _callSuper(this, FormConfirm, [props]);
|
|
18
|
+
_this.handleClickNo = function (context) {
|
|
19
|
+
context.close();
|
|
20
|
+
_this.props.onCancel && _this.props.onCancel();
|
|
21
|
+
};
|
|
22
|
+
_this.handleClickYes = function (context) {
|
|
23
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
24
|
+
var _this2 = this;
|
|
25
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
26
|
+
while (1) switch (_context.prev = _context.next) {
|
|
27
|
+
case 0:
|
|
28
|
+
if (this.props.onSubmit) {
|
|
29
|
+
_context.next = 2;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
return _context.abrupt("return");
|
|
33
|
+
case 2:
|
|
34
|
+
_context.prev = 2;
|
|
35
|
+
this.setState({
|
|
36
|
+
loading: true
|
|
37
|
+
});
|
|
38
|
+
_context.next = 6;
|
|
39
|
+
return fetchDelay(function () {
|
|
40
|
+
return _this2.props.onSubmit(_this2.props.data);
|
|
41
|
+
}, 700);
|
|
42
|
+
case 6:
|
|
43
|
+
context.close();
|
|
44
|
+
_context.next = 12;
|
|
45
|
+
break;
|
|
46
|
+
case 9:
|
|
47
|
+
_context.prev = 9;
|
|
48
|
+
_context.t0 = _context["catch"](2);
|
|
49
|
+
console.log(_context.t0);
|
|
50
|
+
case 12:
|
|
51
|
+
_context.prev = 12;
|
|
52
|
+
this.setState({
|
|
53
|
+
loading: false
|
|
54
|
+
});
|
|
55
|
+
return _context.finish(12);
|
|
56
|
+
case 15:
|
|
57
|
+
case "end":
|
|
58
|
+
return _context.stop();
|
|
59
|
+
}
|
|
60
|
+
}, _callee, this, [[2, 9, 12, 15]]);
|
|
61
|
+
}));
|
|
62
|
+
};
|
|
63
|
+
_this.state = {
|
|
64
|
+
loading: false
|
|
65
|
+
};
|
|
66
|
+
return _this;
|
|
67
|
+
}
|
|
68
|
+
_inherits(FormConfirm, _Component);
|
|
69
|
+
return _createClass(FormConfirm, [{
|
|
70
|
+
key: "render",
|
|
71
|
+
value: function render() {
|
|
72
|
+
var _this3 = this;
|
|
73
|
+
var _a, _b;
|
|
74
|
+
var content = this.props.children || ((param === null || param === void 0 ? void 0 : param.content) ? param === null || param === void 0 ? void 0 : param.content(this.props.data) : undefined);
|
|
75
|
+
var title = (_b = (_a = this.props.title) !== null && _a !== void 0 ? _a : param === null || param === void 0 ? void 0 : param.title) !== null && _b !== void 0 ? _b : 'Are you sure?';
|
|
76
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
77
|
+
sx: {
|
|
78
|
+
flex: 1,
|
|
79
|
+
display: 'flex',
|
|
80
|
+
alignItems: 'center',
|
|
81
|
+
justifyContent: 'center'
|
|
82
|
+
}
|
|
83
|
+
}, MapGlobalModalContext(function (context) {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
return /*#__PURE__*/React.createElement(Card, null, /*#__PURE__*/React.createElement(DialogTitle, {
|
|
86
|
+
id: "alert-dialog-title"
|
|
87
|
+
}, title), /*#__PURE__*/React.createElement(DialogContent, {
|
|
88
|
+
sx: {
|
|
89
|
+
minWidth: '300px'
|
|
90
|
+
}
|
|
91
|
+
}, content), /*#__PURE__*/React.createElement(DialogActions, null, /*#__PURE__*/React.createElement(CustomButton, {
|
|
92
|
+
disabled: _this3.state.loading,
|
|
93
|
+
color: ((_a = param === null || param === void 0 ? void 0 : param.colors) === null || _a === void 0 ? void 0 : _a.no) || 'inherit',
|
|
94
|
+
onClick: function onClick() {
|
|
95
|
+
return _this3.handleClickNo(context);
|
|
96
|
+
}
|
|
97
|
+
}, "No"), /*#__PURE__*/React.createElement(CustomButton, {
|
|
98
|
+
color: ((_b = param === null || param === void 0 ? void 0 : param.colors) === null || _b === void 0 ? void 0 : _b.yes) || 'error',
|
|
99
|
+
disabled: _this3.state.loading,
|
|
100
|
+
onClick: function onClick() {
|
|
101
|
+
return _this3.handleClickYes(context);
|
|
102
|
+
}
|
|
103
|
+
}, "Yes")));
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
}]);
|
|
107
|
+
}(Component);
|
|
108
|
+
return FormConfirm;
|
|
109
|
+
};
|
|
110
|
+
var CustomButton = styled(Button)({
|
|
111
|
+
textTransform: 'capitalize',
|
|
112
|
+
fontWeight: 600,
|
|
113
|
+
'&.MuiButton-colorInherit': {
|
|
114
|
+
color: '#606060!important'
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
export { CreateFormComfirm as default };
|
|
119
|
+
//# sourceMappingURL=create.form-comfirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.form-comfirm.js","sources":["../../../src/form/create.form-comfirm.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, Button, Card, DialogActions, DialogContent, DialogTitle, styled } from '@mui/material'\r\nimport { fetchDelay } from '../utils'\r\nimport { IGlobalModalContext, MapGlobalModalContext } from '../api-context'\r\n\r\ninterface IParam<TModel> {\r\n title?: string\r\n content: (value?: TModel) => JSX.Element\r\n colors?: {\r\n yes?: 'inherit' | 'error' | 'primary' | 'secondary' | 'success' | 'info' | 'warning'\r\n no?: 'inherit' | 'error' | 'primary' | 'secondary' | 'success' | 'info' | 'warning'\r\n }\r\n}\r\nconst CreateFormComfirm = function <TModel = any>(param?: IParam<TModel>) {\r\n interface IProps {\r\n data?: TModel\r\n title?: string\r\n onSubmit: (value?: TModel) => Promise<void>\r\n onCancel?: () => void\r\n }\r\n\r\n interface IState {\r\n loading?: boolean\r\n }\r\n\r\n class FormConfirm extends Component<React.PropsWithChildren<IProps>, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = { loading: false }\r\n }\r\n\r\n render() {\r\n const content = this.props.children || (param?.content ? param?.content(this.props.data) : undefined)\r\n const title = this.props.title ?? param?.title ?? 'Are you sure?'\r\n return (\r\n <Box sx={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\r\n {MapGlobalModalContext((context) => (\r\n <Card>\r\n <DialogTitle id='alert-dialog-title'>{title}</DialogTitle>\r\n <DialogContent sx={{ minWidth: '300px' }}>{content}</DialogContent>\r\n <DialogActions>\r\n <CustomButton disabled={this.state.loading} color={param?.colors?.no || 'inherit'} onClick={() => this.handleClickNo(context)}>\r\n No\r\n </CustomButton>\r\n <CustomButton color={param?.colors?.yes || 'error'} disabled={this.state.loading} onClick={() => this.handleClickYes(context)}>\r\n Yes\r\n </CustomButton>\r\n </DialogActions>\r\n </Card>\r\n ))}\r\n </Box>\r\n )\r\n }\r\n\r\n handleClickNo = (context: IGlobalModalContext) => {\r\n context.close()\r\n this.props.onCancel && this.props.onCancel()\r\n }\r\n\r\n handleClickYes = async (context: IGlobalModalContext) => {\r\n if (!this.props.onSubmit) return\r\n try {\r\n this.setState({ loading: true })\r\n await fetchDelay(() => this.props.onSubmit(this.props.data), 700)\r\n context.close()\r\n } catch (error) {\r\n console.log(error)\r\n } finally {\r\n this.setState({ loading: false })\r\n }\r\n }\r\n }\r\n return FormConfirm\r\n}\r\nexport default CreateFormComfirm\r\n\r\nconst CustomButton = styled(Button)({\r\n textTransform: 'capitalize',\r\n fontWeight: 600,\r\n '&.MuiButton-colorInherit': {\r\n color: '#606060!important'\r\n }\r\n})\r\n"],"names":["CreateFormComfirm","param","FormConfirm","_Component","props","_this","_classCallCheck","_callSuper","handleClickNo","context","close","onCancel","handleClickYes","__awaiter","_regeneratorRuntime","mark","_callee","_this2","wrap","_callee$","_context","prev","next","onSubmit","abrupt","setState","loading","fetchDelay","data","t0","console","log","finish","stop","state","_inherits","_createClass","key","value","render","_this3","content","children","undefined","title","_b","React","createElement","Box","sx","flex","display","alignItems","justifyContent","MapGlobalModalContext","Card","DialogTitle","id","DialogContent","minWidth","DialogActions","CustomButton","disabled","color","_a","colors","no","onClick","yes","Component","styled","Button","textTransform","fontWeight"],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, extends as _extends, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest, __awaiter } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React, { Component, Fragment } from 'react';
|
|
4
|
+
import { Grid } from '@mui/material';
|
|
5
|
+
import '../api-context/alert-global.js';
|
|
6
|
+
import '../api-context/drawer-global.js';
|
|
7
|
+
import { MapGlobalModalContext } from '../api-context/global-modal.js';
|
|
8
|
+
import { CreateFormBottomBar, ContentWrap } from './create.form-grid-layout.units.js';
|
|
9
|
+
import CreateFormBase from './create.form-base.js';
|
|
10
|
+
import CreateInputBase from './create.input-base.js';
|
|
11
|
+
|
|
12
|
+
var CreateFormGridLayout = function CreateFormGridLayout(params) {
|
|
13
|
+
var FormBaseInstance = CreateFormBase();
|
|
14
|
+
var BottomBarInstance = CreateFormBottomBar();
|
|
15
|
+
var InputBaseInstance = CreateInputBase({
|
|
16
|
+
maxLength: 250
|
|
17
|
+
});
|
|
18
|
+
var FormGridLayout = /*#__PURE__*/function (_Component) {
|
|
19
|
+
function FormGridLayout(props) {
|
|
20
|
+
var _this;
|
|
21
|
+
_classCallCheck(this, FormGridLayout);
|
|
22
|
+
_this = _callSuper(this, FormGridLayout, [props]);
|
|
23
|
+
_this.renderContent = function () {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
var slots = _this.props.slots;
|
|
26
|
+
return /*#__PURE__*/React.createElement(ContentWrap, (_b = (_a = _this.props) === null || _a === void 0 ? void 0 : _a.slots) === null || _b === void 0 ? void 0 : _b.contentProps, (slots === null || slots === void 0 ? void 0 : slots.contentBefore) && (slots === null || slots === void 0 ? void 0 : slots.contentBefore), params === null || params === void 0 ? void 0 : params.contentBefore, /*#__PURE__*/React.createElement(Grid, {
|
|
27
|
+
container: true,
|
|
28
|
+
spacing: 2
|
|
29
|
+
}, params.configs.map(function (config, index) {
|
|
30
|
+
var _a;
|
|
31
|
+
var visibility = ((_a = _this.configMerged.inputVisibility) === null || _a === void 0 ? void 0 : _a[config.key]) ? true : undefined;
|
|
32
|
+
if (visibility) return /*#__PURE__*/React.createElement(Fragment, {
|
|
33
|
+
key: config.key.toString() + index
|
|
34
|
+
});
|
|
35
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
36
|
+
key: config.key.toString() + index
|
|
37
|
+
}, /*#__PURE__*/React.createElement(Grid, _extends({
|
|
38
|
+
item: true,
|
|
39
|
+
xs: 12
|
|
40
|
+
}, config.reponsives), _this.renderFormFieldElement(config)));
|
|
41
|
+
})), params === null || params === void 0 ? void 0 : params.contentAfter, (slots === null || slots === void 0 ? void 0 : slots.contentAfter) && (slots === null || slots === void 0 ? void 0 : slots.contentAfter));
|
|
42
|
+
};
|
|
43
|
+
_this.renderFormFieldElement = function (config) {
|
|
44
|
+
var _a, _b, _c, _d;
|
|
45
|
+
var _e = _this.props;
|
|
46
|
+
_e.slots;
|
|
47
|
+
var otherProps = __rest(_e, ["slots"]);
|
|
48
|
+
var ElementComponent = (_a = config.inputElement) !== null && _a !== void 0 ? _a : InputBaseInstance;
|
|
49
|
+
var dValue = (_c = (_b = otherProps.data) === null || _b === void 0 ? void 0 : _b[config.key]) !== null && _c !== void 0 ? _c : config === null || config === void 0 ? void 0 : config.defaultValue;
|
|
50
|
+
var disabled = ((_d = _this.configMerged.inputDisabled) === null || _d === void 0 ? void 0 : _d[config.key]) ? true : undefined;
|
|
51
|
+
return FormBaseInstance.contextMapping(function (context) {
|
|
52
|
+
return /*#__PURE__*/React.createElement(ElementComponent, {
|
|
53
|
+
data: _this.props.data,
|
|
54
|
+
onBlur: context.onBlur,
|
|
55
|
+
messageErrors: context.messageErrors,
|
|
56
|
+
name: config.key,
|
|
57
|
+
label: config.label,
|
|
58
|
+
placeholder: config.placeholder,
|
|
59
|
+
disabled: disabled,
|
|
60
|
+
defaultValue: dValue
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
_this.loading = function () {
|
|
65
|
+
return _this.setState({
|
|
66
|
+
loadding: true
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
_this.unloading = function () {
|
|
70
|
+
return _this.setState({
|
|
71
|
+
loadding: false
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
_this.onSubmit = function (value, close) {
|
|
75
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
76
|
+
var _a, _b, slots, mapping, data;
|
|
77
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
78
|
+
while (1) switch (_context.prev = _context.next) {
|
|
79
|
+
case 0:
|
|
80
|
+
slots = this.props.slots;
|
|
81
|
+
mapping = (_a = params.submitMapping) !== null && _a !== void 0 ? _a : this.submitMapping;
|
|
82
|
+
data = mapping(value, this.props.data);
|
|
83
|
+
_context.prev = 3;
|
|
84
|
+
this.loading();
|
|
85
|
+
(_b = this.abortController) === null || _b === void 0 ? void 0 : _b.abort();
|
|
86
|
+
this.abortController = new AbortController();
|
|
87
|
+
_context.next = 9;
|
|
88
|
+
return this.props.onSubmit(data, this.abortController.signal);
|
|
89
|
+
case 9:
|
|
90
|
+
if (!(slots === null || slots === void 0 ? void 0 : slots.closeState) || slots.closeState.Success !== false) {
|
|
91
|
+
close && close();
|
|
92
|
+
this.props.onClose && this.props.onClose();
|
|
93
|
+
}
|
|
94
|
+
_context.next = 16;
|
|
95
|
+
break;
|
|
96
|
+
case 12:
|
|
97
|
+
_context.prev = 12;
|
|
98
|
+
_context.t0 = _context["catch"](3);
|
|
99
|
+
if ((slots === null || slots === void 0 ? void 0 : slots.closeState) && slots.closeState.Fail === true) {
|
|
100
|
+
close && close();
|
|
101
|
+
this.props.onClose && this.props.onClose();
|
|
102
|
+
}
|
|
103
|
+
if (this.props.onError) this.props.onError(_context.t0);
|
|
104
|
+
case 16:
|
|
105
|
+
_context.prev = 16;
|
|
106
|
+
this.unloading();
|
|
107
|
+
return _context.finish(16);
|
|
108
|
+
case 19:
|
|
109
|
+
case "end":
|
|
110
|
+
return _context.stop();
|
|
111
|
+
}
|
|
112
|
+
}, _callee, this, [[3, 12, 16, 19]]);
|
|
113
|
+
}));
|
|
114
|
+
};
|
|
115
|
+
_this.submitMapping = function (value, oldValue) {
|
|
116
|
+
return Object.assign({}, oldValue, value);
|
|
117
|
+
};
|
|
118
|
+
_this.getSxProps = function () {
|
|
119
|
+
var isLoading = _this.state.loadding;
|
|
120
|
+
return Object.assign(Object.assign({}, _this.props.sx), {
|
|
121
|
+
opacity: isLoading ? 0.7 : 1,
|
|
122
|
+
pointerEvents: isLoading ? 'none' : 'auto'
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
_this.state = {
|
|
126
|
+
loadding: false
|
|
127
|
+
};
|
|
128
|
+
return _this;
|
|
129
|
+
}
|
|
130
|
+
_inherits(FormGridLayout, _Component);
|
|
131
|
+
return _createClass(FormGridLayout, [{
|
|
132
|
+
key: "configMerged",
|
|
133
|
+
get: function get() {
|
|
134
|
+
var _a, _b, _c, _d;
|
|
135
|
+
return {
|
|
136
|
+
inputVisibility: (_b = (_a = this.props.slots) === null || _a === void 0 ? void 0 : _a.inputVisibility) !== null && _b !== void 0 ? _b : params.inputVisibility,
|
|
137
|
+
inputDisabled: (_d = (_c = this.props.slots) === null || _c === void 0 ? void 0 : _c.inputDisabled) !== null && _d !== void 0 ? _d : params.inputDisabled
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}, {
|
|
141
|
+
key: "render",
|
|
142
|
+
value: function render() {
|
|
143
|
+
var _this2 = this;
|
|
144
|
+
var _a, _b, _c;
|
|
145
|
+
var BottomBar = (_c = (_a = params === null || params === void 0 ? void 0 : params.action) !== null && _a !== void 0 ? _a : (_b = this.props.slots) === null || _b === void 0 ? void 0 : _b.action) !== null && _c !== void 0 ? _c : BottomBarInstance;
|
|
146
|
+
return MapGlobalModalContext(function (_ref) {
|
|
147
|
+
var close = _ref.close;
|
|
148
|
+
return /*#__PURE__*/React.createElement(FormBaseInstance.Form, {
|
|
149
|
+
validate: params.validate,
|
|
150
|
+
onSubmit: function onSubmit(v) {
|
|
151
|
+
return _this2.onSubmit(v, close);
|
|
152
|
+
},
|
|
153
|
+
sx: _this2.getSxProps()
|
|
154
|
+
}, _this2.renderContent(), FormBaseInstance.contextMapping(function (context) {
|
|
155
|
+
var _a;
|
|
156
|
+
return /*#__PURE__*/React.createElement(BottomBar, {
|
|
157
|
+
data: _this2.props.data,
|
|
158
|
+
onBlur: context.onBlur,
|
|
159
|
+
messageErrors: context.messageErrors,
|
|
160
|
+
before: (_a = _this2.props.slots) === null || _a === void 0 ? void 0 : _a.actionBefore
|
|
161
|
+
});
|
|
162
|
+
}));
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
key: "componentWillUnmount",
|
|
167
|
+
value: function componentWillUnmount() {
|
|
168
|
+
var _a;
|
|
169
|
+
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
170
|
+
}
|
|
171
|
+
}]);
|
|
172
|
+
}(Component);
|
|
173
|
+
return FormGridLayout;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export { CreateFormGridLayout as default };
|
|
177
|
+
//# sourceMappingURL=create.form-grid-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.form-grid-layout.js","sources":["../../../src/form/create.form-grid-layout.tsx"],"sourcesContent":["import React, { Component, Fragment } from 'react'\r\nimport { BoxProps, Grid, RegularBreakpoints, SxProps, Theme } from '@mui/material'\r\nimport { IFormBase, IFormInputBase } from './types'\r\nimport { MapGlobalModalContext } from '../api-context'\r\nimport { ContentWrap, CreateFormBottomBar } from './create.form-grid-layout.units'\r\nimport FormValidator from './validator'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputBase from './create.input-base'\r\n\r\nexport interface IFormGridLayoutConfig<T> {\r\n key: keyof T\r\n label?: string\r\n placeholder?: string\r\n reponsives?: RegularBreakpoints\r\n defaultValue?: any\r\n inputElement?: React.ComponentType<IFormInputBase<T>>\r\n}\r\n\r\ntype TSubmitMapping<T> = (value: Partial<T>, oldValue?: T) => Partial<T>\r\n\r\ninterface ISlots<T> {\r\n action?: React.ComponentType<IFormBase<T>>\r\n actionBefore?: JSX.Element\r\n contentBefore?: JSX.Element\r\n contentAfter?: JSX.Element\r\n inputVisibility?: Partial<Record<keyof T, boolean>>\r\n inputDisabled?: Partial<Record<keyof T, boolean>>\r\n closeState?: { Success?: boolean; Fail?: boolean }\r\n contentProps?: BoxProps\r\n}\r\n\r\ninterface IParams<T> extends ISlots<T> {\r\n configs: IFormGridLayoutConfig<T>[]\r\n validate: FormValidator<Partial<T>>\r\n submitMapping?: TSubmitMapping<T>\r\n}\r\n\r\nconst CreateFormGridLayout = function <T>(params: IParams<T>) {\r\n const FormBaseInstance = CreateFormBase<T>()\r\n const BottomBarInstance = CreateFormBottomBar<T>()\r\n const InputBaseInstance = CreateInputBase<T>({ maxLength: 250 })\r\n\r\n interface IFormGridLayoutProps {\r\n data?: T\r\n onSubmit: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n onError?: (error: any) => void\r\n onClose?: () => void\r\n sx?: SxProps<Theme>\r\n slots?: ISlots<T>\r\n }\r\n\r\n interface IState {\r\n loadding?: boolean\r\n }\r\n\r\n class FormGridLayout extends Component<IFormGridLayoutProps, IState> {\r\n private abortController?: AbortController\r\n constructor(props: IFormGridLayoutProps) {\r\n super(props)\r\n this.state = { loadding: false }\r\n }\r\n\r\n get configMerged() {\r\n return {\r\n inputVisibility: this.props.slots?.inputVisibility ?? params.inputVisibility,\r\n inputDisabled: this.props.slots?.inputDisabled ?? params.inputDisabled\r\n }\r\n }\r\n\r\n render() {\r\n const BottomBar = params?.action ?? this.props.slots?.action ?? BottomBarInstance\r\n return MapGlobalModalContext(({ close }) => (\r\n <FormBaseInstance.Form validate={params.validate} onSubmit={(v) => this.onSubmit(v, close)} sx={this.getSxProps()}>\r\n {this.renderContent()}\r\n {FormBaseInstance.contextMapping((context) => (\r\n <BottomBar data={this.props.data} onBlur={context.onBlur} messageErrors={context.messageErrors} before={this.props.slots?.actionBefore} />\r\n ))}\r\n </FormBaseInstance.Form>\r\n ))\r\n }\r\n\r\n renderContent = () => {\r\n const { slots } = this.props\r\n return (\r\n <ContentWrap {...this.props?.slots?.contentProps}>\r\n {slots?.contentBefore && slots?.contentBefore}\r\n {params?.contentBefore}\r\n <Grid container spacing={2}>\r\n {params.configs.map((config, index) => {\r\n const visibility: boolean | undefined = this.configMerged.inputVisibility?.[config.key] ? true : undefined\r\n if (visibility) return <Fragment key={config.key.toString() + index} />\r\n return (\r\n <Fragment key={config.key.toString() + index}>\r\n <Grid item xs={12} {...config.reponsives}>\r\n {this.renderFormFieldElement(config)}\r\n </Grid>\r\n </Fragment>\r\n )\r\n })}\r\n </Grid>\r\n {params?.contentAfter}\r\n {slots?.contentAfter && slots?.contentAfter}\r\n </ContentWrap>\r\n )\r\n }\r\n\r\n renderFormFieldElement = (config: IFormGridLayoutConfig<T>) => {\r\n const { slots, ...otherProps } = this.props\r\n const ElementComponent = config.inputElement ?? InputBaseInstance\r\n const dValue = otherProps.data?.[config.key] ?? config?.defaultValue\r\n const disabled: boolean | undefined = this.configMerged.inputDisabled?.[config.key] ? true : undefined\r\n return FormBaseInstance.contextMapping((context) => (\r\n <ElementComponent\r\n data={this.props.data}\r\n onBlur={context.onBlur}\r\n messageErrors={context.messageErrors}\r\n name={config.key}\r\n label={config.label}\r\n placeholder={config.placeholder}\r\n disabled={disabled}\r\n defaultValue={dValue}\r\n />\r\n ))\r\n }\r\n\r\n loading = () => this.setState({ loadding: true })\r\n\r\n unloading = () => this.setState({ loadding: false })\r\n\r\n componentWillUnmount(): void {\r\n this.abortController?.abort()\r\n }\r\n\r\n onSubmit = async (value: Partial<T>, close?: () => void) => {\r\n const { slots } = this.props\r\n const mapping = params.submitMapping ?? this.submitMapping\r\n const data = mapping(value, this.props.data)\r\n try {\r\n this.loading()\r\n this.abortController?.abort()\r\n this.abortController = new AbortController()\r\n await this.props.onSubmit(data, this.abortController.signal)\r\n if (!slots?.closeState || slots.closeState.Success !== false) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n } catch (error) {\r\n if (slots?.closeState && slots.closeState.Fail === true) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n if (this.props.onError) this.props.onError(error)\r\n } finally {\r\n this.unloading()\r\n }\r\n }\r\n\r\n submitMapping: TSubmitMapping<T> = (value, oldValue) => {\r\n return Object.assign({}, oldValue, value)\r\n }\r\n\r\n getSxProps = (): SxProps<Theme> => {\r\n const isLoading = this.state.loadding\r\n return { ...this.props.sx, opacity: isLoading ? 0.7 : 1, pointerEvents: isLoading ? 'none' : 'auto' }\r\n }\r\n }\r\n return FormGridLayout\r\n}\r\n\r\nexport default CreateFormGridLayout\r\n"],"names":["CreateFormGridLayout","params","FormBaseInstance","CreateFormBase","BottomBarInstance","CreateFormBottomBar","InputBaseInstance","CreateInputBase","maxLength","FormGridLayout","_Component","props","_this","_classCallCheck","_callSuper","renderContent","slots","React","createElement","ContentWrap","_b","_a","contentProps","contentBefore","Grid","container","spacing","configs","map","config","index","visibility","configMerged","inputVisibility","key","undefined","Fragment","toString","_extends","item","xs","reponsives","renderFormFieldElement","contentAfter","_e","otherProps","__rest","ElementComponent","inputElement","dValue","_c","data","defaultValue","disabled","_d","inputDisabled","contextMapping","context","onBlur","messageErrors","name","label","placeholder","loading","setState","loadding","unloading","onSubmit","value","close","__awaiter","_regeneratorRuntime","mark","_callee","mapping","wrap","_callee$","_context","prev","next","submitMapping","abortController","abort","AbortController","signal","closeState","Success","onClose","t0","Fail","onError","finish","stop","oldValue","Object","assign","getSxProps","isLoading","state","sx","opacity","pointerEvents","_inherits","_createClass","get","render","_this2","BottomBar","action","MapGlobalModalContext","_ref","Form","validate","v","before","actionBefore","componentWillUnmount","Component"],"mappings":";;;;;;;;;;;AAqCA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAgBC,MAAkB,EAAA;AAC1D,EAAA,IAAMC,gBAAgB,GAAGC,cAAc,EAAK;AAC5C,EAAA,IAAMC,iBAAiB,GAAGC,mBAAmB,EAAK;EAClD,IAAMC,iBAAiB,GAAGC,eAAe,CAAI;AAAEC,IAAAA,SAAS,EAAE;AAAK,GAAA,CAAC;EAAA,IAe1DC,cAAe,0BAAAC,UAAA,EAAA;IAEnB,SAAAD,cAAAA,CAAYE,KAA2B,EAAA;AAAA,MAAA,IAAAC,KAAA;AAAAC,MAAAA,eAAA,OAAAJ,cAAA,CAAA;AACrCG,MAAAA,KAAA,GAAAE,UAAA,CAAAL,IAAAA,EAAAA,cAAA,GAAME,KAAK,CAAA,CAAA;MAuBbC,KAAA,CAAaG,aAAA,GAAG,YAAK;;AACnB,QAAA,IAAQC,KAAK,GAAKJ,KAAA,CAAKD,KAAK,CAApBK,KAAK;QACb,oBACEC,KAAA,CAAAC,aAAA,CAACC,WAAW,EAAK,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAT,KAAA,CAAKD,KAAK,MAAE,IAAA,IAAAU,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAL,KAAK,MAAE,IAAA,IAAAI,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAE,YAAY,EAC7C,CAAAN,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEO,aAAa,MAAIP,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEO,aAAa,CAAA,EAC5CtB,MAAM,KAAN,IAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEsB,aAAa,eACtBN,KAAA,CAAAC,aAAA,CAACM,IAAI,EAAA;UAACC,SAAS,EAAA,IAAA;AAACC,UAAAA,OAAO,EAAE;SACtBzB,EAAAA,MAAM,CAAC0B,OAAO,CAACC,GAAG,CAAC,UAACC,MAAM,EAAEC,KAAK,EAAI;;AACpC,UAAA,IAAMC,UAAU,GAAwB,CAAA,CAAAV,EAAA,GAAAT,KAAA,CAAKoB,YAAY,CAACC,eAAe,MAAG,IAAA,IAAAZ,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAQ,MAAM,CAACK,GAAG,CAAC,IAAG,IAAI,GAAGC,SAAS;AAC1G,UAAA,IAAIJ,UAAU,EAAE,oBAAOd,KAAA,CAAAC,aAAA,CAACkB,QAAQ,EAAA;YAACF,GAAG,EAAEL,MAAM,CAACK,GAAG,CAACG,QAAQ,EAAE,GAAGP;AAAM,YAAG;AACvE,UAAA,oBACEb,KAAA,CAAAC,aAAA,CAACkB,QAAQ,EAAA;YAACF,GAAG,EAAEL,MAAM,CAACK,GAAG,CAACG,QAAQ,EAAE,GAAGP;AAAM,WAAA,eAC3Cb,KAAA,CAAAC,aAAA,CAACM,IAAI,EAAAc,QAAA,CAAA;YAACC,IAAI,EAAA,IAAA;AAACC,YAAAA,EAAE,EAAE;WAAQX,EAAAA,MAAM,CAACY,UAAU,CACrC7B,EAAAA,KAAA,CAAK8B,sBAAsB,CAACb,MAAM,CAC/B,CACE,CAAC;SAEd,CACG,CACN,EAAC5B,MAAM,KAAN,IAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE0C,YAAY,EACpB,CAAA3B,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2B,YAAY,MAAI3B,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2B,YAAY,CAChC,CAAC;OAEjB;AAED/B,MAAAA,KAAA,CAAA8B,sBAAsB,GAAG,UAACb,MAAgC,EAAI;;AACtD,QAAA,IAAAe,EAA2B,GAAAhC,KAAA,CAAKD,KAAK;UAA9BiC,EAA8B,CAAnC5B,KAAK;cAAK6B,UAAU,GAAtBC,MAAA,CAAAF,EAAA,EAAA,CAAA,OAAA,CAAwB;AAC9B,QAAA,IAAMG,gBAAgB,GAAG,CAAA1B,EAAA,GAAAQ,MAAM,CAACmB,YAAY,MAAA,IAAA,IAAA3B,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIf,iBAAiB;QACjE,IAAM2C,MAAM,GAAG,CAAAC,EAAA,GAAA,CAAA9B,EAAA,GAAAyB,UAAU,CAACM,IAAI,0CAAGtB,MAAM,CAACK,GAAG,CAAC,MAAA,IAAA,IAAAgB,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAIrB,MAAM,KAAN,IAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEuB,YAAY;AACpE,QAAA,IAAMC,QAAQ,GAAwB,CAAA,CAAAC,EAAA,GAAA1C,KAAA,CAAKoB,YAAY,CAACuB,aAAa,MAAG,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAzB,MAAM,CAACK,GAAG,CAAC,IAAG,IAAI,GAAGC,SAAS;AACtG,QAAA,OAAOjC,gBAAgB,CAACsD,cAAc,CAAC,UAACC,OAAO,EAAA;AAAA,UAAA,oBAC7CxC,KAAA,CAAAC,aAAA,CAAC6B,gBAAgB,EAAA;AACfI,YAAAA,IAAI,EAAEvC,KAAA,CAAKD,KAAK,CAACwC,IAAK;YACtBO,MAAM,EAAED,OAAO,CAACC,MAAO;YACvBC,aAAa,EAAEF,OAAO,CAACE,aAAc;YACrCC,IAAI,EAAE/B,MAAM,CAACK,GAAI;YACjB2B,KAAK,EAAEhC,MAAM,CAACgC,KAAM;YACpBC,WAAW,EAAEjC,MAAM,CAACiC,WAAY;AAChCT,YAAAA,QAAQ,EAAEA,QAAS;AACnBD,YAAAA,YAAY,EAAEH;AAAO,WACrB,CAAA;AAAA,SACH,CAAC;OACH;MAEDrC,KAAA,CAAAmD,OAAO,GAAG,YAAA;QAAA,OAAMnD,KAAA,CAAKoD,QAAQ,CAAC;AAAEC,UAAAA,QAAQ,EAAE;AAAI,SAAE,CAAC;AAAA,OAAA;MAEjDrD,KAAA,CAAAsD,SAAS,GAAG,YAAA;QAAA,OAAMtD,KAAA,CAAKoD,QAAQ,CAAC;AAAEC,UAAAA,QAAQ,EAAE;AAAK,SAAE,CAAC;AAAA,OAAA;AAMpDrD,MAAAA,KAAA,CAAAuD,QAAQ,GAAG,UAAOC,KAAiB,EAAEC,KAAkB,EAAA;AAAA,QAAA,OAAIC,SAAA,CAAA1D,KAAA,EAAA,MAAA,EAAA,MAAA,eAAA2D,mBAAA,EAAA,CAAAC,IAAA,CAAA,SAAAC,OAAA,GAAA;UAAA,IAAApD,EAAA,EAAAD,EAAA,EAAAJ,KAAA,EAAA0D,OAAA,EAAAvB,IAAA;AAAA,UAAA,OAAAoB,mBAAA,EAAA,CAAAI,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,cAAA,KAAA,CAAA;AACjD/D,gBAAAA,KAAK,GAAK,IAAI,CAACL,KAAK,CAApBK,KAAK;AACP0D,gBAAAA,OAAO,GAAG,CAAArD,EAAA,GAAApB,MAAM,CAAC+E,aAAa,MAAI,IAAA,IAAA3D,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAA,IAAI,CAAC2D,aAAa;gBACpD7B,IAAI,GAAGuB,OAAO,CAACN,KAAK,EAAE,IAAI,CAACzD,KAAK,CAACwC,IAAI,CAAC;AAAA0B,gBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;gBAE1C,IAAI,CAACf,OAAO,EAAE;gBACd,CAAA3C,EAAA,GAAA,IAAI,CAAC6D,eAAe,MAAE,IAAA,IAAA7D,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAA8D,KAAK,EAAE;AAC7B,gBAAA,IAAI,CAACD,eAAe,GAAG,IAAIE,eAAe,EAAE;AAAAN,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAC5C,gBAAA,OAAM,IAAI,CAACpE,KAAK,CAACwD,QAAQ,CAAChB,IAAI,EAAE,IAAI,CAAC8B,eAAe,CAACG,MAAM,CAAC;AAAA,cAAA,KAAA,CAAA;gBAC5D,IAAI,EAACpE,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEqE,UAAU,CAAA,IAAIrE,KAAK,CAACqE,UAAU,CAACC,OAAO,KAAK,KAAK,EAAE;kBAC5DjB,KAAK,IAAIA,KAAK,EAAE;kBAChB,IAAI,CAAC1D,KAAK,CAAC4E,OAAO,IAAI,IAAI,CAAC5E,KAAK,CAAC4E,OAAO,EAAE;AAC3C;AAAAV,gBAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,gBAAA;AAAA,cAAA,KAAA,EAAA;AAAAF,gBAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;gBAAAD,QAAA,CAAAW,EAAA,GAAAX,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;gBAED,IAAI,CAAA7D,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEqE,UAAU,KAAIrE,KAAK,CAACqE,UAAU,CAACI,IAAI,KAAK,IAAI,EAAE;kBACvDpB,KAAK,IAAIA,KAAK,EAAE;kBAChB,IAAI,CAAC1D,KAAK,CAAC4E,OAAO,IAAI,IAAI,CAAC5E,KAAK,CAAC4E,OAAO,EAAE;AAC3C;AACD,gBAAA,IAAI,IAAI,CAAC5E,KAAK,CAAC+E,OAAO,EAAE,IAAI,CAAC/E,KAAK,CAAC+E,OAAO,CAAAb,QAAA,CAAAW,EAAM,CAAC;AAAA,cAAA,KAAA,EAAA;AAAAX,gBAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;gBAEjD,IAAI,CAACZ,SAAS,EAAE;gBAAA,OAAAW,QAAA,CAAAc,MAAA,CAAA,EAAA,CAAA;AAAA,cAAA,KAAA,EAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAAd,QAAA,CAAAe,IAAA,EAAA;AAAA;AAAA,WAAA,EAAAnB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AAAA,SAEnB,CAAA,CAAA;AAAA,OAAA;AAED7D,MAAAA,KAAA,CAAAoE,aAAa,GAAsB,UAACZ,KAAK,EAAEyB,QAAQ,EAAI;QACrD,OAAOC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEF,QAAQ,EAAEzB,KAAK,CAAC;OAC1C;MAEDxD,KAAA,CAAUoF,UAAA,GAAG,YAAqB;AAChC,QAAA,IAAMC,SAAS,GAAGrF,KAAA,CAAKsF,KAAK,CAACjC,QAAQ;AACrC,QAAA,OAAA6B,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAYnF,KAAA,CAAKD,KAAK,CAACwF,EAAE,CAAA,EAAA;AAAEC,UAAAA,OAAO,EAAEH,SAAS,GAAG,GAAG,GAAG,CAAC;AAAEI,UAAAA,aAAa,EAAEJ,SAAS,GAAG,MAAM,GAAG;AAAQ,SAAA,CAAA;OACtG;MAzGCrF,KAAA,CAAKsF,KAAK,GAAG;AAAEjC,QAAAA,QAAQ,EAAE;OAAO;AAAA,MAAA,OAAArD,KAAA;AAClC;IAAC0F,SAAA,CAAA7F,cAAA,EAAAC,UAAA,CAAA;IAAA,OAAA6F,YAAA,CAAA9F,cAAA,EAAA,CAAA;MAAAyB,GAAA,EAAA,cAAA;MAAAsE,GAAA,EAED,SAAAA,GAAAA,GAAgB;;QACd,OAAO;AACLvE,UAAAA,eAAe,EAAE,CAAAb,EAAA,GAAA,CAAAC,EAAA,GAAA,IAAI,CAACV,KAAK,CAACK,KAAK,MAAE,IAAA,IAAAK,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAY,eAAe,MAAI,IAAA,IAAAb,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAAnB,MAAM,CAACgC,eAAe;AAC5EsB,UAAAA,aAAa,EAAE,CAAAD,EAAA,GAAA,CAAAJ,EAAA,GAAA,IAAI,CAACvC,KAAK,CAACK,KAAK,MAAE,IAAA,IAAAkC,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAK,aAAa,MAAI,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAArD,MAAM,CAACsD;SAC1D;AACH;AAAC,KAAA,EAAA;MAAArB,GAAA,EAAA,QAAA;AAAAkC,MAAAA,KAAA,EAED,SAAAqC,MAAMA,GAAA;AAAA,QAAA,IAAAC,MAAA,GAAA,IAAA;;AACJ,QAAA,IAAMC,SAAS,GAAG,CAAAzD,EAAA,GAAA,CAAA7B,EAAA,GAAApB,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,MAAA,GAAA,MAAA,GAAAA,MAAM,CAAE2G,MAAM,mCAAI,CAAAxF,EAAA,GAAA,IAAI,CAACT,KAAK,CAACK,KAAK,MAAE,IAAA,IAAAI,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAwF,MAAM,MAAI,IAAA,IAAA1D,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAA9C,iBAAiB;QACjF,OAAOyG,qBAAqB,CAAC,UAAAC,IAAA,EAAA;AAAA,UAAA,IAAGzC,KAAK,GAAAyC,IAAA,CAALzC,KAAK;AAAA,UAAA,oBACnCpD,KAAA,CAAAC,aAAA,CAAChB,gBAAgB,CAAC6G,IAAI,EAAA;YAACC,QAAQ,EAAE/G,MAAM,CAAC+G,QAAS;AAAC7C,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG8C,CAAC,EAAA;AAAA,cAAA,OAAKP,MAAI,CAACvC,QAAQ,CAAC8C,CAAC,EAAE5C,KAAK,CAAC;aAAC;AAAC8B,YAAAA,EAAE,EAAEO,MAAI,CAACV,UAAU;AAAG,WAAA,EAC/GU,MAAI,CAAC3F,aAAa,EAAE,EACpBb,gBAAgB,CAACsD,cAAc,CAAC,UAACC,OAAO,EAAI;;AAAC,YAAA,oBAC5CxC,KAAA,CAAAC,aAAA,CAACyF,SAAS,EAAA;AAACxD,cAAAA,IAAI,EAAEuD,MAAI,CAAC/F,KAAK,CAACwC,IAAK;cAACO,MAAM,EAAED,OAAO,CAACC,MAAO;cAACC,aAAa,EAAEF,OAAO,CAACE,aAAc;cAACuD,MAAM,EAAE,CAAA7F,EAAA,GAAAqF,MAAI,CAAC/F,KAAK,CAACK,KAAK,MAAA,IAAA,IAAAK,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAE8F;AAAa,aAAA,CAAG;AAC3I,WAAA,CACoB,CAAC;AAAA,SACzB,CAAC;AACJ;AAAC,KAAA,EAAA;MAAAjF,GAAA,EAAA,sBAAA;AAAAkC,MAAAA,KAAA,EAkDD,SAAAgD,oBAAoBA,GAAA;;QAClB,CAAA/F,EAAA,GAAA,IAAI,CAAC4D,eAAe,MAAE,IAAA,IAAA5D,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAA6D,KAAK,EAAE;AAC/B;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CA5E0BmC,SAAuC,CAAA;AA+GpE,EAAA,OAAO5G,cAAc;AACvB;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { styled, Box, Button } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
var ContentWrap = styled(Box)({
|
|
5
|
+
padding: '16px 12px 3px',
|
|
6
|
+
maxHeight: "calc(100vh - ".concat(48 * 2 + 12 * 2, "px)"),
|
|
7
|
+
overflowY: 'auto',
|
|
8
|
+
overflowX: 'hidden'
|
|
9
|
+
});
|
|
10
|
+
function CreateFormBottomBar() {
|
|
11
|
+
var FormBottomBar = function FormBottomBar(props) {
|
|
12
|
+
return /*#__PURE__*/React.createElement(FormBottomBarWrap, {
|
|
13
|
+
className: "bottom-bar"
|
|
14
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
15
|
+
sx: {
|
|
16
|
+
flex: 1
|
|
17
|
+
}
|
|
18
|
+
}, props.before), /*#__PURE__*/React.createElement(Button, {
|
|
19
|
+
variant: "contained",
|
|
20
|
+
type: "submit",
|
|
21
|
+
size: "small"
|
|
22
|
+
}, "Submit"));
|
|
23
|
+
};
|
|
24
|
+
return FormBottomBar;
|
|
25
|
+
}
|
|
26
|
+
var FormBottomBarWrap = styled(Box)({
|
|
27
|
+
display: 'flex',
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
padding: '0 12px',
|
|
30
|
+
boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',
|
|
31
|
+
position: 'sticky',
|
|
32
|
+
bottom: 0,
|
|
33
|
+
backgroundColor: '#fff',
|
|
34
|
+
zIndex: 1,
|
|
35
|
+
height: '48px'
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export { ContentWrap, CreateFormBottomBar, FormBottomBarWrap };
|
|
39
|
+
//# sourceMappingURL=create.form-grid-layout.units.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.form-grid-layout.units.js","sources":["../../../src/form/create.form-grid-layout.units.tsx"],"sourcesContent":["import React, { FC, ReactNode } from 'react'\r\nimport { Box, Button, styled } from '@mui/material'\r\nimport { IFormBase } from './types'\r\n\r\nexport const ContentWrap = styled(Box)({\r\n padding: '16px 12px 3px',\r\n maxHeight: `calc(100vh - ${48 * 2 + 12 * 2}px)`,\r\n overflowY: 'auto',\r\n overflowX: 'hidden'\r\n})\r\n\r\nexport function CreateFormBottomBar<T>() {\r\n interface Props extends IFormBase<T> {\r\n before?: ReactNode\r\n }\r\n const FormBottomBar: FC<Props> = (props) => (\r\n <FormBottomBarWrap className='bottom-bar'>\r\n <Box sx={{ flex: 1 }}>{props.before}</Box>\r\n <Button variant='contained' type='submit' size='small'>\r\n Submit\r\n </Button>\r\n </FormBottomBarWrap>\r\n )\r\n return FormBottomBar\r\n}\r\n\r\nexport const FormBottomBarWrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 12px',\r\n boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',\r\n position: 'sticky',\r\n bottom: 0,\r\n backgroundColor: '#fff',\r\n zIndex: 1,\r\n height: '48px'\r\n})\r\n"],"names":["ContentWrap","styled","Box","padding","maxHeight","concat","overflowY","overflowX","CreateFormBottomBar","FormBottomBar","props","React","createElement","FormBottomBarWrap","className","sx","flex","before","Button","variant","type","size","display","alignItems","boxShadow","position","bottom","backgroundColor","zIndex","height"],"mappings":";;;IAIaA,WAAW,GAAGC,MAAM,CAACC,GAAG,CAAC,CAAC;AACrCC,EAAAA,OAAO,EAAE,eAAe;EACxBC,SAAS,EAAA,eAAA,CAAAC,MAAA,CAAkB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAK,KAAA,CAAA;AAC/CC,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,SAAS,EAAE;AACZ,CAAA;SAEeC,mBAAmBA,GAAA;AAIjC,EAAA,IAAMC,aAAa,GAAc,SAA3BA,aAAaA,CAAeC,KAAK,EAAA;AAAA,IAAA,oBACrCC,KAAA,CAAAC,aAAA,CAACC,iBAAiB,EAAA;AAACC,MAAAA,SAAS,EAAC;AAAY,KAAA,eACvCH,KAAA,CAAAC,aAAA,CAACV,GAAG,EAAA;AAACa,MAAAA,EAAE,EAAE;AAAEC,QAAAA,IAAI,EAAE;;KAAMN,EAAAA,KAAK,CAACO,MAAY,CACzC,eAAAN,KAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AAACC,MAAAA,OAAO,EAAC,WAAW;AAACC,MAAAA,IAAI,EAAC,QAAQ;AAACC,MAAAA,IAAI,EAAC;KAC7C,EAAA,QACM,CACS,CAAC;GACrB;AACD,EAAA,OAAOZ,aAAa;AACtB;IAEaI,iBAAiB,GAAGZ,MAAM,CAACC,GAAG,CAAC,CAAC;AAC3CoB,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,UAAU,EAAE,QAAQ;AACpBpB,EAAAA,OAAO,EAAE,QAAQ;AACjBqB,EAAAA,SAAS,EAAE,uFAAuF;AAClGC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,eAAe,EAAE,MAAM;AACvBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAE;AACT,CAAA;;;;"}
|