dinocollab-core 1.0.3 → 1.0.5
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/create.multi-select-dropdown.js +2 -0
- package/dist/components/create.multi-select-dropdown.js.map +1 -0
- 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/filter-bar/base.js +2 -0
- package/dist/filter-bar/base.js.map +1 -0
- package/dist/filter-bar/create.filter-bar.js +2 -0
- package/dist/filter-bar/create.filter-bar.js.map +1 -0
- package/dist/filter-bar/create.filter-menu.js +2 -0
- package/dist/filter-bar/create.filter-menu.js.map +1 -0
- package/dist/filter-bar/create.filter-panel.js +2 -0
- package/dist/filter-bar/create.filter-panel.js.map +1 -0
- package/dist/filter-bar/create.filtered.js +2 -0
- package/dist/filter-bar/create.filtered.js.map +1 -0
- package/dist/filter-bar/create.sort-menu.js +2 -0
- package/dist/filter-bar/create.sort-menu.js.map +1 -0
- package/dist/filter-bar/demo.js +2 -0
- package/dist/filter-bar/demo.js.map +1 -0
- package/dist/filter-bar/types.js +2 -0
- package/dist/filter-bar/types.js.map +1 -0
- package/dist/filter-bar/ui.units.js +2 -0
- package/dist/filter-bar/ui.units.js.map +1 -0
- 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/table-grid/create.table-grid.js +2 -0
- package/dist/table-grid/create.table-grid.js.map +1 -0
- package/dist/table-grid/dino.js +2 -0
- package/dist/table-grid/dino.js.map +1 -0
- package/dist/table-grid/helpers.js +2 -0
- package/dist/table-grid/helpers.js.map +1 -0
- package/dist/table-grid/item-actions.js +2 -0
- package/dist/table-grid/item-actions.js.map +1 -0
- package/dist/table-grid/toolbar-pannel.js +2 -0
- package/dist/table-grid/toolbar-pannel.js.map +1 -0
- package/dist/types/{lab → components}/create.multi-select-dropdown.d.ts +5 -5
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/lab/{create.select-mul-with-api/index.d.ts → select-mul-with-api/create.select-mul-with-api.d.ts} +1 -1
- package/dist/types/lab/select-mul-with-api/index.d.ts +2 -0
- package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/types.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/item-actions.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/toolbar-pannel.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/types.d.ts +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 +3 -8
- package/dist/index.d.ts +0 -928
- /package/dist/types/{lab/filter-bar → filter-bar}/base.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-bar.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-menu.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-panel.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filtered.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.sort-menu.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/demo.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/index.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/types.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/ui.units.d.ts +0 -0
- /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/table-custom.d.ts +0 -0
- /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/ui.units.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/create.table-grid.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/demo.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/dino.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/helpers.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/index.d.ts +0 -0
|
@@ -1,188 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Fragment, Component } 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 CreateInput from './create.input.js';
|
|
10
|
-
import CreateFormBase from './create.form-base.js';
|
|
11
|
-
|
|
12
|
-
var _excluded = ["slots"];
|
|
13
|
-
var CreateFormGridLayout = function CreateFormGridLayout(params) {
|
|
14
|
-
var FormBaseInstance = CreateFormBase();
|
|
15
|
-
var BottomBarInstance = CreateFormBottomBar();
|
|
16
|
-
var InputBaseInstance = CreateInput({
|
|
17
|
-
maxLength: 250
|
|
18
|
-
});
|
|
19
|
-
var FormGridLayout = /*#__PURE__*/function (_Component) {
|
|
20
|
-
function FormGridLayout(props) {
|
|
21
|
-
var _this;
|
|
22
|
-
_classCallCheck(this, FormGridLayout);
|
|
23
|
-
_this = _callSuper(this, FormGridLayout, [props]);
|
|
24
|
-
_defineProperty(_this, "renderContent", function () {
|
|
25
|
-
var _this$props;
|
|
26
|
-
var slots = _this.props.slots;
|
|
27
|
-
return jsxs(ContentWrap, _objectSpread2(_objectSpread2({}, (_this$props = _this.props) === null || _this$props === void 0 || (_this$props = _this$props.slots) === null || _this$props === void 0 ? void 0 : _this$props.contentProps), {}, {
|
|
28
|
-
children: [(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, jsx(Grid, {
|
|
29
|
-
container: true,
|
|
30
|
-
spacing: 2,
|
|
31
|
-
children: params.configs.map(function (config, index) {
|
|
32
|
-
var _this$configMerged$in;
|
|
33
|
-
var visibility = (_this$configMerged$in = _this.configMerged.inputVisibility) !== null && _this$configMerged$in !== void 0 && _this$configMerged$in[config.key] ? true : undefined;
|
|
34
|
-
if (visibility) return jsx(Fragment, {}, config.key.toString() + index);
|
|
35
|
-
return jsx(Fragment, {
|
|
36
|
-
children: jsx(Grid, _objectSpread2(_objectSpread2({
|
|
37
|
-
item: true,
|
|
38
|
-
xs: 12
|
|
39
|
-
}, config.reponsives), {}, {
|
|
40
|
-
children: _this.renderFormFieldElement(config)
|
|
41
|
-
}))
|
|
42
|
-
}, config.key.toString() + index);
|
|
43
|
-
})
|
|
44
|
-
}), 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)]
|
|
45
|
-
}));
|
|
46
|
-
});
|
|
47
|
-
_defineProperty(_this, "renderFormFieldElement", function (config) {
|
|
48
|
-
var _config$inputElement, _otherProps$data$conf, _otherProps$data, _this$configMerged$in2;
|
|
49
|
-
var _this$props2 = _this.props;
|
|
50
|
-
_this$props2.slots;
|
|
51
|
-
var otherProps = _objectWithoutProperties(_this$props2, _excluded);
|
|
52
|
-
var ElementComponent = (_config$inputElement = config.inputElement) !== null && _config$inputElement !== void 0 ? _config$inputElement : InputBaseInstance;
|
|
53
|
-
var dValue = (_otherProps$data$conf = (_otherProps$data = otherProps.data) === null || _otherProps$data === void 0 ? void 0 : _otherProps$data[config.key]) !== null && _otherProps$data$conf !== void 0 ? _otherProps$data$conf : config === null || config === void 0 ? void 0 : config.defaultValue;
|
|
54
|
-
var disabled = (_this$configMerged$in2 = _this.configMerged.inputDisabled) !== null && _this$configMerged$in2 !== void 0 && _this$configMerged$in2[config.key] ? true : undefined;
|
|
55
|
-
return FormBaseInstance.contextMapping(function (context) {
|
|
56
|
-
return jsx(ElementComponent, {
|
|
57
|
-
data: _this.props.data,
|
|
58
|
-
onBlur: context.onBlur,
|
|
59
|
-
messageErrors: context.messageErrors,
|
|
60
|
-
name: config.key,
|
|
61
|
-
label: config.label,
|
|
62
|
-
placeholder: config.placeholder,
|
|
63
|
-
disabled: disabled,
|
|
64
|
-
defaultValue: dValue
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
_defineProperty(_this, "loading", function () {
|
|
69
|
-
return _this.setState({
|
|
70
|
-
loadding: true
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
_defineProperty(_this, "unloading", function () {
|
|
74
|
-
return _this.setState({
|
|
75
|
-
loadding: false
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
_defineProperty(_this, "onSubmit", /*#__PURE__*/function () {
|
|
79
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(value, close) {
|
|
80
|
-
var _params$submitMapping;
|
|
81
|
-
var slots, mapping, data, _this$abortController;
|
|
82
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
83
|
-
while (1) switch (_context.prev = _context.next) {
|
|
84
|
-
case 0:
|
|
85
|
-
slots = _this.props.slots;
|
|
86
|
-
mapping = (_params$submitMapping = params.submitMapping) !== null && _params$submitMapping !== void 0 ? _params$submitMapping : _this.submitMapping;
|
|
87
|
-
data = mapping(value, _this.props.data);
|
|
88
|
-
_context.prev = 3;
|
|
89
|
-
_this.loading();
|
|
90
|
-
(_this$abortController = _this.abortController) === null || _this$abortController === void 0 || _this$abortController.abort();
|
|
91
|
-
_this.abortController = new AbortController();
|
|
92
|
-
_context.next = 9;
|
|
93
|
-
return _this.props.onSubmit(data, _this.abortController.signal);
|
|
94
|
-
case 9:
|
|
95
|
-
if (!(slots !== null && slots !== void 0 && slots.closeState) || slots.closeState.Success !== false) {
|
|
96
|
-
close && close();
|
|
97
|
-
_this.props.onClose && _this.props.onClose();
|
|
98
|
-
}
|
|
99
|
-
_context.next = 16;
|
|
100
|
-
break;
|
|
101
|
-
case 12:
|
|
102
|
-
_context.prev = 12;
|
|
103
|
-
_context.t0 = _context["catch"](3);
|
|
104
|
-
if (slots !== null && slots !== void 0 && slots.closeState && slots.closeState.Fail === true) {
|
|
105
|
-
close && close();
|
|
106
|
-
_this.props.onClose && _this.props.onClose();
|
|
107
|
-
}
|
|
108
|
-
if (_this.props.onError) _this.props.onError(_context.t0);
|
|
109
|
-
case 16:
|
|
110
|
-
_context.prev = 16;
|
|
111
|
-
_this.unloading();
|
|
112
|
-
return _context.finish(16);
|
|
113
|
-
case 19:
|
|
114
|
-
case "end":
|
|
115
|
-
return _context.stop();
|
|
116
|
-
}
|
|
117
|
-
}, _callee, null, [[3, 12, 16, 19]]);
|
|
118
|
-
}));
|
|
119
|
-
return function (_x, _x2) {
|
|
120
|
-
return _ref.apply(this, arguments);
|
|
121
|
-
};
|
|
122
|
-
}());
|
|
123
|
-
_defineProperty(_this, "submitMapping", function (value, oldValue) {
|
|
124
|
-
return Object.assign({}, oldValue, value);
|
|
125
|
-
});
|
|
126
|
-
_defineProperty(_this, "getSxProps", function () {
|
|
127
|
-
var isLoading = _this.state.loadding;
|
|
128
|
-
return _objectSpread2(_objectSpread2({}, _this.props.sx), {}, {
|
|
129
|
-
opacity: isLoading ? 0.7 : 1,
|
|
130
|
-
pointerEvents: isLoading ? 'none' : 'auto'
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
_this.state = {
|
|
134
|
-
loadding: false
|
|
135
|
-
};
|
|
136
|
-
return _this;
|
|
137
|
-
}
|
|
138
|
-
_inherits(FormGridLayout, _Component);
|
|
139
|
-
return _createClass(FormGridLayout, [{
|
|
140
|
-
key: "configMerged",
|
|
141
|
-
get: function get() {
|
|
142
|
-
var _this$props$slots$inp, _this$props$slots, _this$props$slots$inp2, _this$props$slots2;
|
|
143
|
-
return {
|
|
144
|
-
inputVisibility: (_this$props$slots$inp = (_this$props$slots = this.props.slots) === null || _this$props$slots === void 0 ? void 0 : _this$props$slots.inputVisibility) !== null && _this$props$slots$inp !== void 0 ? _this$props$slots$inp : params.inputVisibility,
|
|
145
|
-
inputDisabled: (_this$props$slots$inp2 = (_this$props$slots2 = this.props.slots) === null || _this$props$slots2 === void 0 ? void 0 : _this$props$slots2.inputDisabled) !== null && _this$props$slots$inp2 !== void 0 ? _this$props$slots$inp2 : params.inputDisabled
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "render",
|
|
150
|
-
value: function render() {
|
|
151
|
-
var _ref2,
|
|
152
|
-
_params$action,
|
|
153
|
-
_this$props$slots3,
|
|
154
|
-
_this2 = this;
|
|
155
|
-
var BottomBar = (_ref2 = (_params$action = params === null || params === void 0 ? void 0 : params.action) !== null && _params$action !== void 0 ? _params$action : (_this$props$slots3 = this.props.slots) === null || _this$props$slots3 === void 0 ? void 0 : _this$props$slots3.action) !== null && _ref2 !== void 0 ? _ref2 : BottomBarInstance;
|
|
156
|
-
return MapGlobalModalContext(function (_ref3) {
|
|
157
|
-
var close = _ref3.close;
|
|
158
|
-
return jsxs(FormBaseInstance.Form, {
|
|
159
|
-
validate: params.validate,
|
|
160
|
-
onSubmit: function onSubmit(v) {
|
|
161
|
-
return _this2.onSubmit(v, close);
|
|
162
|
-
},
|
|
163
|
-
sx: _this2.getSxProps(),
|
|
164
|
-
children: [_this2.renderContent(), FormBaseInstance.contextMapping(function (context) {
|
|
165
|
-
var _this2$props$slots;
|
|
166
|
-
return jsx(BottomBar, {
|
|
167
|
-
data: _this2.props.data,
|
|
168
|
-
onBlur: context.onBlur,
|
|
169
|
-
messageErrors: context.messageErrors,
|
|
170
|
-
before: (_this2$props$slots = _this2.props.slots) === null || _this2$props$slots === void 0 ? void 0 : _this2$props$slots.actionBefore
|
|
171
|
-
});
|
|
172
|
-
})]
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}, {
|
|
177
|
-
key: "componentWillUnmount",
|
|
178
|
-
value: function componentWillUnmount() {
|
|
179
|
-
var _this$abortController2;
|
|
180
|
-
(_this$abortController2 = this.abortController) === null || _this$abortController2 === void 0 || _this$abortController2.abort();
|
|
181
|
-
}
|
|
182
|
-
}]);
|
|
183
|
-
}(Component);
|
|
184
|
-
return FormGridLayout;
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export { CreateFormGridLayout as default };
|
|
1
|
+
import{inherits as o,createClass as t,classCallCheck as n,callSuper as r,defineProperty as e,objectSpread2 as i,objectWithoutProperties as l,asyncToGenerator as a,regeneratorRuntime as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as u,jsx as p}from"react/jsx-runtime";import{Fragment as d,Component as c}from"react";import{Grid as v}from"@mui/material";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import{MapGlobalModalContext as f}from"../api-context/global-modal.js";import{CreateFormBottomBar as m,ContentWrap as g}from"./create.form-grid-layout.units.js";import b from"./create.input.js";import h from"./create.form-base.js";var y=["slots"],x=function(x){var S=h(),C=m(),j=b({maxLength:250}),k=function(){function m(o){var t;return n(this,m),t=r(this,m,[o]),e(t,"renderContent",(function(){var o,n=t.props.slots;return u(g,i(i({},null===(o=t.props)||void 0===o||null===(o=o.slots)||void 0===o?void 0:o.contentProps),{},{children:[(null==n?void 0:n.contentBefore)&&(null==n?void 0:n.contentBefore),null==x?void 0:x.contentBefore,p(v,{container:!0,spacing:2,children:x.configs.map((function(o,n){var r,e=!(null===(r=t.configMerged.inputVisibility)||void 0===r||!r[o.key])||void 0;return p(d,e?{}:{children:p(v,i(i({item:!0,xs:12},o.reponsives),{},{children:t.renderFormFieldElement(o)}))},o.key.toString()+n)}))}),null==x?void 0:x.contentAfter,(null==n?void 0:n.contentAfter)&&(null==n?void 0:n.contentAfter)]}))})),e(t,"renderFormFieldElement",(function(o){var n,r,e,i,a=t.props;a.slots;var s=l(a,y),u=null!==(n=o.inputElement)&&void 0!==n?n:j,d=null!==(r=null===(e=s.data)||void 0===e?void 0:e[o.key])&&void 0!==r?r:null==o?void 0:o.defaultValue,c=!(null===(i=t.configMerged.inputDisabled)||void 0===i||!i[o.key])||void 0;return S.contextMapping((function(n){return p(u,{data:t.props.data,onBlur:n.onBlur,messageErrors:n.messageErrors,name:o.key,label:o.label,placeholder:o.placeholder,disabled:c,defaultValue:d})}))})),e(t,"loading",(function(){return t.setState({loadding:!0})})),e(t,"unloading",(function(){return t.setState({loadding:!1})})),e(t,"onSubmit",function(){var o=a(s().mark((function o(n,r){var e,i,l,a,u;return s().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i=t.props.slots,l=null!==(e=x.submitMapping)&&void 0!==e?e:t.submitMapping,a=l(n,t.props.data),o.prev=3,t.loading(),null===(u=t.abortController)||void 0===u||u.abort(),t.abortController=new AbortController,o.next=9,t.props.onSubmit(a,t.abortController.signal);case 9:null!=i&&i.closeState&&!1===i.closeState.Success||(r&&r(),t.props.onClose&&t.props.onClose()),o.next=16;break;case 12:o.prev=12,o.t0=o.catch(3),null!=i&&i.closeState&&!0===i.closeState.Fail&&(r&&r(),t.props.onClose&&t.props.onClose()),t.props.onError&&t.props.onError(o.t0);case 16:return o.prev=16,t.unloading(),o.finish(16);case 19:case"end":return o.stop()}}),o,null,[[3,12,16,19]])})));return function(t,n){return o.apply(this,arguments)}}()),e(t,"submitMapping",(function(o,t){return Object.assign({},t,o)})),e(t,"getSxProps",(function(){var o=t.state.loadding;return i(i({},t.props.sx),{},{opacity:o?.7:1,pointerEvents:o?"none":"auto"})})),t.state={loadding:!1},t}return o(m,c),t(m,[{key:"configMerged",get:function(){var o,t,n,r;return{inputVisibility:null!==(o=null===(t=this.props.slots)||void 0===t?void 0:t.inputVisibility)&&void 0!==o?o:x.inputVisibility,inputDisabled:null!==(n=null===(r=this.props.slots)||void 0===r?void 0:r.inputDisabled)&&void 0!==n?n:x.inputDisabled}}},{key:"render",value:function(){var o,t,n,r=this,e=null!==(o=null!==(t=null==x?void 0:x.action)&&void 0!==t?t:null===(n=this.props.slots)||void 0===n?void 0:n.action)&&void 0!==o?o:C;return f((function(o){var t=o.close;return u(S.Form,{validate:x.validate,onSubmit:function(o){return r.onSubmit(o,t)},sx:r.getSxProps(),children:[r.renderContent(),S.contextMapping((function(o){var t;return p(e,{data:r.props.data,onBlur:o.onBlur,messageErrors:o.messageErrors,before:null===(t=r.props.slots)||void 0===t?void 0:t.actionBefore})}))]})}))}},{key:"componentWillUnmount",value:function(){var o;null===(o=this.abortController)||void 0===o||o.abort()}}])}();return k};export{x as default};
|
|
188
2
|
//# sourceMappingURL=create.form-grid-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.form-grid-layout.js","sources":["../../src/form/create.form-grid-layout.tsx"],"sourcesContent":["import React, { Component, ComponentType, 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 CreateInput from './create.input'\r\nimport CreateFormBase from './create.form-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\nexport type SubmitMappingEvent<T> = (value: Partial<T>, oldValue?: T) => Partial<T>\r\n\r\nexport interface IFormGridLayoutSlots<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\nexport interface IFormGridLayoutParams<T> extends IFormGridLayoutSlots<T> {\r\n configs: IFormGridLayoutConfig<T>[]\r\n validate: FormValidator<Partial<T>>\r\n submitMapping?: SubmitMappingEvent<T>\r\n}\r\n\r\nexport interface IFormGridLayoutProps<T> {\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?: IFormGridLayoutSlots<T>\r\n}\r\n\r\nexport interface IFormGridLayoutState {\r\n loadding?: boolean\r\n}\r\n\r\nconst CreateFormGridLayout = function <T>(params: IFormGridLayoutParams<T>): ComponentType<IFormGridLayoutProps<T>> {\r\n const FormBaseInstance = CreateFormBase<T>()\r\n const BottomBarInstance = CreateFormBottomBar<T>()\r\n const InputBaseInstance = CreateInput<T>({ maxLength: 250 })\r\n\r\n class FormGridLayout extends Component<IFormGridLayoutProps<T>, IFormGridLayoutState> {\r\n private abortController?: AbortController\r\n constructor(props: IFormGridLayoutProps<T>) {\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: SubmitMappingEvent<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","CreateInput","maxLength","FormGridLayout","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$props","slots","_jsxs","ContentWrap","_objectSpread","contentProps","children","contentBefore","_jsx","Grid","container","spacing","configs","map","config","index","_this$configMerged$in","visibility","configMerged","inputVisibility","key","undefined","Fragment","toString","item","xs","reponsives","renderFormFieldElement","contentAfter","_config$inputElement","_otherProps$data$conf","_otherProps$data","_this$configMerged$in2","_this$props2","otherProps","_objectWithoutProperties","_excluded","ElementComponent","inputElement","dValue","data","defaultValue","disabled","inputDisabled","contextMapping","context","onBlur","messageErrors","name","label","placeholder","setState","loadding","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","value","close","_params$submitMapping","mapping","_this$abortController","wrap","_callee$","_context","prev","next","submitMapping","loading","abortController","abort","AbortController","onSubmit","signal","closeState","Success","onClose","t0","Fail","onError","unloading","finish","stop","_x","_x2","apply","arguments","oldValue","Object","assign","isLoading","state","sx","opacity","pointerEvents","_inherits","_createClass","get","_this$props$slots$inp","_this$props$slots","_this$props$slots$inp2","_this$props$slots2","render","_ref2","_params$action","_this$props$slots3","_this2","BottomBar","action","MapGlobalModalContext","_ref3","Form","validate","v","getSxProps","renderContent","_this2$props$slots","before","actionBefore","componentWillUnmount","_this$abortController2","Component"],"mappings":";;;;;;;;;;;;AAkDA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAgBC,MAAgC,EAAA;AACxE,EAAA,IAAMC,gBAAgB,GAAGC,cAAc,EAAK;AAC5C,EAAA,IAAMC,iBAAiB,GAAGC,mBAAmB,EAAK;EAClD,IAAMC,iBAAiB,GAAGC,WAAW,CAAI;AAAEC,IAAAA,SAAS,EAAE;AAAK,GAAA,CAAC;EAAA,IAEtDC,cAAe,0BAAAC,UAAA,EAAA;IAEnB,SAAAD,cAAAA,CAAYE,KAA8B,EAAA;AAAA,MAAA,IAAAC,KAAA;AAAAC,MAAAA,eAAA,OAAAJ,cAAA,CAAA;AACxCG,MAAAA,KAAA,GAAAE,UAAA,CAAAL,IAAAA,EAAAA,cAAA,GAAME,KAAK,CAAA,CAAA;MAACI,eAAA,CAAAH,KAAA,EAAA,eAAA,EAuBE,YAAK;AAAA,QAAA,IAAAI,WAAA;AACnB,QAAA,IAAQC,KAAK,GAAKL,KAAA,CAAKD,KAAK,CAApBM,KAAK;QACb,OACEC,KAACC,WAAW,EAAAC,cAAA,CAAAA,cAAA,CAAAJ,EAAAA,EAAAA,CAAAA,WAAA,GAAKJ,KAAA,CAAKD,KAAK,cAAAK,WAAA,KAAA,MAAA,IAAA,CAAAA,WAAA,GAAVA,WAAA,CAAYC,KAAK,MAAA,IAAA,IAAAD,WAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,WAAA,CAAmBK,YAAY,CAAA,EAAA,EAAA,EAAA;AAC7CC,UAAAA,QAAA,EAAA,CAAA,CAAAL,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,MAAAA,GAAAA,MAAAA,GAAAA,KAAK,CAAEM,aAAa,MAAIN,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEM,aAAa,CAAA,EAC5CtB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEsB,aAAa,EACtBC,GAAA,CAACC,IAAI,EAAC;AAAAC,YAAAA,SAAS;AAACC,YAAAA,OAAO,EAAE,CAAC;YACvBL,QAAA,EAAArB,MAAM,CAAC2B,OAAO,CAACC,GAAG,CAAC,UAACC,MAAM,EAAEC,KAAK,EAAI;AAAA,cAAA,IAAAC,qBAAA;cACpC,IAAMC,UAAU,GAAwB,CAAAD,qBAAA,GAAApB,KAAA,CAAKsB,YAAY,CAACC,eAAe,MAAA,IAAA,IAAAH,qBAAA,KAAjCA,MAAAA,IAAAA,qBAAA,CAAoCF,MAAM,CAACM,GAAG,CAAC,GAAG,IAAI,GAAGC,SAAS;AAC1G,cAAA,IAAIJ,UAAU,EAAE,OAAOT,GAAC,CAAAc,QAAQ,EAAM,EAAA,EAAAR,MAAM,CAACM,GAAG,CAACG,QAAQ,EAAE,GAAGR,KAAK,CAAI;cACvE,OACEP,GAAA,CAACc,QAAQ,EAAA;AAAAhB,gBAAAA,QAAA,EACPE,IAACC,IAAI,EAAAL,cAAA,CAAAA,cAAA,CAAA;AAACoB,kBAAAA,IAAI,EAAA,IAAA;AAACC,kBAAAA,EAAE,EAAE;iBAAQX,EAAAA,MAAM,CAACY,UAAU,CAAA,EAAA,EAAA,EAAA;AAAApB,kBAAAA,QAAA,EACrCV,KAAA,CAAK+B,sBAAsB,CAACb,MAAM;iBAAC,CAAA;iBAFzBA,MAAM,CAACM,GAAG,CAACG,QAAQ,EAAE,GAAGR,KAAK,CAIjC;aAEd;WACI,CAAA,EACN9B,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE2C,YAAY,EACpB,CAAA3B,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2B,YAAY,MAAI3B,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2B,YAAY,CAAA;AAAA,SAAA,CAAA,CAC/B;OAEjB,CAAA;AAAA7B,MAAAA,eAAA,CAAAH,KAAA,EAEwB,wBAAA,EAAA,UAACkB,MAAgC,EAAI;AAAA,QAAA,IAAAe,oBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,sBAAA;AAC5D,QAAA,IAAAC,YAAA,GAAiCrC,KAAA,CAAKD,KAAK;UAA9BsC,YAAA,CAALhC,KAAK;AAAKiC,cAAAA,UAAU,GAAAC,wBAAA,CAAAF,YAAA,EAAAG,SAAA;AAC5B,QAAA,IAAMC,gBAAgB,GAAA,CAAAR,oBAAA,GAAGf,MAAM,CAACwB,YAAY,MAAA,IAAA,IAAAT,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAIvC,iBAAiB;AACjE,QAAA,IAAMiD,MAAM,GAAA,CAAAT,qBAAA,GAAA,CAAAC,gBAAA,GAAGG,UAAU,CAACM,IAAI,MAAA,IAAA,IAAAT,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAkBjB,MAAM,CAACM,GAAG,CAAC,MAAAU,IAAAA,IAAAA,qBAAA,KAAAA,MAAAA,GAAAA,qBAAA,GAAIhB,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,MAAAA,GAAAA,MAAAA,GAAAA,MAAM,CAAE2B,YAAY;QACpE,IAAMC,QAAQ,GAAwB,CAAAV,sBAAA,GAAApC,KAAA,CAAKsB,YAAY,CAACyB,aAAa,MAAA,IAAA,IAAAX,sBAAA,KAA/BA,MAAAA,IAAAA,sBAAA,CAAkClB,MAAM,CAACM,GAAG,CAAC,GAAG,IAAI,GAAGC,SAAS;AACtG,QAAA,OAAOnC,gBAAgB,CAAC0D,cAAc,CAAC,UAACC,OAAO,EAAA;UAAA,OAC7CrC,GAAC,CAAA6B,gBAAgB,EACf;AAAAG,YAAAA,IAAI,EAAE5C,KAAA,CAAKD,KAAK,CAAC6C,IAAI;YACrBM,MAAM,EAAED,OAAO,CAACC,MAAM;YACtBC,aAAa,EAAEF,OAAO,CAACE,aAAa;YACpCC,IAAI,EAAElC,MAAM,CAACM,GAAG;YAChB6B,KAAK,EAAEnC,MAAM,CAACmC,KAAK;YACnBC,WAAW,EAAEpC,MAAM,CAACoC,WAAW;AAC/BR,YAAAA,QAAQ,EAAEA,QAAQ;AAClBD,YAAAA,YAAY,EAAEF;AACd,WAAA,CAAA;AAAA,SACH,CAAC;OACH,CAAA;MAAAxC,eAAA,CAAAH,KAAA,EAES,SAAA,EAAA,YAAA;QAAA,OAAMA,KAAA,CAAKuD,QAAQ,CAAC;AAAEC,UAAAA,QAAQ,EAAE;AAAI,SAAE,CAAC;AAAA,OAAA,CAAA;MAAArD,eAAA,CAAAH,KAAA,EAErC,WAAA,EAAA,YAAA;QAAA,OAAMA,KAAA,CAAKuD,QAAQ,CAAC;AAAEC,UAAAA,QAAQ,EAAE;AAAK,SAAE,CAAC;AAAA,OAAA,CAAA;AAAArD,MAAAA,eAAA,CAAAH,KAAA,EAAA,UAAA,eAAA,YAAA;AAAA,QAAA,IAAAyD,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAMzC,SAAAC,OAAAA,CAAOC,KAAiB,EAAEC,KAAkB,EAAA;AAAA,UAAA,IAAAC,qBAAA;AAAA,UAAA,IAAA3D,KAAA,EAAA4D,OAAA,EAAArB,IAAA,EAAAsB,qBAAA;AAAA,UAAA,OAAAP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,cAAA,KAAA,CAAA;AAC7ClE,gBAAAA,KAAK,GAAKL,KAAA,CAAKD,KAAK,CAApBM,KAAK;AACP4D,gBAAAA,OAAO,GAAAD,CAAAA,qBAAA,GAAG3E,MAAM,CAACmF,aAAa,MAAAR,IAAAA,IAAAA,qBAAA,KAAAA,MAAAA,GAAAA,qBAAA,GAAIhE,KAAA,CAAKwE,aAAa;gBACpD5B,IAAI,GAAGqB,OAAO,CAACH,KAAK,EAAE9D,KAAA,CAAKD,KAAK,CAAC6C,IAAI,CAAC;AAAAyB,gBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;gBAE1CtE,KAAA,CAAKyE,OAAO,EAAE;AACd,gBAAA,CAAAP,qBAAA,GAAAlE,KAAA,CAAK0E,eAAe,MAAA,IAAA,IAAAR,qBAAA,KAAA,MAAA,IAApBA,qBAAA,CAAsBS,KAAK,EAAE;AAC7B3E,gBAAAA,KAAA,CAAK0E,eAAe,GAAG,IAAIE,eAAe,EAAE;AAAAP,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,gBAAA,OACtCvE,KAAA,CAAKD,KAAK,CAAC8E,QAAQ,CAACjC,IAAI,EAAE5C,KAAA,CAAK0E,eAAe,CAACI,MAAM,CAAC;AAAA,cAAA,KAAA,CAAA;AAC5D,gBAAA,IAAI,EAACzE,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,IAALA,KAAK,CAAE0E,UAAU,CAAI1E,IAAAA,KAAK,CAAC0E,UAAU,CAACC,OAAO,KAAK,KAAK,EAAE;kBAC5DjB,KAAK,IAAIA,KAAK,EAAE;kBAChB/D,KAAA,CAAKD,KAAK,CAACkF,OAAO,IAAIjF,KAAA,CAAKD,KAAK,CAACkF,OAAO,EAAE;AAC3C;AAAAZ,gBAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,gBAAA;AAAA,cAAA,KAAA,EAAA;AAAAF,gBAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;gBAAAD,QAAA,CAAAa,EAAA,GAAAb,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAED,gBAAA,IAAIhE,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,IAALA,KAAK,CAAE0E,UAAU,IAAI1E,KAAK,CAAC0E,UAAU,CAACI,IAAI,KAAK,IAAI,EAAE;kBACvDpB,KAAK,IAAIA,KAAK,EAAE;kBAChB/D,KAAA,CAAKD,KAAK,CAACkF,OAAO,IAAIjF,KAAA,CAAKD,KAAK,CAACkF,OAAO,EAAE;AAC3C;AACD,gBAAA,IAAIjF,KAAA,CAAKD,KAAK,CAACqF,OAAO,EAAEpF,KAAA,CAAKD,KAAK,CAACqF,OAAO,CAAAf,QAAA,CAAAa,EAAM,CAAC;AAAA,cAAA,KAAA,EAAA;AAAAb,gBAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;gBAEjDtE,KAAA,CAAKqF,SAAS,EAAE;gBAAA,OAAAhB,QAAA,CAAAiB,MAAA,CAAA,EAAA,CAAA;AAAA,cAAA,KAAA,EAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAAjB,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,WAAA,EAAA1B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;SAEnB,CAAA,CAAA;QAAA,OAAA2B,UAAAA,EAAA,EAAAC,GAAA,EAAA;AAAA,UAAA,OAAAhC,IAAA,CAAAiC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA,CAAA;AAAAxF,MAAAA,eAAA,CAAAH,KAAA,EAAA,eAAA,EAEsC,UAAC8D,KAAK,EAAE8B,QAAQ,EAAI;QACzD,OAAOC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEF,QAAQ,EAAE9B,KAAK,CAAC;OAC1C,CAAA;MAAA3D,eAAA,CAAAH,KAAA,EAAA,YAAA,EAEY,YAAqB;AAChC,QAAA,IAAM+F,SAAS,GAAG/F,KAAA,CAAKgG,KAAK,CAACxC,QAAQ;QACrC,OAAAhD,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAYR,KAAA,CAAKD,KAAK,CAACkG,EAAE,CAAA,EAAA,EAAA,EAAA;AAAEC,UAAAA,OAAO,EAAEH,SAAS,GAAG,GAAG,GAAG,CAAC;AAAEI,UAAAA,aAAa,EAAEJ,SAAS,GAAG,MAAM,GAAG;AAAM,SAAA,CAAA;OACpG,CAAA;MAzGC/F,KAAA,CAAKgG,KAAK,GAAG;AAAExC,QAAAA,QAAQ,EAAE;OAAO;AAAA,MAAA,OAAAxD,KAAA;AAClC;IAACoG,SAAA,CAAAvG,cAAA,EAAAC,UAAA,CAAA;IAAA,OAAAuG,YAAA,CAAAxG,cAAA,EAAA,CAAA;MAAA2B,GAAA,EAAA,cAAA;MAAA8E,GAAA,EAED,SAAAA,GAAAA,GAAgB;AAAA,QAAA,IAAAC,qBAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,kBAAA;QACd,OAAO;UACLnF,eAAe,EAAA,CAAAgF,qBAAA,GAAAC,CAAAA,iBAAA,GAAE,IAAI,CAACzG,KAAK,CAACM,KAAK,MAAA,IAAA,IAAAmG,iBAAA,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,iBAAA,CAAkBjF,eAAe,MAAAgF,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GAAIlH,MAAM,CAACkC,eAAe;UAC5EwB,aAAa,EAAA,CAAA0D,sBAAA,GAAAC,CAAAA,kBAAA,GAAE,IAAI,CAAC3G,KAAK,CAACM,KAAK,MAAA,IAAA,IAAAqG,kBAAA,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,kBAAA,CAAkB3D,aAAa,MAAA,IAAA,IAAA0D,sBAAA,KAAAA,MAAAA,GAAAA,sBAAA,GAAIpH,MAAM,CAAC0D;SAC1D;AACH;AAAC,KAAA,EAAA;MAAAvB,GAAA,EAAA,QAAA;AAAAsC,MAAAA,KAAA,EAED,SAAA6C,MAAMA,GAAA;AAAA,QAAA,IAAAC,KAAA;UAAAC,cAAA;UAAAC,kBAAA;UAAAC,MAAA,GAAA,IAAA;AACJ,QAAA,IAAMC,SAAS,GAAAJ,CAAAA,KAAA,GAAAC,CAAAA,cAAA,GAAGxH,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE4H,MAAM,MAAAJ,IAAAA,IAAAA,cAAA,cAAAA,cAAA,GAAA,CAAAC,kBAAA,GAAI,IAAI,CAAC/G,KAAK,CAACM,KAAK,cAAAyG,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBG,MAAM,MAAAL,IAAAA,IAAAA,KAAA,KAAAA,MAAAA,GAAAA,KAAA,GAAIpH,iBAAiB;QACjF,OAAO0H,qBAAqB,CAAC,UAAAC,KAAA,EAAA;AAAA,UAAA,IAAGpD,KAAK,GAAAoD,KAAA,CAALpD,KAAK;AAAA,UAAA,OACnCzD,KAAChB,gBAAgB,CAAC8H,IAAI,EAAC;YAAAC,QAAQ,EAAEhI,MAAM,CAACgI,QAAQ;AAAExC,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGyC,CAAC,EAAA;AAAA,cAAA,OAAKP,MAAI,CAAClC,QAAQ,CAACyC,CAAC,EAAEvD,KAAK,CAAC;AAAA,aAAA;AAAEkC,YAAAA,EAAE,EAAEc,MAAI,CAACQ,UAAU,EAAE;AAAA7G,YAAAA,QAAA,EAAA,CAC9GqG,MAAI,CAACS,aAAa,EAAE,EACpBlI,gBAAgB,CAAC0D,cAAc,CAAC,UAACC,OAAO,EAAA;AAAA,cAAA,IAAAwE,kBAAA;cAAA,OACvC7G,GAAA,CAACoG,SAAS,EAAC;AAAApE,gBAAAA,IAAI,EAAEmE,MAAI,CAAChH,KAAK,CAAC6C,IAAI;gBAAEM,MAAM,EAAED,OAAO,CAACC,MAAM;gBAAEC,aAAa,EAAEF,OAAO,CAACE,aAAa;AAAEuE,gBAAAA,MAAM,EAAAD,CAAAA,kBAAA,GAAEV,MAAI,CAAChH,KAAK,CAACM,KAAK,MAAAoH,IAAAA,IAAAA,kBAAA,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,kBAAA,CAAkBE;AAAY,eAAA,CAAI;AAAA,aAC3I,CAAC;AAAA,WAAA,CACoB;AAAA,SACzB,CAAC;AACJ;AAAC,KAAA,EAAA;MAAAnG,GAAA,EAAA,sBAAA;AAAAsC,MAAAA,KAAA,EAkDD,SAAA8D,oBAAoBA,GAAA;AAAA,QAAA,IAAAC,sBAAA;QAClB,CAAAA,sBAAA,GAAI,IAAA,CAACnD,eAAe,MAAA,IAAA,IAAAmD,sBAAA,KAAA,MAAA,IAApBA,sBAAA,CAAsBlD,KAAK,EAAE;AAC/B;AAAC,KAAA,CAAA,CAAA;AAAA,GAAA,CA5E0BmD,SAAwD,CAAA;AA+GrF,EAAA,OAAOjI,cAAc;AACvB;;;;"}
|
|
1
|
+
{"version":3,"file":"create.form-grid-layout.js","sources":["../../src/form/create.form-grid-layout.tsx"],"sourcesContent":["import React, { Component, ComponentType, 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 CreateInput from './create.input'\r\nimport CreateFormBase from './create.form-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\nexport type SubmitMappingEvent<T> = (value: Partial<T>, oldValue?: T) => Partial<T>\r\n\r\nexport interface IFormGridLayoutSlots<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\nexport interface IFormGridLayoutParams<T> extends IFormGridLayoutSlots<T> {\r\n configs: IFormGridLayoutConfig<T>[]\r\n validate: FormValidator<Partial<T>>\r\n submitMapping?: SubmitMappingEvent<T>\r\n}\r\n\r\nexport interface IFormGridLayoutProps<T> {\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?: IFormGridLayoutSlots<T>\r\n}\r\n\r\nexport interface IFormGridLayoutState {\r\n loadding?: boolean\r\n}\r\n\r\nconst CreateFormGridLayout = function <T>(params: IFormGridLayoutParams<T>): ComponentType<IFormGridLayoutProps<T>> {\r\n const FormBaseInstance = CreateFormBase<T>()\r\n const BottomBarInstance = CreateFormBottomBar<T>()\r\n const InputBaseInstance = CreateInput<T>({ maxLength: 250 })\r\n\r\n class FormGridLayout extends Component<IFormGridLayoutProps<T>, IFormGridLayoutState> {\r\n private abortController?: AbortController\r\n constructor(props: IFormGridLayoutProps<T>) {\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: SubmitMappingEvent<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","CreateInput","maxLength","FormGridLayout","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$props","slots","_jsxs","ContentWrap","_objectSpread","contentProps","children","contentBefore","_jsx","Grid","container","spacing","configs","map","config","index","_this$configMerged$in","visibility","configMerged","inputVisibility","key","undefined","Fragment","item","xs","reponsives","renderFormFieldElement","toString","contentAfter","_config$inputElement","_otherProps$data$conf","_otherProps$data","_this$configMerged$in2","_this$props2","otherProps","_objectWithoutProperties","_excluded","ElementComponent","inputElement","dValue","data","defaultValue","disabled","inputDisabled","contextMapping","context","onBlur","messageErrors","name","label","placeholder","setState","loadding","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","value","close","_params$submitMapping","mapping","_this$abortController","wrap","_context","prev","next","submitMapping","loading","abortController","abort","AbortController","onSubmit","signal","closeState","Success","onClose","t0","Fail","onError","unloading","finish","stop","_x","_x2","apply","this","arguments","oldValue","Object","assign","isLoading","state","sx","opacity","pointerEvents","_inherits","Component","_createClass","get","_this$props$slots$inp","_this$props$slots","_this$props$slots$inp2","_this$props$slots2","_ref2","_params$action","_this$props$slots3","_this2","BottomBar","action","MapGlobalModalContext","_ref3","Form","validate","v","getSxProps","renderContent","_this2$props$slots","before","actionBefore","_this$abortController2"],"mappings":"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"}
|
|
@@ -1,42 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { styled, Box, colors, 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 jsxs(FormBottomBarWrap, {
|
|
13
|
-
className: 'bottom-bar',
|
|
14
|
-
children: [jsx(Box, {
|
|
15
|
-
sx: {
|
|
16
|
-
flex: 1
|
|
17
|
-
},
|
|
18
|
-
children: props.before
|
|
19
|
-
}), jsx(Button, {
|
|
20
|
-
variant: 'contained',
|
|
21
|
-
type: 'submit',
|
|
22
|
-
size: 'small',
|
|
23
|
-
children: "Submit"
|
|
24
|
-
})]
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
return FormBottomBar;
|
|
28
|
-
}
|
|
29
|
-
var FormBottomBarWrap = styled(Box)({
|
|
30
|
-
display: 'flex',
|
|
31
|
-
alignItems: 'center',
|
|
32
|
-
padding: '0 12px',
|
|
33
|
-
boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',
|
|
34
|
-
position: 'sticky',
|
|
35
|
-
bottom: 0,
|
|
36
|
-
backgroundColor: colors.common.white,
|
|
37
|
-
zIndex: 1,
|
|
38
|
-
height: '48px'
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
export { ContentWrap, CreateFormBottomBar, FormBottomBarWrap };
|
|
1
|
+
import{jsxs as o,jsx as t}from"react/jsx-runtime";import{styled as e,Box as r,colors as i,Button as a}from"@mui/material";var n=e(r)({padding:"16px 12px 3px",maxHeight:"calc(100vh - ".concat(120,"px)"),overflowY:"auto",overflowX:"hidden"});function p(){return function(e){return o(x,{className:"bottom-bar",children:[t(r,{sx:{flex:1},children:e.before}),t(a,{variant:"contained",type:"submit",size:"small",children:"Submit"})]})}}var x=e(r)({display:"flex",alignItems:"center",padding:"0 12px",boxShadow:"rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px",position:"sticky",bottom:0,backgroundColor:i.common.white,zIndex:1,height:"48px"});export{n as ContentWrap,p as CreateFormBottomBar,x as FormBottomBarWrap};
|
|
42
2
|
//# sourceMappingURL=create.form-grid-layout.units.js.map
|
|
@@ -1 +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, colors, 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 interface IFormBottomBarProps<T> extends IFormBase<T> {\r\n before?: ReactNode\r\n}\r\n\r\nexport function CreateFormBottomBar<T>() {\r\n const FormBottomBar: FC<IFormBottomBarProps<T>> = (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: colors.common.white,\r\n zIndex: 1,\r\n height: '48px'\r\n})\r\n"],"names":["ContentWrap","styled","Box","padding","maxHeight","concat","overflowY","overflowX","CreateFormBottomBar","
|
|
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, colors, 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 interface IFormBottomBarProps<T> extends IFormBase<T> {\r\n before?: ReactNode\r\n}\r\n\r\nexport function CreateFormBottomBar<T>() {\r\n const FormBottomBar: FC<IFormBottomBarProps<T>> = (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: colors.common.white,\r\n zIndex: 1,\r\n height: '48px'\r\n})\r\n"],"names":["ContentWrap","styled","Box","padding","maxHeight","concat","overflowY","overflowX","CreateFormBottomBar","props","_jsxs","FormBottomBarWrap","className","_jsx","sx","flex","children","before","Button","variant","type","size","display","alignItems","boxShadow","position","bottom","backgroundColor","colors","common","white","zIndex","height"],"mappings":"8HAIaA,EAAcC,EAAOC,EAAPD,CAAY,CACrCE,QAAS,gBACTC,UAAS,gBAAAC,OAAkB,IAAoB,OAC/CC,UAAW,OACXC,UAAW,oBAOGC,IASd,OARkD,SAACC,GAAK,OACtDC,EAACC,EAAiB,CAACC,UAAU,uBAC3BC,EAACX,GAAIY,GAAI,CAAEC,KAAM,GAAMC,SAAAP,EAAMQ,SAC7BJ,EAACK,EAAO,CAAAC,QAAQ,YAAYC,KAAK,SAASC,KAAK,QAAOL,SAAA,aAIzD,CAEH,KAEaL,EAAoBV,EAAOC,EAAPD,CAAY,CAC3CqB,QAAS,OACTC,WAAY,SACZpB,QAAS,SACTqB,UAAW,wFACXC,SAAU,SACVC,OAAQ,EACRC,gBAAiBC,EAAOC,OAAOC,MAC/BC,OAAQ,EACRC,OAAQ"}
|
|
@@ -1,79 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Component } from 'react';
|
|
4
|
-
import { TextField } from '@mui/material';
|
|
5
|
-
import { getErrorMessage } from './helper.js';
|
|
6
|
-
|
|
7
|
-
function CreateInputFile(params) {
|
|
8
|
-
var FormInputFile = /*#__PURE__*/function (_Component) {
|
|
9
|
-
function FormInputFile() {
|
|
10
|
-
var _this;
|
|
11
|
-
_classCallCheck(this, FormInputFile);
|
|
12
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
13
|
-
args[_key] = arguments[_key];
|
|
14
|
-
}
|
|
15
|
-
_this = _callSuper(this, FormInputFile, [].concat(args));
|
|
16
|
-
_defineProperty(_this, "refInput", null);
|
|
17
|
-
_defineProperty(_this, "getMergeConfig", function () {
|
|
18
|
-
var _params$accept, _ref, _params$multiple;
|
|
19
|
-
return {
|
|
20
|
-
accept: (_params$accept = params === null || params === void 0 ? void 0 : params.accept) !== null && _params$accept !== void 0 ? _params$accept : _this.props.accept,
|
|
21
|
-
multiple: (_ref = (_params$multiple = params === null || params === void 0 ? void 0 : params.multiple) !== null && _params$multiple !== void 0 ? _params$multiple : _this.props.multiple) !== null && _ref !== void 0 ? _ref : false
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
_defineProperty(_this, "handleChange", function (e) {
|
|
25
|
-
if (!_this.props.name) return;
|
|
26
|
-
_this.props.onBlur && _this.props.onBlur(_this.props.name);
|
|
27
|
-
});
|
|
28
|
-
_defineProperty(_this, "isExploreOpen", false);
|
|
29
|
-
_defineProperty(_this, "handleClick", function (e) {
|
|
30
|
-
_this.isExploreOpen = true;
|
|
31
|
-
});
|
|
32
|
-
_defineProperty(_this, "handleFocus", function (e) {
|
|
33
|
-
if (_this.isExploreOpen === true) {
|
|
34
|
-
_this.isExploreOpen = false;
|
|
35
|
-
if (!_this.props.name) return;
|
|
36
|
-
_this.props.onBlur && _this.props.onBlur(_this.props.name);
|
|
37
|
-
setTimeout(function () {
|
|
38
|
-
_this.refInput && _this.refInput.blur();
|
|
39
|
-
}, 50);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return _this;
|
|
43
|
-
}
|
|
44
|
-
_inherits(FormInputFile, _Component);
|
|
45
|
-
return _createClass(FormInputFile, [{
|
|
46
|
-
key: "render",
|
|
47
|
-
value: function render() {
|
|
48
|
-
var _this2 = this,
|
|
49
|
-
_this$props$name,
|
|
50
|
-
_this$props$textField;
|
|
51
|
-
var eMessage = getErrorMessage(this.props.messageErrors, this.props.name);
|
|
52
|
-
var configs = this.getMergeConfig();
|
|
53
|
-
return jsx(TextField, _objectSpread2(_objectSpread2({
|
|
54
|
-
inputRef: function inputRef(ref) {
|
|
55
|
-
return _this2.refInput = ref;
|
|
56
|
-
},
|
|
57
|
-
name: (_this$props$name = this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString(),
|
|
58
|
-
error: eMessage.error,
|
|
59
|
-
helperText: eMessage.message,
|
|
60
|
-
variant: 'outlined',
|
|
61
|
-
type: 'file',
|
|
62
|
-
fullWidth: true,
|
|
63
|
-
onChange: this.handleChange,
|
|
64
|
-
onClick: this.handleClick,
|
|
65
|
-
onFocus: this.handleFocus
|
|
66
|
-
}, this.props.textFieldProps), {}, {
|
|
67
|
-
inputProps: _objectSpread2({
|
|
68
|
-
accept: configs.accept,
|
|
69
|
-
multiple: configs.multiple
|
|
70
|
-
}, (_this$props$textField = this.props.textFieldProps) === null || _this$props$textField === void 0 ? void 0 : _this$props$textField.inputProps)
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
}]);
|
|
74
|
-
}(Component);
|
|
75
|
-
return FormInputFile;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export { CreateInputFile as default };
|
|
1
|
+
import{inherits as e,createClass as r,objectSpread2 as n,classCallCheck as t,callSuper as o,defineProperty as p}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{Component as l}from"react";import{TextField as s}from"@mui/material";import{getErrorMessage as u}from"./helper.js";function a(a){var c=function(){function c(){var e;t(this,c);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return e=o(this,c,[].concat(n)),p(e,"refInput",null),p(e,"getMergeConfig",(function(){var r,n,t;return{accept:null!==(r=null==a?void 0:a.accept)&&void 0!==r?r:e.props.accept,multiple:null!==(n=null!==(t=null==a?void 0:a.multiple)&&void 0!==t?t:e.props.multiple)&&void 0!==n&&n}})),p(e,"handleChange",(function(r){e.props.name&&e.props.onBlur&&e.props.onBlur(e.props.name)})),p(e,"isExploreOpen",!1),p(e,"handleClick",(function(r){e.isExploreOpen=!0})),p(e,"handleFocus",(function(r){if(!0===e.isExploreOpen){if(e.isExploreOpen=!1,!e.props.name)return;e.props.onBlur&&e.props.onBlur(e.props.name),setTimeout((function(){e.refInput&&e.refInput.blur()}),50)}})),e}return e(c,l),r(c,[{key:"render",value:function(){var e,r,t=this,o=u(this.props.messageErrors,this.props.name),p=this.getMergeConfig();return i(s,n(n({inputRef:function(e){return t.refInput=e},name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),error:o.error,helperText:o.message,variant:"outlined",type:"file",fullWidth:!0,onChange:this.handleChange,onClick:this.handleClick,onFocus:this.handleFocus},this.props.textFieldProps),{},{inputProps:n({accept:p.accept,multiple:p.multiple},null===(r=this.props.textFieldProps)||void 0===r?void 0:r.inputProps)}))}}])}();return c}export{a as default};
|
|
79
2
|
//# sourceMappingURL=create.input.file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.input.file.js","sources":["../../src/form/create.input.file.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { TextField, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\n\r\nexport interface IInputFileProps<T> extends IFormInputBase<T> {\r\n accept?: string\r\n multiple?: boolean\r\n textFieldProps?: TextFieldProps\r\n}\r\n\r\nexport interface IInputFileState {}\r\n\r\nexport interface IInputFileParams {\r\n accept?: string\r\n multiple?: boolean\r\n}\r\n\r\nfunction CreateInputFile<T>(params?: IInputFileParams): ComponentType<IFormInputBase<T>> {\r\n class FormInputFile extends Component<IInputFileProps<T>, IInputFileState> {\r\n refInput: HTMLInputElement | null = null\r\n\r\n render() {\r\n const eMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const configs = this.getMergeConfig()\r\n return (\r\n <TextField\r\n inputRef={(ref) => (this.refInput = ref)}\r\n name={this.props.name?.toString()}\r\n error={eMessage.error}\r\n helperText={eMessage.message}\r\n variant='outlined'\r\n type='file'\r\n fullWidth\r\n onChange={this.handleChange}\r\n onClick={this.handleClick}\r\n onFocus={this.handleFocus}\r\n {...this.props.textFieldProps}\r\n inputProps={{\r\n accept: configs.accept,\r\n multiple: configs.multiple,\r\n ...this.props.textFieldProps?.inputProps\r\n }}\r\n />\r\n )\r\n }\r\n\r\n getMergeConfig = () => ({\r\n accept: params?.accept ?? this.props.accept,\r\n multiple: params?.multiple ?? this.props.multiple ?? false\r\n })\r\n\r\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n isExploreOpen = false\r\n\r\n handleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\r\n this.isExploreOpen = true\r\n }\r\n\r\n handleFocus: React.FocusEventHandler<HTMLInputElement> = (e) => {\r\n if (this.isExploreOpen === true) {\r\n this.isExploreOpen = false\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n setTimeout(() => {\r\n this.refInput && this.refInput.blur()\r\n }, 50)\r\n }\r\n }\r\n }\r\n return FormInputFile\r\n}\r\n\r\nexport default CreateInputFile\r\n"],"names":["CreateInputFile","params","FormInputFile","
|
|
1
|
+
{"version":3,"file":"create.input.file.js","sources":["../../src/form/create.input.file.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { TextField, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\n\r\nexport interface IInputFileProps<T> extends IFormInputBase<T> {\r\n accept?: string\r\n multiple?: boolean\r\n textFieldProps?: TextFieldProps\r\n}\r\n\r\nexport interface IInputFileState {}\r\n\r\nexport interface IInputFileParams {\r\n accept?: string\r\n multiple?: boolean\r\n}\r\n\r\nfunction CreateInputFile<T>(params?: IInputFileParams): ComponentType<IFormInputBase<T>> {\r\n class FormInputFile extends Component<IInputFileProps<T>, IInputFileState> {\r\n refInput: HTMLInputElement | null = null\r\n\r\n render() {\r\n const eMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const configs = this.getMergeConfig()\r\n return (\r\n <TextField\r\n inputRef={(ref) => (this.refInput = ref)}\r\n name={this.props.name?.toString()}\r\n error={eMessage.error}\r\n helperText={eMessage.message}\r\n variant='outlined'\r\n type='file'\r\n fullWidth\r\n onChange={this.handleChange}\r\n onClick={this.handleClick}\r\n onFocus={this.handleFocus}\r\n {...this.props.textFieldProps}\r\n inputProps={{\r\n accept: configs.accept,\r\n multiple: configs.multiple,\r\n ...this.props.textFieldProps?.inputProps\r\n }}\r\n />\r\n )\r\n }\r\n\r\n getMergeConfig = () => ({\r\n accept: params?.accept ?? this.props.accept,\r\n multiple: params?.multiple ?? this.props.multiple ?? false\r\n })\r\n\r\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n isExploreOpen = false\r\n\r\n handleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\r\n this.isExploreOpen = true\r\n }\r\n\r\n handleFocus: React.FocusEventHandler<HTMLInputElement> = (e) => {\r\n if (this.isExploreOpen === true) {\r\n this.isExploreOpen = false\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n setTimeout(() => {\r\n this.refInput && this.refInput.blur()\r\n }, 50)\r\n }\r\n }\r\n }\r\n return FormInputFile\r\n}\r\n\r\nexport default CreateInputFile\r\n"],"names":["CreateInputFile","params","FormInputFile","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_params$accept","_ref","_params$multiple","accept","props","multiple","e","name","onBlur","isExploreOpen","setTimeout","refInput","blur","_inherits","Component","_createClass","key","value","_this$props$name","_this$props$textField","_this2","eMessage","getErrorMessage","messageErrors","configs","getMergeConfig","_jsx","TextField","_objectSpread","inputRef","ref","toString","error","helperText","message","variant","type","fullWidth","onChange","handleChange","onClick","handleClick","onFocus","handleFocus","textFieldProps","inputProps"],"mappings":"iUAkBA,SAASA,EAAmBC,GAAyB,IAC7CC,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAqDjB,OArDiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,WACkB,MAAIW,EAAAX,EA2BvB,kBAAA,WAAA,IAAAY,EAAAC,EAAAC,EAAA,MAAO,CACtBC,OAAsBH,QAAhBA,EAAEd,eAAAA,EAAQiB,kBAAMH,EAAAA,EAAIZ,EAAKgB,MAAMD,OACrCE,SAAiDJ,QAAzCA,EAAkB,QAAlBC,EAAEhB,aAAM,EAANA,EAAQmB,gBAAQH,IAAAA,EAAAA,EAAId,EAAKgB,MAAMC,gBAAQJ,IAAAA,GAAAA,MACjDF,EAAAX,EAEyD,gBAAA,SAACkB,GACrDlB,EAAKgB,MAAMG,MAChBnB,EAAKgB,MAAMI,QAAUpB,EAAKgB,MAAMI,OAAOpB,EAAKgB,MAAMG,SACnDR,EAAAX,EAAA,iBAEe,GAAKW,EAAAX,EAEkC,eAAA,SAACkB,GACtDlB,EAAKqB,eAAgB,KACtBV,EAAAX,EAEwD,eAAA,SAACkB,GACxD,IAA2B,IAAvBlB,EAAKqB,cAAwB,CAE/B,GADArB,EAAKqB,eAAgB,GAChBrB,EAAKgB,MAAMG,KAAM,OACtBnB,EAAKgB,MAAMI,QAAUpB,EAAKgB,MAAMI,OAAOpB,EAAKgB,MAAMG,MAClDG,YAAW,WACTtB,EAAKuB,UAAYvB,EAAKuB,SAASC,MAChC,GAAE,GACJ,KACFxB,CAAA,CAAA,OAAAyB,EAAA1B,EArDyB2B,GAqDzBC,EAAA5B,EAAA,CAAA,CAAA6B,IAAA,SAAAC,MAlDD,WAAM,IAAAC,EAAAC,EAAAC,EAAAvB,KACEwB,EAAWC,EAAgBzB,KAAKO,MAAMmB,cAAe1B,KAAKO,MAAMG,MAChEiB,EAAU3B,KAAK4B,iBACrB,OACEC,EAACC,EAASC,EAAAA,EAAA,CACRC,SAAU,SAACC,GAAG,OAAMV,EAAKT,SAAWmB,CAAI,EACxCvB,KAAqB,QAAjBW,EAAErB,KAAKO,MAAMG,YAAXW,IAAeA,OAAfA,EAAAA,EAAiBa,WACvBC,MAAOX,EAASW,MAChBC,WAAYZ,EAASa,QACrBC,QAAQ,WACRC,KAAK,OACLC,WACA,EAAAC,SAAUzC,KAAK0C,aACfC,QAAS3C,KAAK4C,YACdC,QAAS7C,KAAK8C,aACV9C,KAAKO,MAAMwC,gBAAc,CAAA,EAAA,CAC7BC,WAAUjB,EAAA,CACRzB,OAAQqB,EAAQrB,OAChBE,SAAUmB,EAAQnB,UACU,QADFc,EACvBtB,KAAKO,MAAMwC,sBAAc,IAAAzB,OAAA,EAAzBA,EAA2B0B,cAItC,IAAC,IA6BH,OAAO1D,CACT"}
|