Try-catch around recordAnalytics calls; reformat file

This commit is contained in:
2025-05-29 11:35:12 -05:00
parent 3d4f0ba24b
commit 7d6b083ae2

View File

@ -72,6 +72,7 @@ import {ChildRecordListData} from "qqq/components/widgets/misc/RecordGridWidget"
import BaseLayout from "qqq/layouts/BaseLayout"; import BaseLayout from "qqq/layouts/BaseLayout";
import ProcessWidgetBlockUtils from "qqq/pages/processes/ProcessWidgetBlockUtils"; import ProcessWidgetBlockUtils from "qqq/pages/processes/ProcessWidgetBlockUtils";
import {TABLE_VARIANT_LOCAL_STORAGE_KEY_ROOT} from "qqq/pages/records/query/RecordQuery"; import {TABLE_VARIANT_LOCAL_STORAGE_KEY_ROOT} from "qqq/pages/records/query/RecordQuery";
import {AnalyticsModel} from "qqq/utils/GoogleAnalyticsUtils";
import Client from "qqq/utils/qqq/Client"; import Client from "qqq/utils/qqq/Client";
import TableUtils from "qqq/utils/qqq/TableUtils"; import TableUtils from "qqq/utils/qqq/TableUtils";
import ValueUtils from "qqq/utils/qqq/ValueUtils"; import ValueUtils from "qqq/utils/qqq/ValueUtils";
@ -114,7 +115,12 @@ let formikSetTouched = ({}: any, touched: boolean): void =>
const cachedPossibleValueLabels: { [fieldName: string]: { [id: string | number]: string } } = {}; const cachedPossibleValueLabels: { [fieldName: string]: { [id: string | number]: string } } = {};
export interface SubFormPreSubmitCallbackResultType {maySubmit: boolean; values: {[name: string]: any}} export interface SubFormPreSubmitCallbackResultType
{
maySubmit: boolean;
values: { [name: string]: any };
}
type SubFormPreSubmitCallback = () => SubFormPreSubmitCallbackResultType; type SubFormPreSubmitCallback = () => SubFormPreSubmitCallbackResultType;
type SubFormPreSubmitCallbackWithName = { name: string, callback: SubFormPreSubmitCallback } type SubFormPreSubmitCallbackWithName = { name: string, callback: SubFormPreSubmitCallback }
@ -237,7 +243,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
const bulkLoadFileMappingFormRef = useRef(); const bulkLoadFileMappingFormRef = useRef();
const bulkLoadValueMappingFormRef = useRef(); const bulkLoadValueMappingFormRef = useRef();
const bulkLoadProfileFormRef = useRef(); const bulkLoadProfileFormRef = useRef();
const [bulkLoadValueMappingFormFields, setBulkLoadValueMappingFormFields] = useState([] as any[]) const [bulkLoadValueMappingFormFields, setBulkLoadValueMappingFormFields] = useState([] as any[]);
const doesStepHaveComponent = (step: QFrontendStepMetaData, type: QComponentType): boolean => const doesStepHaveComponent = (step: QFrontendStepMetaData, type: QComponentType): boolean =>
{ {
@ -702,7 +708,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
if (bulkLoadFileMappingFormRef?.current) if (bulkLoadFileMappingFormRef?.current)
{ {
// @ts-ignore ... // @ts-ignore ...
addSubFormPreSubmitCallbacks("bulkLoadFileMappingForm", bulkLoadFileMappingFormRef?.current?.preSubmit) addSubFormPreSubmitCallbacks("bulkLoadFileMappingForm", bulkLoadFileMappingFormRef?.current?.preSubmit);
} }
} }
@ -714,7 +720,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
if (bulkLoadValueMappingFormRef?.current) if (bulkLoadValueMappingFormRef?.current)
{ {
// @ts-ignore ... // @ts-ignore ...
addSubFormPreSubmitCallbacks("bulkLoadValueMappingForm", bulkLoadValueMappingFormRef?.current?.preSubmit) addSubFormPreSubmitCallbacks("bulkLoadValueMappingForm", bulkLoadValueMappingFormRef?.current?.preSubmit);
} }
} }
@ -726,7 +732,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
if (bulkLoadProfileFormRef?.current) if (bulkLoadProfileFormRef?.current)
{ {
// @ts-ignore ... // @ts-ignore ...
addSubFormPreSubmitCallbacks("bulkLoadProfileFormRef", bulkLoadProfileFormRef?.current?.preSubmit) addSubFormPreSubmitCallbacks("bulkLoadProfileFormRef", bulkLoadProfileFormRef?.current?.preSubmit);
} }
} }
@ -1322,14 +1328,14 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
if (dynamicField.possibleValueProps) if (dynamicField.possibleValueProps)
{ {
dynamicField.possibleValueProps.initialDisplayValue = mappedValueLabels[initialValue] dynamicField.possibleValueProps.initialDisplayValue = mappedValueLabels[initialValue];
} }
addField(`${fieldFullName}.value.${i}`, dynamicField, initialValue, null) addField(`${fieldFullName}.value.${i}`, dynamicField, initialValue, null);
fieldsForComponent.push(dynamicField); fieldsForComponent.push(dynamicField);
} }
setBulkLoadValueMappingFormFields(fieldsForComponent) setBulkLoadValueMappingFormFields(fieldsForComponent);
} }
if (Object.keys(dynamicFormFields).length > 0) if (Object.keys(dynamicFormFields).length > 0)
@ -1524,13 +1530,13 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
{ {
if (subFormPreSubmitCallbacks.findIndex(c => c.name == name) == -1) if (subFormPreSubmitCallbacks.findIndex(c => c.name == name) == -1)
{ {
const newCallbacks: SubFormPreSubmitCallbackWithName[] = [] const newCallbacks: SubFormPreSubmitCallbackWithName[] = [];
for (let i = 0; i < subFormPreSubmitCallbacks.length; i++) for (let i = 0; i < subFormPreSubmitCallbacks.length; i++)
{ {
newCallbacks[i] = subFormPreSubmitCallbacks[i]; newCallbacks[i] = subFormPreSubmitCallbacks[i];
} }
newCallbacks.push({name, callback}) newCallbacks.push({name, callback});
setSubFormPreSubmitCallbacks(newCallbacks) setSubFormPreSubmitCallbacks(newCallbacks);
} }
} }
@ -1620,7 +1626,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
setRenderedWidgets({}); setRenderedWidgets({});
setSubFormPreSubmitCallbacks([]); setSubFormPreSubmitCallbacks([]);
setQJobRunning(null); setQJobRunning(null);
setBackStepName(qJobComplete.backStep) setBackStepName(qJobComplete.backStep);
if (formikSetFieldValueFunction) if (formikSetFieldValueFunction)
{ {
@ -1815,8 +1821,8 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
setProcessMetaData(processMetaData); setProcessMetaData(processMetaData);
setSteps(processMetaData.frontendSteps); setSteps(processMetaData.frontendSteps);
recordAnalytics({location: window.location, title: "Process: " + processMetaData?.label}); doRecordAnalytics({location: window.location, title: "Process: " + processMetaData?.label});
recordAnalytics({category: "processEvents", action: "startProcess", label: processMetaData?.label}); doRecordAnalytics({category: "processEvents", action: "startProcess", label: processMetaData?.label});
if (processMetaData.tableName && !tableMetaData) if (processMetaData.tableName && !tableMetaData)
{ {
@ -1842,13 +1848,13 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
{ {
if (!defaultProcessValues) if (!defaultProcessValues)
{ {
defaultProcessValues = {} defaultProcessValues = {};
} }
const values = JSON.parse(urlSearchParams.get("defaultProcessValues")); const values = JSON.parse(urlSearchParams.get("defaultProcessValues"));
for (let key in values) for (let key in values)
{ {
defaultProcessValues[key] = values[key] defaultProcessValues[key] = values[key];
} }
} }
@ -1894,7 +1900,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
setTimeout(async () => setTimeout(async () =>
{ {
recordAnalytics({category: "processEvents", action: "processStep", label: activeStep.label}); doRecordAnalytics({category: "processEvents", action: "processStep", label: activeStep.label});
const processResponse = await qController.processStep( const processResponse = await qController.processStep(
processName, processName,
@ -1914,7 +1920,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
{ {
setTimeout(async () => setTimeout(async () =>
{ {
recordAnalytics({category: "processEvents", action: "processStep", label: activeStep.label}); doRecordAnalytics({category: "processEvents", action: "processStep", label: activeStep.label});
const processResponse = await Client.getInstance().processStep( const processResponse = await Client.getInstance().processStep(
processName, processName,
@ -1951,7 +1957,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
{ {
for (let key in moreValues) for (let key in moreValues)
{ {
values[key] = moreValues[key] values[key] = moreValues[key];
} }
} }
} }
@ -2026,7 +2032,7 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
//////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////
setLoadingRecords(true); setLoadingRecords(true);
} };
/******************************************************************************* /*******************************************************************************
@ -2055,6 +2061,21 @@ function ProcessRun({process, table, defaultProcessValues, isModal, isWidget, is
}; };
/***************************************************************************
**
***************************************************************************/
function doRecordAnalytics(model: AnalyticsModel)
{
try
{
recordAnalytics(model);
}
catch (e)
{
console.log(`Error recording analytics: ${e}`);
}
}
const formStyles: any = {}; const formStyles: any = {};
if (isWidget) if (isWidget)
{ {