- big progress commit

Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
Dave Richer
2024-02-16 12:25:24 -05:00
parent 9cc0d6175e
commit 3ec4dbb5b8
4 changed files with 120 additions and 69 deletions

View File

@@ -1,24 +1,12 @@
import {Button, Card, Checkbox, Col, Form, Input, InputNumber, Row, Select} from "antd";
import {Button, Card, Checkbox, Col, Form, Row, Select} from "antd";
import React, {useEffect, useState} from "react";
import {fetchFilterData} from "../../utils/RenderTemplate";
import {DeleteFilled} from "@ant-design/icons";
import {useTranslation} from "react-i18next";
import {getOperatorsByType} from "../../utils/graphQLmodifier";
import {getOrderOperatorsByType, getWhereOperatorsByType} from "../../utils/graphQLmodifier";
import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component";
import {setModalContext} from "../../redux/modals/modals.actions";
import {connect} from "react-redux";
import {createStructuredSelector} from "reselect";
import {selectBodyshop, selectCurrentUser} from "../../redux/user/user.selectors";
const mapDispatchToProps = (dispatch) => ({});
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
currentUser: selectCurrentUser
});
export function ReportCenterModalFiltersSortersComponent({form, bodyshop, currentUser}) {
console.dir(bodyshop, {depth: null})
console.dir(currentUser, {depth: null})
export default function ReportCenterModalFiltersSortersComponent({form}) {
return (
<Form.Item style={{margin: 0, padding: 0}} dependencies={["key"]}>
{() => {
@@ -29,9 +17,6 @@ export function ReportCenterModalFiltersSortersComponent({form, bodyshop, curre
);
}
export default connect(mapStateToProps, mapDispatchToProps)(ReportCenterModalFiltersSortersComponent);
function RenderFilters({templateId, form}) {
const [state, setState] = useState(null);
const [visible, setVisible] = useState(false);
@@ -125,7 +110,8 @@ function RenderFilters({templateId, form}) {
},
]}
>
<Select options={getOperatorsByType(type)}/>
<Select
options={getWhereOperatorsByType(type)}/>
</Form.Item>
}
}
@@ -138,6 +124,7 @@ function RenderFilters({templateId, form}) {
() => {
const name = form.getFieldValue(['filters', field.name, "field"]);
const type = state.filters.find(f => f.name === name)?.type;
const reflector = state.filters.find(f => f.name === name)?.reflector;
return <Form.Item
key={`${index}value`}
@@ -150,19 +137,7 @@ function RenderFilters({templateId, form}) {
},
]}
>
{type === 'number' ?
<InputNumber
onChange={(value) => {
form.setFieldsValue({[field.name]: {value: parseInt(value)}});
}}
/>
:
<Input
onChange={(value) => {
form.setFieldsValue({[field.name]: {value: value.toString()}});
}}
/>
}
<ReportCenterModalFiltersSortersComponent form={form} field={field} type={type} reflector={reflector}/>
</Form.Item>
}
}
@@ -245,7 +220,7 @@ function RenderFilters({templateId, form}) {
]}
>
<Select
options={getOperatorsByType()}
options={getOrderOperatorsByType()}
/>
</Form.Item>
</Col>

View File

@@ -0,0 +1,48 @@
import {generateReflections} from "../../utils/graphQLmodifier";
import {Input, InputNumber, Select} from "antd";
import React from "react";
import {createStructuredSelector} from "reselect";
import {selectBodyshop, selectCurrentUser} from "../../redux/user/user.selectors";
import {connect} from "react-redux";
const mapDispatchToProps = (dispatch) => ({});
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
currentUser: selectCurrentUser
});
export function ReportCenterModalValueSelectorComponent ({type, reflector, form, field, bodyshop, currentUser}) {
console.log(`Entering ReportCenterModalValueSelectorComponent`);
console.log('Type')
console.log(type)
console.log('Reflector')
console.dir(reflector, {depth: null})
console.log('Bodyshop')
console.dir(bodyshop, {depth: null})
console.log('CurrentUser')
console.dir(currentUser, {depth: null})
if (reflector) {
const reflections = generateReflections(reflector);
if (reflections.length > 0) {
return <Select options={reflections}/>
}
}
// Number Input
if (type === "number") {
return <InputNumber
onChange={(value) => {form.setFieldsValue({[field.name]: {value: parseInt(value)}});
}}
/>
}
// Default to String Input
return <Input
onChange={(value) => {
form.setFieldsValue({[field.name]: {value: value.toString()}});
}}
/>
}
export default connect(mapStateToProps, mapDispatchToProps)(ReportCenterModalValueSelectorComponent);