Merge used libraries for Barcode/QR-Code generation

This commit is contained in:
Bernd Bestel 2020-12-20 19:53:28 +01:00
parent 1d16021404
commit dadf93a94c
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
7 changed files with 28 additions and 24 deletions

View File

@ -28,7 +28,6 @@
"jquery-serializejson": "^2.9.0",
"moment": "^2.27.0",
"nosleep.js": "^0.11.0",
"qrcode-generator": "^1.4.4",
"sprintf-js": "^1.1.2",
"startbootstrap-sb-admin": "4.0.0",
"summernote": "^0.8.18",

View File

@ -185,20 +185,18 @@ function RandomString()
return Math.random().toString(36).substring(2, 100) + Math.random().toString(36).substring(2, 100);
}
function getQRCodeForContent(url)
function QrCodeImgHtml(text)
{
var qr = qrcode(0, 'L');
qr.addData(url);
qr.make();
return qr.createImgTag(10, 5);
}
var dummyCanvas = document.createElement("canvas");
var img = document.createElement("img");
function getQRCodeForAPIKey(apikey_type, apikey_key)
{
var content = U('/api') + '|' + apikey_key;
if (apikey_type === 'special-purpose-calendar-ical')
{
content = U('/api/calendar/ical?secret=' + apikey_key);
}
return getQRCodeForContent(content);
bwipjs.toCanvas(dummyCanvas, {
bcid: "qrcode",
text: text,
scale: 4,
includetext: false
});
img.src = dummyCanvas.toDataURL("image/png");
return img.outerHTML;
}

View File

@ -33,7 +33,7 @@ $("#ical-button").on("click", function(e)
bootbox.alert({
title: __t('Share/Integrate calendar (iCal)'),
message: __t('Use the following (public) URL to share or integrate the calendar in iCal format') + '<input type="text" class="form-control form-control-sm mt-2 easy-link-copy-textbox" value="' + result.url + '"><p class="text-center mt-4">'
+ getQRCodeForContent(result.url) + "</p>",
+ QrCodeImgHtml(result.url) + "</p>",
closeButton: false
});
},

View File

@ -67,9 +67,21 @@ $(document).on('click', '.apikey-delete-button', function(e)
}
});
});
function QrCodeForApiKey(apiKeyType, apiKey)
{
var content = U('/api') + '|' + apiKey;
if (apiKeyType === 'special-purpose-calendar-ical')
{
content = U('/api/calendar/ical?secret=' + apiKey);
}
return QrCodeImgHtml(content);
}
$('.apikey-show-qr-button').on('click', function()
{
var qrcodeHtml = getQRCodeForAPIKey($(this).data('apikey-type'), $(this).data('apikey-key'));
var qrcodeHtml = QrCodeForApiKey($(this).data('apikey-type'), $(this).data('apikey-key'));
bootbox.alert({
title: __t('API key'),
message: "<p class='text-center'>" + qrcodeHtml + "</p>",

View File

@ -7,7 +7,7 @@
@push('pageScripts')
<script src="{{ $U('/node_modules/fullcalendar/dist/fullcalendar.min.js?v=', true) }}{{ $version }}"></script>
@if(!empty($__t('fullcalendar_locale') && $__t('fullcalendar_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/fullcalendar/dist/locale/{{ $__t('fullcalendar_locale') }}.js?v={{ $version }}"></script>@endif
<script src="{{ $U('/node_modules/qrcode-generator/qrcode.js?v=', true) }}{{ $version }}"></script>
<script src="{{ $U('/node_modules/bwip-js/dist/bwip-js-min.js?v=', true) }}{{ $version }}"></script>
@endpush
@push('pageStyles')

View File

@ -5,7 +5,7 @@
@section('viewJsName', 'manageapikeys')
@push('pageScripts')
<script src="{{ $U('/node_modules/qrcode-generator/qrcode.js?v=', true) }}{{ $version }}"></script>
<script src="{{ $U('/node_modules/bwip-js/dist/bwip-js-min.js?v=', true) }}{{ $version }}"></script>
@endpush
@push('pageStyles')

View File

@ -2362,11 +2362,6 @@ pupa@^2.0.1:
dependencies:
escape-goat "^2.0.0"
qrcode-generator@^1.4.4:
version "1.4.4"
resolved "https://registry.yarnpkg.com/qrcode-generator/-/qrcode-generator-1.4.4.tgz#63f771224854759329a99048806a53ed278740e7"
integrity sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"