openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 1a8bd365aa28b39fdd13659527544d3b0ef19897
parent de2138b230abc3dabeed9faa432a695b5c424ac7
Author: Jan Dankert <devnull@localhost>
Date:   Wed,  5 Dec 2018 01:30:26 +0100

QR-Code nicht inline anzeigen, sondern als Dialog öffnen.

Diffstat:
modules/cms-ui/themes/default/style/openrat-ui.less | 16++++++++++++++++
modules/language/language.yml | 4++++
modules/template-engine/components/html/qrcode/Qrcode.class.php | 3++-
modules/template-engine/components/html/qrcode/qrcode.js | 25++++++++++++++++++-------
4 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/modules/cms-ui/themes/default/style/openrat-ui.less b/modules/cms-ui/themes/default/style/openrat-ui.less @@ -103,6 +103,7 @@ &.image-icon--menu-fullscreen:after { content: "fullscreen"; } &.image-icon--menu-menu:after { content: "menu"; } + &.image-icon--menu-qrcode:after { content: "phone_android"; } &.image-icon--node-open:after { content: "expand_more"; } &.image-icon--node-closed:after { content: "chevron_right"; } @@ -854,4 +855,19 @@ img.image-icon { padding:1em; .border-radius(0.5em); } +} + + + +.qrcode-wrapper { + width:100%; + border: 0; + font-size: 2em; + .border-radius(1em); + padding:2em; + text-align: center; + + > div { + display: inline-block; + } } \ No newline at end of file diff --git a/modules/language/language.yml b/modules/language/language.yml @@ -6122,3 +6122,6 @@ CMS: SEARCH_FILTER: de: Filter en: Filter +QRCODE_SHOW: + de: QR-Code anzeigen + en: Show QR-Code+ \ No newline at end of file diff --git a/modules/template-engine/components/html/qrcode/Qrcode.class.php b/modules/template-engine/components/html/qrcode/Qrcode.class.php @@ -12,8 +12,9 @@ class QrcodeComponent extends Component protected function begin() { $value = $this->htmlvalue($this->value); + $title = lang('QRCODE_SHOW'); echo <<<HTML -<div class="qrcode" data-qrcode="{$value}" title="{$value}"></div> +<i class="image-icon image-icon--menu-qrcode qrcode" data-qrcode="{$value}" title="{$title}"></i> HTML; } diff --git a/modules/template-engine/components/html/qrcode/qrcode.js b/modules/template-engine/components/html/qrcode/qrcode.js @@ -2,13 +2,24 @@ $(document).on('orViewLoaded',function(event, data) { // QR-Code anzeigen. - $(event.target).find('[data-qrcode]').each( function() { - - var qrcodetext = $(this).attr('data-qrcode'); - $(this).removeAttr('data-qrcode'); - - $(this).qrcode( { render : 'div', + $(event.target).find('.qrcode').click( function() { + + let wrapper = $('<div class="qrcode-wrapper"></div>'); + + $('div#dialog > .view').append(wrapper); + + $('div#dialog').removeClass('is-closed').addClass('is-open'); + + var qrcodetext = $(this).attr('data-qrcode'); + + $(wrapper).qrcode( { render : 'div', text : qrcodetext, fill : 'currentColor' } ); - } ); + + + wrapper.attr('title',qrcodetext); + //$(wrapper).append( $('<p>'+qrcodetext+'</p>') ); + $('div#dialog > .view').fadeIn(); + } ); + } ); \ No newline at end of file