+ `${option.project_id} - ${option.project_name_full}`,
+ }}
+ />
),
},
{
@@ -274,6 +282,7 @@ const SubprojectsTable = ({
getRowId={(row) => row.id}
rowModesModel={rowModesModel}
onRowModesModelChange={handleRowModesModelChange}
+ onProcessRowUpdateError={(error) => console.error}
slots={{ toolbar: SubprojectsToolbar }}
slotProps={{ toolbar: { onClick: handleAddSubprojectClick } }}
editMode="row"
diff --git a/moped-editor/src/views/projects/projectsListView/helpers.js b/moped-editor/src/views/projects/projectsListView/helpers.js
index 4bf67354d8..9d5371823c 100644
--- a/moped-editor/src/views/projects/projectsListView/helpers.js
+++ b/moped-editor/src/views/projects/projectsListView/helpers.js
@@ -32,13 +32,15 @@ export const filterProjectTeamMembers = (value, view) => {
uniqueNames[fullName] = projectRole;
}
});
- // if the view is projectsListView, render each team member as a block
+ // if the view is projectsListView, render each team member as a block,
+ // adding commas to all blocks except the final one
if (view === "projectsListView") {
+ const array = Object.keys(uniqueNames);
return (
- {Object.keys(uniqueNames).map((key) => (
+ {array.map((key, i) => (
- {`${key} - ${uniqueNames[key]}`}
+ {`${key} - ${uniqueNames[key]}${i < array.length - 1 ? "," : ""}`}
))}
@@ -80,33 +82,23 @@ export const resolveHasSubprojects = (array) => {
return "No";
};
-const filterComponentFullNames = (value) => {
- if (!value.components) {
- return "";
+const renderSplitListDisplayBlock = (row, fieldName) => {
+ if (row[fieldName]) {
+ const array = row[fieldName].split(",");
+ return (
+
+ {array.map((value, i) => {
+ return (
+
+ {`${value}${i < array.length - 1 ? "," : ""}`}
+
+ );
+ })}
+
+ );
}
- const componentNamesArray = value.components.split(",");
- return (
-
- {componentNamesArray.map((comp) => (
-
- {comp}
-
- ))}
-
- );
};
-const renderSplitListDisplayBlock = (row, fieldName) =>
- row[fieldName] && (
-
- {row[fieldName].split(",").map((value, i) => (
-
- {value}
-
- ))}
-
- );
-
const COLUMN_CONFIG = PROJECT_LIST_VIEW_QUERY_CONFIG.columns;
const COLUMN_WIDTHS = {
@@ -330,11 +322,15 @@ export const useColumns = ({ hiddenColumns }) => {
{
headerName: "Designer",
field: "project_designer",
+ renderCell: ({ row }) =>
+ renderSplitListDisplayBlock(row, "project_designer"),
width: COLUMN_WIDTHS.small,
},
{
headerName: "Inspector",
field: "project_inspector",
+ renderCell: ({ row }) =>
+ renderSplitListDisplayBlock(row, "project_inspector"),
width: COLUMN_WIDTHS.small,
},
{
@@ -376,7 +372,7 @@ export const useColumns = ({ hiddenColumns }) => {
{
headerName: "Components",
field: "components",
- renderCell: ({ row }) => filterComponentFullNames(row),
+ renderCell: ({ row }) => renderSplitListDisplayBlock(row, "components"),
width: COLUMN_WIDTHS.medium,
},
{
diff --git a/moped-editor/src/views/projects/projectsListView/useProjectListViewQuery/useAdvancedSearch.js b/moped-editor/src/views/projects/projectsListView/useProjectListViewQuery/useAdvancedSearch.js
index 215755cf06..59ad99bf97 100644
--- a/moped-editor/src/views/projects/projectsListView/useProjectListViewQuery/useAdvancedSearch.js
+++ b/moped-editor/src/views/projects/projectsListView/useProjectListViewQuery/useAdvancedSearch.js
@@ -26,7 +26,7 @@ const makeAdvancedSearchWhereFilters = (filters) =>
if (!filterConfigForField) {
throwFallbackComponentError(
- `Field ${field} in this url no longer exists in the project list.`
+ `Field ${field} in this URL no longer exists in the project list.`
);
}
@@ -34,6 +34,13 @@ const makeAdvancedSearchWhereFilters = (filters) =>
// Use operator name to get the GraphQL operator config for that operator
const operatorConfig = FILTERS_COMMON_OPERATORS[operator];
+
+ if (!operatorConfig) {
+ throwFallbackComponentError(
+ `Operator ${operator} in this URL no longer exists in the project list.`
+ );
+ }
+
let {
envelope,
specialNullValue,
diff --git a/moped-etl/arcgis/settings.py b/moped-etl/arcgis/settings.py
index de721d6ca0..87de69f470 100644
--- a/moped-etl/arcgis/settings.py
+++ b/moped-etl/arcgis/settings.py
@@ -83,6 +83,7 @@
substantial_completion_date_estimated
task_order_names
workgroup_contractors
+ is_mapped
}
}
"""