Skip to content

🎥 Adds a new Label Editor - #18938

Open
Godmartinz wants to merge 130 commits into
grokability:developfrom
Godmartinz:Label_customization
Open

🎥 Adds a new Label Editor#18938
Godmartinz wants to merge 130 commits into
grokability:developfrom
Godmartinz:Label_customization

Conversation

@Godmartinz

@Godmartinz Godmartinz commented Apr 23, 2026

Copy link
Copy Markdown
Member

Custom Label Editor

This PR introduces a comprehensive custom label management workflow for the new label engine. Users can now create, clone, import, edit, preview, and manage both sheet and tape labels through a unified editor

Label Management

CleanShot 2026-08-13 at 10 40 22@2x

1. Create New Label

Creates a new custom label from scratch. Choose either a sheet or tape label, configure its dimensions and layout, and then customize its content, supported features, and appearance in the label editor.
CleanShot 2026-08-13 at 10 45 47

2. Import Label

Imports a previously exported custom label configuration from a JSON file or by pasting the configuration text. The imported label can then be reviewed, edited, and saved as a new custom label. This allows for crowdsourcing labels.
CleanShot 2026-08-13 at 10 48 22

3. Clone Label

Creates a copy of an existing label template or custom label. The cloned label inherits the original's configuration, allowing you to make modifications without affecting the source label.
CleanShot 2026-08-13 at 10 58 07

Label Editor

CleanShot 2026-08-13 at 11 01 37@2x

4. Supports

Controls which elements are available on the label. Enabling or disabling a feature automatically shows or hides its corresponding configuration options in the Content section.
CleanShot 2026-08-13 at 11 37 27

5. Content

Configure the appearance and placement of each supported element, including barcodes, text, logos, and field formatting. Use these settings to organize the label's content to match your desired layout and design.
CleanShot 2026-08-13 at 11 42 17

6. Layout

Define the physical characteristics of the label medium, including page, grid, and label dimensions. These settings ensure the label is correctly sized and positioned for your sheet or tape format.
CleanShot 2026-08-13 at 12 16 41@2x

# Conflicts:
#	app/View/Label.php
#	resources/views/settings/labels.blade.php
#	routes/web.php
@codacy-production

codacy-production Bot commented Apr 23, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 20 medium · 5 minor

Alerts:
⚠ 25 issues (≤ 0 issues of at least minor severity)

Results:
25 new issues

Category Results
UnusedCode 4 medium
BestPractice 2 minor
CodeStyle 3 minor
Complexity 16 medium

View in Codacy

🟢 Metrics 394 complexity

Metric Results
Complexity 394

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@marcusmoore marcusmoore left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still barely starting to dive into this but a blocker is that I can't clone Hema or Zebra labels.

Still a lot more for me to look at but I just wanted to call that out first.

@Godmartinz
Godmartinz marked this pull request as draft August 19, 2026 23:30
@snipe

snipe commented Aug 28, 2026

Copy link
Copy Markdown
Member

Also, sorry, my phpstan cleanup just caused a bunch of conflicts. Should be pretty easy to resolve tho. (I pulled out the stub methods and changed the Label class preparePDF() from abstract to public so we only need the overrides on labels that actually use them.

# Conflicts:
#	app/Models/Labels/DefaultLabel.php
#	app/Models/Labels/Sheets/Avery/L4736_A.php
#	app/Models/Labels/Sheets/Avery/L6009_A.php
#	app/Models/Labels/Sheets/Avery/L7162_A.php
#	app/Models/Labels/Sheets/Avery/L7162_B.php
#	app/Models/Labels/Sheets/Avery/L7163_A.php
#	app/Models/Labels/Sheets/Avery/_3490_A.php
#	app/Models/Labels/Sheets/Avery/_5267_A.php
#	app/Models/Labels/Sheets/Avery/_5520_A.php
#	app/Models/Labels/Sheets/Avery/_5520_B.php
#	app/Models/Labels/Sheets/Hema/_14130046.php
#	app/Models/Labels/Sheets/Hema/_38310012.php
#	app/Models/Labels/Tapes/Brother/TZe_12mm_A.php
#	app/Models/Labels/Tapes/Brother/TZe_18mm_A.php
#	app/Models/Labels/Tapes/Brother/TZe_241.php
#	app/Models/Labels/Tapes/Brother/TZe_24mm_A.php
#	app/Models/Labels/Tapes/Brother/TZe_24mm_B.php
#	app/Models/Labels/Tapes/Brother/TZe_24mm_C.php
#	app/Models/Labels/Tapes/Brother/TZe_24mm_D.php
#	app/Models/Labels/Tapes/Brother/TZe_24mm_E.php
#	app/Models/Labels/Tapes/Brother/TZe_62mm_Landscape_A.php
#	app/Models/Labels/Tapes/Dymo/LabelWriter_11354.php
#	app/Models/Labels/Tapes/Dymo/LabelWriter_1933081.php
#	app/Models/Labels/Tapes/Dymo/LabelWriter_2112283.php
#	app/Models/Labels/Tapes/Dymo/LabelWriter_2112284.php
#	app/Models/Labels/Tapes/Dymo/LabelWriter_30252.php
#	app/Models/Labels/Tapes/Generic/Continuous_53mm_A.php
#	app/Models/Labels/Tapes/Generic/Continuous_Landscape_0_59in_A.php
#	app/Models/Labels/Tapes/Generic/Tape_53mm_A.php
@Godmartinz
Godmartinz marked this pull request as ready for review September 1, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants