Added parts only filtering as separate button to Job Lines list. BOD-217
This commit is contained in:
@@ -9775,6 +9775,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>filterpartsonly</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>gotojob</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SyncOutlined } from "@ant-design/icons";
|
||||
import { SyncOutlined, FilterFilled } from "@ant-design/icons";
|
||||
import { Button, Dropdown, Input, Menu, Table } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
@@ -35,6 +35,7 @@ export function JobLinesComponent({
|
||||
}) {
|
||||
const [state, setState] = useState({
|
||||
sortedInfo: {},
|
||||
filteredInfo: {},
|
||||
});
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -88,6 +89,7 @@ export function JobLinesComponent({
|
||||
title: t("joblines.fields.part_type"),
|
||||
dataIndex: "part_type",
|
||||
key: "part_type",
|
||||
filteredValue: state.filteredInfo.part_type || null,
|
||||
sorter: (a, b) => alphaSort(a.part_type, b.part_type),
|
||||
sortOrder:
|
||||
state.sortedInfo.columnKey === "part_type" && state.sortedInfo.order,
|
||||
@@ -265,6 +267,7 @@ export function JobLinesComponent({
|
||||
];
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
console.log("filters", filters);
|
||||
setState({ ...state, filteredInfo: filters, sortedInfo: sorter });
|
||||
};
|
||||
|
||||
@@ -283,7 +286,7 @@ export function JobLinesComponent({
|
||||
<Menu.Item key="PAS">{t("joblines.fields.part_types.PAS")}</Menu.Item>
|
||||
</Menu>
|
||||
);
|
||||
|
||||
console.log("state", state);
|
||||
return (
|
||||
<div>
|
||||
<PartsOrderModalContainer />
|
||||
@@ -319,6 +322,18 @@ export function JobLinesComponent({
|
||||
>
|
||||
{t("parts.actions.order")}
|
||||
</Button>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setState({
|
||||
...state,
|
||||
filteredInfo: {
|
||||
part_type: ["PAN,PAL,PAA,PAS,PASL"],
|
||||
},
|
||||
});
|
||||
}}
|
||||
>
|
||||
<FilterFilled /> {t("jobs.actions.filterpartsonly")}
|
||||
</Button>
|
||||
<Dropdown overlay={markMenu} trigger={["click"]}>
|
||||
<Button>{t("jobs.actions.mark")}</Button>
|
||||
</Dropdown>
|
||||
|
||||
@@ -639,6 +639,7 @@
|
||||
"convert": "Convert",
|
||||
"export": "Export",
|
||||
"exportselected": "Export Selected",
|
||||
"filterpartsonly": "Filter Parts Only",
|
||||
"gotojob": "Go to Job",
|
||||
"intake": "Intake",
|
||||
"manualnew": "Create New Job Manually",
|
||||
|
||||
@@ -639,6 +639,7 @@
|
||||
"convert": "Convertir",
|
||||
"export": "",
|
||||
"exportselected": "",
|
||||
"filterpartsonly": "",
|
||||
"gotojob": "",
|
||||
"intake": "",
|
||||
"manualnew": "",
|
||||
|
||||
@@ -639,6 +639,7 @@
|
||||
"convert": "Convertir",
|
||||
"export": "",
|
||||
"exportselected": "",
|
||||
"filterpartsonly": "",
|
||||
"gotojob": "",
|
||||
"intake": "",
|
||||
"manualnew": "",
|
||||
|
||||
Reference in New Issue
Block a user