mirror of
https://github.com/tmaier/asn-qr-code-label-generator.git
synced 2026-03-14 08:33:37 +00:00
Add URL parameter support for repeatable label generation
Parameters (startNumber, prefix, leadingZeros, borderToggle) are now: - Read from URL query string on page load - Updated in URL when clicking "Regenerate Labels" This allows bookmarking and sharing specific label configurations.
This commit is contained in:
parent
f7fe52bd61
commit
71f735ca68
1 changed files with 30 additions and 0 deletions
30
index.html
30
index.html
|
|
@ -260,6 +260,34 @@
|
||||||
borderToggle: false,
|
borderToggle: false,
|
||||||
labels: [],
|
labels: [],
|
||||||
|
|
||||||
|
readUrlParams() {
|
||||||
|
const params = new URLSearchParams(window.location.search);
|
||||||
|
if (params.has("startNumber")) {
|
||||||
|
const val = parseInt(params.get("startNumber"), 10);
|
||||||
|
if (!isNaN(val) && val >= 1) this.startNumber = val;
|
||||||
|
}
|
||||||
|
if (params.has("prefix")) {
|
||||||
|
this.prefix = params.get("prefix");
|
||||||
|
}
|
||||||
|
if (params.has("leadingZeros")) {
|
||||||
|
const val = parseInt(params.get("leadingZeros"), 10);
|
||||||
|
if (!isNaN(val) && val >= 0) this.leadingZeros = val;
|
||||||
|
}
|
||||||
|
if (params.has("borderToggle")) {
|
||||||
|
this.borderToggle = params.get("borderToggle") === "true";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
updateUrl() {
|
||||||
|
const params = new URLSearchParams();
|
||||||
|
params.set("startNumber", this.startNumber);
|
||||||
|
params.set("prefix", this.prefix);
|
||||||
|
params.set("leadingZeros", this.leadingZeros);
|
||||||
|
params.set("borderToggle", this.borderToggle);
|
||||||
|
const newUrl = `${window.location.pathname}?${params.toString()}`;
|
||||||
|
window.history.replaceState({}, "", newUrl);
|
||||||
|
},
|
||||||
|
|
||||||
generateLabels() {
|
generateLabels() {
|
||||||
this.labels = [];
|
this.labels = [];
|
||||||
let totalLabels = 7 * 27; // 7 columns x 27 rows
|
let totalLabels = 7 * 27; // 7 columns x 27 rows
|
||||||
|
|
@ -278,11 +306,13 @@
|
||||||
|
|
||||||
this.labels.push({ qrCodeUrl, text });
|
this.labels.push({ qrCodeUrl, text });
|
||||||
}
|
}
|
||||||
|
this.updateUrl();
|
||||||
},
|
},
|
||||||
printLabels() {
|
printLabels() {
|
||||||
window.print();
|
window.print();
|
||||||
},
|
},
|
||||||
init() {
|
init() {
|
||||||
|
this.readUrlParams();
|
||||||
this.generateLabels();
|
this.generateLabels();
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue