From 696781c8578d498b44bcbccba10ceabbc8af654e Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 17 Nov 2021 21:47:05 -0800 Subject: [PATCH] IO-1533 Kanban Customizations --- ...production-board-kanban-card.component.jsx | 300 +++++++----------- ...n-board-kanban.card-settings.component.jsx | 89 +++--- .../production-board-kanban.component.jsx | 42 ++- 3 files changed, 177 insertions(+), 254 deletions(-) diff --git a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx index b48c09e22..ce5bd679e 100644 --- a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx +++ b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx @@ -1,4 +1,4 @@ -import { EyeFilled, CalendarOutlined } from "@ant-design/icons"; +import { EyeFilled, CalendarOutlined, ToolFilled } from "@ant-design/icons"; import { Card, Col, Row, Space, Typography } from "antd"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; @@ -16,7 +16,7 @@ export default function ProductionBoardCard( cardSettings ) { const { t } = useTranslation(); - const [flipped, setFlipped] = useState(false); + let employee_body, employee_prep, employee_refinish, employee_csr; if (card.employee_body) { employee_body = bodyshop.employees.find((e) => e.id === card.employee_body); @@ -35,16 +35,24 @@ export default function ProductionBoardCard( return ( setFlipped(!flipped)} - > -
- - {card.ro_number || t("general.labels.na")} - - - {cardSettings && cardSettings.alert && ( - + className="react-kanban-card imex-kanban-card" + size="small" + title={ + + + + {card.ro_number || t("general.labels.na")} + + + } + extra={ + + {cardSettings && cardSettings.sublets && ( + + + )} {technician ? ( @@ -56,98 +64,10 @@ export default function ProductionBoardCard( )} -
- {flipped ? ( - - {cardSettings && cardSettings.clm_no === "back" && ( - -
{card.clm_no || ""}
- - )} - {cardSettings && cardSettings.ins_co_nm === "back" && ( - -
{card.ins_co_nm || ""}
- - )} - {cardSettings && cardSettings.laborhrs === "back" && ( - - -
{`B: ${card.labhrs.aggregate.sum.mod_lb_hrs || "?"}`}
-
{`R: ${card.larhrs.aggregate.sum.mod_lb_hrs || "?"}`}
-
- - )} - {cardSettings && cardSettings.employeeassignments === "back" && ( - - -
{`B: ${ - employee_body - ? `${employee_body.first_name} ${employee_body.last_name}` - : "" - }`}
-
{`P: ${ - employee_prep - ? `${employee_prep.first_name} ${employee_prep.last_name}` - : "" - }`}
-
{`R: ${ - employee_refinish - ? `${employee_refinish.first_name} ${employee_refinish.last_name}` - : "" - }`}
-
{`CSR: ${ - employee_csr - ? `${employee_csr.first_name} ${employee_csr.last_name}` - : "" - }`}
-
- - )} - {cardSettings && cardSettings.scheduled_completion === "back" && ( - - - - - {card.scheduled_completion} - - - - )} - {cardSettings && cardSettings.ats === "back" && ( - - -
{card.alt_transport || ""}
- - - )} - - {cardSettings && cardSettings.sublets === "back" && ( - - - - )} - {cardSettings && cardSettings.production_note === "back" && ( - - {cardSettings && cardSettings.production_note === "back" && ( - - )} - - )} -
- ) : ( - + } + > + + {cardSettings && cardSettings.ownr_nm && ( {cardSettings && cardSettings.compact ? (
{`${card.ownr_ln || ""} ${ @@ -159,97 +79,91 @@ export default function ProductionBoardCard( } ${card.ownr_co_nm || ""}`}
)} - -
{`${card.v_model_yr || ""} ${ - card.v_make_desc || "" - } ${card.v_model_desc || ""}`}
+ )} + +
{`${card.v_model_yr || ""} ${ + card.v_make_desc || "" + } ${card.v_model_desc || ""}`}
+ + {cardSettings && cardSettings.ins_co_nm && ( + +
{card.ins_co_nm || ""}
+ )} + {cardSettings && cardSettings.clm_no && ( + +
{card.clm_no || ""}
+ + )} - {cardSettings && cardSettings.clm_no === "front" && ( - -
{card.clm_no || ""}
- - )} - {cardSettings && cardSettings.ins_co_nm === "front" && ( - -
{card.ins_co_nm || ""}
- - )} - {cardSettings && cardSettings.laborhrs === "front" && ( - - -
{`B: ${card.labhrs.aggregate.sum.mod_lb_hrs || "?"}`}
-
{`R: ${card.larhrs.aggregate.sum.mod_lb_hrs || "?"}`}
-
- - )} - {cardSettings && cardSettings.employeeassignments === "front" && ( - - -
{`B: ${ - employee_body - ? `${employee_body.first_name} ${employee_body.last_name}` - : "" - }`}
-
{`P: ${ - employee_prep - ? `${employee_prep.first_name} ${employee_prep.last_name}` - : "" - }`}
-
{`R: ${ - employee_refinish - ? `${employee_refinish.first_name} ${employee_refinish.last_name}` - : "" - }`}
-
{`CSR: ${ - employee_csr - ? `${employee_csr.first_name} ${employee_csr.last_name}` - : "" - }`}
-
- - )} - {cardSettings && cardSettings.scheduled_completion === "front" && ( - - - - - {card.scheduled_completion} - - - - )} - {cardSettings && cardSettings.ats === "front" && ( - -
{card.alt_transport || ""}
- - )} - {cardSettings && cardSettings.sublets === "front" && ( - - - - )} - {cardSettings && cardSettings.production_note === "front" && ( - - {cardSettings && cardSettings.production_note === "front" && ( - - )} - - )} -
- )} + {cardSettings && cardSettings.employeeassignments && ( + + + {`B: ${ + employee_body + ? `${employee_body.first_name} ${employee_body.last_name}` + : "" + }`} + {`P: ${ + employee_prep + ? `${employee_prep.first_name} ${employee_prep.last_name}` + : "" + }`} + {`R: ${ + employee_refinish + ? `${employee_refinish.first_name} ${employee_refinish.last_name}` + : "" + }`} + {/* {`C: ${ + employee_csr + ? `${employee_csr.first_name} ${employee_csr.last_name}` + : "" + }`} */} + + + )} + {cardSettings && cardSettings.laborhrs && ( + + + {`B: ${ + card.labhrs.aggregate.sum.mod_lb_hrs || "?" + } hrs`} + {`R: ${ + card.larhrs.aggregate.sum.mod_lb_hrs || "?" + } hrs`} + + + )} + {cardSettings && cardSettings.scheduled_completion && ( + + + + + {card.scheduled_completion} + + + + )} + {cardSettings && cardSettings.ats && ( + +
{card.alt_transport || ""}
+ + )} + {cardSettings && cardSettings.sublets && ( + + + + )} + {cardSettings && cardSettings.production_note && ( + + {cardSettings && cardSettings.production_note && ( + + )} + + )} +
); } diff --git a/client/src/components/production-board-kanban/production-board-kanban.card-settings.component.jsx b/client/src/components/production-board-kanban/production-board-kanban.card-settings.component.jsx index 9ae6666a1..dba1230c6 100644 --- a/client/src/components/production-board-kanban/production-board-kanban.card-settings.component.jsx +++ b/client/src/components/production-board-kanban/production-board-kanban.card-settings.component.jsx @@ -63,85 +63,74 @@ export default function ProductionBoardKanbanCardSettings({ > - - - Front - Back - Off - + + + + + - - Front - Back - Off - + - - Front - Back - Off - + - - Front - Back - Off - + - - Front - Back - Off - + {" "} - - - Front - Back - Off - + + - - Front - Back - Off - + - - - Front - Back - Off - - - - - Front - Back - Off - + {/* + + */} + + diff --git a/client/src/components/production-board-kanban/production-board-kanban.component.jsx b/client/src/components/production-board-kanban/production-board-kanban.component.jsx index 4423a23fe..1f3129eeb 100644 --- a/client/src/components/production-board-kanban/production-board-kanban.component.jsx +++ b/client/src/components/production-board-kanban/production-board-kanban.component.jsx @@ -2,7 +2,7 @@ import { useApolloClient } from "@apollo/client"; import Board, { moveCard } from "@asseinfo/react-kanban"; //import "@asseinfo/react-kanban/dist/styles.css"; import "./production-board-kanban.styles.scss"; -import { notification, PageHeader, Space, Statistic } from "antd"; +import { Grid, notification, PageHeader, Space, Statistic } from "antd"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; @@ -145,22 +145,42 @@ export function ProductionBoardKanbanComponent({ 0 ) .toFixed(1); + const selectedBreakpoint = Object.entries(Grid.useBreakpoint()) + .filter((screen) => !!screen[1]) + .slice(-1)[0]; + + const standardSizes = { + xs: "250", + sm: "250", + md: "250", + lg: "250", + xl: "250", + xxl: "250", + }; + const compactSizes = { + xs: "150", + sm: "150", + md: "150", + lg: "150", + xl: "155", + xxl: "155", + }; + + const width = selectedBreakpoint + ? associationSettings && + associationSettings.kanban_settings && + associationSettings.kanban_settings.compact + ? compactSizes[selectedBreakpoint[0]] + : standardSizes[selectedBreakpoint[0]] + : "250"; const Container = styled.div` .react-kanban-card-skeleton, .react-kanban-card, .react-kanban-card-adder-form { box-sizing: border-box; - max-width: ${associationSettings && - associationSettings.kanban_settings && - associationSettings.kanban_settings.compact - ? "145" - : "250"}px; - min-width: ${associationSettings && - associationSettings.kanban_settings && - associationSettings.kanban_settings.compact - ? "145" - : "250"}px; + max-width: ${width}px; + min-width: ${width}px; } `;