From 715ca4978153fc50697aa910d258d96b96a279f9 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Mon, 12 Jan 2026 16:13:41 -0500 Subject: [PATCH 01/52] Added new build form and added more team members in printer build form --- build_form.js | 44 +++++++++++++++++++++++++++++++++ build_form.json | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 build_form.js create mode 100644 build_form.json diff --git a/build_form.js b/build_form.js new file mode 100644 index 0000000..b4957ea --- /dev/null +++ b/build_form.js @@ -0,0 +1,44 @@ +window.JSONEditor.defaults.callbacks.autocomplete = { + 'search_deposition': function (editor, input) { + if (input.length < 3) { + return []; + } + + return restRequest({ + url: 'deposition', + method: 'GET', + data: { + q: input, + limit: 10 + } + }) + }, + 'render_deposition': function (editor, result, props) { + try { + const localId = result.metadata.alternateIdentifiers.find( + (id) => id.alternateIdentifierType.toLowerCase() === 'local' + ); + return `
  • ${result.igsn} (localId: ${localId.alternateIdentifier})
  • `; + } catch (e) { + return `
  • ${result.igsn} (title: ${result.metadata.titles[0]['title']})
  • `; + } + }, + 'get_deposition_value': function (editor, result) { + try { + const localId = result.metadata.alternateIdentifiers.find( + (id) => id.alternateIdentifierType.toLowerCase() === 'local' + ); + return `${result.igsn} - ${result._id} - ${localId.alternateIdentifier}`; + } catch (e) { + return `${result.igsn} - ${result._id} - no localId`; + } + } +}; + +Handlebars.registerHelper('split', function (string, separator, index) { + try { + return string.split(separator)[index].trim(); + } catch (e) { + return ''; + } +}); diff --git a/build_form.json b/build_form.json new file mode 100644 index 0000000..041fe88 --- /dev/null +++ b/build_form.json @@ -0,0 +1,66 @@ +{ + "title": "Build Metadata Schema", + "description": "Schema for recording metadata of builds (build parameters)", + "type": "object", + "properties": { +"lookup": { + "type": "string", + "title": "Sample IGSNs", + "description": "Lookup for the IGSN of the sample", + "options": { + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500, + "multiple": true, + "separator": "," + } + } +}, + "buildParameters": { + "title": "Build Process Parameters", + "description": "Laser process parameters for all regions of the build", + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["upskin", "downskin", "infill", "contouring"], + "description": "Type of build region" + }, + "laserSpeed": { + "type": "number", + "minimum": 0, + "maximum": 10000, + "description": "Laser velocity in mm/s" + }, + "laserPower": { + "type": "number", + "minimum": 0, + "maximum": 370, + "description": "Laser power in Watts" + }, + "layerThickness": { + "type": "number", + "minimum": 0, + "maximum": 100, + "description": "Layer thickness in microns" + }, + "hatchSpacing": { + "type": "number", + "minimum": 0, + "maximum": 300, + "description": "Hatch spacing in microns" + } + }, + "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] + }, + "uniqueItemProperties": ["type"] + } + }, + "required": ["lookup", "buildParameters"] +} From 167cd59ddca2d970659b8ede6ec9a334aa412cef Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Mon, 12 Jan 2026 16:26:41 -0500 Subject: [PATCH 02/52] Added team members in the printer build and propertyOrder in build form --- build_form.json | 34 ++++++++++++++++++---------------- printer_build_schema.json | 5 ++++- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/build_form.json b/build_form.json index 041fe88..ee2da3e 100644 --- a/build_form.json +++ b/build_form.json @@ -3,25 +3,27 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { -"lookup": { - "type": "string", - "title": "Sample IGSNs", - "description": "Lookup for the IGSN of the sample", - "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "debounceTime": 500, - "multiple": true, - "separator": "," - } - } -}, + "lookup": { + "type": "string", + "title": "Sample IGSNs", + "description": "Lookup for the IGSN of the sample", + "propertyOrder": 1, + "options": { + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500, + "multiple": true, + "separator": "," + } + } + }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", + "propertyOrder": 2, "type": "array", "minItems": 1, "items": { diff --git a/printer_build_schema.json b/printer_build_schema.json index fde3311..1ade9aa 100644 --- a/printer_build_schema.json +++ b/printer_build_schema.json @@ -667,7 +667,10 @@ "enum": [ "Evan Adcock", "Nick Lamprinakos", - "Katie O'Donnell" + "Katie O'Donnell", + "Sierra Green", + "Justin Miner", + "David Reyes Ortiz" ] }, "propertyOrder": 3 From d9e66bd417adeae865d17cd93b055f70b0d67d78 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Mon, 12 Jan 2026 16:43:28 -0500 Subject: [PATCH 03/52] Fixing autocomplete issue with lookup --- build_form.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build_form.json b/build_form.json index ee2da3e..ab45b44 100644 --- a/build_form.json +++ b/build_form.json @@ -3,11 +3,11 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { +"lookup": { "type": "string", - "title": "Sample IGSNs", + "title": "IGSN", "description": "Lookup for the IGSN of the sample", - "propertyOrder": 1, + "format": "autocomplete", "options": { "autocomplete": { "search": "search_deposition", @@ -18,7 +18,8 @@ "multiple": true, "separator": "," } - } + }, + "propertyOrder": 0 }, "buildParameters": { "title": "Build Process Parameters", From 201e010189985642139318f7b90fd561c170b640 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 07:33:17 -0500 Subject: [PATCH 04/52] fixing issue with sample id and added codes --- build_form.json | 53 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/build_form.json b/build_form.json index ab45b44..3324314 100644 --- a/build_form.json +++ b/build_form.json @@ -21,6 +21,36 @@ }, "propertyOrder": 0 }, + "depositionId": { + "type": "string", + "title": "IGSN ID", + "description": "Unique identifier for the deposition", + "readOnly": true, + "propertyOrder": 999, + "watch": { + "igsn": "lookup" + }, + "template": "{{split igsn ' - ' 1}}", + "options": { + "grid_columns": 12, + "hidden": true + } + }, + "buildId": { + "type": "string", + "title": "Build ID", + "description": "BLD-1: Unique identifier for the build", + "readOnly": true, + "format": "text", + "propertyOrder": 1, + "watch": { + "igsn": "lookup" + }, + "template": "{{split igsn ' - ' 2}}", + "options": { + "grid_columns": 12 + } + }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", @@ -33,31 +63,36 @@ "type": { "type": "string", "enum": ["upskin", "downskin", "infill", "contouring"], - "description": "Type of build region" + "description": "Type of build region", + "propertyOrder": 1 }, "laserSpeed": { - "type": "number", + "type": "float", "minimum": 0, "maximum": 10000, - "description": "Laser velocity in mm/s" + "description": " PRC-3-2-9", + "propertyOrder": 2 }, "laserPower": { - "type": "number", + "type": "float", "minimum": 0, "maximum": 370, - "description": "Laser power in Watts" + "description": "PRC-3-2-3", + "propertyOrder": 3 }, "layerThickness": { - "type": "number", + "type": "float", "minimum": 0, "maximum": 100, - "description": "Layer thickness in microns" + "description": "PRC-3-2-1", + "propertyOrder": 4 }, "hatchSpacing": { - "type": "number", + "type": "float", "minimum": 0, "maximum": 300, - "description": "Hatch spacing in microns" + "description": "PRC-3-2-6", + "propertyOrder": 5 } }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] From 8876b90ec0f405b706f06967c5a692e8dec8fcee Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 07:39:48 -0500 Subject: [PATCH 05/52] fixing type of buildparameters --- build_form.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build_form.json b/build_form.json index 3324314..6f63694 100644 --- a/build_form.json +++ b/build_form.json @@ -67,28 +67,28 @@ "propertyOrder": 1 }, "laserSpeed": { - "type": "float", + "type": "number", "minimum": 0, "maximum": 10000, "description": " PRC-3-2-9", "propertyOrder": 2 }, "laserPower": { - "type": "float", + "type": "number", "minimum": 0, "maximum": 370, "description": "PRC-3-2-3", "propertyOrder": 3 }, "layerThickness": { - "type": "float", + "type": "number", "minimum": 0, "maximum": 100, "description": "PRC-3-2-1", "propertyOrder": 4 }, "hatchSpacing": { - "type": "float", + "type": "number", "minimum": 0, "maximum": 300, "description": "PRC-3-2-6", From 2e4a39ddf6fa69703f071b4bc5ed5be530e97a44 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:09:04 -0500 Subject: [PATCH 06/52] solving mutliple entries for the same build params --- build_form.json | 1 + 1 file changed, 1 insertion(+) diff --git a/build_form.json b/build_form.json index 6f63694..99dbafc 100644 --- a/build_form.json +++ b/build_form.json @@ -57,6 +57,7 @@ "propertyOrder": 2, "type": "array", "minItems": 1, + "maxItems": 4, "items": { "type": "object", "properties": { From 9072189e971c64ed5b9d9b14195864b2f165843a Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:22:15 -0500 Subject: [PATCH 07/52] fixing multiple parameter entry issue --- build_form.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/build_form.json b/build_form.json index 99dbafc..c7aa29a 100644 --- a/build_form.json +++ b/build_form.json @@ -3,7 +3,7 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { -"lookup": { + "lookup": { "type": "string", "title": "IGSN", "description": "Lookup for the IGSN of the sample", @@ -58,6 +58,7 @@ "type": "array", "minItems": 1, "maxItems": 4, + "uniqueItemProperties": ["type"], "items": { "type": "object", "properties": { @@ -98,7 +99,18 @@ }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] }, - "uniqueItemProperties": ["type"] + "allOf": [ + { + "not": { + "anyOf": [ + { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"] }, "minContains": 2 } + ] + } + } + ] } }, "required": ["lookup", "buildParameters"] From b42accad0cb3b18558e66d3dbcbfb23becc3aeb6 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:37:36 -0500 Subject: [PATCH 08/52] fixing multiple parameter entry issue --- build_form.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/build_form.json b/build_form.json index c7aa29a..9617b88 100644 --- a/build_form.json +++ b/build_form.json @@ -61,6 +61,10 @@ "uniqueItemProperties": ["type"], "items": { "type": "object", + "format": "grid", + "options": { + "grid_columns": 12 + }, "properties": { "type": { "type": "string", @@ -73,28 +77,32 @@ "minimum": 0, "maximum": 10000, "description": " PRC-3-2-9", - "propertyOrder": 2 + "propertyOrder": 2, + "options": { "grid_columns": 12 } }, "laserPower": { "type": "number", "minimum": 0, "maximum": 370, "description": "PRC-3-2-3", - "propertyOrder": 3 + "propertyOrder": 3, + "options": { "grid_columns": 12 } }, "layerThickness": { "type": "number", "minimum": 0, "maximum": 100, "description": "PRC-3-2-1", - "propertyOrder": 4 + "propertyOrder": 4, + "options": { "grid_columns": 12 } }, "hatchSpacing": { "type": "number", "minimum": 0, "maximum": 300, "description": "PRC-3-2-6", - "propertyOrder": 5 + "propertyOrder": 5, + "options": { "grid_columns": 12 } } }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] From 3e9bfdf0e3954f6a6e685390ee4e7727eef76667 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:41:50 -0500 Subject: [PATCH 09/52] fixing multiple parameter entry issue --- build_form.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/build_form.json b/build_form.json index 9617b88..61a3474 100644 --- a/build_form.json +++ b/build_form.json @@ -106,19 +106,7 @@ } }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] - }, - "allOf": [ - { - "not": { - "anyOf": [ - { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"] }, "minContains": 2 } - ] - } - } - ] + } } }, "required": ["lookup", "buildParameters"] From 16dc77c6f9d617a5991ba1f8c4386a52d0a2b29c Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:47:14 -0500 Subject: [PATCH 10/52] fixing multiple parameter entry issue --- build_form.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build_form.json b/build_form.json index 61a3474..85652a2 100644 --- a/build_form.json +++ b/build_form.json @@ -107,7 +107,19 @@ }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] } + }, + "allOf": [ + { + "not": { + "anyOf": [ + { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"], "maxContains": 1 } }, + { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"], "maxContains": 1 } }, + { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"], "maxContains": 1 } }, + { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"], "maxContains": 1 } } + ] } + } +] }, "required": ["lookup", "buildParameters"] } From 33495e8c0986a1119e2d67f90f3ea48d5c52096e Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 10:55:13 -0500 Subject: [PATCH 11/52] fixing multiple parameter entry issue --- build_form.json | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/build_form.json b/build_form.json index 85652a2..7e86632 100644 --- a/build_form.json +++ b/build_form.json @@ -60,11 +60,7 @@ "maxItems": 4, "uniqueItemProperties": ["type"], "items": { - "type": "object", - "format": "grid", - "options": { - "grid_columns": 12 - }, + "type": "object", "format": "grid", "options": { "grid_columns": 12 }, "properties": { "type": { "type": "string", @@ -78,7 +74,7 @@ "maximum": 10000, "description": " PRC-3-2-9", "propertyOrder": 2, - "options": { "grid_columns": 12 } + "options": { "grid_row": 12 } }, "laserPower": { "type": "number", @@ -86,7 +82,7 @@ "maximum": 370, "description": "PRC-3-2-3", "propertyOrder": 3, - "options": { "grid_columns": 12 } + "options": { "grid_row": 12 } }, "layerThickness": { "type": "number", @@ -94,7 +90,7 @@ "maximum": 100, "description": "PRC-3-2-1", "propertyOrder": 4, - "options": { "grid_columns": 12 } + "options": { "grid_row": 12 } }, "hatchSpacing": { "type": "number", @@ -102,24 +98,24 @@ "maximum": 300, "description": "PRC-3-2-6", "propertyOrder": 5, - "options": { "grid_columns": 12 } + "options": { "grid_row": 12 } } }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] - } - }, - "allOf": [ - { - "not": { - "anyOf": [ - { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"], "maxContains": 1 } }, - { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"], "maxContains": 1 } }, - { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"], "maxContains": 1 } }, - { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"], "maxContains": 1 } } + }, + "allOf": [ + { + "not": { + "anyOf": [ + { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"] }, "minContains": 2 }, + { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"] }, "minContains": 2 } + ] + } + } ] } - } -] }, "required": ["lookup", "buildParameters"] } From b80a2690016fdba2d41cf909fb95f648bc15b2f6 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 11:41:25 -0500 Subject: [PATCH 12/52] fixing multiple parameter entry issue --- build_form.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/build_form.json b/build_form.json index 7e86632..2a9abd1 100644 --- a/build_form.json +++ b/build_form.json @@ -4,9 +4,12 @@ "type": "object", "properties": { "lookup": { + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { "type": "string", - "title": "IGSN", - "description": "Lookup for the IGSN of the sample", "format": "autocomplete", "options": { "autocomplete": { @@ -14,13 +17,15 @@ "renderResult": "render_deposition", "getResultValue": "get_deposition_value", "autoSelect": true, - "debounceTime": 500, - "multiple": true, - "separator": "," + "debounceTime": 500 } - }, - "propertyOrder": 0 + } }, + "options": { + "grid_columns": 12 + }, + "propertyOrder": 0 + }, "depositionId": { "type": "string", "title": "IGSN ID", From c3889043815fc6785ff19ab7df1fb150b35e918f Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 11:43:07 -0500 Subject: [PATCH 13/52] fixing multiple parameter entry issue --- build_form.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/build_form.json b/build_form.json index 2a9abd1..ab47a1b 100644 --- a/build_form.json +++ b/build_form.json @@ -3,7 +3,7 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { + "lookup": { "type": "array", "title": "IGSNs", "description": "Select one or more IGSNs", @@ -19,13 +19,16 @@ "autoSelect": true, "debounceTime": 500 } + }, + "options": { + "grid_columns": 4 } }, "options": { - "grid_columns": 12 + "grid_columns": 12 }, "propertyOrder": 0 - }, +}, "depositionId": { "type": "string", "title": "IGSN ID", From 5941a745bedf08d319ebcd3040a10b53cc94d825 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 11:45:56 -0500 Subject: [PATCH 14/52] fixing multiple parameter entry issue --- build_form.json | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/build_form.json b/build_form.json index ab47a1b..d63c19f 100644 --- a/build_form.json +++ b/build_form.json @@ -4,30 +4,28 @@ "type": "object", "properties": { "lookup": { - "type": "array", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { - "type": "string", - "format": "autocomplete", - "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "debounceTime": 500 - } - }, - "options": { - "grid_columns": 4 - } - }, + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { + "type": "string", + "format": "autocomplete", "options": { - "grid_columns": 12 - }, - "propertyOrder": 0 + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500 + } + } + }, + "options": { + "array_grid": true, + "grid_columns": 12 + }, + "propertyOrder": 0 }, "depositionId": { "type": "string", From 635fd0a6833a7e22872585504ffc17669234da13 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 11:54:46 -0500 Subject: [PATCH 15/52] fixing multiple parameter entry issue --- build_form.json | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/build_form.json b/build_form.json index d63c19f..1c136ed 100644 --- a/build_form.json +++ b/build_form.json @@ -3,30 +3,31 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { - "type": "array", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { - "type": "string", - "format": "autocomplete", - "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "debounceTime": 500 + "lookup": { + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { + "type": "string", + "format": "autocomplete", + "options": { + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500 + }, + "grid_columns": 4 } - } - }, - "options": { - "array_grid": true, - "grid_columns": 12 + }, + "options": { + "array_grid": true, + "grid_columns": 12 + }, + "propertyOrder": 0 }, - "propertyOrder": 0 -}, "depositionId": { "type": "string", "title": "IGSN ID", From 6be9fdf0216fa876d5dbc23f22ae31c8a715803b Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:01:54 -0500 Subject: [PATCH 16/52] fixing multiple parameter entry issue --- build_form.json | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/build_form.json b/build_form.json index 1c136ed..108f46c 100644 --- a/build_form.json +++ b/build_form.json @@ -3,31 +3,34 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { - "type": "array", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { - "type": "string", - "format": "autocomplete", + "lookup": { + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { + "type": "string", + "format": "autocomplete", + "options": { + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500 + }, + "grid_columns": 10 + } + }, "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "debounceTime": 500 - }, - "grid_columns": 4 - } - }, - "options": { - "array_grid": true, - "grid_columns": 12 + "array_grid": true, + "grid_columns": 12, + "compact": true, + "item_buttons_position": "right", + "item_grid_template": "10fr 2fr" + }, + "propertyOrder": 0 }, - "propertyOrder": 0 - }, "depositionId": { "type": "string", "title": "IGSN ID", From 570223c569257e51282fefe4204f479c55bbc517 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:05:10 -0500 Subject: [PATCH 17/52] fixing multiple parameter entry issue --- build_form.json | 1 + 1 file changed, 1 insertion(+) diff --git a/build_form.json b/build_form.json index 108f46c..50525b2 100644 --- a/build_form.json +++ b/build_form.json @@ -17,6 +17,7 @@ "renderResult": "render_deposition", "getResultValue": "get_deposition_value", "autoSelect": true, + "type": "vertical", "debounceTime": 500 }, "grid_columns": 10 From 29813fbeb6f63a851eb8776eaba5b48ae66853b9 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:06:40 -0500 Subject: [PATCH 18/52] fixing multiple parameter entry issue --- build_form.json | 50 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/build_form.json b/build_form.json index 50525b2..0659676 100644 --- a/build_form.json +++ b/build_form.json @@ -3,35 +3,31 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { - "type": "array", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { - "type": "string", - "format": "autocomplete", - "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "type": "vertical", - "debounceTime": 500 - }, - "grid_columns": 10 - } - }, + "lookup": { + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { + "type": "string", + "format": "autocomplete", "options": { - "array_grid": true, - "grid_columns": 12, - "compact": true, - "item_buttons_position": "right", - "item_grid_template": "10fr 2fr" - }, - "propertyOrder": 0 + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500 + }, + "grid_columns": 4 + } + }, + "options": { + "array_grid": true, + "grid_row": 2 }, + "propertyOrder": 0 + }, "depositionId": { "type": "string", "title": "IGSN ID", From 38d7fcac97c0d78955161955a114699d5beb6afd Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:07:47 -0500 Subject: [PATCH 19/52] fixing multiple parameter entry issue --- build_form.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 0659676..5d636af 100644 --- a/build_form.json +++ b/build_form.json @@ -24,7 +24,8 @@ }, "options": { "array_grid": true, - "grid_row": 2 + "grid_row": 2, + "grid_column": 4 }, "propertyOrder": 0 }, From e1867622abead4f7cd8db69a282d18e40ba86b65 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:09:35 -0500 Subject: [PATCH 20/52] fixing multiple parameter entry issue --- build_form.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build_form.json b/build_form.json index 5d636af..60ae0ed 100644 --- a/build_form.json +++ b/build_form.json @@ -19,13 +19,11 @@ "autoSelect": true, "debounceTime": 500 }, - "grid_columns": 4 + "grid_row": 3 } }, "options": { - "array_grid": true, - "grid_row": 2, - "grid_column": 4 + "array_grid": true }, "propertyOrder": 0 }, From 777fbdaa70addeb793a352585464c55ccf30398f Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:10:19 -0500 Subject: [PATCH 21/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 60ae0ed..d7467c8 100644 --- a/build_form.json +++ b/build_form.json @@ -19,7 +19,7 @@ "autoSelect": true, "debounceTime": 500 }, - "grid_row": 3 + "grid_columns": 2 } }, "options": { From 34edc6aebb9b90636840fd9367829a604222143d Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:12:10 -0500 Subject: [PATCH 22/52] fixing multiple parameter entry issue --- build_form.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/build_form.json b/build_form.json index d7467c8..291c0b2 100644 --- a/build_form.json +++ b/build_form.json @@ -108,19 +108,7 @@ } }, "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] - }, - "allOf": [ - { - "not": { - "anyOf": [ - { "contains": { "properties": { "type": { "const": "upskin" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "downskin" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "infill" } }, "required": ["type"] }, "minContains": 2 }, - { "contains": { "properties": { "type": { "const": "contouring" } }, "required": ["type"] }, "minContains": 2 } - ] - } - } - ] + } } }, "required": ["lookup", "buildParameters"] From 7e3929d528452fb5fe447fc8c990afa845302b59 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Tue, 13 Jan 2026 12:23:37 -0500 Subject: [PATCH 23/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 291c0b2..f668985 100644 --- a/build_form.json +++ b/build_form.json @@ -48,7 +48,7 @@ "description": "BLD-1: Unique identifier for the build", "readOnly": true, "format": "text", - "propertyOrder": 1, + "propertyOrder": 999, "watch": { "igsn": "lookup" }, From 8bc4c033b395c4a4263140c4bb0613ade388522d Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 09:24:53 -0500 Subject: [PATCH 24/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index f668985..291c0b2 100644 --- a/build_form.json +++ b/build_form.json @@ -48,7 +48,7 @@ "description": "BLD-1: Unique identifier for the build", "readOnly": true, "format": "text", - "propertyOrder": 999, + "propertyOrder": 1, "watch": { "igsn": "lookup" }, From abb8d2ffd0b2f1d47e1eabfdf55736109e206da4 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 09:34:48 -0500 Subject: [PATCH 25/52] fixing multiple parameter entry issue --- build_form.json | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/build_form.json b/build_form.json index 291c0b2..2262e30 100644 --- a/build_form.json +++ b/build_form.json @@ -3,13 +3,10 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { - "type": "array", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { + "lookup": { "type": "string", + "title": "IGSN", + "description": "Lookup for the IGSN of the sample", "format": "autocomplete", "options": { "autocomplete": { @@ -18,15 +15,10 @@ "getResultValue": "get_deposition_value", "autoSelect": true, "debounceTime": 500 - }, - "grid_columns": 2 - } - }, - "options": { - "array_grid": true + } + }, + "propertyOrder": 0 }, - "propertyOrder": 0 - }, "depositionId": { "type": "string", "title": "IGSN ID", From 98f5e56dde0f68b16701eaa042d57f418bcb8065 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 10:55:43 -0500 Subject: [PATCH 26/52] fixing multiple parameter entry issue --- build_form.js | 16 ++++++++++++++++ build_form.json | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/build_form.js b/build_form.js index b4957ea..53c5a9b 100644 --- a/build_form.js +++ b/build_form.js @@ -42,3 +42,19 @@ Handlebars.registerHelper('split', function (string, separator, index) { return ''; } }); + +Handlebars.registerHelper('replaceAll', function (string, search, replacement) { + return (string !== undefined && string !== null) ? string.replaceAll(search, replacement) : ''; +}); +Handlebars.registerHelper('joinarray', function (a, sep, prefix=false) { + if (!a || !Array.isArray(a) || a.length === 0) { + // Handle empty or undefined array + return ''; + } + const result = a.join(sep); + if (result !== '' && prefix) { + return `${sep}${result}`; + } + return result; +}); + diff --git a/build_form.json b/build_form.json index 2262e30..e45ce19 100644 --- a/build_form.json +++ b/build_form.json @@ -49,6 +49,14 @@ "grid_columns": 12 } }, + "printerBuildID": { + "title": "Printer Build ID", + "description": "Automatically generated identifier for the printer build", + "type": "string", + "template": "{{joinarray root.buildParameters '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", + "readOnly": true, + "propertyOrder": 2 + }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", From 437d54f9413cf073850745eb14ab1452098d2e35 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 10:57:58 -0500 Subject: [PATCH 27/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index e45ce19..62a62c3 100644 --- a/build_form.json +++ b/build_form.json @@ -60,7 +60,7 @@ "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", - "propertyOrder": 2, + "propertyOrder": 3, "type": "array", "minItems": 1, "maxItems": 4, From 3e485845478b8aa300a401ff18b0bce1002b3aa6 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:09:20 -0500 Subject: [PATCH 28/52] fixing multiple parameter entry issue --- build_form.json | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/build_form.json b/build_form.json index 62a62c3..56072f6 100644 --- a/build_form.json +++ b/build_form.json @@ -19,42 +19,16 @@ }, "propertyOrder": 0 }, - "depositionId": { - "type": "string", - "title": "IGSN ID", - "description": "Unique identifier for the deposition", - "readOnly": true, - "propertyOrder": 999, - "watch": { - "igsn": "lookup" - }, - "template": "{{split igsn ' - ' 1}}", - "options": { - "grid_columns": 12, - "hidden": true - } - }, - "buildId": { - "type": "string", - "title": "Build ID", - "description": "BLD-1: Unique identifier for the build", - "readOnly": true, - "format": "text", - "propertyOrder": 1, - "watch": { - "igsn": "lookup" - }, - "template": "{{split igsn ' - ' 2}}", - "options": { - "grid_columns": 12 - } - }, "printerBuildID": { "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", "type": "string", - "template": "{{joinarray root.buildParameters '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", + "template": "{{igsn.substring(0,11)}}_{{joinarray params '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", "readOnly": true, + "watch": { + "params": "root.buildParameters", + "igsn": "lookup" + }, "propertyOrder": 2 }, "buildParameters": { From dd11f2c725de88a2db8fc68969befb5234870bdd Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:12:05 -0500 Subject: [PATCH 29/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 56072f6..ac2b3f0 100644 --- a/build_form.json +++ b/build_form.json @@ -3,7 +3,7 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { + "lookup": { "type": "string", "title": "IGSN", "description": "Lookup for the IGSN of the sample", From a635c5d058c84cb4be292d5223532c0accad09a8 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:13:45 -0500 Subject: [PATCH 30/52] fixing multiple parameter entry issue --- build_form.json | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/build_form.json b/build_form.json index ac2b3f0..7b4399a 100644 --- a/build_form.json +++ b/build_form.json @@ -3,10 +3,13 @@ "description": "Schema for recording metadata of builds (build parameters)", "type": "object", "properties": { - "lookup": { + "lookup": { + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { "type": "string", - "title": "IGSN", - "description": "Lookup for the IGSN of the sample", "format": "autocomplete", "options": { "autocomplete": { @@ -15,9 +18,44 @@ "getResultValue": "get_deposition_value", "autoSelect": true, "debounceTime": 500 - } + }, + "grid_columns": 2 + } + }, + "options": { + "array_grid": true + }, + "propertyOrder": 0 + }, + "depositionId": { + "type": "string", + "title": "IGSN ID", + "description": "Unique identifier for the deposition", + "readOnly": true, + "propertyOrder": 999, + "watch": { + "igsn": "lookup" }, - "propertyOrder": 0 + "template": "{{split igsn ' - ' 1}}", + "options": { + "grid_columns": 12, + "hidden": true + } + }, + "buildId": { + "type": "string", + "title": "Build ID", + "description": "BLD-1: Unique identifier for the build", + "readOnly": true, + "format": "text", + "propertyOrder": 1, + "watch": { + "igsn": "lookup" + }, + "template": "{{split igsn ' - ' 2}}", + "options": { + "grid_columns": 12 + } }, "printerBuildID": { "title": "Printer Build ID", From 4b84671b791162d191b660867b681cfbedb5d1ac Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:15:49 -0500 Subject: [PATCH 31/52] fixing multiple parameter entry issue --- build_form.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/build_form.json b/build_form.json index 7b4399a..35e714f 100644 --- a/build_form.json +++ b/build_form.json @@ -57,18 +57,6 @@ "grid_columns": 12 } }, - "printerBuildID": { - "title": "Printer Build ID", - "description": "Automatically generated identifier for the printer build", - "type": "string", - "template": "{{igsn.substring(0,11)}}_{{joinarray params '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", - "readOnly": true, - "watch": { - "params": "root.buildParameters", - "igsn": "lookup" - }, - "propertyOrder": 2 - }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", From 1a021e8673f695588c41753c411e3082ecdc8949 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:26:09 -0500 Subject: [PATCH 32/52] fixing multiple parameter entry issue --- build_form.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/build_form.json b/build_form.json index 35e714f..77c5c94 100644 --- a/build_form.json +++ b/build_form.json @@ -26,8 +26,8 @@ "array_grid": true }, "propertyOrder": 0 - }, - "depositionId": { + }, + "depositionId": { "type": "string", "title": "IGSN ID", "description": "Unique identifier for the deposition", @@ -57,6 +57,14 @@ "grid_columns": 12 } }, + "printerBuildID": { + "title": "Printer Build ID", + "description": "Automatically generated identifier for the printer build", + "type": "string", + "template": "{{joinarray root.buildParameters '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", + "readOnly": true, + "propertyOrder": 1 + }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", From e18e1268c5acc1e2c3fa7aad3ef77c57ad528785 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:29:52 -0500 Subject: [PATCH 33/52] fixing multiple parameter entry issue --- build_form.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build_form.json b/build_form.json index 77c5c94..3e7012f 100644 --- a/build_form.json +++ b/build_form.json @@ -61,9 +61,13 @@ "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", "type": "string", - "template": "{{joinarray root.buildParameters '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", + "template": "{{joinarray params '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", "readOnly": true, - "propertyOrder": 1 + "propertyOrder": 1, + "watch": { + "params": "root.buildParameters", + "igsn": "root.lookup" + } }, "buildParameters": { "title": "Build Process Parameters", From be298840ac5471fdfe13930278862126d41faff6 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 11:45:38 -0500 Subject: [PATCH 34/52] fixing multiple parameter entry issue --- build_form.js | 9 +++++++++ build_form.json | 9 ++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/build_form.js b/build_form.js index 53c5a9b..afc6acb 100644 --- a/build_form.js +++ b/build_form.js @@ -58,3 +58,12 @@ Handlebars.registerHelper('joinarray', function (a, sep, prefix=false) { return result; }); +Handlebars.registerHelper('formatBuildParams', function (params) { + if (!params || !Array.isArray(params) || params.length === 0) { + return ''; + } + + return params + .map(p => `${p.type}:${p.laserSpeed}:${p.laserPower}:${p.layerThickness}:${p.hatchSpacing}`) + .join('_'); +}); \ No newline at end of file diff --git a/build_form.json b/build_form.json index 3e7012f..ff01d3d 100644 --- a/build_form.json +++ b/build_form.json @@ -61,12 +61,11 @@ "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", "type": "string", - "template": "{{joinarray params '_' (lambda x: x.type + ':' + str(x.laserSpeed) + ':' + str(x.laserPower) + ':' + str(x.layerThickness) + ':' + str(x.hatchSpacing))}}", + "template": "{{formatBuildParams root.buildParameters}}", "readOnly": true, - "propertyOrder": 1, - "watch": { - "params": "root.buildParameters", - "igsn": "root.lookup" + "propertyOrder": 2, + "options": { + "grid_columns": 12 } }, "buildParameters": { From fd1fd28dd46a88bbcf6b66867d0c8274c3f32186 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:26:55 -0500 Subject: [PATCH 35/52] fixing multiple parameter entry issue --- build_form.json | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/build_form.json b/build_form.json index ff01d3d..7634d48 100644 --- a/build_form.json +++ b/build_form.json @@ -57,17 +57,20 @@ "grid_columns": 12 } }, - "printerBuildID": { - "title": "Printer Build ID", - "description": "Automatically generated identifier for the printer build", - "type": "string", - "template": "{{formatBuildParams root.buildParameters}}", - "readOnly": true, - "propertyOrder": 2, - "options": { - "grid_columns": 12 - } + "printerBuildID": { + "title": "Printer Build ID", + "description": "Automatically generated identifier for the printer build", + "type": "string", + "template": "{{formatBuildParams params}}", + "readOnly": true, + "propertyOrder": 2, + "watch": { + "params": "root.buildParameters" }, + "options": { + "grid_columns": 12 + } + }, "buildParameters": { "title": "Build Process Parameters", "description": "Laser process parameters for all regions of the build", From 31668c83b7ba052cf537a97a47e089edc7db3526 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:28:02 -0500 Subject: [PATCH 36/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 7634d48..3607071 100644 --- a/build_form.json +++ b/build_form.json @@ -4,7 +4,7 @@ "type": "object", "properties": { "lookup": { - "type": "array", + "type": "string", "title": "IGSNs", "description": "Select one or more IGSNs", "minItems": 1, From 1ae9b42cfc525db06f28dcd383c1d2b3d0d3fd15 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:40:22 -0500 Subject: [PATCH 37/52] fixing multiple parameter entry issue --- build_form.js | 5 +++++ build_form.json | 33 ++++++++++++++++++++++----------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/build_form.js b/build_form.js index afc6acb..1ab3c77 100644 --- a/build_form.js +++ b/build_form.js @@ -66,4 +66,9 @@ Handlebars.registerHelper('formatBuildParams', function (params) { return params .map(p => `${p.type}:${p.laserSpeed}:${p.laserPower}:${p.layerThickness}:${p.hatchSpacing}`) .join('_'); +}); + +Handlebars.registerHelper('isTypeUsed', function (selectedType, allParams) { + if (!allParams || !Array.isArray(allParams)) return false; + return allParams.some(p => p.type === selectedType); }); \ No newline at end of file diff --git a/build_form.json b/build_form.json index 3607071..92cf24f 100644 --- a/build_form.json +++ b/build_form.json @@ -72,21 +72,32 @@ } }, "buildParameters": { - "title": "Build Process Parameters", - "description": "Laser process parameters for all regions of the build", - "propertyOrder": 3, - "type": "array", - "minItems": 1, - "maxItems": 4, - "uniqueItemProperties": ["type"], - "items": { - "type": "object", "format": "grid", "options": { "grid_columns": 12 }, - "properties": { + "title": "Build Process Parameters", + "description": "Laser process parameters for all regions of the build", + "propertyOrder": 3, + "type": "array", + "minItems": 1, + "maxItems": 4, + "uniqueItemProperties": ["type"], + "items": { + "type": "object", + "format": "grid", + "options": { + "grid_columns": 12 + }, + "properties": { "type": { "type": "string", "enum": ["upskin", "downskin", "infill", "contouring"], "description": "Type of build region", - "propertyOrder": 1 + "propertyOrder": 1, + "watch": { + "allParams": "root.buildParameters" + }, + "options": { + "enum_titles": ["Up Skin", "Down Skin", "Infill", "Contouring"], + "disabled": "{{isTypeUsed this allParams}}" + } }, "laserSpeed": { "type": "number", From 959fe8a347a0491b3ab489a0df3de2a2a1161a90 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:46:56 -0500 Subject: [PATCH 38/52] fixing multiple parameter entry issue --- build_form.js | 21 +++++++++++++++++++++ build_form.json | 6 +----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/build_form.js b/build_form.js index 1ab3c77..e72ac39 100644 --- a/build_form.js +++ b/build_form.js @@ -71,4 +71,25 @@ Handlebars.registerHelper('formatBuildParams', function (params) { Handlebars.registerHelper('isTypeUsed', function (selectedType, allParams) { if (!allParams || !Array.isArray(allParams)) return false; return allParams.some(p => p.type === selectedType); +}); + +// Custom validator for duplicate build parameter types +if (!window.JSONEditor.defaults.options.validators) { + window.JSONEditor.defaults.options.validators = []; +} + +window.JSONEditor.defaults.options.validators.push(function(schema, data, output) { + if (data && data.buildParameters && Array.isArray(data.buildParameters)) { + const types = data.buildParameters.map(p => p.type).filter(t => t); + const uniqueTypes = new Set(types); + + if (types.length !== uniqueTypes.size) { + output.push({ + path: 'buildParameters', + property: 'buildParameters', + message: 'Error: Duplicate build parameter types are not allowed. Each type (upskin, downskin, infill, contouring) can only be used once.', + schema: schema + }); + } + } }); \ No newline at end of file diff --git a/build_form.json b/build_form.json index 92cf24f..7b16e8c 100644 --- a/build_form.json +++ b/build_form.json @@ -91,12 +91,8 @@ "enum": ["upskin", "downskin", "infill", "contouring"], "description": "Type of build region", "propertyOrder": 1, - "watch": { - "allParams": "root.buildParameters" - }, "options": { - "enum_titles": ["Up Skin", "Down Skin", "Infill", "Contouring"], - "disabled": "{{isTypeUsed this allParams}}" + "enum_titles": ["Up Skin", "Down Skin", "Infill", "Contouring"] } }, "laserSpeed": { From 78ed0013a985612e4f258f7986c006b85bbc0956 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:48:42 -0500 Subject: [PATCH 39/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 7b16e8c..7a28263 100644 --- a/build_form.json +++ b/build_form.json @@ -4,7 +4,7 @@ "type": "object", "properties": { "lookup": { - "type": "string", + "type": "array", "title": "IGSNs", "description": "Select one or more IGSNs", "minItems": 1, From 02fc369284ca8a7d432406be51c94949e3d02166 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:56:06 -0500 Subject: [PATCH 40/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 7a28263..5b338a7 100644 --- a/build_form.json +++ b/build_form.json @@ -61,7 +61,7 @@ "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", "type": "string", - "template": "{{formatBuildParams params}}", + "template": "{{formatBuildParams root.buildParameters}}", "readOnly": true, "propertyOrder": 2, "watch": { From bb8def368dbe2fbfcff0d662d27b719dd46dc0ba Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 12:56:59 -0500 Subject: [PATCH 41/52] fixing multiple parameter entry issue --- build_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_form.json b/build_form.json index 5b338a7..51674c4 100644 --- a/build_form.json +++ b/build_form.json @@ -4,7 +4,7 @@ "type": "object", "properties": { "lookup": { - "type": "array", + "type": "string", "title": "IGSNs", "description": "Select one or more IGSNs", "minItems": 1, From 1b106807ca54640bce84a0e876a2bded71e14323 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 13:00:47 -0500 Subject: [PATCH 42/52] fixing multiple parameter entry issue --- build_form.js | 26 -------------------------- build_form.json | 31 ++++++++++++------------------- 2 files changed, 12 insertions(+), 45 deletions(-) diff --git a/build_form.js b/build_form.js index e72ac39..afc6acb 100644 --- a/build_form.js +++ b/build_form.js @@ -66,30 +66,4 @@ Handlebars.registerHelper('formatBuildParams', function (params) { return params .map(p => `${p.type}:${p.laserSpeed}:${p.laserPower}:${p.layerThickness}:${p.hatchSpacing}`) .join('_'); -}); - -Handlebars.registerHelper('isTypeUsed', function (selectedType, allParams) { - if (!allParams || !Array.isArray(allParams)) return false; - return allParams.some(p => p.type === selectedType); -}); - -// Custom validator for duplicate build parameter types -if (!window.JSONEditor.defaults.options.validators) { - window.JSONEditor.defaults.options.validators = []; -} - -window.JSONEditor.defaults.options.validators.push(function(schema, data, output) { - if (data && data.buildParameters && Array.isArray(data.buildParameters)) { - const types = data.buildParameters.map(p => p.type).filter(t => t); - const uniqueTypes = new Set(types); - - if (types.length !== uniqueTypes.size) { - output.push({ - path: 'buildParameters', - property: 'buildParameters', - message: 'Error: Duplicate build parameter types are not allowed. Each type (upskin, downskin, infill, contouring) can only be used once.', - schema: schema - }); - } - } }); \ No newline at end of file diff --git a/build_form.json b/build_form.json index 51674c4..3607071 100644 --- a/build_form.json +++ b/build_form.json @@ -61,7 +61,7 @@ "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", "type": "string", - "template": "{{formatBuildParams root.buildParameters}}", + "template": "{{formatBuildParams params}}", "readOnly": true, "propertyOrder": 2, "watch": { @@ -72,28 +72,21 @@ } }, "buildParameters": { - "title": "Build Process Parameters", - "description": "Laser process parameters for all regions of the build", - "propertyOrder": 3, - "type": "array", - "minItems": 1, - "maxItems": 4, - "uniqueItemProperties": ["type"], - "items": { - "type": "object", - "format": "grid", - "options": { - "grid_columns": 12 - }, - "properties": { + "title": "Build Process Parameters", + "description": "Laser process parameters for all regions of the build", + "propertyOrder": 3, + "type": "array", + "minItems": 1, + "maxItems": 4, + "uniqueItemProperties": ["type"], + "items": { + "type": "object", "format": "grid", "options": { "grid_columns": 12 }, + "properties": { "type": { "type": "string", "enum": ["upskin", "downskin", "infill", "contouring"], "description": "Type of build region", - "propertyOrder": 1, - "options": { - "enum_titles": ["Up Skin", "Down Skin", "Infill", "Contouring"] - } + "propertyOrder": 1 }, "laserSpeed": { "type": "number", From 51e3cf5b55203aff20e3a9eae7dc6df354a1b5ac Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 13:06:49 -0500 Subject: [PATCH 43/52] fixing multiple parameter entry issue --- build_form.json | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/build_form.json b/build_form.json index 3607071..e4de9c9 100644 --- a/build_form.json +++ b/build_form.json @@ -4,28 +4,24 @@ "type": "object", "properties": { "lookup": { - "type": "string", - "title": "IGSNs", - "description": "Select one or more IGSNs", - "minItems": 1, - "items": { - "type": "string", - "format": "autocomplete", - "options": { - "autocomplete": { - "search": "search_deposition", - "renderResult": "render_deposition", - "getResultValue": "get_deposition_value", - "autoSelect": true, - "debounceTime": 500 - }, - "grid_columns": 2 - } - }, - "options": { - "array_grid": true - }, - "propertyOrder": 0 + "type": "array", + "title": "IGSNs", + "description": "Select one or more IGSNs", + "minItems": 1, + "items": { + "type": "string", + "format": "autocomplete", + "options": { + "autocomplete": { + "search": "search_deposition", + "renderResult": "render_deposition", + "getResultValue": "get_deposition_value", + "autoSelect": true, + "debounceTime": 500 + } + } + }, + "propertyOrder": 0 }, "depositionId": { "type": "string", From a93be367cabc980d870d09a991a68f08ff6b4e40 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 13:09:43 -0500 Subject: [PATCH 44/52] fixing multiple parameter entry issue --- build_form.json | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/build_form.json b/build_form.json index e4de9c9..3f06a71 100644 --- a/build_form.json +++ b/build_form.json @@ -38,21 +38,6 @@ "hidden": true } }, - "buildId": { - "type": "string", - "title": "Build ID", - "description": "BLD-1: Unique identifier for the build", - "readOnly": true, - "format": "text", - "propertyOrder": 1, - "watch": { - "igsn": "lookup" - }, - "template": "{{split igsn ' - ' 2}}", - "options": { - "grid_columns": 12 - } - }, "printerBuildID": { "title": "Printer Build ID", "description": "Automatically generated identifier for the printer build", From b5858016122f45254d40c4ce18d21f5682067cff Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Wed, 14 Jan 2026 13:39:44 -0500 Subject: [PATCH 45/52] fixing multiple parameter entry issue --- build_form.json | 71 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 48 insertions(+), 23 deletions(-) diff --git a/build_form.json b/build_form.json index 3f06a71..331344b 100644 --- a/build_form.json +++ b/build_form.json @@ -38,30 +38,34 @@ "hidden": true } }, - "printerBuildID": { - "title": "Printer Build ID", - "description": "Automatically generated identifier for the printer build", - "type": "string", - "template": "{{formatBuildParams params}}", - "readOnly": true, - "propertyOrder": 2, - "watch": { - "params": "root.buildParameters" + "printerBuildID": { + "title": "Printer Build ID", + "description": "Automatically generated identifier for the printer build", + "type": "string", + "template": "{{formatBuildParams params}}", + "readOnly": true, + "propertyOrder": 2, + "watch": { + "params": "root.buildParameters" + }, + "options": { + "grid_columns": 12 + } }, - "options": { - "grid_columns": 12 - } - }, "buildParameters": { "title": "Build Process Parameters", - "description": "Laser process parameters for all regions of the build", + "description": "Laser process parameters for all regions of the build. Each type (upskin, downskin, infill, contouring) can appear only once.", "propertyOrder": 3, "type": "array", "minItems": 1, "maxItems": 4, "uniqueItemProperties": ["type"], "items": { - "type": "object", "format": "grid", "options": { "grid_columns": 12 }, + "type": "object", + "format": "grid", + "options": { + "grid_columns": 12 + }, "properties": { "type": { "type": "string", @@ -73,9 +77,11 @@ "type": "number", "minimum": 0, "maximum": 10000, - "description": " PRC-3-2-9", + "description": "PRC-3-2-9", "propertyOrder": 2, - "options": { "grid_row": 12 } + "options": { + "grid_row": 12 + } }, "laserPower": { "type": "number", @@ -83,7 +89,9 @@ "maximum": 370, "description": "PRC-3-2-3", "propertyOrder": 3, - "options": { "grid_row": 12 } + "options": { + "grid_row": 12 + } }, "layerThickness": { "type": "number", @@ -91,7 +99,9 @@ "maximum": 100, "description": "PRC-3-2-1", "propertyOrder": 4, - "options": { "grid_row": 12 } + "options": { + "grid_row": 12 + } }, "hatchSpacing": { "type": "number", @@ -99,12 +109,27 @@ "maximum": 300, "description": "PRC-3-2-6", "propertyOrder": 5, - "options": { "grid_row": 12 } + "options": { + "grid_row": 12 + } } }, - "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"] + "required": ["type", "laserSpeed", "laserPower", "layerThickness", "hatchSpacing"], + "additionalProperties": false } } }, - "required": ["lookup", "buildParameters"] -} + "required": ["lookup", "buildParameters"], + "allOf": [ + { + "not": { + "properties": { + "buildParameters": { + "type": "array", + "minItems": 5 + } + } + } + } + ] +} \ No newline at end of file From f755e09d9b46d0eeb5fcc7bd4641692fb2409492 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 07:30:42 -0500 Subject: [PATCH 46/52] fixing multiple parameter entry issue --- build_form.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/build_form.json b/build_form.json index 331344b..e4fd3b8 100644 --- a/build_form.json +++ b/build_form.json @@ -119,17 +119,5 @@ } } }, - "required": ["lookup", "buildParameters"], - "allOf": [ - { - "not": { - "properties": { - "buildParameters": { - "type": "array", - "minItems": 5 - } - } - } - } - ] + "required": ["lookup", "buildParameters"] } \ No newline at end of file From 363c6ed8ea6436f57b2c1a437e990f32b16770db Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 08:37:01 -0500 Subject: [PATCH 47/52] fixing multiple parameter entry issue --- build_form.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build_form.json b/build_form.json index e4fd3b8..980856f 100644 --- a/build_form.json +++ b/build_form.json @@ -60,6 +60,10 @@ "minItems": 1, "maxItems": 4, "uniqueItemProperties": ["type"], + "validate": { + "type": "array", + "custom": "function(value, schema, parent) { \n // Count occurrences of each type\n var typeCount = {};\n for (var i = 0; i < value.length; i++) {\n var type = value[i].type;\n typeCount[type] = (typeCount[type] || 0) + 1;\n }\n \n // Check for duplicates of any type\n var duplicateTypes = [];\n var validTypes = ['upskin', 'downskin', 'infill', 'contouring'];\n \n for (var type in typeCount) {\n if (typeCount[type] > 1) {\n duplicateTypes.push(type);\n }\n // Also check if type is valid\n if (validTypes.indexOf(type) === -1) {\n return { \n path: 'buildParameters', \n property: 'type', \n message: 'Invalid type: ' + type + '. Must be one of: ' + validTypes.join(', ') \n };\n }\n }\n \n if (duplicateTypes.length > 0) {\n return { \n path: 'buildParameters', \n property: 'uniqueItemProperties', \n message: 'Duplicate entries found for: ' + duplicateTypes.join(', ') + '. Each type can only appear once.' \n };\n }\n}" + }, "items": { "type": "object", "format": "grid", From fa8bc24eb73775f8c1a2ac46977c3996d5b9b5fd Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 09:40:02 -0500 Subject: [PATCH 48/52] fixing multiple parameter entry issue --- build_form.js | 36 +++++++++++++++++++++++++++++++++++- build_form.json | 4 ---- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/build_form.js b/build_form.js index afc6acb..7697b51 100644 --- a/build_form.js +++ b/build_form.js @@ -66,4 +66,38 @@ Handlebars.registerHelper('formatBuildParams', function (params) { return params .map(p => `${p.type}:${p.laserSpeed}:${p.laserPower}:${p.layerThickness}:${p.hatchSpacing}`) .join('_'); -}); \ No newline at end of file +}); + +JSONEditor.defaults.custom_validators.push(function (schema, value, path) { + // Only validate the buildParameters array + if (schema.title !== "Build Process Parameters") { + return []; + } + + if (!Array.isArray(value)) { + return []; + } + + const seen = new Set(); + const duplicates = new Set(); + + value.forEach(item => { + if (item && item.type) { + if (seen.has(item.type)) { + duplicates.add(item.type); + } + seen.add(item.type); + } + }); + + if (duplicates.size > 0) { + return [{ + path: path, + property: 'type', + message: `Duplicate build parameter type(s) not allowed: ${[...duplicates].join(', ')}. +Each type (upskin, downskin, infill, contouring) may only appear once.` + }]; + } + + return []; +}); diff --git a/build_form.json b/build_form.json index 980856f..e4fd3b8 100644 --- a/build_form.json +++ b/build_form.json @@ -60,10 +60,6 @@ "minItems": 1, "maxItems": 4, "uniqueItemProperties": ["type"], - "validate": { - "type": "array", - "custom": "function(value, schema, parent) { \n // Count occurrences of each type\n var typeCount = {};\n for (var i = 0; i < value.length; i++) {\n var type = value[i].type;\n typeCount[type] = (typeCount[type] || 0) + 1;\n }\n \n // Check for duplicates of any type\n var duplicateTypes = [];\n var validTypes = ['upskin', 'downskin', 'infill', 'contouring'];\n \n for (var type in typeCount) {\n if (typeCount[type] > 1) {\n duplicateTypes.push(type);\n }\n // Also check if type is valid\n if (validTypes.indexOf(type) === -1) {\n return { \n path: 'buildParameters', \n property: 'type', \n message: 'Invalid type: ' + type + '. Must be one of: ' + validTypes.join(', ') \n };\n }\n }\n \n if (duplicateTypes.length > 0) {\n return { \n path: 'buildParameters', \n property: 'uniqueItemProperties', \n message: 'Duplicate entries found for: ' + duplicateTypes.join(', ') + '. Each type can only appear once.' \n };\n }\n}" - }, "items": { "type": "object", "format": "grid", From 6c55874f6a599fd46460171dbfd0bc4a871f3ae1 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 09:45:54 -0500 Subject: [PATCH 49/52] fixing multiple parameter entry issue --- build_form.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/build_form.js b/build_form.js index 7697b51..c3a709a 100644 --- a/build_form.js +++ b/build_form.js @@ -101,3 +101,34 @@ Each type (upskin, downskin, infill, contouring) may only appear once.` return []; }); + + +JSONEditor.defaults.custom_validators.push(function (schema, value, path) { + // Only validate the IGSNs field + if (schema.title !== "IGSNs") { + return []; + } + + if (!Array.isArray(value)) { + return []; + } + + const seen = new Set(); + const duplicates = new Set(); + + value.forEach(v => { + if (seen.has(v)) { + duplicates.add(v); + } + seen.add(v); + }); + + if (duplicates.size > 0) { + return [{ + path: path, + message: `Duplicate IGSN(s) are not allowed: ${[...duplicates].join(', ')}` + }]; + } + + return []; +}); \ No newline at end of file From 556e6c08d03d16edc118dffdc1c671e66e183fc3 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 09:55:08 -0500 Subject: [PATCH 50/52] fixing multiple parameter entry issue --- build_form.js | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/build_form.js b/build_form.js index c3a709a..c98b896 100644 --- a/build_form.js +++ b/build_form.js @@ -131,4 +131,41 @@ JSONEditor.defaults.custom_validators.push(function (schema, value, path) { } return []; -}); \ No newline at end of file +}); + +JSONEditor.defaults.custom_validators.push(function (schema, value, path) { + // Only validate the IGSNs field + if (schema.title !== "IGSNs") { + return []; + } + + if (!Array.isArray(value) || value.length === 0) { + return []; + } + + // Extract IGSN string (before " - " if present) + const extractIGSN = (v) => { + if (typeof v !== 'string') return ''; + return v.split(' - ')[0].trim(); + }; + + const getBuildPrefix = (igsn) => igsn.substring(0, 11); + + const prefixes = new Set(); + + value.forEach(v => { + const igsn = extractIGSN(v); + if (igsn.length >= 11) { + prefixes.add(getBuildPrefix(igsn)); + } + }); + + if (prefixes.size > 1) { + return [{ + path: path, + message: "IGSNs should be from the same build (first 11 characters must match)" + }]; + } + + return []; +}); From ced8f14ae9327af3461a25cd7fdee542eae3a54c Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 10:10:05 -0500 Subject: [PATCH 51/52] fixing multiple parameter entry issue --- build_form.js | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/build_form.js b/build_form.js index c98b896..df659cc 100644 --- a/build_form.js +++ b/build_form.js @@ -132,40 +132,3 @@ JSONEditor.defaults.custom_validators.push(function (schema, value, path) { return []; }); - -JSONEditor.defaults.custom_validators.push(function (schema, value, path) { - // Only validate the IGSNs field - if (schema.title !== "IGSNs") { - return []; - } - - if (!Array.isArray(value) || value.length === 0) { - return []; - } - - // Extract IGSN string (before " - " if present) - const extractIGSN = (v) => { - if (typeof v !== 'string') return ''; - return v.split(' - ')[0].trim(); - }; - - const getBuildPrefix = (igsn) => igsn.substring(0, 11); - - const prefixes = new Set(); - - value.forEach(v => { - const igsn = extractIGSN(v); - if (igsn.length >= 11) { - prefixes.add(getBuildPrefix(igsn)); - } - }); - - if (prefixes.size > 1) { - return [{ - path: path, - message: "IGSNs should be from the same build (first 11 characters must match)" - }]; - } - - return []; -}); From 049af51e480ab1576ec7d340aa7621c10fef8133 Mon Sep 17 00:00:00 2001 From: APonugoti1 Date: Thu, 15 Jan 2026 14:34:30 -0500 Subject: [PATCH 52/52] fixing multiple parameter entry issue --- build_form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_form.js b/build_form.js index df659cc..70fefe8 100644 --- a/build_form.js +++ b/build_form.js @@ -28,9 +28,9 @@ window.JSONEditor.defaults.callbacks.autocomplete = { const localId = result.metadata.alternateIdentifiers.find( (id) => id.alternateIdentifierType.toLowerCase() === 'local' ); - return `${result.igsn} - ${result._id} - ${localId.alternateIdentifier}`; + return `${result.igsn}`; } catch (e) { - return `${result.igsn} - ${result._id} - no localId`; + return `${result.igsn}`; } } };