- {isModal ? `${process.label}: ` : ""}
+
+ {(isModal) ? `${process.label}: ` : ""}
{step?.label}
{step.components && (
@@ -421,16 +423,26 @@ function ProcessRun({process, defaultProcessValues, isModal, recordIds, closeMod
component.type === QComponentType.VIEW_FORM && step.viewFields && (
{step.viewFields.map((field: QFieldMetaData) => (
-
-
- {field.label}
- :
-
-
- {QValueUtils.getValueForDisplay(field, processValues[field.name], "view")}
-
-
- ))}
+ field.hasAdornment(AdornmentType.ERROR) ? (
+ processValues[field.name] && (
+
+
+ {QValueUtils.getValueForDisplay(field, processValues[field.name], undefined, "view")}
+
+
+ )
+ ) : (
+
+
+ {field.label}
+ :
+
+
+ {QValueUtils.getValueForDisplay(field, processValues[field.name], undefined, "view")}
+
+
+ )))
+ }
)
}
@@ -589,7 +601,11 @@ function ProcessRun({process, defaultProcessValues, isModal, recordIds, closeMod
console.log("No process meta data yet, so returning early");
return;
}
- setPageHeader(processMetaData.label);
+
+ if(! isWidget)
+ {
+ setPageHeader(processMetaData.label);
+ }
let newIndex = null;
if (typeof newStep === "number")
@@ -1083,12 +1099,22 @@ function ProcessRun({process, defaultProcessValues, isModal, recordIds, closeMod
};
const mainCardStyles: any = {};
+ const formStyles: any = {};
mainCardStyles.minHeight = `calc(100vh - ${isModal ? 150 : 400}px)`;
- if (!processError && (qJobRunning || activeStep === null) && !isModal)
+ if (!processError && (qJobRunning || activeStep === null) && !isModal && !isWidget)
{
mainCardStyles.background = "none";
mainCardStyles.boxShadow = "none";
}
+ if(isWidget)
+ {
+ mainCardStyles.minHeight = "";
+ mainCardStyles.alignItems = "stretch";
+ mainCardStyles.flexGrow = 1;
+ mainCardStyles.display = "flex";
+ formStyles.display = "flex";
+ formStyles.flexGrow = 1;
+ }
let nextButtonLabel = "Next";
let nextButtonIcon = "arrow_forward";
@@ -1106,95 +1132,107 @@ function ProcessRun({process, defaultProcessValues, isModal, recordIds, closeMod
nextButtonIcon = "check";
}
+ const form = (
+
+ {({
+ values, errors, touched, isSubmitting, setFieldValue,
+ }) => (
+
+ )}
+
+ );
+
const body = (
-
- {({
- values, errors, touched, isSubmitting, setFieldValue,
- }) => (
-
- )}
-
+ {form}
@@ -1208,7 +1246,14 @@ function ProcessRun({process, defaultProcessValues, isModal, recordIds, closeMod
);
}
- else
+ else if (isWidget)
+ {
+ return (
+
+ {form}
+
+ );
+ }
{
return (
@@ -1222,6 +1267,7 @@ ProcessRun.defaultProps = {
process: null,
defaultProcessValues: {},
isModal: false,
+ isWidget: false,
recordIds: null,
closeModalHandler: null
};
diff --git a/src/qqq/styles/qqq-override-styles.css b/src/qqq/styles/qqq-override-styles.css
index 5b85615..cee3be3 100644
--- a/src/qqq/styles/qqq-override-styles.css
+++ b/src/qqq/styles/qqq-override-styles.css
@@ -259,3 +259,25 @@ input[type="search"]::-webkit-search-results-decoration { display: none; }
{
white-space: pre-wrap;
}
+
+.MuiAutocomplete-input
+{
+ cursor: pointer;
+}
+
+.parcelRulesCard
+{
+ font-size: 16px;
+}
+
+.parcelRulesCard TD
+{
+ font-size: 14px !important;
+ vertical-align: top;
+}
+
+.parcelRulesCard A
+{
+ color: blue;
+ font-size: 14px;
+}
diff --git a/src/qqq/utils/QValueUtils.tsx b/src/qqq/utils/QValueUtils.tsx
index c51af2b..34048a4 100644
--- a/src/qqq/utils/QValueUtils.tsx
+++ b/src/qqq/utils/QValueUtils.tsx
@@ -25,7 +25,7 @@ import {QFieldType} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QField
import {QInstance} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QInstance";
import {QRecord} from "@kingsrook/qqq-frontend-core/lib/model/QRecord";
import "datejs";
-import {Chip, Icon, Typography} from "@mui/material";
+import {Box, Chip, Icon} from "@mui/material";
import React, {Fragment} from "react";
import AceEditor from "react-ace";
import {Link} from "react-router-dom";
@@ -172,6 +172,20 @@ class QValueUtils
}
}
+ if (field.hasAdornment(AdornmentType.ERROR))
+ {
+ return (
+
+
+ warning
+
+
+ {rawValue}
+
+
+ );
+ }
+
return (QValueUtils.getUnadornedValueForDisplay(field, rawValue, displayValue));
}
@@ -181,6 +195,11 @@ class QValueUtils
*******************************************************************************/
private static getUnadornedValueForDisplay(field: QFieldMetaData, rawValue: any, displayValue: any): string | JSX.Element
{
+ if(! displayValue && field.defaultValue)
+ {
+ displayValue = field.defaultValue;
+ }
+
if (field.type === QFieldType.DATE_TIME)
{
if (!rawValue)