Fix custom formula wizard bugs and add field name validation
- Fix Add Field blanking inputs: cfFields was IIFE-scoped so inline oninput handlers couldn't reach it; expose cfUpdateField on window - Fix ManualUnitPrice dropped in buildItemFromData: condition excluded isCustomFormulaItem, causing FixedRate items to reprice from scratch - Fix formula card missing on job pages: load CustomFormulaTemplates in PopulateJobItemDropDownsAsync so Details, EditItems, and Edit all get it; add customFormulaTemplates + formulaEvalUrl to Details and EditItems pageMeta - Add NCalc field name validation: client-side inline feedback (is-invalid + message on oninput) and pre-save sweep; server-side ValidateTemplateFields on Create and Update; rules: letter-start, letters/digits/underscores only, no duplicates, "rate" reserved Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2865,7 +2865,7 @@ function buildItemFromWizard() {
|
||||
surfaceAreaSqFt: d.surfaceAreaSqFt || 0,
|
||||
estimatedMinutes: d.estimatedMinutes || 0,
|
||||
catalogItemId: d.catalogItemId || null,
|
||||
manualUnitPrice: isAi ? (d.manualUnitPrice ?? null) : (d.isGenericItem || d.isSalesItem ? (d.manualUnitPrice ?? null) : null),
|
||||
manualUnitPrice: isAi ? (d.manualUnitPrice ?? null) : (d.isGenericItem || d.isSalesItem || d.isCustomFormulaItem ? (d.manualUnitPrice ?? null) : null),
|
||||
powderCostOverride: d.powderCostOverride ?? null,
|
||||
isGenericItem: !!d.isGenericItem,
|
||||
isLaborItem: !!d.isLaborItem,
|
||||
|
||||
Reference in New Issue
Block a user