dynamic-mui 1.0.72 → 1.0.74
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/build/asset-manifest.json +3 -3
- package/build/index.html +1 -1
- package/build/static/js/main.198528b3.js +3 -0
- package/build/static/js/{main.9e08a04c.js.LICENSE.txt → main.198528b3.js.LICENSE.txt} +7 -27
- package/build/static/js/main.198528b3.js.map +1 -0
- package/dist-modules/components/FormGenerator.js +22 -15
- package/dist-modules/components/charts/Mixchart/mixChart.js +11 -7
- package/dist-modules/components/controls/DateTime/datetime.js +3 -3
- package/dist-modules/components/controls/DateTimePicker/datetimepicker.js +3 -3
- package/dist-modules/components/controls/Select/select.js +18 -16
- package/dist-modules/components/controls/Stepper/stepper.js +21 -23
- package/dist-modules/components/controls/Switch/switch.js +6 -3
- package/dist-modules/components/controls/TimePicker/timepicker.js +3 -3
- package/dist-modules/data/stepper.js +8 -0
- package/dist-modules/util/helper.js +63 -20
- package/docs/asset-manifest.json +2 -2
- package/docs/build/bundle.60fc239e.js +2 -0
- package/docs/build/{bundle.e8059e90.js.LICENSE.txt → bundle.60fc239e.js.LICENSE.txt} +11 -11
- package/docs/index.html +1 -1
- package/package.json +18 -18
- package/build/static/js/main.9e08a04c.js +0 -185
- package/build/static/js/main.9e08a04c.js.map +0 -1
- package/docs/build/bundle.e8059e90.js +0 -184
|
@@ -8,7 +8,7 @@ exports.FormGenerator = FormGenerator;
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireWildcard(require("prop-types"));
|
|
11
|
-
var
|
|
11
|
+
var _material = require("@mui/material");
|
|
12
12
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
13
13
|
var _mui = _interopRequireDefault(require("../config/mui"));
|
|
14
14
|
var _DynamicComponent = _interopRequireDefault(require("./DynamicComponent"));
|
|
@@ -19,6 +19,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
21
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
26
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
27
|
const LIBMap = {
|
|
23
28
|
MUI: {
|
|
24
29
|
map: _mui.default
|
|
@@ -36,18 +41,22 @@ const ClearFormData = id => {
|
|
|
36
41
|
}
|
|
37
42
|
};
|
|
38
43
|
exports.ClearFormData = ClearFormData;
|
|
39
|
-
const getAllMandatoryFields = fields => fields
|
|
44
|
+
const getAllMandatoryFields = fields => fields === null || fields === void 0 ? void 0 : fields.filter(field => {
|
|
45
|
+
var _field$rules;
|
|
46
|
+
return field === null || field === void 0 || (_field$rules = field.rules) === null || _field$rules === void 0 || (_field$rules = _field$rules.validation) === null || _field$rules === void 0 ? void 0 : _field$rules.some(validation => validation.rule === 'mandatory');
|
|
47
|
+
});
|
|
40
48
|
const getErrors = (fields, guid) => {
|
|
41
49
|
const mandatoryFields = getAllMandatoryFields(fields);
|
|
42
|
-
return mandatoryFields
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
return mandatoryFields === null || mandatoryFields === void 0 ? void 0 : mandatoryFields.reduce((acc, field) => {
|
|
51
|
+
var _field$rules2;
|
|
52
|
+
field === null || field === void 0 || (_field$rules2 = field.rules) === null || _field$rules2 === void 0 || (_field$rules2 = _field$rules2.validation) === null || _field$rules2 === void 0 || _field$rules2.forEach(rule => {
|
|
53
|
+
var _response$guid, _field$props;
|
|
54
|
+
const fieldValue = (_response$guid = response[guid][(field === null || field === void 0 ? void 0 : field.id) || (field === null || field === void 0 || (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.id)]) === null || _response$guid === void 0 ? void 0 : _response$guid.toString();
|
|
45
55
|
const isClean = fieldValue && _validation.default[rule.rule](fieldValue, rule.value);
|
|
46
56
|
if (!isClean) {
|
|
47
|
-
acc.push({
|
|
48
|
-
...rule,
|
|
57
|
+
acc.push(_objectSpread(_objectSpread({}, rule), {}, {
|
|
49
58
|
id: field.id
|
|
50
|
-
});
|
|
59
|
+
}));
|
|
51
60
|
}
|
|
52
61
|
});
|
|
53
62
|
return acc;
|
|
@@ -74,9 +83,7 @@ function FormGenerator(_ref) {
|
|
|
74
83
|
if ((0, _isEmpty.default)(response[guid])) response[guid] = patch;
|
|
75
84
|
}, []);
|
|
76
85
|
(0, _useUpdateEffect.default)(() => {
|
|
77
|
-
setNewPatch({
|
|
78
|
-
...patch
|
|
79
|
-
});
|
|
86
|
+
setNewPatch(_objectSpread({}, patch));
|
|
80
87
|
}, [patch]);
|
|
81
88
|
const onUpdate = (0, _react.useCallback)(_ref2 => {
|
|
82
89
|
let {
|
|
@@ -118,12 +125,12 @@ function FormGenerator(_ref) {
|
|
|
118
125
|
const {
|
|
119
126
|
options = {}
|
|
120
127
|
} = configObj;
|
|
121
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement(_material.Grid2, _extends({
|
|
122
129
|
key: (0, _helper.generateKey)('layout-comp', index),
|
|
123
130
|
item: true,
|
|
124
131
|
style: style
|
|
125
132
|
}, cLayout, {
|
|
126
|
-
className:
|
|
133
|
+
className: "".concat(className, " ").concat(visible ? 'show' : 'hidden')
|
|
127
134
|
}), /*#__PURE__*/_react.default.createElement(_DynamicComponent.default, {
|
|
128
135
|
key: (0, _helper.generateKey)('dynamic-comp', index),
|
|
129
136
|
map: configObj.map,
|
|
@@ -137,7 +144,7 @@ function FormGenerator(_ref) {
|
|
|
137
144
|
patch: patch
|
|
138
145
|
}));
|
|
139
146
|
};
|
|
140
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Grid2, _extends({
|
|
141
148
|
key: (0, _helper.generateKey)('layout-grid'),
|
|
142
149
|
container: true
|
|
143
150
|
}, MuiGridAttributes), layout.wrows.map((row, rowIndex) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
@@ -145,7 +152,7 @@ function FormGenerator(_ref) {
|
|
|
145
152
|
}, row.map(renderDynamicComponent)))), layout.worows.map((field, index) => /*#__PURE__*/_react.default.createElement("div", {
|
|
146
153
|
key: (0, _helper.generateKey)('layout-comp', index),
|
|
147
154
|
style: field.style || {},
|
|
148
|
-
className:
|
|
155
|
+
className: "".concat(field.className || '', " ").concat(field.visible ? 'show' : 'hidden')
|
|
149
156
|
}, renderDynamicComponent(field, index))), /*#__PURE__*/_react.default.createElement("button", {
|
|
150
157
|
"aria-label": "button",
|
|
151
158
|
type: "button",
|
|
@@ -16,7 +16,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
20
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable import/no-extraneous-dependencies */
|
|
20
25
|
function MixChart(_ref) {
|
|
21
26
|
let {
|
|
22
27
|
attributes
|
|
@@ -36,15 +41,14 @@ function MixChart(_ref) {
|
|
|
36
41
|
},
|
|
37
42
|
key: id
|
|
38
43
|
}, MuiBoxAttributes), /*#__PURE__*/React.createElement(_ResponsiveChartContainer.ResponsiveChartContainer, _extends({
|
|
39
|
-
sx: {
|
|
40
|
-
[
|
|
44
|
+
sx: _objectSpread({
|
|
45
|
+
[".".concat(_ChartsAxis.axisClasses.left, " .").concat(_ChartsAxis.axisClasses.label)]: {
|
|
41
46
|
transform: 'translate(-25px, 0)'
|
|
42
47
|
},
|
|
43
|
-
[
|
|
48
|
+
[".".concat(_ChartsAxis.axisClasses.right, " .").concat(_ChartsAxis.axisClasses.label)]: {
|
|
44
49
|
transform: 'translate(30px, 0)'
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
}
|
|
50
|
+
}
|
|
51
|
+
}, MuiChartSX)
|
|
48
52
|
}, MuiChartContainerAttributes), /*#__PURE__*/React.createElement(_BarChart.BarPlot, null), /*#__PURE__*/React.createElement(_LineChart.LinePlot, null), /*#__PURE__*/React.createElement(_ChartsXAxis.ChartsXAxis, MuiChartXAxisAttributes), /*#__PURE__*/React.createElement(_ChartsYAxis.ChartsYAxis, MuiChartYAxisAttributes)));
|
|
49
53
|
}
|
|
50
54
|
MixChart.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -23,10 +23,10 @@ function DateTime(_ref) {
|
|
|
23
23
|
name = 'DatePicker',
|
|
24
24
|
id = ''
|
|
25
25
|
} = attributes;
|
|
26
|
-
const [value, setValue] = _react.default.useState(attributes
|
|
26
|
+
const [value, setValue] = _react.default.useState(attributes !== null && attributes !== void 0 && attributes.value ? (0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value) : null);
|
|
27
27
|
(0, _useUpdateEffect.default)(() => {
|
|
28
|
-
if (attributes
|
|
29
|
-
}, [attributes
|
|
28
|
+
if (attributes !== null && attributes !== void 0 && attributes.value) setValue((0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value));
|
|
29
|
+
}, [attributes === null || attributes === void 0 ? void 0 : attributes.value]);
|
|
30
30
|
const MuiDateTime = (0, _helper.DateComponent)(name);
|
|
31
31
|
return /*#__PURE__*/_react.default.createElement(_xDatePickers.LocalizationProvider, {
|
|
32
32
|
dateAdapter: _AdapterDayjs.AdapterDayjs
|
|
@@ -23,10 +23,10 @@ function DateTimePicker(_ref) {
|
|
|
23
23
|
name = 'DateTimePicker',
|
|
24
24
|
id = ''
|
|
25
25
|
} = attributes;
|
|
26
|
-
const [value, setValue] = _react.default.useState(attributes
|
|
26
|
+
const [value, setValue] = _react.default.useState(attributes !== null && attributes !== void 0 && attributes.value ? (0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value) : null);
|
|
27
27
|
(0, _useUpdateEffect.default)(() => {
|
|
28
|
-
if (attributes
|
|
29
|
-
}, [attributes
|
|
28
|
+
if (attributes !== null && attributes !== void 0 && attributes.value) setValue((0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value));
|
|
29
|
+
}, [attributes === null || attributes === void 0 ? void 0 : attributes.value]);
|
|
30
30
|
const MuiDateTimePicker = (0, _helper.DateComponent)(name);
|
|
31
31
|
return /*#__PURE__*/_react.default.createElement(_xDatePickers.LocalizationProvider, {
|
|
32
32
|
dateAdapter: _AdapterDayjs.AdapterDayjs
|
|
@@ -15,7 +15,12 @@ var _helper = require("../../../util/helper");
|
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
18
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
21
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
22
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
23
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable default-param-last,react/jsx-no-duplicate-props */
|
|
19
24
|
const icon = /*#__PURE__*/_react.default.createElement(_CheckBoxOutlineBlank.default, {
|
|
20
25
|
fontSize: "small"
|
|
21
26
|
});
|
|
@@ -28,13 +33,13 @@ const getValue = function () {
|
|
|
28
33
|
let isMultiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
29
34
|
if (isMultiple) {
|
|
30
35
|
let separator = ',';
|
|
31
|
-
if (defaultValue
|
|
32
|
-
const dValueSet = new Set(defaultValue
|
|
33
|
-
return options
|
|
36
|
+
if (defaultValue !== null && defaultValue !== void 0 && defaultValue.includes(',')) separator = ',';else if (defaultValue !== null && defaultValue !== void 0 && defaultValue.includes(';')) separator = ';';
|
|
37
|
+
const dValueSet = new Set(defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.split(separator));
|
|
38
|
+
return options === null || options === void 0 ? void 0 : options.filter(_ref => {
|
|
34
39
|
let {
|
|
35
40
|
value
|
|
36
41
|
} = _ref;
|
|
37
|
-
return dValueSet
|
|
42
|
+
return dValueSet === null || dValueSet === void 0 ? void 0 : dValueSet.has(value);
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
45
|
return options.find(_ref2 => {
|
|
@@ -56,7 +61,7 @@ function Select(_ref3) {
|
|
|
56
61
|
id = '',
|
|
57
62
|
InputProps = {}
|
|
58
63
|
} = attributes;
|
|
59
|
-
const [value, setValue] = _react.default.useState(attributes
|
|
64
|
+
const [value, setValue] = _react.default.useState((attributes === null || attributes === void 0 ? void 0 : attributes.value) && getValue(options, attributes === null || attributes === void 0 ? void 0 : attributes.value, MuiAttributes.multiple));
|
|
60
65
|
const getMuiAttributes = () => {
|
|
61
66
|
if (MuiAttributes.multiple) {
|
|
62
67
|
MuiAttributes.renderOption = function (props) {
|
|
@@ -77,7 +82,7 @@ function Select(_ref3) {
|
|
|
77
82
|
}
|
|
78
83
|
return MuiAttributes;
|
|
79
84
|
};
|
|
80
|
-
const extractValue = option => option
|
|
85
|
+
const extractValue = option => (option === null || option === void 0 ? void 0 : option.value) || (option === null || option === void 0 ? void 0 : option.title) || (option === null || option === void 0 ? void 0 : option.label);
|
|
81
86
|
const onChangeEvent = (0, _react.useCallback)((event, newValue) => {
|
|
82
87
|
setValue(newValue);
|
|
83
88
|
if (newValue) {
|
|
@@ -101,18 +106,15 @@ function Select(_ref3) {
|
|
|
101
106
|
renderInput: params => {
|
|
102
107
|
// Ensure custom adornments are incorporated without overriding other essential props
|
|
103
108
|
const customInputProps = (0, _helper.getInputProps)(InputProps);
|
|
104
|
-
const mergedInputProps = {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
endAdornment: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, customInputProps?.endAdornment, params.InputProps.endAdornment)
|
|
109
|
-
};
|
|
109
|
+
const mergedInputProps = _objectSpread(_objectSpread(_objectSpread({}, params.InputProps), customInputProps), {}, {
|
|
110
|
+
startAdornment: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, customInputProps === null || customInputProps === void 0 ? void 0 : customInputProps.startAdornment, params.InputProps.startAdornment, " "),
|
|
111
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, customInputProps === null || customInputProps === void 0 ? void 0 : customInputProps.endAdornment, params.InputProps.endAdornment)
|
|
112
|
+
});
|
|
110
113
|
return /*#__PURE__*/_react.default.createElement(_TextField.default, _extends({}, params, MuiBoxAttributes, {
|
|
111
114
|
slotProps: {
|
|
112
|
-
input: {
|
|
113
|
-
...mergedInputProps,
|
|
115
|
+
input: _objectSpread(_objectSpread({}, mergedInputProps), {}, {
|
|
114
116
|
autoComplete: 'new-password'
|
|
115
|
-
}
|
|
117
|
+
})
|
|
116
118
|
}
|
|
117
119
|
}));
|
|
118
120
|
}
|
|
@@ -12,7 +12,12 @@ var _helper = require("../../../util/helper");
|
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
15
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // eslint-disable-next-line import/no-cycle
|
|
16
21
|
// Initial State
|
|
17
22
|
const initialState = {
|
|
18
23
|
activeStep: 0,
|
|
@@ -28,28 +33,23 @@ const reducer = (state, action) => {
|
|
|
28
33
|
} = action;
|
|
29
34
|
switch (type) {
|
|
30
35
|
case 'SET_STEPS':
|
|
31
|
-
return {
|
|
32
|
-
...state,
|
|
36
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
33
37
|
MuiSteps: payload.MuiSteps
|
|
34
|
-
};
|
|
38
|
+
});
|
|
35
39
|
case 'SET_STEP':
|
|
36
|
-
return {
|
|
37
|
-
...state,
|
|
40
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
38
41
|
activeStep: payload.currentStep
|
|
39
|
-
};
|
|
42
|
+
});
|
|
40
43
|
case 'UPDATE_RESPONSE':
|
|
41
|
-
return {
|
|
42
|
-
|
|
43
|
-
stepperResponse: {
|
|
44
|
-
...state.stepperResponse,
|
|
44
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
45
|
+
stepperResponse: _objectSpread(_objectSpread({}, state.stepperResponse), {}, {
|
|
45
46
|
[payload.id]: payload.value
|
|
46
|
-
}
|
|
47
|
-
};
|
|
47
|
+
})
|
|
48
|
+
});
|
|
48
49
|
case 'CHANGE_STEP':
|
|
49
|
-
return {
|
|
50
|
-
...state,
|
|
50
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
51
51
|
activeStep: state.activeStep + payload.stepChange
|
|
52
|
-
};
|
|
52
|
+
});
|
|
53
53
|
default:
|
|
54
54
|
return state;
|
|
55
55
|
}
|
|
@@ -88,9 +88,9 @@ function Stepper(_ref) {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
const newStep = activeStep + stepChange;
|
|
91
|
-
onStepUpdate
|
|
91
|
+
onStepUpdate === null || onStepUpdate === void 0 || onStepUpdate(newStep, isScreenChange && stepChange > 0, isLastStep);
|
|
92
92
|
if (isLastStep) {
|
|
93
|
-
onChange
|
|
93
|
+
onChange === null || onChange === void 0 || onChange({
|
|
94
94
|
id: attributes.id,
|
|
95
95
|
value: stepperResponse
|
|
96
96
|
});
|
|
@@ -108,7 +108,7 @@ function Stepper(_ref) {
|
|
|
108
108
|
value
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
|
-
onChange
|
|
111
|
+
onChange === null || onChange === void 0 || onChange({
|
|
112
112
|
id,
|
|
113
113
|
value
|
|
114
114
|
});
|
|
@@ -130,9 +130,7 @@ function Stepper(_ref) {
|
|
|
130
130
|
mt: 1,
|
|
131
131
|
mr: 1
|
|
132
132
|
}
|
|
133
|
-
}, attributes.MuiButtonAttributes.next, index === MuiSteps.length - 1 && {
|
|
134
|
-
...attributes.MuiButtonAttributes.final
|
|
135
|
-
}), index === MuiSteps.length - 1 ? 'Finish' : 'Continue'), /*#__PURE__*/_react.default.createElement(_material.Button, _extends({
|
|
133
|
+
}, attributes.MuiButtonAttributes.next, index === MuiSteps.length - 1 && _objectSpread({}, attributes.MuiButtonAttributes.final)), index === MuiSteps.length - 1 ? 'Finish' : 'Continue'), /*#__PURE__*/_react.default.createElement(_material.Button, _extends({
|
|
136
134
|
disabled: index === 0,
|
|
137
135
|
onClick: () => handleStepChange(-1, isScreenChange, false),
|
|
138
136
|
sx: {
|
|
@@ -155,7 +153,7 @@ function Stepper(_ref) {
|
|
|
155
153
|
}, "Last step")
|
|
156
154
|
}, attributes.MuiStepLabelAttributes), step.label), /*#__PURE__*/_react.default.createElement(_material.StepContent, attributes.MuiStepContentAttributes, step.components ? /*#__PURE__*/_react.default.createElement(_stepperComponents.default, {
|
|
157
155
|
onUpdate: handleUpdate,
|
|
158
|
-
components: (0, _helper.updatePatchData)(step.components, stepperResponse)
|
|
156
|
+
components: (0, _helper.updatePatchData)(step.components, stepperResponse, '', {}, step.enableDisableIds)
|
|
159
157
|
}) : /*#__PURE__*/_react.default.createElement(_material.Typography, null, step.description), renderButtons(index, step.isScreenChange, step.mandatoryIds, step.optionalMandatoryIds))))));
|
|
160
158
|
}
|
|
161
159
|
|
|
@@ -10,13 +10,16 @@ var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
|
|
|
10
10
|
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
11
11
|
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _useUpdateEffect = _interopRequireDefault(require("../../../util/useUpdateEffect"));
|
|
13
|
+
const _excluded = ["color"];
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
17
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
15
18
|
const ColorSwitch = (0, _styles.experimentalStyled)(_ref => {
|
|
16
19
|
let {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
color
|
|
21
|
+
} = _ref,
|
|
22
|
+
other = _objectWithoutProperties(_ref, _excluded);
|
|
20
23
|
return /*#__PURE__*/_react.default.createElement(_Switch.default, other);
|
|
21
24
|
})(_ref2 => {
|
|
22
25
|
let {
|
|
@@ -23,10 +23,10 @@ function TimePicker(_ref) {
|
|
|
23
23
|
name = 'TimePicker',
|
|
24
24
|
id = ''
|
|
25
25
|
} = attributes;
|
|
26
|
-
const [value, setValue] = _react.default.useState(attributes
|
|
26
|
+
const [value, setValue] = _react.default.useState(attributes !== null && attributes !== void 0 && attributes.value ? (0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value) : null);
|
|
27
27
|
(0, _useUpdateEffect.default)(() => {
|
|
28
|
-
if (attributes
|
|
29
|
-
}, [attributes
|
|
28
|
+
if (attributes !== null && attributes !== void 0 && attributes.value) setValue((0, _dayjs.default)(attributes === null || attributes === void 0 ? void 0 : attributes.value));
|
|
29
|
+
}, [attributes === null || attributes === void 0 ? void 0 : attributes.value]);
|
|
30
30
|
const MuiTimePicker = (0, _helper.DateComponent)(name);
|
|
31
31
|
return /*#__PURE__*/_react.default.createElement(_xDatePickers.LocalizationProvider, {
|
|
32
32
|
dateAdapter: _AdapterDayjs.AdapterDayjs
|
|
@@ -147,6 +147,14 @@ const mui = exports.mui = [{
|
|
|
147
147
|
value: 'Assign',
|
|
148
148
|
mandatoryIds: ['cost']
|
|
149
149
|
}],
|
|
150
|
+
enableDisableIds: [{
|
|
151
|
+
key: 'determinecost',
|
|
152
|
+
disableIds: ['cost'],
|
|
153
|
+
compareValues: {
|
|
154
|
+
Skip: true,
|
|
155
|
+
Assign: false
|
|
156
|
+
}
|
|
157
|
+
}],
|
|
150
158
|
components: [{
|
|
151
159
|
id: 'determinecost',
|
|
152
160
|
type: 'radio',
|
|
@@ -12,8 +12,12 @@ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
|
12
12
|
var _material = require("@mui/material");
|
|
13
13
|
var _xDatePickers = require("@mui/x-date-pickers");
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
var _utils = require("@mui/x-data-grid/utils/utils");
|
|
16
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
21
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
18
22
|
function generateLayout(data) {
|
|
19
23
|
const layout = {
|
|
@@ -55,8 +59,8 @@ function getInputProps(InputProps) {
|
|
|
55
59
|
textstyle = {}
|
|
56
60
|
} = InputProps;
|
|
57
61
|
return {
|
|
58
|
-
[
|
|
59
|
-
key:
|
|
62
|
+
["".concat(position, "Adornment")]: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, _extends({}, MuiInputAdornment, {
|
|
63
|
+
key: "custom-icon-Adornment-".concat(position)
|
|
60
64
|
}), icon && /*#__PURE__*/_react.default.createElement(_material.Icon, null, icon), !(0, _isEmpty.default)(textstyle) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
61
65
|
style: textstyle
|
|
62
66
|
}, text || '') : text || '')
|
|
@@ -69,7 +73,7 @@ const generateKey = function () {
|
|
|
69
73
|
let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
70
74
|
const random = Math.random().toString(36).substr(2, 9);
|
|
71
75
|
const currentTime = new Date().toLocaleTimeString('en').trim();
|
|
72
|
-
return
|
|
76
|
+
return "".concat(prefix, "_").concat(index, "_").concat(random, "_").concat(currentTime);
|
|
73
77
|
};
|
|
74
78
|
exports.generateKey = generateKey;
|
|
75
79
|
function isEmptyCustom(value) {
|
|
@@ -85,29 +89,68 @@ function isEmptyCustom(value) {
|
|
|
85
89
|
}
|
|
86
90
|
const updatePatchData = function (fields, patch, guid) {
|
|
87
91
|
let response = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
92
|
+
let enableDisableIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
|
|
88
93
|
try {
|
|
94
|
+
// Update response with the patch for the provided GUID
|
|
89
95
|
response[guid] = patch;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const id = newField
|
|
96
|
+
|
|
97
|
+
// Map and update fields with response data
|
|
98
|
+
const updatedFields = (0, _lodash.map)(fields, field => {
|
|
99
|
+
var _newField$props;
|
|
100
|
+
const newField = (0, _lodash.cloneDeep)(field);
|
|
101
|
+
const id = (newField === null || newField === void 0 ? void 0 : newField.id) || (newField === null || newField === void 0 || (_newField$props = newField.props) === null || _newField$props === void 0 ? void 0 : _newField$props.id);
|
|
96
102
|
if (id && response[guid] && !isEmptyCustom(response[guid][id])) {
|
|
97
|
-
const defaultValue = newField
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
value: isUndefined ? defaultValue || '' : response[guid][id]
|
|
102
|
-
};
|
|
103
|
-
// newField.props.value = response[guid][id] || defaultValue;
|
|
103
|
+
const defaultValue = ['switch', 'checkbox'].includes(newField === null || newField === void 0 ? void 0 : newField.type) ? false : '';
|
|
104
|
+
newField.props = _objectSpread(_objectSpread({}, newField.props), {}, {
|
|
105
|
+
value: response[guid][id] === undefined ? defaultValue : response[guid][id]
|
|
106
|
+
});
|
|
104
107
|
}
|
|
105
108
|
return newField;
|
|
106
109
|
});
|
|
107
|
-
|
|
110
|
+
|
|
111
|
+
// Handle enable/disable logic
|
|
112
|
+
if (enableDisableIds.length > 0) {
|
|
113
|
+
enableDisableIds.forEach(_ref => {
|
|
114
|
+
let {
|
|
115
|
+
key,
|
|
116
|
+
disableIds,
|
|
117
|
+
compareValues = {}
|
|
118
|
+
} = _ref;
|
|
119
|
+
const controllingField = updatedFields.find(field => {
|
|
120
|
+
var _field$props;
|
|
121
|
+
return (field === null || field === void 0 ? void 0 : field.id) === key || (field === null || field === void 0 || (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.id) === key;
|
|
122
|
+
});
|
|
123
|
+
if (controllingField) {
|
|
124
|
+
var _controllingField$pro;
|
|
125
|
+
const disabled = compareValues[controllingField === null || controllingField === void 0 || (_controllingField$pro = controllingField.props) === null || _controllingField$pro === void 0 ? void 0 : _controllingField$pro.value];
|
|
126
|
+
disableIds.forEach(patchId => {
|
|
127
|
+
const targetFieldIndex = updatedFields.findIndex(field => {
|
|
128
|
+
var _field$props2;
|
|
129
|
+
return (field === null || field === void 0 ? void 0 : field.id) === patchId || (field === null || field === void 0 || (_field$props2 = field.props) === null || _field$props2 === void 0 ? void 0 : _field$props2.id) === patchId;
|
|
130
|
+
});
|
|
131
|
+
if (targetFieldIndex !== -1) {
|
|
132
|
+
var _tElement$props, _updatedFields$target, _updatedFields$target2;
|
|
133
|
+
const tElement = updatedFields[targetFieldIndex];
|
|
134
|
+
const id = (tElement === null || tElement === void 0 ? void 0 : tElement.id) || (tElement === null || tElement === void 0 || (_tElement$props = tElement.props) === null || _tElement$props === void 0 ? void 0 : _tElement$props.id);
|
|
135
|
+
response[guid][id] = disabled ? '' : response[guid][id];
|
|
136
|
+
updatedFields[targetFieldIndex] = _objectSpread(_objectSpread({}, updatedFields[targetFieldIndex]), {}, {
|
|
137
|
+
props: _objectSpread(_objectSpread({}, updatedFields[targetFieldIndex].props), {}, {
|
|
138
|
+
value: disabled ? '' : (_updatedFields$target = updatedFields[targetFieldIndex]) === null || _updatedFields$target === void 0 || (_updatedFields$target = _updatedFields$target.props) === null || _updatedFields$target === void 0 ? void 0 : _updatedFields$target.value,
|
|
139
|
+
MuiAttributes: _objectSpread(_objectSpread({}, (_updatedFields$target2 = updatedFields[targetFieldIndex].props) === null || _updatedFields$target2 === void 0 ? void 0 : _updatedFields$target2.MuiAttributes), {}, {
|
|
140
|
+
disabled
|
|
141
|
+
})
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return updatedFields;
|
|
150
|
+
} catch (error) {
|
|
108
151
|
// eslint-disable-next-line no-console
|
|
109
|
-
console.
|
|
110
|
-
return fields;
|
|
152
|
+
console.error('Error updating patch data:', error);
|
|
153
|
+
return fields; // Return original fields on error
|
|
111
154
|
}
|
|
112
155
|
};
|
|
113
156
|
exports.updatePatchData = updatePatchData;
|
package/docs/asset-manifest.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"main.js": "/DinakaranS/-dynamic-mui/build/bundle.
|
|
3
|
+
"main.js": "/DinakaranS/-dynamic-mui/build/bundle.60fc239e.js",
|
|
4
4
|
"index.html": "/DinakaranS/-dynamic-mui/index.html"
|
|
5
5
|
},
|
|
6
6
|
"entrypoints": [
|
|
7
|
-
"build/bundle.
|
|
7
|
+
"build/bundle.60fc239e.js"
|
|
8
8
|
]
|
|
9
9
|
}
|