kui-crm_actions 0.0.108 → 0.0.110

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/cjs/index.js CHANGED
@@ -10,11 +10,13 @@ var to = require('await-to-js');
10
10
  var luxon = require('luxon');
11
11
  var kuiComplex = require('kui-complex');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
+ var react = require('react');
14
+ var reactHookForm = require('react-hook-form');
13
15
  var kuiBasic = require('kui-basic');
16
+ var yup$1 = require('@hookform/resolvers/yup');
14
17
  var mobxReact = require('mobx-react');
15
18
  var styled = require('@emotion/styled');
16
19
  var kuiIcon = require('kui-icon');
17
- var react = require('react');
18
20
  var mobx = require('mobx');
19
21
 
20
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -942,6 +944,46 @@ var FillingInfoFieldsSchema = yup__namespace.object().shape({
942
944
  }),
943
945
  });
944
946
 
947
+ var meterFeaturesFieldsSchema = {
948
+ number: yup__namespace.string().required("This field is required"),
949
+ };
950
+ var getMeterFeaturesFieldsSchema = function (valuesFields) {
951
+ var valuesSchema = kuiCrm.getMeterValuesFieldsSchema(valuesFields);
952
+ return yup__namespace.object().shape(__assign(__assign({}, meterFeaturesFieldsSchema), Object.assign.apply(Object, __spreadArray([{}], valuesSchema, false))));
953
+ };
954
+
955
+ var getMeterFields = function (settings, inputsSettings) { return __spreadArray(__spreadArray([], kuiCrm.basicFieldsOfNewResourceMeter(settings, inputsSettings), true), [
956
+ __assign({ label: "Activation date", name: "startDate", variant: "date", max: luxon.DateTime.now() }, inputsSettings === null || inputsSettings === void 0 ? void 0 : inputsSettings.startDate),
957
+ __assign({ label: "Passport", name: "passportFile", variant: "custom", CustomInput: kuiComplex.InputFile }, inputsSettings === null || inputsSettings === void 0 ? void 0 : inputsSettings.passportFile),
958
+ ], false); };
959
+
960
+ function InventoryMeterInfoFields(props) {
961
+ var resource = props.resource, handleSubmit = props.handleSubmit, handlePrevClick = props.handlePrevClick, defaultValues = props.defaultValues;
962
+ var withMeterType = resource === "water" || resource === "electricity";
963
+ var defaultType = resource === "water" ? "cold" : "T1";
964
+ var defaultMeterType = withMeterType ? defaultType : null;
965
+ var _a = react.useState((defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.type) || defaultMeterType), meterType = _a[0], setMeterType = _a[1];
966
+ var meterFields = getMeterFields({
967
+ resource: resource,
968
+ meterType: meterType,
969
+ });
970
+ var valueFieldsName = meterFields
971
+ .filter(function (field) { return field.type === "number"; })
972
+ .map(function (field) { return field.name; });
973
+ var meterFeaturesFieldsSchema = getMeterFeaturesFieldsSchema(valueFieldsName);
974
+ var form = react.useMemo(function () {
975
+ return reactHookForm.useForm({
976
+ resolver: yup$1.yupResolver(meterFeaturesFieldsSchema),
977
+ defaultValues: __assign({}, defaultValues),
978
+ values: defaultValues,
979
+ });
980
+ }, [meterFeaturesFieldsSchema]);
981
+ return (jsxRuntime.jsx(kuiCrm.FormWrapper, __assign({ form: form, onSubmit: handleSubmit, label: "Next", variant: "next", withPrevStep: true, handlePrevClick: handlePrevClick }, { children: jsxRuntime.jsxs(kuiBasic.Grid, __assign({ container: true, spacing: 2 }, { children: [withMeterType && (jsxRuntime.jsx(kuiCrm.MeterTypeRadioGroup, { form: form, resource: resource, handleChange: setMeterType })), meterFields.map(function (_a) {
982
+ var size = _a.size, field = __rest(_a, ["size"]);
983
+ return (jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true, xs: size || 6 }, { children: jsxRuntime.jsx(kuiCrm.InputByType, __assign({ form: form }, field)) }), field.name));
984
+ })] })) })));
985
+ }
986
+
945
987
  var renderMetersSteps = function (MeterStep, MeterPhotoStep, maxMeters) {
946
988
  var meters = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.water) || 0)).fill("water"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.electricity) || 0)).fill("electricity"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.gas) || 0)).fill("gas"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.heating) || 0)).fill("heating"), true);
947
989
  return meters.map(function (resource, index) { return [
@@ -1155,6 +1197,7 @@ exports.HouseServicesInfoFieldsSchema = HouseServicesInfoFieldsSchema;
1155
1197
  exports.HouseServicesInfoStepSchema = HouseServicesInfoStepSchema;
1156
1198
  exports.InspectionFeedback = index;
1157
1199
  exports.InspectionFillingCard = InspectionFillingCard;
1200
+ exports.InventoryMeterInfoFields = InventoryMeterInfoFields;
1158
1201
  exports.MetersInfoFieldsSchema = MetersInfoFieldsSchema;
1159
1202
  exports.MetersInfoStepSchema = MetersInfoStepSchema;
1160
1203
  exports.ObjectForMapCard = ObjectForMapCard;