Skip to content

Commit 761ecaa

Browse files
committed
Maintenance.
1 parent a186351 commit 761ecaa

File tree

7 files changed

+135
-129
lines changed

7 files changed

+135
-129
lines changed

dist/jquery-qrcode.js

Lines changed: 49 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
1-
/*! jquery-qrcode v0.13.4 - https://larsjung.de/jquery-qrcode/ */
1+
/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */
22
(function (vendor_qrcode) {
33
'use strict';
44

5-
var $ = jQuery; // eslint-disable-line no-undef
5+
var jq = window.jQuery;
6+
7+
// Check if canvas is available in the browser (as Modernizr does)
8+
var hasCanvas = (function () {
9+
var elem = document.createElement('canvas');
10+
return !!(elem.getContext && elem.getContext('2d'));
11+
}());
612

713
// Wrapper for the original QR code generator.
8-
function QRCode(text, level, version, quiet) {
9-
var qr = vendor_qrcode(version, level);
10-
qr.addData(text);
11-
qr.make();
14+
function createQRCode(text, level, version, quiet) {
15+
var qr = {};
16+
17+
var vqr = vendor_qrcode(version, level);
18+
vqr.addData(text);
19+
vqr.make();
1220

1321
quiet = quiet || 0;
1422

15-
var qrModuleCount = qr.getModuleCount();
16-
var quietModuleCount = qr.getModuleCount() + 2 * quiet;
23+
var qrModuleCount = vqr.getModuleCount();
24+
var quietModuleCount = vqr.getModuleCount() + 2 * quiet;
1725

1826
function isDark(row, col) {
1927
row -= quiet;
@@ -22,55 +30,50 @@
2230
if (row < 0 || row >= qrModuleCount || col < 0 || col >= qrModuleCount) {
2331
return false;
2432
}
25-
26-
return qr.isDark(row, col);
33+
return vqr.isDark(row, col);
2734
}
2835

29-
var addBlank = function (l, t, r, b) {
30-
var prevIsDark = this.isDark; // eslint-disable-line no-invalid-this
36+
function addBlank(l, t, r, b) {
37+
var prevIsDark = qr.isDark;
3138
var moduleSize = 1 / quietModuleCount;
3239

33-
this.isDark = function (row, col) { // eslint-disable-line no-invalid-this
40+
qr.isDark = function (row, col) {
3441
var ml = col * moduleSize;
3542
var mt = row * moduleSize;
3643
var mr = ml + moduleSize;
3744
var mb = mt + moduleSize;
3845

3946
return prevIsDark(row, col) && (l > mr || ml > r || t > mb || mt > b);
4047
};
41-
};
48+
}
4249

43-
this.text = text;
44-
this.level = level;
45-
this.version = version;
46-
this.moduleCount = quietModuleCount;
47-
this.isDark = isDark;
48-
this.addBlank = addBlank;
49-
}
50+
qr.text = text;
51+
qr.level = level;
52+
qr.version = version;
53+
qr.moduleCount = quietModuleCount;
54+
qr.isDark = isDark;
55+
qr.addBlank = addBlank;
5056

51-
// Check if canvas is available in the browser (as Modernizr does)
52-
var hasCanvas = (function () {
53-
var elem = document.createElement('canvas');
54-
return Boolean(elem.getContext && elem.getContext('2d'));
55-
}());
57+
return qr;
58+
}
5659

5760
// Returns a minimal QR code for the given text starting with version `minVersion`.
5861
// Returns `undefined` if `text` is too long to be encoded in `maxVersion`.
59-
function createQRCode(text, level, minVersion, maxVersion, quiet) {
62+
function createMinQRCode(text, level, minVersion, maxVersion, quiet) {
6063
minVersion = Math.max(1, minVersion || 1);
6164
maxVersion = Math.min(40, maxVersion || 40);
6265
for (var version = minVersion; version <= maxVersion; version += 1) {
6366
try {
64-
return new QRCode(text, level, version, quiet);
67+
return createQRCode(text, level, version, quiet);
6568
} catch (err) {/* empty */}
6669
}
67-
return null;
70+
return undefined;
6871
}
6972

7073
function drawBackgroundLabel(qr, context, settings) {
7174
var size = settings.size;
72-
var font = 'bold ' + (settings.mSize * size) + 'px ' + settings.fontname;
73-
var ctx = $('<canvas/>')[0].getContext('2d');
75+
var font = 'bold ' + settings.mSize * size + 'px ' + settings.fontname;
76+
var ctx = jq('<canvas/>')[0].getContext('2d');
7477

7578
ctx.font = font;
7679

@@ -120,7 +123,7 @@
120123
}
121124

122125
function drawBackground(qr, context, settings) {
123-
if ($(settings.background).is('img')) {
126+
if (jq(settings.background).is('img')) {
124127
context.drawImage(settings.background, 0, 0, settings.size, settings.size);
125128
} else if (settings.background) {
126129
context.fillStyle = settings.background;
@@ -254,7 +257,7 @@
254257
fn(qr, context, settings, l, t, w, row, col);
255258
}
256259
}
257-
if ($(settings.fill).is('img')) {
260+
if (jq(settings.fill).is('img')) {
258261
context.strokeStyle = 'rgba(0,0,0,0.5)';
259262
context.lineWidth = 2;
260263
context.stroke();
@@ -274,12 +277,12 @@
274277

275278
// Draws QR code to the given `canvas` and returns it.
276279
function drawOnCanvas(canvas, settings) {
277-
var qr = createQRCode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
280+
var qr = createMinQRCode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
278281
if (!qr) {
279282
return null;
280283
}
281284

282-
var $canvas = $(canvas).data('qrcode', qr);
285+
var $canvas = jq(canvas).data('qrcode', qr);
283286
var context = $canvas[0].getContext('2d');
284287

285288
drawBackground(qr, context, settings);
@@ -290,18 +293,18 @@
290293

291294
// Returns a `canvas` element representing the QR code for the given settings.
292295
function createCanvas(settings) {
293-
var $canvas = $('<canvas/>').attr('width', settings.size).attr('height', settings.size);
296+
var $canvas = jq('<canvas/>').attr('width', settings.size).attr('height', settings.size);
294297
return drawOnCanvas($canvas, settings);
295298
}
296299

297300
// Returns an `image` element representing the QR code for the given settings.
298301
function createImage(settings) {
299-
return $('<img/>').attr('src', createCanvas(settings)[0].toDataURL('image/png'));
302+
return jq('<img/>').attr('src', createCanvas(settings)[0].toDataURL('image/png'));
300303
}
301304

302305
// Returns a `div` element representing the QR code for the given settings.
303306
function createDiv(settings) {
304-
var qr = createQRCode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
307+
var qr = createMinQRCode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet);
305308
if (!qr) {
306309
return null;
307310
}
@@ -336,7 +339,7 @@
336339
'background-color': settings.fill
337340
};
338341

339-
var $div = $('<div/>').data('qrcode', qr).css(containerCSS);
342+
var $div = jq('<div/>').data('qrcode', qr).css(containerCSS);
340343

341344
if (settings_bgColor) {
342345
$div.css('background-color', settings_bgColor);
@@ -345,7 +348,7 @@
345348
for (row = 0; row < moduleCount; row += 1) {
346349
for (col = 0; col < moduleCount; col += 1) {
347350
if (qr.isDark(row, col)) {
348-
$('<div/>')
351+
jq('<div/>')
349352
.css(darkCSS)
350353
.css({
351354
left: offset + col * moduleSize,
@@ -428,14 +431,14 @@
428431

429432
// Register the plugin
430433
// -------------------
431-
$.fn.qrcode = function (options) {
432-
var settings = $.extend({}, defaults, options);
434+
jq.fn.qrcode = function (options) {
435+
var settings = jq.extend({}, defaults, options);
433436

434-
return this.each(function () {
435-
if (this.nodeName.toLowerCase() === 'canvas') { // eslint-disable-line no-invalid-this
436-
drawOnCanvas(this, settings); // eslint-disable-line no-invalid-this
437+
return this.each(function (idx, el) {
438+
if (el.nodeName.toLowerCase() === 'canvas') {
439+
drawOnCanvas(el, settings);
437440
} else {
438-
$(this).append(createHTML(settings)); // eslint-disable-line no-invalid-this
441+
jq(el).append(createHTML(settings));
439442
}
440443
});
441444
};

dist/jquery-qrcode.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "jquery-qrcode",
33
"displayName": "jQuery.qrcode",
4-
"version": "0.13.4",
4+
"version": "0.14.0",
55
"description": "Generate QR codes dynamically.",
66
"homepage": "https://larsjung.de/jquery-qrcode/",
77
"bugs": "https://github.com/lrsjng/jquery-qrcode/issues",

src/.eslintrc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
rules:
66
func-names: 0
7-
func-style: 0
87
no-var: 0
98
prefer-arrow-callback: 0
109
strict: 0

src/demo/dummy.png

-9.86 KB
Loading

src/demo/scripts.js

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(function () {
22
'use strict';
33

4-
var $ = jQuery; // eslint-disable-line no-undef
4+
var jq = window.jQuery;
55
var guiValuePairs = [
66
['size', 'px'],
77
['minversion', ''],
@@ -13,41 +13,41 @@
1313
];
1414

1515
function updateGui() {
16-
$.each(guiValuePairs, function (idx, pair) {
17-
var $label = $('label[for="' + pair[0] + '"]');
18-
$label.text($label.text().replace(/:.*/, ': ' + $('#' + pair[0]).val() + pair[1]));
16+
jq.each(guiValuePairs, function (idx, pair) {
17+
var $label = jq('label[for="' + pair[0] + '"]');
18+
$label.text($label.text().replace(/:.*/, ': ' + jq('#' + pair[0]).val() + pair[1]));
1919
});
2020
}
2121

2222
function updateQrCode() {
2323
var options = {
24-
render: $('#render').val(),
25-
ecLevel: $('#eclevel').val(),
26-
minVersion: parseInt($('#minversion').val(), 10),
24+
render: jq('#render').val(),
25+
ecLevel: jq('#eclevel').val(),
26+
minVersion: parseInt(jq('#minversion').val(), 10),
2727

28-
fill: $('#fill').val(),
29-
background: $('#background').val(),
30-
// fill: $('#img-buffer')[0],
28+
fill: jq('#fill').val(),
29+
background: jq('#background').val(),
30+
// fill: jq('#img-buffer')[0],
3131

32-
text: $('#text').val(),
33-
size: parseInt($('#size').val(), 10),
34-
radius: parseInt($('#radius').val(), 10) * 0.01,
35-
quiet: parseInt($('#quiet').val(), 10),
32+
text: jq('#text').val(),
33+
size: parseInt(jq('#size').val(), 10),
34+
radius: parseInt(jq('#radius').val(), 10) * 0.01,
35+
quiet: parseInt(jq('#quiet').val(), 10),
3636

37-
mode: parseInt($('#mode').val(), 10),
37+
mode: parseInt(jq('#mode').val(), 10),
3838

39-
mSize: parseInt($('#msize').val(), 10) * 0.01,
40-
mPosX: parseInt($('#mposx').val(), 10) * 0.01,
41-
mPosY: parseInt($('#mposy').val(), 10) * 0.01,
39+
mSize: parseInt(jq('#msize').val(), 10) * 0.01,
40+
mPosX: parseInt(jq('#mposx').val(), 10) * 0.01,
41+
mPosY: parseInt(jq('#mposy').val(), 10) * 0.01,
4242

43-
label: $('#label').val(),
44-
fontname: $('#font').val(),
45-
fontcolor: $('#fontcolor').val(),
43+
label: jq('#label').val(),
44+
fontname: jq('#font').val(),
45+
fontcolor: jq('#fontcolor').val(),
4646

47-
image: $('#img-buffer')[0]
47+
image: jq('#img-buffer')[0]
4848
};
4949

50-
$('#container').empty().qrcode(options);
50+
jq('#container').empty().qrcode(options);
5151
}
5252

5353
function update() {
@@ -56,28 +56,29 @@
5656
}
5757

5858
function onImageInput() {
59-
var input = $('#image')[0];
59+
var input = jq('#image')[0];
6060
if (input.files && input.files[0]) {
6161
var reader = new FileReader();
6262
reader.onload = function (event) {
63-
$('#img-buffer').attr('src', event.target.result);
64-
$('#mode').val('4');
63+
jq('#img-buffer').attr('src', event.target.result);
64+
jq('#mode').val('4');
6565
setTimeout(update, 250);
6666
};
6767
reader.readAsDataURL(input.files[0]);
6868
}
6969
}
7070

7171
function download() {
72-
$('#download').attr('href', $('#container canvas')[0].toDataURL('image/png'));
72+
jq('#download').attr('href', jq('#container canvas')[0].toDataURL('image/png'));
7373
}
7474

75-
76-
$(function () {
77-
$('#download').on('click', download);
78-
$('#image').on('change', onImageInput);
79-
$('input, textarea, select').on('input change', update);
80-
$(window).load(update);
75+
function init() {
76+
jq('#download').on('click', download);
77+
jq('#image').on('change', onImageInput);
78+
jq('input, textarea, select').on('input change', update);
79+
jq(window).load(update);
8180
update();
82-
});
81+
}
82+
83+
jq(init);
8384
}());

0 commit comments

Comments
 (0)