import { DeleteFilled } from "@ant-design/icons";
import { useSplitTreatments } from "@splitsoftware/splitio-react";
import { Button, DatePicker, Form, Input, InputNumber, Radio, Select, Space, Switch } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { selectBodyshop } from "../../redux/user/user.selectors";
import DatePickerRanges from "../../utils/DatePickerRanges";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
import FeatureWrapper, { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
import CurrencyInput from "../form-items-formatted/currency-form-item.component";
import FormItemEmail from "../form-items-formatted/email-form-item.component";
import PhoneFormItem, { PhoneItemFormatterValidation } from "../form-items-formatted/phone-form-item.component";
import FormListMoveArrows from "../form-list-move-arrows/form-list-move-arrows.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
const timeZonesList = Intl.supportedValuesOf("timeZone");
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop
});
const mapDispatchToProps = (dispatch) => ({
//setUserLanguage: language => dispatch(setUserLanguage(language))
});
export default connect(mapStateToProps, mapDispatchToProps)(ShopInfoGeneral);
export function ShopInfoGeneral({ form, bodyshop }) {
const { t } = useTranslation();
const {
treatments: { ClosingPeriod, ADPPayroll }
} = useSplitTreatments({
attributes: {},
names: ["ClosingPeriod", "ADPPayroll"],
splitKey: bodyshop && bodyshop.imexshopid
});
return (
PhoneItemFormatterValidation(getFieldValue, "phone")]}
>
null}>
{InstanceRenderManager({
imex: (
{() => (
)}
)
})}
2
3
{() => {
return (
{t("bodyshop.labels.2tiername")}
{t("bodyshop.labels.2tiersource")}
);
}}
{InstanceRenderManager({
imex: (
)
})}
{InstanceRenderManager({
imex: (
)
})}
{ReceivableCustomFieldSelect}
{ReceivableCustomFieldSelect}
{ReceivableCustomFieldSelect}
{
return {
required: getFieldValue("enforce_class"),
//message: t("general.validation.required"),
type: "array"
};
}
]}
>
{ClosingPeriod.treatment === "on" && (
)}
{ADPPayroll.treatment === "on" && (
)}
{ADPPayroll.treatment === "on" && (
)}
null}>
({
validator(rule, value) {
if (!value && !getFieldValue(["md_hour_split", "paint"])) {
return Promise.resolve();
}
if (value + getFieldValue(["md_hour_split", "paint"]) === 1) {
return Promise.resolve();
}
return Promise.reject(t("bodyshop.validation.larsplit"));
}
})
]}
>
({
validator(rule, value) {
if (!value && !getFieldValue(["md_hour_split", "paint"])) {
return Promise.resolve();
}
if (value + getFieldValue(["md_hour_split", "prep"]) === 1) {
return Promise.resolve();
}
return Promise.reject(t("bodyshop.validation.larsplit"));
}
})
]}
>
{HasFeatureAccess({ featureName: "timetickets", bodyshop }) && (
<>
>
)}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
PhoneItemFormatterValidation(getFieldValue, [field.name, "est_ph"])
]}
>
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
PhoneItemFormatterValidation(getFieldValue, [field.name, "ins_ph"])
]}
>
{
remove(field.name);
}}
/>
))}
);
}}
null}>
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
{(fields, { add, remove, move }) => {
return (
{fields.map((field, index) => (
{
remove(field.name);
}}
/>
))}
);
}}
);
}
const ReceivableCustomFieldSelect = (
);