diff --git a/client/src/components/csi-response-form/csi-response-form.container.jsx b/client/src/components/csi-response-form/csi-response-form.container.jsx
index a1882b09a..d7a565608 100644
--- a/client/src/components/csi-response-form/csi-response-form.container.jsx
+++ b/client/src/components/csi-response-form/csi-response-form.container.jsx
@@ -5,6 +5,7 @@ import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useLocation } from "react-router-dom";
import { QUERY_CSI_RESPONSE_BY_PK } from "../../graphql/csi.queries";
+import { DateFormatter } from "../../utils/DateFormatter";
import AlertComponent from "../alert/alert.component";
import ConfigFormComponents from "../config-form-components/config-form-components.component";
import LoadingSpinner from "../loading-spinner/loading-spinner.component";
@@ -44,6 +45,13 @@ export default function CsiResponseFormContainer() {
readOnly
componentList={data.csi_by_pk.csiquestion.config}
/>
+ {data.csi_by_pk.validuntil ? (
+ <>
+ {t("csi.fields.validuntil")}
+ {": "}
+ {data.csi_by_pk.validuntil}
+ >
+ ) : null}
);
diff --git a/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx b/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx
index f73e35512..3d1a3b864 100644
--- a/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx
+++ b/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx
@@ -5,9 +5,11 @@ import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { Link, useHistory, useLocation } from "react-router-dom";
import { DateFormatter } from "../../utils/DateFormatter";
-import { alphaSort } from "../../utils/sorters";
-import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
-import {pageLimit} from "../../utils/config";
+import { pageLimit } from "../../utils/config";
+import { alphaSort, dateSort } from "../../utils/sorters";
+import OwnerNameDisplay, {
+ OwnerNameDisplayFunction,
+} from "../owner-name-display/owner-name-display.component";
export default function CsiResponseListPaginated({
refetch,
@@ -16,23 +18,23 @@ export default function CsiResponseListPaginated({
total,
}) {
const search = queryString.parse(useLocation().search);
- const { responseid, page, sortcolumn, sortorder } = search;
+ const { responseid } = search;
const history = useHistory();
+ const { t } = useTranslation();
const [state, setState] = useState({
sortedInfo: {},
filteredInfo: { text: "" },
+ page: "",
});
- const { t } = useTranslation();
const columns = [
{
title: t("jobs.fields.ro_number"),
dataIndex: "ro_number",
key: "ro_number",
- width: "8%",
sorter: (a, b) => alphaSort(a.job.ro_number, b.job.ro_number),
- sortOrder: sortcolumn === "ro_number" && sortorder,
-
+ sortOrder:
+ state.sortedInfo.columnKey === "ro_number" && state.sortedInfo.order,
render: (text, record) => (
{record.job.ro_number || t("general.labels.na")}
@@ -41,15 +43,18 @@ export default function CsiResponseListPaginated({
},
{
title: t("jobs.fields.owner"),
- dataIndex: "owner",
- key: "owner",
- ellipsis: true,
- sorter: (a, b) => alphaSort(a.job.ownr_ln, b.job.ownr_ln),
- width: "25%",
- sortOrder: sortcolumn === "owner" && sortorder,
+ dataIndex: "owner_name",
+ key: "owner_name",
+ sorter: (a, b) =>
+ alphaSort(
+ OwnerNameDisplayFunction(a.job),
+ OwnerNameDisplayFunction(b.job)
+ ),
+ sortOrder:
+ state.sortedInfo.columnKey === "owner_name" && state.sortedInfo.order,
render: (text, record) => {
- return record.job.owner ? (
-
+ return record.job.ownerid ? (
+
) : (
@@ -64,9 +69,9 @@ export default function CsiResponseListPaginated({
dataIndex: "completedon",
key: "completedon",
ellipsis: true,
- sorter: (a, b) => a.completedon - b.completedon,
- width: "25%",
- sortOrder: sortcolumn === "completedon" && sortorder,
+ sorter: (a, b) => dateSort(a.completedon, b.completedon),
+ sortOrder:
+ state.sortedInfo.columnKey === "completedon" && state.sortedInfo.order,
render: (text, record) => {
return record.completedon ? (
{record.completedon}
@@ -76,11 +81,12 @@ export default function CsiResponseListPaginated({
];
const handleTableChange = (pagination, filters, sorter) => {
- setState({ ...state, filteredInfo: filters, sortedInfo: sorter });
- search.page = pagination.current;
- search.sortcolumn = sorter.columnKey;
- search.sortorder = sorter.order;
- history.push({ search: queryString.stringify(search) });
+ setState({
+ ...state,
+ filteredInfo: filters,
+ sortedInfo: sorter,
+ page: pagination.current,
+ });
};
const handleOnRowClick = (record) => {
@@ -108,7 +114,7 @@ export default function CsiResponseListPaginated({
pagination={{
position: "top",
pageSize: pageLimit,
- current: parseInt(page || 1),
+ current: parseInt(state.page || 1),
total: total,
}}
columns={columns}
@@ -122,13 +128,6 @@ export default function CsiResponseListPaginated({
selectedRowKeys: [responseid],
type: "radio",
}}
- onRow={(record, rowIndex) => {
- return {
- onClick: (event) => {
- handleOnRowClick(record);
- }, // click row
- };
- }}
/>
);
diff --git a/client/src/components/shop-csi-config-form/shop-csi-config-form.component.jsx b/client/src/components/shop-csi-config-form/shop-csi-config-form.component.jsx
index 4ed0c6033..9818bf896 100644
--- a/client/src/components/shop-csi-config-form/shop-csi-config-form.component.jsx
+++ b/client/src/components/shop-csi-config-form/shop-csi-config-form.component.jsx
@@ -1,5 +1,5 @@
-import React from "react";
import { Form } from "antd";
+import React from "react";
import ConfigFormComponents from "../config-form-components/config-form-components.component";
export default function ShopCsiConfigForm({ selectedCsi }) {
@@ -9,7 +9,7 @@ export default function ShopCsiConfigForm({ selectedCsi }) {
return (
- The Config Form {readOnly}
+ {readOnly}
{selectedCsi && (