From 3a9df191b636843d3658361a44772f49c2081a84 Mon Sep 17 00:00:00 2001 From: suryac Date: Tue, 4 Aug 2026 10:39:07 +0530 Subject: [PATCH] changed the image retriving fix --- fix_lower.cjs | 16 +++++++++++++ src/components/forms/DynamicForm.tsx | 14 +++++------ .../forms/fields/SmartGridField.tsx | 24 +++++++++---------- src/components/maps/NearestStoresMap.tsx | 2 +- src/screens/CallsPage.tsx | 4 ++-- src/screens/OrdersPage.tsx | 4 ++-- 6 files changed, 40 insertions(+), 24 deletions(-) create mode 100644 fix_lower.cjs diff --git a/fix_lower.cjs b/fix_lower.cjs new file mode 100644 index 0000000..917eaa2 --- /dev/null +++ b/fix_lower.cjs @@ -0,0 +1,16 @@ +const fs = require('fs'); +const files = [ + 'f:/WorkPlace/dev/krishnasales_mobile/src/components/forms/fields/SmartGridField.tsx', + 'f:/WorkPlace/dev/krishnasales_mobile/src/components/forms/DynamicForm.tsx' +]; +files.forEach(file => { + let content = fs.readFileSync(file, 'utf8'); + content = content.replace(/col\.name\.toLowerCase/g, "(col.name || '').toLowerCase"); + content = content.replace(/col\.id\.toLowerCase/g, "(col.id || '').toLowerCase"); + content = content.replace(/c\.name\.toLowerCase/g, "(c.name || '').toLowerCase"); + content = content.replace(/f\.id\.toLowerCase/g, "(f.id || '').toLowerCase"); + content = content.replace(/f\.name\.toLowerCase/g, "(f.name || '').toLowerCase"); + content = content.replace(/col\.mapped_workflow_field\?\.toLowerCase/g, "(col.mapped_workflow_field || '').toLowerCase"); + fs.writeFileSync(file, content, 'utf8'); + console.log('Fixed', file); +}); diff --git a/src/components/forms/DynamicForm.tsx b/src/components/forms/DynamicForm.tsx index b6ebbc3..94ed37b 100644 --- a/src/components/forms/DynamicForm.tsx +++ b/src/components/forms/DynamicForm.tsx @@ -211,7 +211,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: c.id.toLowerCase() === lowerKey || (c.mapped_workflow_field || '').toLowerCase() === lowerKey || getBaseId(c.id).toLowerCase() === lowerKey || - c.name.toLowerCase().replace(/\s+/g, '') === lowerKey.replace(/_/g, '') + (c.name || '').toLowerCase().replace(/\s+/g, '') === lowerKey.replace(/_/g, '') ); if (targetCol && targetCol.id !== fieldId) { next[targetCol.id] = rawRow[key]; @@ -238,7 +238,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: c.id.toLowerCase() === lowerKey || (c.mapped_workflow_field || '').toLowerCase() === lowerKey || getBaseId(c.id).toLowerCase() === lowerKey || - c.name.toLowerCase().replace(/\s+/g, '') === lowerKey.replace(/_/g, '') + (c.name || '').toLowerCase().replace(/\s+/g, '') === lowerKey.replace(/_/g, '') ); if (fieldId.startsWith('route_name') && targetCol) { @@ -266,7 +266,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: c.id.toLowerCase() === pKey || (c.mapped_workflow_field || '').toLowerCase() === pKey || getBaseId(c.id).toLowerCase() === pKey || - c.name.toLowerCase().replace(/\s+/g, '') === pKey.replace(/_/g, '') + (c.name || '').toLowerCase().replace(/\s+/g, '') === pKey.replace(/_/g, '') ); } @@ -303,7 +303,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: const getBaseId = (id: string) => id.replace(/_\d+$/, ''); const bagsColId = fieldDef?.columns?.find(c => - c.id === 'bags' || getBaseId(c.id) === 'bags' || c.mapped_workflow_field === 'bags' || c.name.toLowerCase() === 'bags' + c.id === 'bags' || getBaseId(c.id) === 'bags' || c.mapped_workflow_field === 'bags' || (c.name || '').toLowerCase() === 'bags' )?.id || 'bags'; const rowKgsColId = fieldDef?.columns?.find(c => @@ -339,7 +339,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: // Filter out disabled fields (usually server-generated IDs) const fields = schema.fields.filter(f => !f.properties?.disabled && !HIDDEN_FORM_FIELDS.includes(f.id)); - const actionField = fields.find(f => f.name.toLowerCase() === 'action' && f.data_type === 'radio'); + const actionField = fields.find(f => (f.name || '').toLowerCase() === 'action' && f.data_type === 'radio'); const normalFields = fields.filter(f => f !== actionField); const handleSubmit = async (e: React.FormEvent) => { @@ -355,7 +355,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: for (const f of fields) { let val = finalValues[f.id]; - const isNotesOrRemarks = f.id.toLowerCase().includes('notes') || f.id.toLowerCase().includes('remarks') || (f.name && (f.name.toLowerCase().includes('notes') || f.name.toLowerCase().includes('remarks'))); + const isNotesOrRemarks = (f.id || '').toLowerCase().includes('notes') || (f.id || '').toLowerCase().includes('remarks') || (f.name && ((f.name || '').toLowerCase().includes('notes') || (f.name || '').toLowerCase().includes('remarks'))); if (isNotesOrRemarks && val == null) { val = ''; } @@ -531,7 +531,7 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId: const isDisabled = schema.field_defaults?.[f.id]?.disabled || f.properties?.disabled; const isPlaceOrder = currentActivityId === ORDER_BOOKING.activities.PLACE_ORDER.uid; - const isOrderId = f.name.toLowerCase() === 'order id' || f.id.toLowerCase().includes('order_id') || f.mapped_workflow_field === 'order_id'; + const isOrderId = (f.name || '').toLowerCase() === 'order id' || (f.id || '').toLowerCase().includes('order_id') || f.mapped_workflow_field === 'order_id'; if (isPlaceOrder && isOrderId) { return null; diff --git a/src/components/forms/fields/SmartGridField.tsx b/src/components/forms/fields/SmartGridField.tsx index 7b3ed12..86c2372 100644 --- a/src/components/forms/fields/SmartGridField.tsx +++ b/src/components/forms/fields/SmartGridField.tsx @@ -70,7 +70,7 @@ export function SmartGridField({ if (option && option._raw) { const getBaseId = (id: string) => id.replace(/_\d+$/, ''); for (const key of Object.keys(option._raw)) { - const targetCol = columns.find(c => c.id === key || c.mapped_workflow_field === key || getBaseId(c.id) === key || c.name.toLowerCase().replace(/\s+/g, '') === key.toLowerCase().replace(/_/g, '')); + const targetCol = columns.find(c => c.id === key || c.mapped_workflow_field === key || getBaseId(c.id) === key || (c.name || '').toLowerCase().replace(/\s+/g, '') === key.toLowerCase().replace(/_/g, '')); if (targetCol && targetCol.id !== fieldId) { row[targetCol.id] = option._raw[key]; } else if (!targetCol && key !== fieldId) { @@ -83,7 +83,7 @@ export function SmartGridField({ // Auto-calculate row_kgs if sku and bags are present const getBaseId = (id: string) => id.replace(/_\d+$/, ''); const getVal = (key: string) => { - const c = columns.find(c => c.id === key || c.mapped_workflow_field === key || getBaseId(c.id) === key || c.name.toLowerCase().replace(/\s+/g, '') === key.toLowerCase().replace(/_/g, '')); + const c = columns.find(c => c.id === key || c.mapped_workflow_field === key || getBaseId(c.id) === key || (c.name || '').toLowerCase().replace(/\s+/g, '') === key.toLowerCase().replace(/_/g, '')); return c ? row[c.id] : row[key]; }; @@ -111,13 +111,13 @@ export function SmartGridField({ for (const col of visibleColumns) { if (isPotentialMining) { - const isReasonOrRemark = col.id.toLowerCase().includes('reason') || col.name.toLowerCase().includes('reason') || col.id.toLowerCase().includes('remark') || col.name.toLowerCase().includes('remark'); + const isReasonOrRemark = (col.id || '').toLowerCase().includes('reason') || (col.name || '').toLowerCase().includes('reason') || (col.id || '').toLowerCase().includes('remark') || (col.name || '').toLowerCase().includes('remark'); if (!isReasonOrRemark) continue; } const isCategory = col.id === 'product_category' || col.name === 'Product Category' || col.mapped_workflow_field === 'product_category' || getBaseId(col.id) === 'product_category'; const isProductName = col.id === 'product_name' || col.name === 'Product Name' || col.mapped_workflow_field === 'product_name' || getBaseId(col.id) === 'product_name'; - const isBags = col.id === 'bags' || col.name === 'Bags' || col.mapped_workflow_field === 'bags' || getBaseId(col.id) === 'bags' || col.id.toLowerCase().includes('quantity') || col.name.toLowerCase().includes('quantity') || col.mapped_workflow_field?.toLowerCase().includes('quantity'); + const isBags = col.id === 'bags' || col.name === 'Bags' || col.mapped_workflow_field === 'bags' || getBaseId(col.id) === 'bags' || (col.id || '').toLowerCase().includes('quantity') || (col.name || '').toLowerCase().includes('quantity') || (col.mapped_workflow_field || '').toLowerCase().includes('quantity'); let isRequired = col.mandatory || (isCatSelected && (isProductName || isBags)); if (isOrderDetails && (isCategory || isProductName || isBags)) { @@ -155,7 +155,7 @@ export function SmartGridField({ const next = [...value]; const existingRow = { ...next[foundIdx] }; - const bagsCol = columns.find(c => c.id === 'bags' || getBaseId(c.id) === 'bags' || c.mapped_workflow_field === 'bags' || c.name.toLowerCase() === 'bags'); + const bagsCol = columns.find(c => c.id === 'bags' || getBaseId(c.id) === 'bags' || c.mapped_workflow_field === 'bags' || (c.name || '').toLowerCase() === 'bags'); const rowKgsCol = columns.find(c => c.id === 'row_kgs' || getBaseId(c.id) === 'row_kgs' || c.mapped_workflow_field === 'row_kgs' || getBaseId(c.id) === 'rowkgs'); const skuCol = columns.find(c => c.id === 'sku' || getBaseId(c.id) === 'sku' || c.mapped_workflow_field === 'sku'); @@ -194,14 +194,14 @@ export function SmartGridField({ const getBaseId = (id: string) => id.replace(/_\d+$/, ''); if (isPotentialMining) { - const isReasonOrRemark = col.id.toLowerCase().includes('reason') || col.name.toLowerCase().includes('reason') || col.id.toLowerCase().includes('remark') || col.name.toLowerCase().includes('remark'); + const isReasonOrRemark = (col.id || '').toLowerCase().includes('reason') || (col.name || '').toLowerCase().includes('reason') || (col.id || '').toLowerCase().includes('remark') || (col.name || '').toLowerCase().includes('remark'); if (!isReasonOrRemark) return null; } const catColId = columns.find(c => c.id === 'product_category' || c.name === 'Product Category' || c.mapped_workflow_field === 'product_category' || getBaseId(c.id) === 'product_category')?.id; const isCatSelected = catColId ? !!newRow[catColId] : false; const isProductName = col.id === 'product_name' || col.name === 'Product Name' || col.mapped_workflow_field === 'product_name' || getBaseId(col.id) === 'product_name'; - const isBags = col.id === 'bags' || col.name === 'Bags' || col.mapped_workflow_field === 'bags' || getBaseId(col.id) === 'bags' || col.id.toLowerCase().includes('quantity') || col.name.toLowerCase().includes('quantity') || col.mapped_workflow_field?.toLowerCase().includes('quantity'); + const isBags = col.id === 'bags' || col.name === 'Bags' || col.mapped_workflow_field === 'bags' || getBaseId(col.id) === 'bags' || (col.id || '').toLowerCase().includes('quantity') || (col.name || '').toLowerCase().includes('quantity') || (col.mapped_workflow_field || '').toLowerCase().includes('quantity'); const isRequired = col.mandatory || (isCatSelected && (isProductName || isBags)); if (col.data_type === 'select' || col.data_type === 'multiselect') { @@ -275,10 +275,10 @@ export function SmartGridField({ let reasonStr = ''; visibleColumns.forEach(col => { - const isName = col.id.toLowerCase().includes('name') || col.name.toLowerCase().includes('name') || (col.id.toLowerCase().includes('category') && productName === 'Unknown Product'); - const isBags = col.id.toLowerCase().includes('bags') || col.name.toLowerCase().includes('bags') || col.id.toLowerCase().includes('quantity'); - const isDiff = col.id.toLowerCase().includes('diff') || col.name.toLowerCase().includes('diff'); - const isReason = col.id.toLowerCase().includes('reason') || col.name.toLowerCase().includes('reason'); + const isName = (col.id || '').toLowerCase().includes('name') || (col.name || '').toLowerCase().includes('name') || ((col.id || '').toLowerCase().includes('category') && productName === 'Unknown Product'); + const isBags = (col.id || '').toLowerCase().includes('bags') || (col.name || '').toLowerCase().includes('bags') || (col.id || '').toLowerCase().includes('quantity'); + const isDiff = (col.id || '').toLowerCase().includes('diff') || (col.name || '').toLowerCase().includes('diff'); + const isReason = (col.id || '').toLowerCase().includes('reason') || (col.name || '').toLowerCase().includes('reason'); const val = row[col.id]; let displayVal = String(val ?? '-'); @@ -288,7 +288,7 @@ export function SmartGridField({ if (opt) displayVal = opt.label; } - if (isName && (productName === 'Unknown Product' || col.id.toLowerCase().includes('name'))) { + if (isName && (productName === 'Unknown Product' || (col.id || '').toLowerCase().includes('name'))) { productName = displayVal; } if (isBags) { diff --git a/src/components/maps/NearestStoresMap.tsx b/src/components/maps/NearestStoresMap.tsx index 464411f..2e64541 100644 --- a/src/components/maps/NearestStoresMap.tsx +++ b/src/components/maps/NearestStoresMap.tsx @@ -163,7 +163,7 @@ export function NearestStoresMap() { diff --git a/src/screens/CallsPage.tsx b/src/screens/CallsPage.tsx index 51b1236..c8eef12 100644 --- a/src/screens/CallsPage.tsx +++ b/src/screens/CallsPage.tsx @@ -27,10 +27,10 @@ export function CallsPage() { setMiningLoading(true); setMiningPrefill(undefined); try { - const storeCode = selectedRow?.select_store?.store_code_2 || selectedRow?.select_store?.store_code || selectedRow?.select_store?.code || selectedRow?.store_code_2 || selectedRow?.store_code || selectedRow?.code || selectedRow?.store?.store_code_2 || selectedRow?.store?.store_code; + const storeCode = selectedRow?.select_store_row?.store_code_2 || selectedRow?.select_store_row?.store_code || selectedRow?.select_store?.store_code_2 || selectedRow?.select_store?.store_code || selectedRow?.select_store?.code || selectedRow?.store_code_2 || selectedRow?.store_code || selectedRow?.code || selectedRow?.store?.store_code_2 || selectedRow?.store?.store_code; if (!storeCode) { - console.warn("Store code not found on selected row, proceeding anyway."); + console.warn("Store code not found on selected row, proceeding anyway.", selectedRow); } const payload = { diff --git a/src/screens/OrdersPage.tsx b/src/screens/OrdersPage.tsx index 9299895..abf236e 100644 --- a/src/screens/OrdersPage.tsx +++ b/src/screens/OrdersPage.tsx @@ -29,10 +29,10 @@ export function OrdersPage() { setMiningLoading(true); setMiningPrefill(undefined); try { - const storeCode = selectedRow?.select_store?.store_code_2 || selectedRow?.select_store?.store_code || selectedRow?.select_store?.code || selectedRow?.store_code_2 || selectedRow?.store_code || selectedRow?.code || selectedRow?.store?.store_code_2 || selectedRow?.store?.store_code; + const storeCode = selectedRow?.select_store_row?.store_code_2 || selectedRow?.select_store_row?.store_code || selectedRow?.select_store?.store_code_2 || selectedRow?.select_store?.store_code || selectedRow?.select_store?.code || selectedRow?.store_code_2 || selectedRow?.store_code || selectedRow?.code || selectedRow?.store?.store_code_2 || selectedRow?.store?.store_code; if (!storeCode) { - console.warn("Store code not found on selected row, proceeding anyway."); + console.warn("Store code not found on selected row, proceeding anyway.", selectedRow); } const payload = {