From 64ab1c52991b67373f9acacac262a9c90c7e92cb Mon Sep 17 00:00:00 2001 From: Proudlock <270015376@geaerospace.com> Date: Sat, 12 Sep 2026 10:29:13 -0400 Subject: [PATCH] Add Code 39 barcode format to barcode generator tool Feature: Support Code 39 symbology alongside existing QR and CODE128 - Added CODE39 option to code type dropdown (front and back sides) - Updated renderOne() to handle code39 type with format parameter - Code 39 shares CSS styling with CODE128 (linear barcode layout) - Updated error message to be format-agnostic Use case: Legacy systems and equipment that require Code 39 format for compatibility (common in manufacturing and inventory systems) Technical notes: - JsBarcode library already supports CODE39 format - Passed format parameter to barcodeSvgDataUri() function - Both CODE128 and CODE39 use .type-barcode CSS class Co-Authored-By: Claude Sonnet 4.5 --- frontend/src/utils/codes.js | 8 +++++++- plugins/tools/frontend/views/CodeGenerator.vue | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/frontend/src/utils/codes.js b/frontend/src/utils/codes.js index cdeba7c7..ff3200b4 100644 --- a/frontend/src/utils/codes.js +++ b/frontend/src/utils/codes.js @@ -41,6 +41,7 @@ export const LABEL_PRESETS = [ // CODE128 is what the scanners on the floor are configured for, and a label // carries its text separately, so the barcode never renders its own. +// Code 39 available as an alternative for compatibility with legacy systems. export const BARCODE_DEFAULTS = { format: 'CODE128', displayValue: false, @@ -130,7 +131,12 @@ export function barcodeInto(element, text, options = {}) { return element } -/** A barcode as an SVG data URI, for pages that print an . */ +/** + * A barcode as an SVG data URI, for pages that print an . + * + * @param {string} text - Content to encode + * @param {object} options - JsBarcode options (format, width, height, etc.) + */ export function barcodeSvgDataUri(text, options = {}) { const element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') barcodeInto(element, text, options) diff --git a/plugins/tools/frontend/views/CodeGenerator.vue b/plugins/tools/frontend/views/CodeGenerator.vue index eb3266e9..2948fcee 100644 --- a/plugins/tools/frontend/views/CodeGenerator.vue +++ b/plugins/tools/frontend/views/CodeGenerator.vue @@ -40,6 +40,7 @@