Compare commits
30 Commits
feature/lo
...
69c47e3cf0
| Author | SHA1 | Date | |
|---|---|---|---|
| 69c47e3cf0 | |||
| 564a1f96e0 | |||
|
|
dd82088551 | ||
|
|
50f7a4c1ff | ||
|
|
0798e94040 | ||
|
|
33ec55e6f1 | ||
|
|
deda3600c2 | ||
|
|
588347e71d | ||
|
|
6f4c30fc7a | ||
| 0ad2da71b2 | |||
|
|
79dc248825 | ||
|
|
180b7ee04b | ||
|
|
ef31ee2cba | ||
|
|
f62b83cb1a | ||
| 0d3289a900 | |||
|
|
5f60054c1f | ||
|
|
1764bbaa24 | ||
|
|
8e56887b7a | ||
|
|
2001ed947c | ||
|
|
67e4e01708 | ||
|
|
862d65c894 | ||
|
|
df5a05dfc5 | ||
| f9fa9974af | |||
|
|
8575f417da | ||
|
|
8f8cfa4283 | ||
|
|
79cfaf0a95 | ||
|
|
43f2422b88 | ||
|
|
bb501daeb1 | ||
|
|
bbee4c0057 | ||
|
|
663456cbcd |
160
README.md
160
README.md
@@ -120,88 +120,88 @@ git submodule add https://git.seemsleg.it/pub/cssjs-func-lib cssjs
|
|||||||
<script src="/cssjs/ckeditor.js"></script>
|
<script src="/cssjs/ckeditor.js"></script>
|
||||||
|
|
||||||
<script>ClassicEditor
|
<script>ClassicEditor
|
||||||
.create( document.querySelector( '.editor' ), {
|
.create( document.querySelector( '.editor' ), {
|
||||||
|
|
||||||
toolbar: {
|
toolbar: {
|
||||||
items: [
|
items: [
|
||||||
'heading',
|
'heading',
|
||||||
'|',
|
'|',
|
||||||
'bold',
|
'bold',
|
||||||
'italic',
|
'italic',
|
||||||
'underline',
|
'underline',
|
||||||
'link',
|
'link',
|
||||||
'removeFormat',
|
'removeFormat',
|
||||||
'fontSize',
|
'fontSize',
|
||||||
'fontFamily',
|
'fontFamily',
|
||||||
'|',
|
'|',
|
||||||
'bulletedList',
|
'bulletedList',
|
||||||
'numberedList',
|
'numberedList',
|
||||||
'todoList',
|
'todoList',
|
||||||
'|',
|
'|',
|
||||||
'indent',
|
'indent',
|
||||||
'outdent',
|
'outdent',
|
||||||
'alignment',
|
'alignment',
|
||||||
'horizontalLine',
|
'horizontalLine',
|
||||||
'|',
|
'|',
|
||||||
'imageUpload',
|
'imageUpload',
|
||||||
'imageInsert',
|
'imageInsert',
|
||||||
'blockQuote',
|
'blockQuote',
|
||||||
'insertTable',
|
'insertTable',
|
||||||
'mediaEmbed',
|
'mediaEmbed',
|
||||||
'undo',
|
'undo',
|
||||||
'redo',
|
'redo',
|
||||||
'|',
|
'|',
|
||||||
'codeBlock',
|
'codeBlock',
|
||||||
'exportPdf',
|
'exportPdf',
|
||||||
'htmlEmbed',
|
'htmlEmbed',
|
||||||
'exportWord',
|
'exportWord',
|
||||||
'highlight'
|
'highlight'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
language: 'de',
|
language: 'de',
|
||||||
image: {
|
image: {
|
||||||
toolbar: [
|
toolbar: [
|
||||||
'imageTextAlternative',
|
'imageTextAlternative',
|
||||||
'|',
|
'|',
|
||||||
'imageStyle:full',
|
'imageStyle:full',
|
||||||
'imageStyle:side',
|
'imageStyle:side',
|
||||||
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
||||||
'|',
|
'|',
|
||||||
'imageResize',
|
'imageResize',
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
table: {
|
table: {
|
||||||
contentToolbar: [
|
contentToolbar: [
|
||||||
'tableColumn',
|
'tableColumn',
|
||||||
'tableRow',
|
'tableRow',
|
||||||
'mergeTableCells'
|
'mergeTableCells'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
licenseKey: '',
|
licenseKey: '',
|
||||||
|
|
||||||
} )
|
} )
|
||||||
.then( editor => {
|
.then( editor => {
|
||||||
window.editor = editor;
|
window.editor = editor;
|
||||||
} )
|
} )
|
||||||
.catch( error => {
|
.catch( error => {
|
||||||
console.error( 'Oops, something went wrong!' );
|
console.error( 'Oops, something went wrong!' );
|
||||||
console.error( 'Please, report the following error on https://github.com/ckeditor/ckeditor5/issues with the build id and the error stack trace:' );
|
console.error( 'Please, report the following error on https://github.com/ckeditor/ckeditor5/issues with the build id and the error stack trace:' );
|
||||||
console.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
console.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
||||||
console.error( error );
|
console.error( error );
|
||||||
} );
|
} );
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
Heading
|
Heading
|
||||||
```
|
```
|
||||||
...
|
...
|
||||||
heading: {
|
heading: {
|
||||||
options: [
|
options: [
|
||||||
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
||||||
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
|
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
|
||||||
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
|
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -304,4 +304,18 @@ benötigt "Fader"
|
|||||||
<noscript><p><img src="https://log.seemsleg.it/logit?idsite=10&rec=1" style="border:0;" alt="" /></p></noscript>
|
<noscript><p><img src="https://log.seemsleg.it/logit?idsite=10&rec=1" style="border:0;" alt="" /></p></noscript>
|
||||||
<!-- End logit -->
|
<!-- End logit -->
|
||||||
```
|
```
|
||||||
nicht vergessen bei setSiteId die richtige id anzugeben
|
nicht vergessen bei setSiteId die richtige id anzugeben
|
||||||
|
|
||||||
|
## Flag
|
||||||
|
einfach folgende zeilen in den footer
|
||||||
|
```
|
||||||
|
<script src="/cssjs/flag.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="/cssjs/flag.min.css">
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
um zusätzliche infos zu liefern muss ein
|
||||||
|
```
|
||||||
|
data-flaginfo="<key>:<val>"
|
||||||
|
```
|
||||||
|
in irgend ein html tag gepackt werden, ,das wird dann vom script abgeholt wenn es gebraucht wird.
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
|
body {
|
||||||
|
background-color: #000 !important;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -21,7 +26,6 @@ form .label {
|
|||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.hover {
|
.hover {
|
||||||
border: 1px solid white;
|
border: 1px solid white;
|
||||||
}
|
}
|
||||||
|
|||||||
2
admin.min.css
vendored
2
admin.min.css
vendored
@@ -1 +1 @@
|
|||||||
textarea{display:block;width:100%}form .label{float:left;width:200px}.admin_navi{display:block;width:100%;border-bottom:1px solid #000;overflow:overlay}.admin_navi li{display:block;float:left;margin:0 10px}.hover{border:1px solid #fff}.hover:hover{border:1px solid #000}
|
body{background-color:#000!important;color:#fff}textarea{display:block;width:100%}form .label{float:left;width:200px}.admin_navi{display:block;width:100%;border-bottom:1px solid #000;overflow:overlay}.admin_navi li{display:block;float:left;margin:0 10px}.hover{border:1px solid #fff}.hover:hover{border:1px solid #000}
|
||||||
@@ -9,6 +9,15 @@ function copyToClipboard(id) {
|
|||||||
document.execCommand("copy");
|
document.execCommand("copy");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function copyDivToClipboard(id) {
|
||||||
|
let range = document.createRange();
|
||||||
|
range.selectNode(document.getElementById(id));
|
||||||
|
window.getSelection().removeAllRanges();
|
||||||
|
window.getSelection().addRange(range);
|
||||||
|
document.execCommand("copy");
|
||||||
|
window.getSelection().removeAllRanges();
|
||||||
|
}
|
||||||
|
|
||||||
function copiedToClipboard(id) {
|
function copiedToClipboard(id) {
|
||||||
var tooltip = document.getElementById(id);
|
var tooltip = document.getElementById(id);
|
||||||
tooltip.innerHTML = "Kopiert";
|
tooltip.innerHTML = "Kopiert";
|
||||||
|
|||||||
2
copy-to-clipboard.min.css
vendored
2
copy-to-clipboard.min.css
vendored
@@ -1 +1 @@
|
|||||||
.copy-to-clipboard{position:relative;display:inline-block}.copy-to-clipboard .tooltiptext{visibility:hidden;width:140px;background-color:#555;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:150%;left:50%;margin-left:-75px}.copy-to-clipboard .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.copy-to-clipboard:hover .tooltiptext{visibility:visible;opacity:1}
|
.copy-to-clipboard{position:relative;display:inline-block}.copy-to-clipboard .tooltiptext{visibility:hidden;width:140px;background-color:#555;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:150%;left:50%;margin-left:-75px}.copy-to-clipboard .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent}.copy-to-clipboard:hover .tooltiptext{visibility:visible;opacity:1}
|
||||||
3
copy-to-clipboard.min.js
vendored
3
copy-to-clipboard.min.js
vendored
@@ -1,2 +1 @@
|
|||||||
function copyToClipboard(id){var copyText=document.getElementById(id);copyText.select(),copyText.setSelectionRange(0,99999),document.execCommand("copy")}function copiedToClipboard(id){var tooltip;document.getElementById(id).innerHTML="Kopiert"}function resetClipboard(id){var tooltip;document.getElementById(id).innerHTML="Kopieren"}
|
function copyToClipboard(e){var n=document.getElementById(e);n.select(),n.setSelectionRange(0,99999),document.execCommand("copy")}function copyDivToClipboard(e){let n=document.createRange();n.selectNode(document.getElementById(e)),window.getSelection().removeAllRanges(),window.getSelection().addRange(n),document.execCommand("copy"),window.getSelection().removeAllRanges()}function copiedToClipboard(e){document.getElementById(e).innerHTML="Kopiert"}function resetClipboard(e){document.getElementById(e).innerHTML="Kopieren"}
|
||||||
//# sourceMappingURL=copy-to-clipboard.min.js.map
|
|
||||||
28
feedback.js
28
feedback.js
@@ -22,6 +22,34 @@ function ajaxFeedback(e,url,css) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ajaxCommentFeedback(e,url,css) {
|
||||||
|
let comment = prompt("Was funktioniert nicht?");
|
||||||
|
if(comment) {
|
||||||
|
url = url + "&comment="+encodeURIComponent(comment);
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
success: function(res) {
|
||||||
|
if(res =='success') {
|
||||||
|
successMarker(e,css);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
if(res =='warn') {
|
||||||
|
warnMarker(e,css);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
errorMarker(e,css);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (res,err) {
|
||||||
|
errorMarker(e,css);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function formFeedback(e,f,url,css) {
|
function formFeedback(e,f,url,css) {
|
||||||
var formData = {}
|
var formData = {}
|
||||||
$(f).each(function(i, obj) {
|
$(f).each(function(i, obj) {
|
||||||
|
|||||||
3
feedback.min.js
vendored
3
feedback.min.js
vendored
File diff suppressed because one or more lines are too long
37
flag.css
37
flag.css
@@ -2,11 +2,21 @@
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
width: 150px;
|
width: 170px;
|
||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
border-top-left-radius: 15px;
|
border-top-left-radius: 15px;
|
||||||
border-bottom-left-radius: 15px;
|
border-bottom-left-radius: 15px;
|
||||||
margin-right: -130px;
|
margin-right: -145px;
|
||||||
|
z-index: 99999;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:1081px) {
|
||||||
|
#flag-panel {
|
||||||
|
border: 10px solid #fff;
|
||||||
|
border-top-left-radius: 23px;
|
||||||
|
border-bottom-left-radius: 23px;
|
||||||
|
margin-right: -135px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#flag-panel.open {
|
#flag-panel.open {
|
||||||
@@ -32,24 +42,29 @@
|
|||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
}
|
}
|
||||||
|
|
||||||
#flag-overlay iframe {
|
#flag-iframe {
|
||||||
width: 80%;
|
position: fixed;
|
||||||
min-width: 350px;
|
top: 0;
|
||||||
margin: 0 auto;
|
left: 50%;
|
||||||
margin-top: 1vh;
|
transform: translateX(-50%);
|
||||||
display: block;
|
z-index: 10000;
|
||||||
background-color: #fff;
|
background-color: #000;
|
||||||
border: 3px solid #000;
|
border: 3px solid #fff;
|
||||||
border-radius: 1em;
|
border-radius: 1em;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
height: 97vh;
|
height: 97vh;
|
||||||
|
min-width: 350px;
|
||||||
|
width: 80%;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 1vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
#flag-overlay.closing {
|
#flag-overlay.closing {
|
||||||
transition: opacity 0.5s;
|
transition: opacity 0.5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
#flag-overlay.closing iframe {
|
#flag-iframe.closing {
|
||||||
transition: margin 1s ease, width 1s ease, height 1s ease;
|
transition: margin 1s ease, width 1s ease, height 1s ease;
|
||||||
width: 350px;
|
width: 350px;
|
||||||
height: 170px;
|
height: 170px;
|
||||||
|
|||||||
35
flag.js
35
flag.js
@@ -14,24 +14,34 @@
|
|||||||
|
|
||||||
var closeFlag = function(ev) {
|
var closeFlag = function(ev) {
|
||||||
flag.classList.add('closing');
|
flag.classList.add('closing');
|
||||||
|
iframe.classList.add('closing');
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
flag.style.opacity = 0;
|
flag.style.opacity = 0;
|
||||||
|
iframe.style.opacity = 0;
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
flag.remove();
|
flag.remove();
|
||||||
|
iframe.remove();
|
||||||
document.body.style.overflowY = 'auto';
|
document.body.style.overflowY = 'auto';
|
||||||
},500);
|
},500);
|
||||||
},3000);
|
},1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
var openFlag = function(ev) {
|
var openFlag = function(ev, infos=false) {
|
||||||
flag = document.createElement('div');
|
flag = document.createElement('div');
|
||||||
document.body.style.overflowY = 'hidden';
|
document.body.style.overflowY = 'hidden';
|
||||||
flag.id = 'flag-overlay';
|
flag.id = 'flag-overlay';
|
||||||
iframe = document.createElement('iframe');
|
iframe = document.createElement('iframe');
|
||||||
iframe.src= '';
|
iframe.src= '';
|
||||||
iframe.name = 'flag-iframe';
|
iframe.name = 'flag-iframe';
|
||||||
flag.appendChild(iframe);
|
iframe.id = 'flag-iframe';
|
||||||
document.body.appendChild(flag);
|
document.body.appendChild(flag);
|
||||||
|
setTimeout(function() {
|
||||||
|
flag.addEventListener('click',function(){
|
||||||
|
closeFlag();
|
||||||
|
//console.log('close2');
|
||||||
|
});
|
||||||
|
},3000);
|
||||||
|
document.body.appendChild(iframe);
|
||||||
|
|
||||||
var form = document.createElement('form');
|
var form = document.createElement('form');
|
||||||
form.action = connector+"?style="+style;
|
form.action = connector+"?style="+style;
|
||||||
@@ -45,10 +55,25 @@
|
|||||||
});*/
|
});*/
|
||||||
var fields = {};
|
var fields = {};
|
||||||
fields['s'] = window.location.hostname;
|
fields['s'] = window.location.hostname;
|
||||||
|
var datas = document.querySelectorAll('[data-flaginfo]');
|
||||||
|
if(datas) {
|
||||||
|
for(var i=0; i<datas.length;i++) {
|
||||||
|
console.log(datas[i].dataset['flaginfo']);
|
||||||
|
var tmp = datas[i].dataset['flaginfo'];
|
||||||
|
tmp = tmp.split(':',2);
|
||||||
|
fields[tmp[0]] = tmp[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
if(document.referrer) {fields['r'] = document.referrer;}
|
if(document.referrer) {fields['r'] = document.referrer;}
|
||||||
if(window.location.href) {fields['u'] = window.location.href;}
|
if(window.location.href) {fields['u'] = window.location.href;}
|
||||||
if(navigator.userAgent) {fields['a'] = navigator.userAgent;}
|
if(navigator.userAgent) {fields['a'] = navigator.userAgent;}
|
||||||
fields['d'] = ''+window.screen.width+'x'+window.screen.height+' ('+window.screen.colorDepth+'bit)';
|
fields['d'] = ''+window.screen.width+'x'+window.screen.height+' ('+window.screen.colorDepth+'bit)';
|
||||||
|
if(infos && typeof(infos) == typeof({})) {
|
||||||
|
for(var i in infos) {
|
||||||
|
fields[i] = infos[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('Fields',fields);
|
||||||
|
|
||||||
for(var f in fields) {
|
for(var f in fields) {
|
||||||
var inp = document.createElement('input');
|
var inp = document.createElement('input');
|
||||||
@@ -61,6 +86,7 @@
|
|||||||
form.style = 'display:none';
|
form.style = 'display:none';
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
|
form.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
var panel = document.createElement('div');
|
var panel = document.createElement('div');
|
||||||
@@ -83,6 +109,7 @@
|
|||||||
window.addEventListener("message", (event) => {
|
window.addEventListener("message", (event) => {
|
||||||
//console.log(event);
|
//console.log(event);
|
||||||
if(event.data == 'close') {
|
if(event.data == 'close') {
|
||||||
|
//console.log('close1');
|
||||||
closeFlag();
|
closeFlag();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -92,7 +119,7 @@
|
|||||||
for(var l=0;l<links.length;l++) {
|
for(var l=0;l<links.length;l++) {
|
||||||
//console.log(l,links[l]);
|
//console.log(l,links[l]);
|
||||||
links[l].addEventListener('click',function(ev) {
|
links[l].addEventListener('click',function(ev) {
|
||||||
openFlag(ev);
|
openFlag(ev,ev.target.dataset);
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|||||||
2
flag.min.css
vendored
2
flag.min.css
vendored
@@ -1 +1 @@
|
|||||||
#flag-panel{position:fixed;bottom:0;right:0;width:150px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-130px}#flag-panel.open{margin-right:0!important}#flag-panel.opened{transition:margin-right 1s}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5);z-index:9999}#flag-overlay iframe{width:80%;min-width:350px;margin:0 auto;margin-top:1vh;display:block;background-color:#fff;border:3px solid #000;border-radius:1em;overflow-y:scroll;height:97vh}#flag-overlay.closing{transition:opacity .5s}#flag-overlay.closing iframe{transition:margin 1s ease,width 1s ease,height 1s ease;width:350px;height:170px;margin-top:calc(50vh - 50px);overflow:hidden}
|
#flag-panel{position:fixed;bottom:0;right:0;width:170px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-145px;z-index:99999}@media (max-width:1081px){#flag-panel{border:10px solid #fff;border-top-left-radius:23px;border-bottom-left-radius:23px;margin-right:-135px}}#flag-panel.open{margin-right:0!important}#flag-panel.opened{transition:margin-right 1s}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5);z-index:9999}#flag-iframe{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:10000;background-color:#000;border:3px solid #fff;border-radius:1em;overflow-y:scroll;height:97vh;min-width:350px;width:80%;display:block;margin:1vh auto 0}#flag-overlay.closing{transition:opacity .5s}#flag-iframe.closing{transition:margin 1s,width 1s,height 1s;width:350px;height:170px;margin-top:calc(50vh - 50px);overflow:hidden}
|
||||||
2
flag.min.js
vendored
2
flag.min.js
vendored
@@ -1,2 +1,2 @@
|
|||||||
!function(connector){"use strict";var style="default",iframe,flag;document.body.dataset.feedbackstyle&&(style=document.body.dataset.feedbackstyle);var col="light",closeFlag=function(ev){flag.classList.add("closing"),setTimeout((function(){flag.style.opacity=0,setTimeout((function(){flag.remove(),document.body.style.overflowY="auto"}),500)}),3e3)},openFlag=function(ev){flag=document.createElement("div"),document.body.style.overflowY="hidden",flag.id="flag-overlay",(iframe=document.createElement("iframe")).src="",iframe.name="flag-iframe",flag.appendChild(iframe),document.body.appendChild(flag);var form=document.createElement("form");form.action=connector+"?style="+style,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};for(var f in fields.s=window.location.hostname,document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),navigator.userAgent&&(fields.a=navigator.userAgent),fields.d=window.screen.width+"x"+window.screen.height+" ("+window.screen.colorDepth+"bit)",fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit()},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button");button.innerHTML="Problem melden",button.addEventListener("click",openFlag),window.addEventListener("message",event=>{"close"==event.data&&closeFlag()});var links=document.getElementsByClassName("flag-link");if(links.length>0)for(var l=0;l<links.length;l++)links[l].addEventListener("click",(function(ev){return openFlag(ev),ev.preventDefault(),!1}));panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
|
!function(connector){"use strict";var style="default",iframe,flag;document.body.dataset.feedbackstyle&&(style=document.body.dataset.feedbackstyle);var col="light",closeFlag=function(ev){flag.classList.add("closing"),iframe.classList.add("closing"),setTimeout((function(){flag.style.opacity=0,iframe.style.opacity=0,setTimeout((function(){flag.remove(),iframe.remove(),document.body.style.overflowY="auto"}),500)}),1e3)},openFlag=function(ev,infos=!1){flag=document.createElement("div"),document.body.style.overflowY="hidden",flag.id="flag-overlay",(iframe=document.createElement("iframe")).src="",iframe.name="flag-iframe",iframe.id="flag-iframe",document.body.appendChild(flag),setTimeout((function(){flag.addEventListener("click",(function(){closeFlag()}))}),3e3),document.body.appendChild(iframe);var form=document.createElement("form");form.action=connector+"?style="+style,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};fields.s=window.location.hostname;var datas=document.querySelectorAll("[data-flaginfo]");if(datas)for(var i=0;i<datas.length;i++){console.log(datas[i].dataset.flaginfo);var tmp=datas[i].dataset.flaginfo;fields[(tmp=tmp.split(":",2))[0]]=tmp[1]}if(document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),navigator.userAgent&&(fields.a=navigator.userAgent),fields.d=window.screen.width+"x"+window.screen.height+" ("+window.screen.colorDepth+"bit)",infos&&typeof infos==typeof{})for(var i in infos)fields[i]=infos[i];for(var f in console.log("Fields",fields),fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit(),form.remove()},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button");button.innerHTML="Problem melden",button.addEventListener("click",openFlag),window.addEventListener("message",event=>{"close"==event.data&&closeFlag()});var links=document.getElementsByClassName("flag-link");if(links.length>0)for(var l=0;l<links.length;l++)links[l].addEventListener("click",(function(ev){return openFlag(ev,ev.target.dataset),ev.preventDefault(),!1}));panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
|
||||||
//# sourceMappingURL=flag.min.js.map
|
//# sourceMappingURL=flag.min.js.map
|
||||||
@@ -22,21 +22,30 @@
|
|||||||
"remove",
|
"remove",
|
||||||
"overflowY",
|
"overflowY",
|
||||||
"openFlag",
|
"openFlag",
|
||||||
|
"infos",
|
||||||
"createElement",
|
"createElement",
|
||||||
"id",
|
"id",
|
||||||
"src",
|
"src",
|
||||||
"name",
|
"name",
|
||||||
"appendChild",
|
"appendChild",
|
||||||
|
"addEventListener",
|
||||||
"form",
|
"form",
|
||||||
"action",
|
"action",
|
||||||
"target",
|
"target",
|
||||||
"method",
|
"method",
|
||||||
"screenshotTarget",
|
"screenshotTarget",
|
||||||
"fields",
|
"fields",
|
||||||
"f",
|
|
||||||
"window",
|
"window",
|
||||||
"location",
|
"location",
|
||||||
"hostname",
|
"hostname",
|
||||||
|
"datas",
|
||||||
|
"querySelectorAll",
|
||||||
|
"i",
|
||||||
|
"length",
|
||||||
|
"console",
|
||||||
|
"log",
|
||||||
|
"tmp",
|
||||||
|
"split",
|
||||||
"referrer",
|
"referrer",
|
||||||
"href",
|
"href",
|
||||||
"navigator",
|
"navigator",
|
||||||
@@ -45,6 +54,7 @@
|
|||||||
"width",
|
"width",
|
||||||
"height",
|
"height",
|
||||||
"colorDepth",
|
"colorDepth",
|
||||||
|
"f",
|
||||||
"inp",
|
"inp",
|
||||||
"type",
|
"type",
|
||||||
"value",
|
"value",
|
||||||
@@ -52,7 +62,6 @@
|
|||||||
"panel",
|
"panel",
|
||||||
"tab",
|
"tab",
|
||||||
"innerHTML",
|
"innerHTML",
|
||||||
"addEventListener",
|
|
||||||
"contains",
|
"contains",
|
||||||
"toggle",
|
"toggle",
|
||||||
"button",
|
"button",
|
||||||
@@ -60,10 +69,9 @@
|
|||||||
"data",
|
"data",
|
||||||
"links",
|
"links",
|
||||||
"getElementsByClassName",
|
"getElementsByClassName",
|
||||||
"length",
|
|
||||||
"l",
|
"l",
|
||||||
"preventDefault"
|
"preventDefault"
|
||||||
],
|
],
|
||||||
"mappings": "CAAA,SAAUA,WACR,aAEA,IAAIC,MAAQ,UAKRC,OACAC,KALDC,SAASC,KAAKC,QAAQC,gBACvBN,MAAQG,SAASC,KAAKC,QAAQC,eAKhC,IAAIC,IAAM,QAINC,UAAY,SAASC,IACvBP,KAAKQ,UAAUC,IAAI,WACnBC,YAAW,WACTV,KAAKF,MAAMa,QAAU,EACrBD,YAAW,WACTV,KAAKY,SACLX,SAASC,KAAKJ,MAAMe,UAAY,SAChC,OACF,MAGAC,SAAW,SAASP,IACtBP,KAAOC,SAASc,cAAc,OAC9Bd,SAASC,KAAKJ,MAAMe,UAAY,SAChCb,KAAKgB,GAAK,gBACVjB,OAASE,SAASc,cAAc,WACzBE,IAAK,GACZlB,OAAOmB,KAAO,cACdlB,KAAKmB,YAAYpB,QACjBE,SAASC,KAAKiB,YAAYnB,MAE1B,IAAIoB,KAAOnB,SAASc,cAAc,QAClCK,KAAKC,OAASxB,UAAU,UAAUC,MAClCsB,KAAKE,OAAS,cACdF,KAAKG,OAAS,OACd,MAAMC,iBAAmBvB,SAASC,KAMlC,IAAIuB,OAAS,GAOb,IAAI,IAAIC,KANRD,OAAU,EAAIE,OAAOC,SAASC,SAC3B5B,SAAS6B,WAAWL,OAAU,EAAIxB,SAAS6B,UAC3CH,OAAOC,SAASG,OAAON,OAAU,EAAIE,OAAOC,SAASG,MACrDC,UAAUC,YAAYR,OAAU,EAAIO,UAAUC,WACjDR,OAAU,EAAOE,OAAOO,OAAOC,MAAM,IAAIR,OAAOO,OAAOE,OAAO,KAAKT,OAAOO,OAAOG,WAAW,OAE/EZ,OAAQ,CACnB,IAAIa,IAAMrC,SAASc,cAAc,SACjCuB,IAAIC,KAAO,SACXD,IAAIpB,KAAOQ,EACXY,IAAIE,MAAQf,OAAOC,GACnBN,KAAKD,YAAYmB,KAGnBlB,KAAKtB,MAAQ,eACbG,SAASC,KAAKiB,YAAYC,MAC1BA,KAAKqB,UAGHC,MAAQzC,SAASc,cAAc,OACnC2B,MAAM1B,GAAK,aAEX,IAAI2B,IAAM1C,SAASc,cAAc,QACjC4B,IAAIC,UAAY,UAChBD,IAAIE,iBAAiB,cAAa,SAAStC,IACrCmC,MAAMlC,UAAUsC,SAAS,WAC3BJ,MAAMlC,UAAUC,IAAI,UAEtBiC,MAAMlC,UAAUuC,OAAO,WAGzB,IAAIC,OAAS/C,SAASc,cAAc,UAEpCiC,OAAOJ,UAAY,iBACnBI,OAAOH,iBAAiB,QAAQ/B,UAEhCa,OAAOkB,iBAAiB,UAAYI,QAEjB,SAAdA,MAAMC,MACP5C,cAIJ,IAAI6C,MAAQlD,SAASmD,uBAAuB,aAC5C,GAAGD,MAAME,OAAS,EAChB,IAAI,IAAIC,EAAE,EAAEA,EAAEH,MAAME,OAAOC,IAEzBH,MAAMG,GAAGT,iBAAiB,SAAQ,SAAStC,IAGzC,OAFAO,SAASP,IACTA,GAAGgD,kBACI,KAKbb,MAAMvB,YAAYwB,KAClBD,MAAMvB,YAAY6B,QAElB/C,SAASC,KAAKiB,YAAYuB,OAxG5B,CAyGG",
|
"mappings": "CAAA,SAAUA,WACR,aAEA,IAAIC,MAAQ,UAKRC,OACAC,KALDC,SAASC,KAAKC,QAAQC,gBACvBN,MAAQG,SAASC,KAAKC,QAAQC,eAKhC,IAAIC,IAAM,QAINC,UAAY,SAASC,IACvBP,KAAKQ,UAAUC,IAAI,WACnBV,OAAOS,UAAUC,IAAI,WACrBC,YAAW,WACTV,KAAKF,MAAMa,QAAU,EACrBZ,OAAOD,MAAMa,QAAU,EACvBD,YAAW,WACTV,KAAKY,SACLb,OAAOa,SACPX,SAASC,KAAKJ,MAAMe,UAAY,SAChC,OACF,MAGAC,SAAW,SAASP,GAAIQ,OAAM,GAChCf,KAAOC,SAASe,cAAc,OAC9Bf,SAASC,KAAKJ,MAAMe,UAAY,SAChCb,KAAKiB,GAAK,gBACVlB,OAASE,SAASe,cAAc,WACzBE,IAAK,GACZnB,OAAOoB,KAAO,cACdpB,OAAOkB,GAAK,cACZhB,SAASC,KAAKkB,YAAYpB,MAC1BU,YAAW,WACTV,KAAKqB,iBAAiB,SAAQ,WAC5Bf,iBAGF,KACFL,SAASC,KAAKkB,YAAYrB,QAE1B,IAAIuB,KAAOrB,SAASe,cAAc,QAClCM,KAAKC,OAAS1B,UAAU,UAAUC,MAClCwB,KAAKE,OAAS,cACdF,KAAKG,OAAS,OACd,MAAMC,iBAAmBzB,SAASC,KAMlC,IAAIyB,OAAS,GACbA,OAAU,EAAIC,OAAOC,SAASC,SAC9B,IAAIC,MAAQ9B,SAAS+B,iBAAiB,mBACtC,GAAGD,MACD,IAAI,IAAIE,EAAE,EAAGA,EAAEF,MAAMG,OAAOD,IAAK,CAC/BE,QAAQC,IAAIL,MAAME,GAAG9B,QAAkB,UACvC,IAAIkC,IAAMN,MAAME,GAAG9B,QAAkB,SAErCwB,QADAU,IAAMA,IAAIC,MAAM,IAAI,IACT,IAAMD,IAAI,GAOzB,GAJGpC,SAASsC,WAAWZ,OAAU,EAAI1B,SAASsC,UAC3CX,OAAOC,SAASW,OAAOb,OAAU,EAAIC,OAAOC,SAASW,MACrDC,UAAUC,YAAYf,OAAU,EAAIc,UAAUC,WACjDf,OAAU,EAAOC,OAAOe,OAAOC,MAAM,IAAIhB,OAAOe,OAAOE,OAAO,KAAKjB,OAAOe,OAAOG,WAAW,OACzF/B,cAAe,aAAiB,GACjC,IAAI,IAAIkB,KAAKlB,MACXY,OAAOM,GAAKlB,MAAMkB,GAKtB,IAAI,IAAIc,KAFRZ,QAAQC,IAAI,SAAST,QAERA,OAAQ,CACnB,IAAIqB,IAAM/C,SAASe,cAAc,SACjCgC,IAAIC,KAAO,SACXD,IAAI7B,KAAO4B,EACXC,IAAIE,MAAQvB,OAAOoB,GACnBzB,KAAKF,YAAY4B,KAGnB1B,KAAKxB,MAAQ,eACbG,SAASC,KAAKkB,YAAYE,MAC1BA,KAAK6B,SACL7B,KAAKV,UAGHwC,MAAQnD,SAASe,cAAc,OACnCoC,MAAMnC,GAAK,aAEX,IAAIoC,IAAMpD,SAASe,cAAc,QACjCqC,IAAIC,UAAY,UAChBD,IAAIhC,iBAAiB,cAAa,SAASd,IACrC6C,MAAM5C,UAAU+C,SAAS,WAC3BH,MAAM5C,UAAUC,IAAI,UAEtB2C,MAAM5C,UAAUgD,OAAO,WAGzB,IAAIC,OAASxD,SAASe,cAAc,UAEpCyC,OAAOH,UAAY,iBACnBG,OAAOpC,iBAAiB,QAAQP,UAEhCc,OAAOP,iBAAiB,UAAYqC,QAEjB,SAAdA,MAAMC,MAEPrD,cAIJ,IAAIsD,MAAQ3D,SAAS4D,uBAAuB,aAC5C,GAAGD,MAAM1B,OAAS,EAChB,IAAI,IAAI4B,EAAE,EAAEA,EAAEF,MAAM1B,OAAO4B,IAEzBF,MAAME,GAAGzC,iBAAiB,SAAQ,SAASd,IAGzC,OAFAO,SAASP,GAAGA,GAAGiB,OAAOrB,SACtBI,GAAGwD,kBACI,KAKbX,MAAMhC,YAAYiC,KAClBD,MAAMhC,YAAYqC,QAElBxD,SAASC,KAAKkB,YAAYgC,OAnI5B,CAoIG",
|
||||||
"file": "flag.js"
|
"file": "flag.js"
|
||||||
}
|
}
|
||||||
47
frontlog.css
Normal file
47
frontlog.css
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
frontlog {
|
||||||
|
position: fixed;
|
||||||
|
min-width: 200px;
|
||||||
|
max-width: 300px;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
flogelem {
|
||||||
|
display:block;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
max-height: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding: 0;
|
||||||
|
opacity: 0;
|
||||||
|
position: relative;
|
||||||
|
bottom: 0;
|
||||||
|
-webkit-transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||||
|
-moz-transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||||
|
transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flshow {
|
||||||
|
max-height: 200px!important;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
padding: 4px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.flvanish {
|
||||||
|
position: relative;
|
||||||
|
bottom: 3em;
|
||||||
|
max-height: 0 !important;
|
||||||
|
opacity: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
fltitle {
|
||||||
|
display: block;
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
|
||||||
|
flogelem img {
|
||||||
|
float: left;
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
68
frontlog.js
Normal file
68
frontlog.js
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
let frontlogList = [];
|
||||||
|
let frontlogMaxEl = document.body.dataset['frontlog']||3;
|
||||||
|
let frontlog = document.createElement('frontlog');
|
||||||
|
document.body.appendChild(frontlog);
|
||||||
|
|
||||||
|
let frontlogVanish = function(elem) {
|
||||||
|
elem.classList.add('flvanish');
|
||||||
|
setTimeout(function() {
|
||||||
|
elem.remove();
|
||||||
|
let elems = document.getElementsByTagName('flogelem');
|
||||||
|
if(elems.length < frontlogMaxEl && frontlogList.length) {
|
||||||
|
let p = frontlogList.shift();
|
||||||
|
frontlogPipe(p.title,p.icon,p.msg,p.col,p.time);
|
||||||
|
}
|
||||||
|
},3100);
|
||||||
|
}
|
||||||
|
|
||||||
|
let frontlogAdd = function(title,icon,msg,col,time) {
|
||||||
|
let elems = document.getElementsByTagName('flogelem');
|
||||||
|
if(elems.length < frontlogMaxEl) {
|
||||||
|
frontlogPipe(title,icon,msg,col,time);
|
||||||
|
}else{
|
||||||
|
let pElem = {"title":title,"icon":icon,"msg":msg,"col":col,"time":time};
|
||||||
|
frontlogList.push(pElem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let frontlogPipe = function(title,icon,msg,col, time) {
|
||||||
|
let elem = document.createElement('flogelem');
|
||||||
|
{
|
||||||
|
let elemid = 'fl_';
|
||||||
|
{
|
||||||
|
let ch = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
||||||
|
let chl = ch.length;
|
||||||
|
for ( let i = 0; i < 16; i++ ) {
|
||||||
|
elemid += ch.charAt(Math.floor(Math.random() * chl));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elem.id = elemid;
|
||||||
|
let flicon = document.createElement('img');
|
||||||
|
flicon.src = icon;
|
||||||
|
elem.appendChild(flicon);
|
||||||
|
|
||||||
|
let fltitle = document.createElement('fltitle');
|
||||||
|
fltitle.innerText = title;
|
||||||
|
elem.appendChild(fltitle);
|
||||||
|
|
||||||
|
let flmsg = document.createElement('flmsg');
|
||||||
|
flmsg.innerText = msg;
|
||||||
|
elem.appendChild(flmsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
elem.style = 'border-color: '+col+';';
|
||||||
|
elem.addEventListener('click',function(ev){
|
||||||
|
let tg = ev.target;
|
||||||
|
if(tg.tagName.toLowerCase() != 'flogelem') {
|
||||||
|
tg = ev.target.parentNode;
|
||||||
|
}
|
||||||
|
frontlogVanish(tg);
|
||||||
|
});
|
||||||
|
setTimeout(function(){
|
||||||
|
frontlogVanish(elem);
|
||||||
|
},time*1000)
|
||||||
|
frontlog.appendChild(elem);
|
||||||
|
setTimeout(function(){
|
||||||
|
elem.classList.add('flshow');
|
||||||
|
},10);
|
||||||
|
}
|
||||||
180
html2canvas.js
180
html2canvas.js
@@ -9,94 +9,94 @@
|
|||||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());
|
||||||
}(this, (function () { 'use strict';
|
}(this, (function () { 'use strict';
|
||||||
|
|
||||||
/*! *****************************************************************************
|
/*! *****************************************************************************
|
||||||
Copyright (c) Microsoft Corporation.
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
purpose with or without fee is hereby granted.
|
purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
***************************************************************************** */
|
***************************************************************************** */
|
||||||
/* global Reflect, Promise */
|
/* global Reflect, Promise */
|
||||||
|
|
||||||
var extendStatics = function(d, b) {
|
var extendStatics = function(d, b) {
|
||||||
extendStatics = Object.setPrototypeOf ||
|
extendStatics = Object.setPrototypeOf ||
|
||||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||||
return extendStatics(d, b);
|
return extendStatics(d, b);
|
||||||
};
|
};
|
||||||
|
|
||||||
function __extends(d, b) {
|
function __extends(d, b) {
|
||||||
if (typeof b !== "function" && b !== null)
|
if (typeof b !== "function" && b !== null)
|
||||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||||
extendStatics(d, b);
|
extendStatics(d, b);
|
||||||
function __() { this.constructor = d; }
|
function __() { this.constructor = d; }
|
||||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||||
}
|
}
|
||||||
|
|
||||||
var __assign = function() {
|
var __assign = function() {
|
||||||
__assign = Object.assign || function __assign(t) {
|
__assign = Object.assign || function __assign(t) {
|
||||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||||
s = arguments[i];
|
s = arguments[i];
|
||||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||||||
}
|
}
|
||||||
return t;
|
return t;
|
||||||
};
|
};
|
||||||
return __assign.apply(this, arguments);
|
return __assign.apply(this, arguments);
|
||||||
};
|
};
|
||||||
|
|
||||||
function __awaiter(thisArg, _arguments, P, generator) {
|
function __awaiter(thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function __generator(thisArg, body) {
|
function __generator(thisArg, body) {
|
||||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||||
function step(op) {
|
function step(op) {
|
||||||
if (f) throw new TypeError("Generator is already executing.");
|
if (f) throw new TypeError("Generator is already executing.");
|
||||||
while (_) try {
|
while (_) try {
|
||||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||||
switch (op[0]) {
|
switch (op[0]) {
|
||||||
case 0: case 1: t = op; break;
|
case 0: case 1: t = op; break;
|
||||||
case 4: _.label++; return { value: op[1], done: false };
|
case 4: _.label++; return { value: op[1], done: false };
|
||||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||||
default:
|
default:
|
||||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||||
if (t[2]) _.ops.pop();
|
if (t[2]) _.ops.pop();
|
||||||
_.trys.pop(); continue;
|
_.trys.pop(); continue;
|
||||||
}
|
}
|
||||||
op = body.call(thisArg, _);
|
op = body.call(thisArg, _);
|
||||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function __spreadArray(to, from, pack) {
|
function __spreadArray(to, from, pack) {
|
||||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||||
if (ar || !(i in from)) {
|
if (ar || !(i in from)) {
|
||||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||||
ar[i] = from[i];
|
ar[i] = from[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return to.concat(ar || from);
|
return to.concat(ar || from);
|
||||||
}
|
}
|
||||||
|
|
||||||
var Bounds = /** @class */ (function () {
|
var Bounds = /** @class */ (function () {
|
||||||
@@ -701,7 +701,7 @@
|
|||||||
(next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||
|
(next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||
|
||||||
// ( OP | HY ) × NU
|
// ( OP | HY ) × NU
|
||||||
([OP, HY].indexOf(current) !== -1 && next === NU) ||
|
([OP, HY].indexOf(current) !== -1 && next === NU) ||
|
||||||
// NU × (NU | SY | IS)
|
// NU × (NU | SY | IS)
|
||||||
(current === NU && [NU, SY, IS].indexOf(next) !== -1)) {
|
(current === NU && [NU, SY, IS].indexOf(next) !== -1)) {
|
||||||
return BREAK_NOT_ALLOWED$1;
|
return BREAK_NOT_ALLOWED$1;
|
||||||
}
|
}
|
||||||
@@ -7010,7 +7010,7 @@
|
|||||||
case 4:
|
case 4:
|
||||||
_i++;
|
_i++;
|
||||||
return [3 /*break*/, 2];
|
return [3 /*break*/, 2];
|
||||||
case 5:
|
case 5:
|
||||||
// 3. For all its in-flow, non-positioned, block-level descendants in tree order:
|
// 3. For all its in-flow, non-positioned, block-level descendants in tree order:
|
||||||
return [4 /*yield*/, this.renderNodeContent(stack.element)];
|
return [4 /*yield*/, this.renderNodeContent(stack.element)];
|
||||||
case 6:
|
case 6:
|
||||||
|
|||||||
21
html2canvas.min.js
vendored
Normal file
21
html2canvas.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1717
html2canvas.min.js.map
Normal file
1717
html2canvas.min.js.map
Normal file
File diff suppressed because one or more lines are too long
44
jquery-autoresize.js
vendored
44
jquery-autoresize.js
vendored
@@ -1,7 +1,7 @@
|
|||||||
(function($){
|
(function($){
|
||||||
|
|
||||||
$.fn.autoResize = function(options) {
|
$.fn.autoResize = function(options) {
|
||||||
|
|
||||||
// Just some abstracted details,
|
// Just some abstracted details,
|
||||||
// to make plugin users happy:
|
// to make plugin users happy:
|
||||||
var settings = $.extend({
|
var settings = $.extend({
|
||||||
@@ -12,28 +12,28 @@
|
|||||||
extraSpace : 20,
|
extraSpace : 20,
|
||||||
limit: 1000
|
limit: 1000
|
||||||
}, options);
|
}, options);
|
||||||
|
|
||||||
// Only textarea's auto-resize:
|
// Only textarea's auto-resize:
|
||||||
this.filter('textarea').each(function(){
|
this.filter('textarea').each(function(){
|
||||||
|
|
||||||
// Get rid of scrollbars and disable WebKit resizing:
|
// Get rid of scrollbars and disable WebKit resizing:
|
||||||
var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
|
var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
|
||||||
|
|
||||||
// Cache original height, for use later:
|
// Cache original height, for use later:
|
||||||
origHeight = textarea.height(),
|
origHeight = textarea.height(),
|
||||||
|
|
||||||
// Need clone of textarea, hidden off screen:
|
// Need clone of textarea, hidden off screen:
|
||||||
clone = (function(){
|
clone = (function(){
|
||||||
|
|
||||||
// Properties which may effect space taken up by chracters:
|
// Properties which may effect space taken up by chracters:
|
||||||
var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
|
var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
|
||||||
propOb = {};
|
propOb = {};
|
||||||
|
|
||||||
// Create object of styles to apply:
|
// Create object of styles to apply:
|
||||||
$.each(props, function(i, prop){
|
$.each(props, function(i, prop){
|
||||||
propOb[prop] = textarea.css(prop);
|
propOb[prop] = textarea.css(prop);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Clone the actual textarea removing unique properties
|
// Clone the actual textarea removing unique properties
|
||||||
// and insert before original textarea:
|
// and insert before original textarea:
|
||||||
return textarea.clone().removeAttr('id').removeAttr('name').css({
|
return textarea.clone().removeAttr('id').removeAttr('name').css({
|
||||||
@@ -41,22 +41,22 @@
|
|||||||
top: 0,
|
top: 0,
|
||||||
left: -9999
|
left: -9999
|
||||||
}).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
|
}).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
|
||||||
|
|
||||||
})(),
|
})(),
|
||||||
lastScrollTop = null,
|
lastScrollTop = null,
|
||||||
updateSize = function() {
|
updateSize = function() {
|
||||||
|
|
||||||
// Prepare the clone:
|
// Prepare the clone:
|
||||||
clone.height(0).val($(this).val()).scrollTop(10000);
|
clone.height(0).val($(this).val()).scrollTop(10000);
|
||||||
|
|
||||||
// Find the height of text:
|
// Find the height of text:
|
||||||
var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
|
var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
|
||||||
toChange = $(this).add(clone);
|
toChange = $(this).add(clone);
|
||||||
|
|
||||||
// Don't do anything if scrollTip hasen't changed:
|
// Don't do anything if scrollTip hasen't changed:
|
||||||
if (lastScrollTop === scrollTop) { return; }
|
if (lastScrollTop === scrollTop) { return; }
|
||||||
lastScrollTop = scrollTop;
|
lastScrollTop = scrollTop;
|
||||||
|
|
||||||
// Check for limit:
|
// Check for limit:
|
||||||
if ( scrollTop >= settings.limit ) {
|
if ( scrollTop >= settings.limit ) {
|
||||||
$(this).css('overflow-y','');
|
$(this).css('overflow-y','');
|
||||||
@@ -64,27 +64,27 @@
|
|||||||
}
|
}
|
||||||
// Fire off callback:
|
// Fire off callback:
|
||||||
settings.onResize.call(this);
|
settings.onResize.call(this);
|
||||||
|
|
||||||
// Either animate or directly apply height:
|
// Either animate or directly apply height:
|
||||||
settings.animate && textarea.css('display') === 'block' ?
|
settings.animate && textarea.css('display') === 'block' ?
|
||||||
toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
|
toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
|
||||||
: toChange.height(scrollTop);
|
: toChange.height(scrollTop);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Bind namespaced handlers to appropriate events:
|
// Bind namespaced handlers to appropriate events:
|
||||||
textarea
|
textarea
|
||||||
.unbind('.dynSiz')
|
.unbind('.dynSiz')
|
||||||
.bind('keyup.dynSiz', updateSize)
|
.bind('keyup.dynSiz', updateSize)
|
||||||
.bind('keydown.dynSiz', updateSize)
|
.bind('keydown.dynSiz', updateSize)
|
||||||
.bind('change.dynSiz', updateSize);
|
.bind('change.dynSiz', updateSize);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Chain:
|
// Chain:
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
window.onerror = function(message, source, lineno, colno, error) {
|
window.onerror = function(message, source, lineno, colno, error) {
|
||||||
|
if(message == 'Script Error' && lineno == 0) return;
|
||||||
var xmlhttp = new XMLHttpRequest();
|
var xmlhttp = new XMLHttpRequest();
|
||||||
xmlhttp.open("POST", "https://troy-grunt.de/api.php", true);
|
xmlhttp.open("POST", "https://troy-grunt.de/api.php", true);
|
||||||
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||||
|
|||||||
3
js-error-logger.min.js
vendored
3
js-error-logger.min.js
vendored
@@ -1,2 +1 @@
|
|||||||
window.onerror=function(message,source,lineno,colno,error){var xmlhttp=new XMLHttpRequest;xmlhttp.open("POST","https://troy-grunt.de/api.php",!0),xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");var params=JSON.stringify({type:"error_collector",message:message,source:source,line:lineno,col:colno,err:error});xmlhttp.send(params)};
|
window.onerror=function(e,r,o,t,n){if("Script Error"!=e||0!=o){var p=new XMLHttpRequest;p.open("POST","https://troy-grunt.de/api.php",!0),p.setRequestHeader("Content-type","application/x-www-form-urlencoded");var i=JSON.stringify({type:"error_collector",message:e,source:r,line:o,col:t,err:n});p.send(i)}};
|
||||||
//# sourceMappingURL=js-error-logger.min.js.map
|
|
||||||
8
lazy-img.css
Normal file
8
lazy-img.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
img[loading='lazy'] {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.5s ease !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.loaded {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
14
lazy-img.js
Normal file
14
lazy-img.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
|
/*var cssLink = document.createElement("link");
|
||||||
|
cssLink.rel = "stylesheet";
|
||||||
|
cssLink.href = "/cssjs/lazy-img.css";
|
||||||
|
document.head.appendChild(cssLink);*/
|
||||||
|
|
||||||
|
var images = document.querySelectorAll('img[loading="lazy"]');
|
||||||
|
|
||||||
|
images.forEach(function(image) {
|
||||||
|
image.onload = function() {
|
||||||
|
image.classList.add('loaded');
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
1
lazy-img.min.js
vendored
Normal file
1
lazy-img.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll('img[loading="lazy"]').forEach(function(n){n.onload=function(){n.classList.add("loaded")}})});
|
||||||
12
parallax.css
12
parallax.css
@@ -1,8 +1,8 @@
|
|||||||
.parallax{
|
.parallax{
|
||||||
height: 600px;
|
height: 600px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: 100% auto;
|
background-position: 100% auto;
|
||||||
position:relative;
|
position:relative;
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ input.switch[type="checkbox"] + label {
|
|||||||
float: left;
|
float: left;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
transition: background-color 0.5s linear;
|
transition: background-color 0.5s linear;
|
||||||
margin-top: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
input.switch[type="checkbox"] + label:hover {
|
input.switch[type="checkbox"] + label:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|||||||
2
switch.min.css
vendored
2
switch.min.css
vendored
@@ -1 +1 @@
|
|||||||
input.switch[type=checkbox]{display:none}input.switch[type=checkbox]+label{width:60px;height:30px;border-radius:30px;border:2px solid #ddd;background-color:#eee;display:inline-block;content:"";float:left;margin-right:5px;transition:background-color .5s linear;margin-top:15px}input.switch[type=checkbox]+label:hover{cursor:pointer}input.switch[type=checkbox]+label::before{width:30px;height:30px;border-radius:30px;background-color:#fff;display:block;content:"";float:left;margin-right:5px;transition:margin .1s linear;box-shadow:0 0 5px #aaa}input.switch[type=checkbox]:checked+label{background-color:#2b8718}input.switch[type=checkbox]:checked+label::before{margin:0 0 0 30px}
|
input.switch[type=checkbox]{display:none}input.switch[type=checkbox]+label{width:60px;height:30px;border-radius:30px;border:2px solid #ddd;background-color:#eee;display:inline-block;content:"";float:left;margin-right:5px;transition:background-color .5s linear;margin-bottom:15px}input.switch[type=checkbox]+label:hover{cursor:pointer}input.switch[type=checkbox]+label::before{width:30px;height:30px;border-radius:30px;background-color:#fff;display:block;content:"";float:left;margin-right:5px;transition:margin .1s linear;box-shadow:0 0 5px #aaa}input.switch[type=checkbox]:checked+label{background-color:#2b8718}input.switch[type=checkbox]:checked+label::before{margin:0 0 0 30px}
|
||||||
@@ -3,7 +3,7 @@ function myFilter() {
|
|||||||
input = document.getElementById("suchstr");
|
input = document.getElementById("suchstr");
|
||||||
filter = input.value.toUpperCase();
|
filter = input.value.toUpperCase();
|
||||||
|
|
||||||
li = jQuery("#suchlist .row");
|
li = document.querySelectorAll("#suchlist .row");
|
||||||
for (i = 0; i < li.length; i++) {
|
for (i = 0; i < li.length; i++) {
|
||||||
txtValue = li[i].textContent || li[i].innerText;
|
txtValue = li[i].textContent || li[i].innerText;
|
||||||
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
||||||
|
|||||||
3
tablefilter.min.js
vendored
3
tablefilter.min.js
vendored
@@ -1,2 +1 @@
|
|||||||
function myFilter(){var input,filter,ul,li,a,i,txtValue;for(filter=(input=document.getElementById("suchstr")).value.toUpperCase(),li=jQuery("#suchlist .row"),i=0;i<li.length;i++)(txtValue=li[i].textContent||li[i].innerText).toUpperCase().indexOf(filter)>-1?li[i].style.display="":li[i].style.display="none"}
|
function myFilter(){var e,t,l,n,r;for(n=0,t=(e=document.getElementById("suchstr")).value.toUpperCase(),l=document.querySelectorAll("#suchlist .row");n<l.length;n++)(r=l[n].textContent||l[n].innerText).toUpperCase().indexOf(t)>-1?l[n].style.display="":l[n].style.display="none"}
|
||||||
//# sourceMappingURL=tablefilter.min.js.map
|
|
||||||
Reference in New Issue
Block a user