Compare commits
94 Commits
f407f2860b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ec196af15 | |||
| 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 | ||
|
|
0fa38cc1ba | ||
|
|
785286f25e | ||
|
|
84535957c8 | ||
|
|
240a1f999a | ||
|
|
7834004380 | ||
|
|
c3c892310a | ||
|
|
0691f75abf | ||
|
|
7d9429d303 | ||
|
|
e48e4c3aa6 | ||
|
|
2999ab9408 | ||
|
|
c9597af998 | ||
|
|
cb5aba50b4 | ||
|
|
0110d04bd6 | ||
|
|
ed3bd14fc7 | ||
|
|
1f76d6a942 | ||
|
|
a7c3f4dd02 | ||
|
|
768e1bb464 | ||
|
|
6a7a13a09c | ||
|
|
81c619228b | ||
|
|
d4577caff3 | ||
|
|
b07f92f492 | ||
|
|
e890a581a4 | ||
|
|
15dbeee834 | ||
|
|
90ade370d7 | ||
|
|
c1a64450d2 | ||
|
|
475c959420 | ||
|
|
d8a9ba6619 | ||
|
|
dbe3aee539 | ||
|
|
142ba0bd8a | ||
|
|
ca6fb42493 | ||
|
|
3a80f86358 | ||
|
|
6535b205a3 | ||
|
|
f6f2b7ce97 | ||
|
|
9c14d4d9b2 | ||
|
|
527c2ab882 | ||
|
|
481ac50569 | ||
|
|
13b1e2926f | ||
|
|
ddf8d44471 | ||
|
|
d318faca2c | ||
|
|
8170b81554 | ||
|
|
28e68b094c | ||
|
|
0b888cd234 | ||
|
|
ab01311d89 | ||
|
|
79d82d7550 | ||
|
|
1ac3b335b3 | ||
|
|
645b32d0e5 | ||
|
|
af19c3dce2 | ||
|
|
2ba7e91c9c | ||
|
|
6204caa5ae | ||
|
|
e3e2156dc1 | ||
|
|
9297e8d6bc | ||
|
|
d0576188e0 | ||
|
|
66ce42e6e4 | ||
|
|
2b27dd037b | ||
|
|
74b8e3186e | ||
|
|
261bf47926 | ||
|
|
4e5796a5d0 | ||
| 94c60eacb9 | |||
|
|
8326b30eca | ||
|
|
4e88d81874 | ||
|
|
5ec7cb3122 | ||
|
|
b16987ab1c | ||
|
|
34fd9baf3a |
515
README.md
515
README.md
@ -1,194 +1,321 @@
|
||||
# cssjs\_func\_lib
|
||||
## install
|
||||
|
||||
```
|
||||
git submodule add https://git.seemsleg.it/ef/cssjs-func-lib cssjs
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/admin.css" media="screen" />
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery-ui.min.css" media="screen" />
|
||||
|
||||
<script src="/cssjs/jquery.min.js"></script>
|
||||
<script src="/cssjs/jquery-ui.min.js"></script>
|
||||
<script src="/cssjs/form.js"></script>
|
||||
```
|
||||
|
||||
## Dropzone
|
||||
```
|
||||
<form action="/upload" class="dropzone needsclick dz-clickable" id="demo-upload">
|
||||
<div class="dz-message needsclick">
|
||||
<button type="button" class="dz-button">Drop files here or click to upload.</button><br>
|
||||
<span class="note needsclick">(This is just a demo dropzone. Selected files are <strong>not</strong> actually uploaded.)</span>
|
||||
</div>
|
||||
</form>
|
||||
```
|
||||
|
||||
## Parallax
|
||||
```
|
||||
<link rel="stylesheet" href="/css/parallax.css">
|
||||
|
||||
...
|
||||
|
||||
<div class="parallax" style="background-image: url(img);"> </div>
|
||||
```
|
||||
|
||||
## Divs anordnen
|
||||
```
|
||||
<script src="/cssjs/masonry.pkgd.min.js"></script>
|
||||
|
||||
<div class="grid">
|
||||
<div class="grid-item">...</div>
|
||||
<div class="grid-item grid-item--width2">...</div>
|
||||
<div class="grid-item">...</div>
|
||||
...
|
||||
</div>
|
||||
|
||||
.grid-item { width: 200px; }
|
||||
.grid-item--width2 { width: 400px; }
|
||||
```
|
||||
|
||||
## Checkbox Switch
|
||||
```
|
||||
<link rel="stylesheet" href="/cssjs/switch.css">
|
||||
|
||||
<input type="checkbox" class="switch" name="publish" id="checkPub" value="1" ' . ($data ['publish'] ? 'checked="true"' : '') . ' /><label for="checkPub"></label>
|
||||
```
|
||||
|
||||
## DateTimePicker
|
||||
```
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery.datetimepicker.min.css">
|
||||
|
||||
<script src="/cssjs/jquery-ui.min.js"></script>
|
||||
<script src="/cssjs/jquery.datetimepicker.full.min.js"></script>
|
||||
|
||||
<script>
|
||||
jQuery(\'.datetime\').datetimepicker({
|
||||
format:\'d.m.Y H:i\',
|
||||
step:30,
|
||||
onShow:function( ct ){
|
||||
},
|
||||
timepicker:true
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
## textarea autoheight
|
||||
```
|
||||
<textarea style="max-height: 300px;" class="autoheight"></textarea>
|
||||
|
||||
<script src='/cssjs/autosize.js'></script>
|
||||
<script>
|
||||
autosize(document.querySelectorAll('textarea.autoheight'));
|
||||
</script>
|
||||
```
|
||||
|
||||
## Copy to Clipboard
|
||||
```
|
||||
<script src='/cssjs/copy-to-clipboard.js'></script>
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/copy-to-clipboard.css">
|
||||
|
||||
<div class="copy-to-clipboard">
|
||||
<input type="text" readonly="true" value="blablabla" id="copy-to-clipboard" onclick=" copyToClipboard('copy-to-clipboard');copiedToClipboard('copy-to-clipboard-tooltip');return false;" onmouseout="resetClipboard('copy-to-clipboard-tooltip')">
|
||||
<span class="tooltiptext" id="copy-to-clipboard-tooltip">Kopieren</span>
|
||||
</div>
|
||||
```
|
||||
|
||||
## WYSIWYG (old)
|
||||
```
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/wysiwyg.css">
|
||||
...
|
||||
<div class="wysiwyg"></div>
|
||||
...
|
||||
<script src='/cssjs/wysiwyg.js'></script>
|
||||
```
|
||||
|
||||
## ckEditor5
|
||||
```
|
||||
<script src="/cssjs/ckeditor.js"></script>
|
||||
|
||||
<script>ClassicEditor
|
||||
.create( document.querySelector( '.editor' ), {
|
||||
|
||||
toolbar: {
|
||||
items: [
|
||||
'heading',
|
||||
'|',
|
||||
'bold',
|
||||
'italic',
|
||||
'underline',
|
||||
'link',
|
||||
'removeFormat',
|
||||
'fontSize',
|
||||
'fontFamily',
|
||||
'|',
|
||||
'bulletedList',
|
||||
'numberedList',
|
||||
'todoList',
|
||||
'|',
|
||||
'indent',
|
||||
'outdent',
|
||||
'alignment',
|
||||
'horizontalLine',
|
||||
'|',
|
||||
'imageUpload',
|
||||
'imageInsert',
|
||||
'blockQuote',
|
||||
'insertTable',
|
||||
'mediaEmbed',
|
||||
'undo',
|
||||
'redo',
|
||||
'|',
|
||||
'codeBlock',
|
||||
'exportPdf',
|
||||
'htmlEmbed',
|
||||
'exportWord',
|
||||
'highlight'
|
||||
]
|
||||
},
|
||||
language: 'de',
|
||||
image: {
|
||||
toolbar: [
|
||||
'imageTextAlternative',
|
||||
'|',
|
||||
'imageStyle:full',
|
||||
'imageStyle:side',
|
||||
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
||||
'|',
|
||||
'imageResize',
|
||||
]
|
||||
},
|
||||
table: {
|
||||
contentToolbar: [
|
||||
'tableColumn',
|
||||
'tableRow',
|
||||
'mergeTableCells'
|
||||
]
|
||||
},
|
||||
licenseKey: '',
|
||||
|
||||
} )
|
||||
.then( editor => {
|
||||
window.editor = editor;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} )
|
||||
.catch( error => {
|
||||
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.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
||||
console.error( error );
|
||||
} );
|
||||
</script>
|
||||
```
|
||||
|
||||
## mailto
|
||||
```
|
||||
<span class="mailto">mail@<span style="display:none;">no-thx-</span>server.de</span
|
||||
<script src="/cssjs/mailto.js"></script>
|
||||
```
|
||||
# cssjs\_func\_lib
|
||||
git submodule add https://git.seemsleg.it/pub/cssjs-func-lib cssjs
|
||||
|
||||
## install
|
||||
|
||||
```
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/admin.css" media="screen" />
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery-ui.min.css" media="screen" />
|
||||
|
||||
<script src="/cssjs/jquery.min.js"></script>
|
||||
<script src="/cssjs/jquery-ui.min.js"></script>
|
||||
<script src="/cssjs/form.js"></script>
|
||||
```
|
||||
|
||||
## Dropzone
|
||||
```
|
||||
<form action="/upload" class="dropzone needsclick dz-clickable" id="demo-upload">
|
||||
<div class="dz-message needsclick">
|
||||
<button type="button" class="dz-button">Drop files here or click to upload.</button><br>
|
||||
<span class="note needsclick">(This is just a demo dropzone. Selected files are <strong>not</strong> actually uploaded.)</span>
|
||||
</div>
|
||||
</form>
|
||||
```
|
||||
|
||||
## Parallax
|
||||
```
|
||||
<link rel="stylesheet" href="/css/parallax.css">
|
||||
|
||||
...
|
||||
|
||||
<div class="parallax" style="background-image: url(img);"> </div>
|
||||
```
|
||||
|
||||
## Divs anordnen
|
||||
```
|
||||
<script src="/cssjs/masonry.pkgd.min.js"></script>
|
||||
|
||||
<div class="grid">
|
||||
<div class="grid-item">...</div>
|
||||
<div class="grid-item grid-item--width2">...</div>
|
||||
<div class="grid-item">...</div>
|
||||
...
|
||||
</div>
|
||||
|
||||
.grid-item { width: 200px; }
|
||||
.grid-item--width2 { width: 400px; }
|
||||
```
|
||||
|
||||
## Checkbox Switch
|
||||
```
|
||||
<link rel="stylesheet" href="/cssjs/switch.css">
|
||||
|
||||
<input type="checkbox" class="switch" name="publish" id="checkPub" value="1" ' . ($data ['publish'] ? 'checked="true"' : '') . ' /><label for="checkPub"></label>
|
||||
```
|
||||
|
||||
## DateTimePicker
|
||||
```
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery-ui.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/jquery.datetimepicker.min.css">
|
||||
|
||||
<script src="/cssjs/jquery-ui.min.js"></script>
|
||||
<script src="/cssjs/jquery.datetimepicker.full.min.js"></script>
|
||||
|
||||
<script>
|
||||
jQuery(\'.datetime\').datetimepicker({
|
||||
format:\'d.m.Y H:i\',
|
||||
step:30,
|
||||
onShow:function( ct ){
|
||||
},
|
||||
timepicker:true
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
## textarea autoheight
|
||||
```
|
||||
<textarea style="max-height: 300px;" class="autoheight"></textarea>
|
||||
|
||||
<script src='/cssjs/autosize.js'></script>
|
||||
<script>
|
||||
autosize(document.querySelectorAll('textarea.autoheight'));
|
||||
</script>
|
||||
```
|
||||
|
||||
## Copy to Clipboard
|
||||
```
|
||||
<script src='/cssjs/copy-to-clipboard.js'></script>
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/copy-to-clipboard.css">
|
||||
|
||||
<div class="copy-to-clipboard">
|
||||
<input type="text" readonly="true" value="blablabla" id="copy-to-clipboard" onclick=" copyToClipboard('copy-to-clipboard');copiedToClipboard('copy-to-clipboard-tooltip');return false;" onmouseout="resetClipboard('copy-to-clipboard-tooltip')">
|
||||
<span class="tooltiptext" id="copy-to-clipboard-tooltip">Kopieren</span>
|
||||
</div>
|
||||
```
|
||||
|
||||
## WYSIWYG (old)
|
||||
```
|
||||
<link rel="stylesheet" type="text/css" href="/cssjs/wysiwyg.css">
|
||||
...
|
||||
<div class="wysiwyg"></div>
|
||||
...
|
||||
<script src='/cssjs/wysiwyg.js'></script>
|
||||
```
|
||||
|
||||
## Cookiebanner
|
||||
```
|
||||
<link href="/cssjs/cookiebanner.css" rel="stylesheet">
|
||||
<script>
|
||||
var cookiebanner_cookie = 'cookieallowed';
|
||||
var cookiebanner_text = 'Dies ist ein Fanprojekt, wir haben keinerlei offizielle Beziehung zu CIG oder deren Produkten. '+
|
||||
'Notwendige Cookies helfen dabei, eine Webseite nutzbar zu machen, indem sie Grundfunktionen wie Seitennavigation und Zugriff auf sichere Bereiche der Webseite ermöglichen. Die Webseite kann ohne diese Cookies nicht richtig funktionieren. '+
|
||||
' Statistik-Cookies helfen Webseiten-Besitzern zu verstehen, wie Besucher mit Webseiten interagieren, indem Informationen anonym gesammelt und gemeldet werden. '+
|
||||
'Dürfen Cookies gesetzt werden, um weitere Informationen zu erfassen?';
|
||||
</script>
|
||||
<script src="/cssjs/cookiebanner.js"></script>
|
||||
```
|
||||
|
||||
## ckEditor5
|
||||
```
|
||||
<script src="/cssjs/ckeditor.js"></script>
|
||||
|
||||
<script>ClassicEditor
|
||||
.create( document.querySelector( '.editor' ), {
|
||||
|
||||
toolbar: {
|
||||
items: [
|
||||
'heading',
|
||||
'|',
|
||||
'bold',
|
||||
'italic',
|
||||
'underline',
|
||||
'link',
|
||||
'removeFormat',
|
||||
'fontSize',
|
||||
'fontFamily',
|
||||
'|',
|
||||
'bulletedList',
|
||||
'numberedList',
|
||||
'todoList',
|
||||
'|',
|
||||
'indent',
|
||||
'outdent',
|
||||
'alignment',
|
||||
'horizontalLine',
|
||||
'|',
|
||||
'imageUpload',
|
||||
'imageInsert',
|
||||
'blockQuote',
|
||||
'insertTable',
|
||||
'mediaEmbed',
|
||||
'undo',
|
||||
'redo',
|
||||
'|',
|
||||
'codeBlock',
|
||||
'exportPdf',
|
||||
'htmlEmbed',
|
||||
'exportWord',
|
||||
'highlight'
|
||||
]
|
||||
},
|
||||
language: 'de',
|
||||
image: {
|
||||
toolbar: [
|
||||
'imageTextAlternative',
|
||||
'|',
|
||||
'imageStyle:full',
|
||||
'imageStyle:side',
|
||||
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
||||
'|',
|
||||
'imageResize',
|
||||
]
|
||||
},
|
||||
table: {
|
||||
contentToolbar: [
|
||||
'tableColumn',
|
||||
'tableRow',
|
||||
'mergeTableCells'
|
||||
]
|
||||
},
|
||||
licenseKey: '',
|
||||
|
||||
} )
|
||||
.then( editor => {
|
||||
window.editor = editor;
|
||||
} )
|
||||
.catch( error => {
|
||||
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.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
||||
console.error( error );
|
||||
} );
|
||||
</script>
|
||||
```
|
||||
|
||||
Heading
|
||||
```
|
||||
...
|
||||
heading: {
|
||||
options: [
|
||||
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
||||
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
|
||||
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
|
||||
]
|
||||
}
|
||||
...
|
||||
```
|
||||
|
||||
## mailto
|
||||
```
|
||||
<span class="mailto">mail@<span style="display:none;">no-thx-</span>server.de</span
|
||||
<script src="/cssjs/mailto.js"></script>
|
||||
```
|
||||
|
||||
## ajax-Feedback
|
||||
```
|
||||
<script src="/cssjs/feedback.js">
|
||||
... onclick="return ajaxFeedback(this,'ajax.php','margin-top:300px;');" ...
|
||||
```
|
||||
|
||||
## grid divs in mehreren reihen
|
||||
```
|
||||
<link href="/cssjs/grid.css" rel="stylesheet">
|
||||
|
||||
|
||||
<div class="grid-container">
|
||||
<section>...</section>
|
||||
<section>...</section>
|
||||
<section>...</section>
|
||||
</div>
|
||||
```
|
||||
|
||||
## tablefilter
|
||||
```
|
||||
<script src="/cssjs/tablefilter.min.js">
|
||||
|
||||
Suche: <input type="text" onkeyup="myFilter()" id="suchstr" />
|
||||
|
||||
<div class="list" id="suchlist">
|
||||
<div class="row">a</row>
|
||||
<div class="row">b</row>
|
||||
<div class="row">c</row>
|
||||
</div>
|
||||
```
|
||||
|
||||
## back to Top Button
|
||||
```
|
||||
<link href="/cssjs/backtotop.min.css" rel="stylesheet">
|
||||
...
|
||||
<script src="/cssjs/backtotop.min.js"></script>
|
||||
```
|
||||
|
||||
## problem melden
|
||||
einfach ans ende der seite, rest macht das script
|
||||
```
|
||||
<body data-feedbackstyle="default|dark">
|
||||
...
|
||||
<script src="/cssjs/flag.js"></script>
|
||||
<link rel="stylesheet" href="/cssjs/flag.css">
|
||||
</body>
|
||||
```
|
||||
|
||||
## js error sammler
|
||||
in den header, am besten vor allen anderen js
|
||||
```
|
||||
<script src="/cssjs/js-error-logger.min.js"></script>
|
||||
```
|
||||
|
||||
## Fader
|
||||
```
|
||||
<link rel="stylesheet" href="/cssjs/fade.min.css" />
|
||||
|
||||
<div class="fadeable">...</div>
|
||||
```
|
||||
|
||||
zum ein und ausfaden einfach die class "visible" hinzufügen oder entfernen
|
||||
|
||||
## Ajax ToolTip
|
||||
benötigt "Fader"
|
||||
|
||||
```
|
||||
<link rel="stylesheet" href="/cssjs/itooltip.min.css" />
|
||||
...
|
||||
|
||||
<a href="bla" class="itooltip" data-url="tooltip-url">blub</a>
|
||||
|
||||
...
|
||||
<script src="/cssjs/itooltip.min.js"></script>
|
||||
|
||||
```
|
||||
|
||||
## Logit alternative zu matomo
|
||||
```
|
||||
<!-- logit -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
_paq.push(["disableCookies"]);
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
var u="https://log.seemsleg.it/";
|
||||
_paq.push(['setTrackerUrl', u+'logit']);
|
||||
_paq.push(['setSiteId', '10']);
|
||||
</script>
|
||||
<script src="/cssjs/logit.min.js"></script>
|
||||
<noscript><p><img src="https://log.seemsleg.it/logit?idsite=10&rec=1" style="border:0;" alt="" /></p></noscript>
|
||||
<!-- End logit -->
|
||||
```
|
||||
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.
|
||||
64
admin.css
64
admin.css
@ -1,31 +1,35 @@
|
||||
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 white;
|
||||
}
|
||||
|
||||
.hover:hover {
|
||||
border: 1px solid black;
|
||||
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 white;
|
||||
}
|
||||
|
||||
.hover:hover {
|
||||
border: 1px solid black;
|
||||
}
|
||||
1
admin.min.css
vendored
Normal file
1
admin.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
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}
|
||||
10
autosize.js
Normal file
10
autosize.js
Normal file
@ -0,0 +1,10 @@
|
||||
function autosize(tx) {
|
||||
for (let i = 0; i < tx.length; i++) {
|
||||
tx[i].setAttribute("style", "height:" + (tx[i].scrollHeight) + "px;overflow-y:hidden;");
|
||||
tx[i].addEventListener("input", OnInputAutoSize, false);
|
||||
}
|
||||
}
|
||||
function OnInputAutoSize() {
|
||||
this.style.height = "auto";
|
||||
this.style.height = (this.scrollHeight) + "px";
|
||||
}
|
||||
2
autosize.min.js
vendored
Normal file
2
autosize.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
function autosize(tx){for(let i=0;i<tx.length;i++)tx[i].setAttribute("style","height:"+tx[i].scrollHeight+"px;overflow-y:hidden;"),tx[i].addEventListener("input",OnInputAutoSize,!1)}function OnInputAutoSize(){this.style.height="auto",this.style.height=this.scrollHeight+"px"}
|
||||
//# sourceMappingURL=autosize.min.js.map
|
||||
20
autosize.min.js.map
Normal file
20
autosize.min.js.map
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"autosize.js"
|
||||
],
|
||||
"names": [
|
||||
"autosize",
|
||||
"tx",
|
||||
"i",
|
||||
"length",
|
||||
"setAttribute",
|
||||
"addEventListener",
|
||||
"OnInputAutoSize",
|
||||
"this",
|
||||
"style",
|
||||
"height"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,SAASC,IAChB,IAAK,IAAIC,EAAI,EAAGA,EAAID,GAAGE,OAAQD,IAC7BD,GAAGC,GAAGE,aAAa,QAAS,UAAaH,GAAGC,GAAe,aAAI,yBAC/DD,GAAGC,GAAGG,iBAAiB,QAASC,iBAAiB,GAGrD,SAASA,kBACPC,KAAKC,MAAMC,OAAS,OACpBF,KAAKC,MAAMC,OAAUF,KAAiB,aAAI",
|
||||
"file": "autosize.js"
|
||||
}
|
||||
24
backtotop.css
Normal file
24
backtotop.css
Normal file
@ -0,0 +1,24 @@
|
||||
#back_to_top {
|
||||
position: fixed;
|
||||
bottom: 40px;
|
||||
right: 40px;
|
||||
z-index: 9999;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
background: #f5f5f5;
|
||||
color: #444;
|
||||
cursor: pointer;
|
||||
border-radius: 15px;
|
||||
padding-top: 4px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#back_to_top:hover {
|
||||
background: #e9ebec;
|
||||
}
|
||||
|
||||
#back_to_top.back_to_top-show {
|
||||
display: block;
|
||||
}
|
||||
30
backtotop.js
Normal file
30
backtotop.js
Normal file
@ -0,0 +1,30 @@
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function trackScroll() {
|
||||
var scrolled = window.pageYOffset;
|
||||
var coords = document.documentElement.clientHeight;
|
||||
|
||||
if (scrolled > coords) {
|
||||
goTopBtn.classList.add('back_to_top-show');
|
||||
}
|
||||
if (scrolled < coords) {
|
||||
goTopBtn.classList.remove('back_to_top-show');
|
||||
}
|
||||
}
|
||||
|
||||
function backToTop() {
|
||||
if (window.pageYOffset > 0) {
|
||||
window.scrollBy(0, -30);
|
||||
setTimeout(backToTop, 0);
|
||||
}
|
||||
}
|
||||
|
||||
var goTopBtn = document.createElement("div");
|
||||
goTopBtn.id = 'back_to_top';
|
||||
goTopBtn.innerHTML = 'UP';
|
||||
document.body.appendChild(goTopBtn);
|
||||
|
||||
window.addEventListener('scroll', trackScroll);
|
||||
goTopBtn.addEventListener('click', backToTop);
|
||||
})();
|
||||
1
backtotop.min.css
vendored
Normal file
1
backtotop.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
#back_to_top{position:fixed;bottom:40px;right:40px;z-index:9999;width:30px;height:30px;text-align:center;line-height:30px;background:#f5f5f5;color:#444;cursor:pointer;border-radius:15px;padding-top:4px;display:none}#back_to_top:hover{background:#e9ebec}#back_to_top.back_to_top-show{display:block}
|
||||
2
backtotop.min.js
vendored
Normal file
2
backtotop.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function(){"use strict";function trackScroll(){var scrolled=window.pageYOffset,coords=document.documentElement.clientHeight;scrolled>coords&&goTopBtn.classList.add("back_to_top-show"),scrolled<coords&&goTopBtn.classList.remove("back_to_top-show")}function backToTop(){window.pageYOffset>0&&(window.scrollBy(0,-30),setTimeout(backToTop,0))}var goTopBtn=document.createElement("div");goTopBtn.id="back_to_top",goTopBtn.innerHTML="UP",document.body.appendChild(goTopBtn),window.addEventListener("scroll",trackScroll),goTopBtn.addEventListener("click",backToTop)}();
|
||||
//# sourceMappingURL=backtotop.min.js.map
|
||||
31
backtotop.min.js.map
Normal file
31
backtotop.min.js.map
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"backtotop.js"
|
||||
],
|
||||
"names": [
|
||||
"trackScroll",
|
||||
"scrolled",
|
||||
"window",
|
||||
"pageYOffset",
|
||||
"coords",
|
||||
"document",
|
||||
"documentElement",
|
||||
"clientHeight",
|
||||
"goTopBtn",
|
||||
"classList",
|
||||
"add",
|
||||
"remove",
|
||||
"backToTop",
|
||||
"scrollBy",
|
||||
"setTimeout",
|
||||
"createElement",
|
||||
"id",
|
||||
"innerHTML",
|
||||
"body",
|
||||
"appendChild",
|
||||
"addEventListener"
|
||||
],
|
||||
"mappings": "CAAA,WACE,aAEA,SAASA,cACP,IAAIC,SAAWC,OAAOC,YAClBC,OAASC,SAASC,gBAAgBC,aAElCN,SAAWG,QACbI,SAASC,UAAUC,IAAI,oBAErBT,SAAWG,QACbI,SAASC,UAAUE,OAAO,oBAI9B,SAASC,YACHV,OAAOC,YAAc,IACvBD,OAAOW,SAAS,GAAI,IACpBC,WAAWF,UAAW,IAI1B,IAAIJ,SAAWH,SAASU,cAAc,OACtCP,SAASQ,GAAK,cACdR,SAASS,UAAY,KACrBZ,SAASa,KAAKC,YAAYX,UAE1BN,OAAOkB,iBAAiB,SAAUpB,aAClCQ,SAASY,iBAAiB,QAASR,WA5BrC",
|
||||
"file": "backtotop.js"
|
||||
}
|
||||
11266
bootstrap.css
vendored
Normal file
11266
bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5046
bootstrap.js
vendored
Normal file
5046
bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
13
bootstrap.min.css
vendored
13
bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
1
bootstrap.min.css.map
Normal file
1
bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
8
bootstrap.min.js
vendored
8
bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
1008
bootstrap.min.js.map
Normal file
1008
bootstrap.min.js.map
Normal file
File diff suppressed because one or more lines are too long
6
ckeditor.min.js
vendored
Normal file
6
ckeditor.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4639
ckeditor.min.js.map
Normal file
4639
ckeditor.min.js.map
Normal file
File diff suppressed because one or more lines are too long
15
cookiebanner.css
Normal file
15
cookiebanner.css
Normal file
@ -0,0 +1,15 @@
|
||||
#cookiebanner {
|
||||
margin: 0px;
|
||||
padding: 6px;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
z-index: 9;
|
||||
}
|
||||
#cookiebanner button {
|
||||
margin-left: 6px;
|
||||
}
|
||||
35
cookiebanner.js
Normal file
35
cookiebanner.js
Normal file
@ -0,0 +1,35 @@
|
||||
function setCookiebannerCookie(val) {
|
||||
document.cookie = cookiebanner_cookie +"="+val+"; expires=Fry, 01 Jan 2038 00:00:00 UTC; path=/;";
|
||||
document.getElementById('cookiebanner').remove();
|
||||
}
|
||||
|
||||
(function() {
|
||||
function getCookie(name) {
|
||||
const value = `; ${document.cookie}`;
|
||||
const parts = value.split(`; ${name}=`);
|
||||
if (parts.length === 2)
|
||||
return parts.pop().split(';').shift();
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
if(!getCookie(cookiebanner_cookie)) {
|
||||
var cookiebanner = document.createElement('div');
|
||||
cookiebanner.setAttribute('id','cookiebanner');
|
||||
cookiebanner.append(document.createTextNode(cookiebanner_text));
|
||||
cookiebanner.append(document.createElement('br'));
|
||||
|
||||
var ack = document.createElement('button');
|
||||
ack.setAttribute('onclick','setCookiebannerCookie("ok");');
|
||||
ack.append(document.createTextNode('Ja'));
|
||||
cookiebanner.append(ack);
|
||||
|
||||
var nak = document.createElement('button');
|
||||
nak.setAttribute('onclick','setCookiebannerCookie("nope");');
|
||||
nak.append(document.createTextNode('Nein'));
|
||||
cookiebanner.append(nak);
|
||||
|
||||
document.body.appendChild(cookiebanner);
|
||||
}
|
||||
})();
|
||||
1
cookiebanner.min.css
vendored
Normal file
1
cookiebanner.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
#cookiebanner{margin:0;padding:6px;position:fixed;bottom:0;left:0;background-color:#000;color:#fff;text-align:center;width:100%;z-index:9}#cookiebanner button{margin-left:6px}
|
||||
2
cookiebanner.min.js
vendored
Normal file
2
cookiebanner.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
function setCookiebannerCookie(val){document.cookie=cookiebanner_cookie+"="+val+"; expires=Fry, 01 Jan 2038 00:00:00 UTC; path=/;",document.getElementById("cookiebanner").remove()}!function(){function getCookie(name){const value=`; ${document.cookie}`,parts=value.split(`; ${name}=`);return 2===parts.length&&parts.pop().split(";").shift()}if(!getCookie(cookiebanner_cookie)){var cookiebanner=document.createElement("div");cookiebanner.setAttribute("id","cookiebanner"),cookiebanner.append(document.createTextNode(cookiebanner_text)),cookiebanner.append(document.createElement("br"));var ack=document.createElement("button");ack.setAttribute("onclick",'setCookiebannerCookie("ok");'),ack.append(document.createTextNode("Ja")),cookiebanner.append(ack);var nak=document.createElement("button");nak.setAttribute("onclick",'setCookiebannerCookie("nope");'),nak.append(document.createTextNode("Nein")),cookiebanner.append(nak),document.body.appendChild(cookiebanner)}}();
|
||||
//# sourceMappingURL=cookiebanner.min.js.map
|
||||
35
cookiebanner.min.js.map
Normal file
35
cookiebanner.min.js.map
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"cookiebanner.js"
|
||||
],
|
||||
"names": [
|
||||
"setCookiebannerCookie",
|
||||
"val",
|
||||
"document",
|
||||
"cookie",
|
||||
"cookiebanner_cookie",
|
||||
"getElementById",
|
||||
"remove",
|
||||
"getCookie",
|
||||
"name",
|
||||
"value",
|
||||
"parts",
|
||||
"split",
|
||||
"length",
|
||||
"pop",
|
||||
"shift",
|
||||
"cookiebanner",
|
||||
"createElement",
|
||||
"setAttribute",
|
||||
"append",
|
||||
"createTextNode",
|
||||
"cookiebanner_text",
|
||||
"ack",
|
||||
"nak",
|
||||
"body",
|
||||
"appendChild"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,sBAAsBC,KAC7BC,SAASC,OAASC,oBAAqB,IAAIH,IAAI,mDAC/CC,SAASG,eAAe,gBAAgBC,UAG1C,WACE,SAASC,UAAUC,MACjB,MAAMC,MAAQ,KAAKP,SAASC,SACtBO,MAAQD,MAAME,MAAM,KAAKH,SAC/B,OAAqB,IAAjBE,MAAME,QACDF,MAAMG,MAAMF,MAAM,KAAKG,QAMlC,IAAIP,UAAUH,qBAAsB,CAClC,IAAIW,aAAeb,SAASc,cAAc,OAC1CD,aAAaE,aAAa,KAAK,gBAC/BF,aAAaG,OAAOhB,SAASiB,eAAeC,oBAC5CL,aAAaG,OAAOhB,SAASc,cAAc,OAE3C,IAAIK,IAAMnB,SAASc,cAAc,UACjCK,IAAIJ,aAAa,UAAU,gCAC3BI,IAAIH,OAAOhB,SAASiB,eAAe,OACnCJ,aAAaG,OAAOG,KAEpB,IAAIC,IAAMpB,SAASc,cAAc,UACjCM,IAAIL,aAAa,UAAU,kCAC3BK,IAAIJ,OAAOhB,SAASiB,eAAe,SACnCJ,aAAaG,OAAOI,KAEpBpB,SAASqB,KAAKC,YAAYT,eA3B9B",
|
||||
"file": "cookiebanner.js"
|
||||
}
|
||||
@ -1,35 +1,35 @@
|
||||
.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 transparent;
|
||||
}
|
||||
|
||||
.copy-to-clipboard:hover .tooltiptext {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
@ -9,6 +9,15 @@ function copyToClipboard(id) {
|
||||
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) {
|
||||
var tooltip = document.getElementById(id);
|
||||
tooltip.innerHTML = "Kopiert";
|
||||
|
||||
1
copy-to-clipboard.min.css
vendored
Normal file
1
copy-to-clipboard.min.css
vendored
Normal file
@ -0,0 +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}
|
||||
1
copy-to-clipboard.min.js
vendored
Normal file
1
copy-to-clipboard.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
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"}
|
||||
22
copy-to-clipboard.min.js.map
Normal file
22
copy-to-clipboard.min.js.map
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"copy-to-clipboard.js"
|
||||
],
|
||||
"names": [
|
||||
"copyToClipboard",
|
||||
"id",
|
||||
"copyText",
|
||||
"document",
|
||||
"getElementById",
|
||||
"select",
|
||||
"setSelectionRange",
|
||||
"execCommand",
|
||||
"copiedToClipboard",
|
||||
"tooltip",
|
||||
"innerHTML",
|
||||
"resetClipboard"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,gBAAgBC,IACvB,IAAIC,SAAWC,SAASC,eAAeH,IAGvCC,SAASG,SACTH,SAASI,kBAAkB,EAAG,OAG9BH,SAASI,YAAY,QAGvB,SAASC,kBAAkBP,IACzB,IAAIQ,QAAUN,SAASC,eAAeH,IAC9BS,UAAY,UAGtB,SAASC,eAAeV,IACtB,IAAIQ,QAAUN,SAASC,eAAeH,IAC9BS,UAAY",
|
||||
"file": "copy-to-clipboard.js"
|
||||
}
|
||||
1
dropzone.min.css
vendored
Normal file
1
dropzone.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dropzone.min.js
vendored
Normal file
2
dropzone.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
467
dropzone.min.js.map
Normal file
467
dropzone.min.js.map
Normal file
File diff suppressed because one or more lines are too long
10
fade.css
Normal file
10
fade.css
Normal file
@ -0,0 +1,10 @@
|
||||
.fadeable {
|
||||
opacity: 0;
|
||||
margin-top: -30px;
|
||||
transition: margin-top 0.2s,opacity 0.2s;
|
||||
}
|
||||
|
||||
.fadeable.visible {
|
||||
opacity: 1;
|
||||
margin-top: 0;
|
||||
}
|
||||
1
fade.min.css
vendored
Normal file
1
fade.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.fadeable{opacity:0;margin-top:-30px;transition:margin-top .2s,opacity .2s}.fadeable.visible{opacity:1;margin-top:0}
|
||||
172
feedback.js
Normal file
172
feedback.js
Normal file
@ -0,0 +1,172 @@
|
||||
function ajaxFeedback(e,url,css) {
|
||||
$.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 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) {
|
||||
var formData = {}
|
||||
$(f).each(function(i, obj) {
|
||||
formData[obj.name] = obj.value
|
||||
obj.disabled = true;
|
||||
});
|
||||
e.disabled = true;
|
||||
$.ajax({
|
||||
url: url,
|
||||
data: formData,
|
||||
method: "POST",
|
||||
success: function(res) {
|
||||
if(res =='success') {
|
||||
successMarker(e,css);
|
||||
setTimeout(function() {
|
||||
$(f).each(function(i, obj) {
|
||||
obj.disabled = false;
|
||||
if($(obj).attr('type') != 'hidden') {
|
||||
obj.value = '';
|
||||
}
|
||||
});
|
||||
e.disabled = false;
|
||||
},5000)
|
||||
return;
|
||||
}else{
|
||||
if(res =='warn') {
|
||||
warnMarker(e,css);
|
||||
setTimeout(function() {
|
||||
$(f).each(function(i, obj) {
|
||||
obj.disabled = false;
|
||||
if($(obj).attr('type') != 'hidden') {
|
||||
obj.value = '';
|
||||
}
|
||||
});
|
||||
e.disabled = false;
|
||||
},5000)
|
||||
return;
|
||||
}else{
|
||||
errorMarker(e,css);
|
||||
setTimeout(function() {
|
||||
$(f).each(function(i, obj) {
|
||||
obj.disabled = false;
|
||||
if($(obj).attr('type') != 'hidden') {
|
||||
obj.value = '';
|
||||
}
|
||||
});
|
||||
e.disabled = false;
|
||||
},5000)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (res,err) {
|
||||
errorMarker(e,css);
|
||||
setTimeout(function() {
|
||||
$(f).each(function(i, obj) {
|
||||
obj.disabled = false;
|
||||
if($(obj).attr('type') != 'hidden') {
|
||||
obj.value = '';
|
||||
}
|
||||
});
|
||||
e.disabled = false;
|
||||
},5000)
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function getCoords(e) {
|
||||
var p = {};
|
||||
p.x = e.offsetLeft;
|
||||
p.y = e.offsetTop;
|
||||
while (e.offsetParent) {
|
||||
p.x = p.x + e.offsetParent.offsetLeft;
|
||||
p.y = p.y + e.offsetParent.offsetTop;
|
||||
if (e == document.getElementsByTagName("body")[0]) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
e = e.offsetParent;
|
||||
}
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
function successMarker(e,css) {
|
||||
var p = getCoords(e);
|
||||
|
||||
var cursorX = p.x
|
||||
var cursorY = p.y
|
||||
//console.log('OK',cursorX,cursorY);
|
||||
|
||||
o = $('<div style="position: absolute; top:'+cursorY+'px; left: '+ cursorX +'px; width: 40px; height: 40px; z-index: 999; fill: green; pointer-events: none;'+css+'"><svg version="1.1" style="-webkit-filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9)); filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9));" x="0px" y="0px" viewBox="0 0 1000 1000" xml:space="preserve"><g><path d="M959.4,469.4c-16.9,0-30.6,13.7-30.6,30.6c0,236.4-192.3,428.7-428.7,428.7S71.3,736.4,71.3,500C71.3,263.6,263.6,71.3,500,71.3c93.7,0,182.7,29.7,257.4,85.8c13.5,10.2,32.7,7.4,42.9-6.1c10.2-13.5,7.4-32.7-6.1-42.8C708.8,43.9,607.1,10,500,10C229.8,10,10,229.8,10,500c0,270.2,219.8,490,490,490s490-219.8,490-490C990,483.1,976.3,469.4,959.4,469.4z"/><path d="M215.4,447.7c-12-12-31.3-12-43.3,0c-12,12-12,31.3,0,43.3l245,245c6,6,13.8,9,21.7,9c7.8,0,15.7-3,21.7-9L981,215.4c12-12,12-31.3,0-43.3c-12-12-31.3-12-43.3,0l-499,499L215.4,447.7z"/></g></svg></div>');
|
||||
$( "body" ).append( o );
|
||||
$(o).fadeOut(5000);
|
||||
}
|
||||
|
||||
function warnMarker(e,css) {
|
||||
var p = getCoords(e);
|
||||
|
||||
var cursorX = p.x
|
||||
var cursorY = p.y
|
||||
//console.log('WARN',cursorX,cursorY);
|
||||
|
||||
o = $('<div style="position: absolute; top:'+cursorY+'px; left: '+ cursorX +'px; width: 40px; height: 40px; fill: #ff0; z-index: 999; pointer-events: none;'+css+'"><svg version="1.1" style="-webkit-filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9)); filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9));" x="0px" y="0px" viewBox="0 0 100 125"><g transform="translate(0,-952.36218)"><path style="text-indent:0;text-transform:none;direction:ltr;block-progression:tb;baseline-shift:baseline;color:#000000;enable-background:accumulate;" d="m 49.999548,962.36215 c -2.77446,0 -5.29918,1.3853 -6.71875,3.7812 L 5.0307975,1030.7997 c -1.41991,2.4028 -1.39108,5.3495 0.0312,7.75 1.27219,2.1453 3.65785,3.8194 6.4374995,3.8125 l 77.000001,0 c 2.77928,0.01 5.16552,-1.6676 6.4375,-3.8125 1.42362,-2.4007 1.45245,-5.347 0.0312,-7.75 l -38.25,-64.65635 c -1.41947,-2.3959 -3.94419,-3.7812 -6.71865,-3.7812 z m 0,6 c 0.56422,0 1.30991,0.4174 1.5625,0.8438 l 38.21875,64.65625 c 0.25251,0.427 0.25314,1.1981 0,1.625 -0.40478,0.6826 -0.71493,0.8764 -1.28125,0.875 l -77.000001,0 c -0.56593,10e-4 -0.8767,-0.1928 -1.28125,-0.875 -0.2530395,-0.427 -0.2524095,-1.1979 0,-1.625 l 38.218751,-64.65625 c 0.25257,-0.4263 0.99828,-0.8438 1.5625,-0.8438 z m 0,16 c -3.31371,0 -6,2.6863 -6,6 l 1,22.00005 c 0,2.7614 2.23857,5 5,5 2.76143,0 5,-2.2386 5,-5 l 1,-22.00005 c 0,-3.3137 -2.68629,-6 -6,-6 z m 0,35.00005 c -3.86598,0 -7,3.134 -7,7 0,3.8659 3.13402,7 7,7 3.86598,0 7,-3.1341 7,-7 0,-3.866 -3.13402,-7 -7,-7 z" /></g></svg></div>');
|
||||
$( "body" ).append( o );
|
||||
$(o).fadeOut(5000);
|
||||
}
|
||||
|
||||
function errorMarker(e,css) {
|
||||
var p = getCoords(e);
|
||||
|
||||
var cursorX = p.x
|
||||
var cursorY = p.y
|
||||
//console.log('ERR',cursorX,cursorY);
|
||||
|
||||
o = $('<div style="position: absolute; top:'+cursorY+'px; left: '+ cursorX +'px; width: 40px; height: 40px; fill: red; z-index: 999; pointer-events: none;'+css+'"><svg version="1.0" style="-webkit-filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9)); filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .9));" x="0px" y="0px" viewBox="0 0 100 125" xml:space="preserve"><g><path fill="#000000" d="M50,14.996c-19.333,0-35.004,15.671-35.004,35.004c0,19.332,15.671,35.004,35.004,35.004 c19.332,0,35.004-15.672,35.004-35.004C85.004,30.667,69.332,14.996,50,14.996z M50,79.004c-15.993,0-29.004-13.012-29.004-29.004 c0-15.993,13.011-29.004,29.004-29.004c15.992,0,29.004,13.011,29.004,29.004C79.004,65.992,65.992,79.004,50,79.004z"/><polygon fill="#000000" points="70.578,36.423 63.578,29.419 50,42.998 36.421,29.419 29.421,36.423 43,50.002 29.421,63.576 36.421,70.58 50,57.002 63.578,70.58 70.578,63.576 57.004,50.002 "/></g></svg></div>');
|
||||
$( "body" ).append( o );
|
||||
$(o).fadeOut(5000);
|
||||
}
|
||||
1
feedback.min.js
vendored
Normal file
1
feedback.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
50
feedback.min.js.map
Normal file
50
feedback.min.js.map
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"feedback.js"
|
||||
],
|
||||
"names": [
|
||||
"ajaxFeedback",
|
||||
"e",
|
||||
"url",
|
||||
"css",
|
||||
"$",
|
||||
"ajax",
|
||||
"success",
|
||||
"res",
|
||||
"successMarker",
|
||||
"warnMarker",
|
||||
"errorMarker",
|
||||
"error",
|
||||
"err",
|
||||
"formFeedback",
|
||||
"f",
|
||||
"formData",
|
||||
"each",
|
||||
"i",
|
||||
"obj",
|
||||
"name",
|
||||
"value",
|
||||
"disabled",
|
||||
"data",
|
||||
"method",
|
||||
"setTimeout",
|
||||
"attr",
|
||||
"getCoords",
|
||||
"p",
|
||||
"x",
|
||||
"offsetLeft",
|
||||
"y",
|
||||
"offsetTop",
|
||||
"offsetParent",
|
||||
"document",
|
||||
"getElementsByTagName",
|
||||
"cursorX",
|
||||
"cursorY",
|
||||
"o",
|
||||
"append",
|
||||
"fadeOut"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,aAAaC,EAAEC,IAAIC,KAqB1B,OApBAC,EAAEC,KAAK,CACLH,IAAKA,IACLI,QAAS,SAASC,KAChB,MAAS,WAANA,SACDC,cAAcP,EAAEE,KAGP,QAANI,SACDE,WAAWR,EAAEE,UAGbO,YAAYT,EAAEE,MAKpBQ,MAAO,SAAUJ,IAAIK,KACnBF,YAAYT,EAAEE,SAGX,EAGT,SAASU,aAAaZ,EAAEa,EAAEZ,IAAIC,KAC5B,IAAIY,SAAW,GAgEf,OA/DAX,EAAEU,GAAGE,MAAK,SAASC,EAAGC,KACpBH,SAASG,IAAIC,MAAQD,IAAIE,MACzBF,IAAIG,UAAW,KAEjBpB,EAAEoB,UAAW,EACbjB,EAAEC,KAAK,CACLH,IAAKA,IACLoB,KAAMP,SACNQ,OAAQ,OACRjB,QAAS,SAASC,KAChB,MAAS,WAANA,KACDC,cAAcP,EAAEE,UAChBqB,YAAW,WACTpB,EAAEU,GAAGE,MAAK,SAASC,EAAGC,KACpBA,IAAIG,UAAW,EACW,UAAvBjB,EAAEc,KAAKO,KAAK,UACbP,IAAIE,MAAQ,OAGhBnB,EAAEoB,UAAW,IACb,MAGO,QAANd,KACDE,WAAWR,EAAEE,UACbqB,YAAW,WACXpB,EAAEU,GAAGE,MAAK,SAASC,EAAGC,KACpBA,IAAIG,UAAW,EACW,UAAvBjB,EAAEc,KAAKO,KAAK,UACbP,IAAIE,MAAQ,OAGhBnB,EAAEoB,UAAW,IACb,OAGAX,YAAYT,EAAEE,UACdqB,YAAW,WACXpB,EAAEU,GAAGE,MAAK,SAASC,EAAGC,KACpBA,IAAIG,UAAW,EACW,UAAvBjB,EAAEc,KAAKO,KAAK,UACbP,IAAIE,MAAQ,OAGhBnB,EAAEoB,UAAW,IACb,OAKNV,MAAO,SAAUJ,IAAIK,KACnBF,YAAYT,EAAEE,KACdqB,YAAW,WACTpB,EAAEU,GAAGE,MAAK,SAASC,EAAGC,KACpBA,IAAIG,UAAW,EACW,UAAvBjB,EAAEc,KAAKO,KAAK,UACbP,IAAIE,MAAQ,OAGhBnB,EAAEoB,UAAW,IACb,SAGC,EAGT,SAASK,UAAUzB,GACjB,IAAI0B,EAAI,GAGR,IAFAA,EAAEC,EAAI3B,EAAE4B,WACRF,EAAEG,EAAI7B,EAAE8B,UACD9B,EAAE+B,eACPL,EAAEC,EAAID,EAAEC,EAAI3B,EAAE+B,aAAaH,WAC3BF,EAAEG,EAAIH,EAAEG,EAAI7B,EAAE+B,aAAaD,UACvB9B,GAAKgC,SAASC,qBAAqB,QAAQ,KAI3CjC,EAAIA,EAAE+B,aAGZ,OAAOL,EAGT,SAASnB,cAAcP,EAAEE,KACvB,IAAIwB,EAAID,UAAUzB,GAEdkC,QAAUR,EAAEC,EACZQ,QAAUT,EAAEG,EAGhBO,EAAIjC,EAAE,uCAAuCgC,QAAQ,aAAcD,QAAS,kFAAkFhC,IAAI,uvBAClKC,EAAG,QAASkC,OAAQD,GACpBjC,EAAEiC,GAAGE,QAAQ,KAGf,SAAS9B,WAAWR,EAAEE,KACpB,IAAIwB,EAAID,UAAUzB,GAEdkC,QAAUR,EAAEC,EACZQ,QAAUT,EAAEG,EAGhBO,EAAIjC,EAAE,uCAAuCgC,QAAQ,aAAcD,QAAS,iFAAiFhC,IAAI,k0CACjKC,EAAG,QAASkC,OAAQD,GACpBjC,EAAEiC,GAAGE,QAAQ,KAGf,SAAS7B,YAAYT,EAAEE,KACrB,IAAIwB,EAAID,UAAUzB,GAEdkC,QAAUR,EAAEC,EACZQ,QAAUT,EAAEG,EAGhBO,EAAIjC,EAAE,uCAAuCgC,QAAQ,aAAcD,QAAS,gFAAgFhC,IAAI,8vBAChKC,EAAG,QAASkC,OAAQD,GACpBjC,EAAEiC,GAAGE,QAAQ",
|
||||
"file": "feedback.js"
|
||||
}
|
||||
73
flag.css
Normal file
73
flag.css
Normal file
@ -0,0 +1,73 @@
|
||||
#flag-panel {
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
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: 0px !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,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: 0 auto;
|
||||
margin-top: 1vh;
|
||||
}
|
||||
|
||||
#flag-overlay.closing {
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
|
||||
#flag-iframe.closing {
|
||||
transition: margin 1s ease, width 1s ease, height 1s ease;
|
||||
width: 350px;
|
||||
height: 170px;
|
||||
margin-top: calc(50vh - 50px);
|
||||
overflow: hidden;
|
||||
}
|
||||
133
flag.js
Normal file
133
flag.js
Normal file
@ -0,0 +1,133 @@
|
||||
(function(connector) {
|
||||
'use strict';
|
||||
|
||||
var style = 'default';
|
||||
if(document.body.dataset.feedbackstyle) {
|
||||
style = document.body.dataset.feedbackstyle;
|
||||
}
|
||||
|
||||
var iframe;
|
||||
var flag;
|
||||
var col = 'light';
|
||||
//TODO color css
|
||||
//TODO abbrechen close anders
|
||||
|
||||
var 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);
|
||||
},1000);
|
||||
}
|
||||
|
||||
var openFlag = function(ev, infos=false) {
|
||||
flag = document.createElement('div');
|
||||
document.body.style.overflowY = 'hidden';
|
||||
flag.id = 'flag-overlay';
|
||||
iframe = document.createElement('iframe');
|
||||
iframe.src= '';
|
||||
iframe.name = 'flag-iframe';
|
||||
iframe.id = 'flag-iframe';
|
||||
document.body.appendChild(flag);
|
||||
setTimeout(function() {
|
||||
flag.addEventListener('click',function(){
|
||||
closeFlag();
|
||||
//console.log('close2');
|
||||
});
|
||||
},3000);
|
||||
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;
|
||||
|
||||
/*html2canvas(screenshotTarget).then((canvas) => {
|
||||
const base64image = canvas.toDataURL("image/png");
|
||||
window.location.href = base64image;
|
||||
});*/
|
||||
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'];
|
||||
tmp = tmp.split(':',2);
|
||||
fields[tmp[0]] = tmp[1];
|
||||
}
|
||||
}
|
||||
if(document.referrer) {fields['r'] = document.referrer;}
|
||||
if(window.location.href) {fields['u'] = window.location.href;}
|
||||
if(navigator.userAgent) {fields['a'] = navigator.userAgent;}
|
||||
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) {
|
||||
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();
|
||||
}
|
||||
|
||||
var panel = document.createElement('div');
|
||||
panel.id = 'flag-panel';
|
||||
|
||||
var tab = document.createElement('span');
|
||||
tab.innerHTML = '⚑';
|
||||
tab.addEventListener('mouseenter',function(ev) {
|
||||
if(!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) => {
|
||||
//console.log(event);
|
||||
if(event.data == 'close') {
|
||||
//console.log('close1');
|
||||
closeFlag();
|
||||
}
|
||||
});
|
||||
|
||||
var links = document.getElementsByClassName('flag-link');
|
||||
if(links.length > 0) {
|
||||
for(var l=0;l<links.length;l++) {
|
||||
//console.log(l,links[l]);
|
||||
links[l].addEventListener('click',function(ev) {
|
||||
openFlag(ev,ev.target.dataset);
|
||||
ev.preventDefault();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
panel.appendChild(tab);
|
||||
panel.appendChild(button);
|
||||
|
||||
document.body.appendChild(panel);
|
||||
})('https://troy-grunt.de/feedback');
|
||||
1
flag.min.css
vendored
Normal file
1
flag.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
#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
Normal file
2
flag.min.js
vendored
Normal file
@ -0,0 +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"),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
|
||||
77
flag.min.js.map
Normal file
77
flag.min.js.map
Normal file
@ -0,0 +1,77 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"flag.js"
|
||||
],
|
||||
"names": [
|
||||
"connector",
|
||||
"style",
|
||||
"iframe",
|
||||
"flag",
|
||||
"document",
|
||||
"body",
|
||||
"dataset",
|
||||
"feedbackstyle",
|
||||
"col",
|
||||
"closeFlag",
|
||||
"ev",
|
||||
"classList",
|
||||
"add",
|
||||
"setTimeout",
|
||||
"opacity",
|
||||
"remove",
|
||||
"overflowY",
|
||||
"openFlag",
|
||||
"infos",
|
||||
"createElement",
|
||||
"id",
|
||||
"src",
|
||||
"name",
|
||||
"appendChild",
|
||||
"addEventListener",
|
||||
"form",
|
||||
"action",
|
||||
"target",
|
||||
"method",
|
||||
"screenshotTarget",
|
||||
"fields",
|
||||
"window",
|
||||
"location",
|
||||
"hostname",
|
||||
"datas",
|
||||
"querySelectorAll",
|
||||
"i",
|
||||
"length",
|
||||
"console",
|
||||
"log",
|
||||
"tmp",
|
||||
"split",
|
||||
"referrer",
|
||||
"href",
|
||||
"navigator",
|
||||
"userAgent",
|
||||
"screen",
|
||||
"width",
|
||||
"height",
|
||||
"colorDepth",
|
||||
"f",
|
||||
"inp",
|
||||
"type",
|
||||
"value",
|
||||
"submit",
|
||||
"panel",
|
||||
"tab",
|
||||
"innerHTML",
|
||||
"contains",
|
||||
"toggle",
|
||||
"button",
|
||||
"event",
|
||||
"data",
|
||||
"links",
|
||||
"getElementsByClassName",
|
||||
"l",
|
||||
"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,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"
|
||||
}
|
||||
38
form.js
38
form.js
@ -1,20 +1,20 @@
|
||||
addAutoresize = function() {
|
||||
document.querySelectorAll('[data-autoresize]').forEach(function(element) {
|
||||
element.style.boxSizing = 'border-box';
|
||||
var offset = element.offsetHeight - element.clientHeight;
|
||||
document.addEventListener('input', function(event) {
|
||||
event.target.style.height = 'auto';
|
||||
event.target.style.height = event.target.scrollHeight + offset + 'px';
|
||||
});
|
||||
element.removeAttribute('data-autoresize');
|
||||
});
|
||||
}
|
||||
addAutoresize();
|
||||
|
||||
isset = function(id) {
|
||||
if($('#'+id).val() == ''){
|
||||
alert('Es wurden nicht alle Felder ausgefüllt.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
addAutoresize = function() {
|
||||
document.querySelectorAll('[data-autoresize]').forEach(function(element) {
|
||||
element.style.boxSizing = 'border-box';
|
||||
var offset = element.offsetHeight - element.clientHeight;
|
||||
document.addEventListener('input', function(event) {
|
||||
event.target.style.height = 'auto';
|
||||
event.target.style.height = event.target.scrollHeight + offset + 'px';
|
||||
});
|
||||
element.removeAttribute('data-autoresize');
|
||||
});
|
||||
}
|
||||
addAutoresize();
|
||||
|
||||
isset = function(id) {
|
||||
if($('#'+id).val() == ''){
|
||||
alert('Es wurden nicht alle Felder ausgefüllt.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
2
form.min.js
vendored
Normal file
2
form.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
addAutoresize=function(){document.querySelectorAll("[data-autoresize]").forEach((function(element){element.style.boxSizing="border-box";var offset=element.offsetHeight-element.clientHeight;document.addEventListener("input",(function(event){event.target.style.height="auto",event.target.style.height=event.target.scrollHeight+offset+"px"})),element.removeAttribute("data-autoresize")}))},addAutoresize(),isset=function(id){return""!=$("#"+id).val()||(alert("Es wurden nicht alle Felder ausgefüllt."),!1)};
|
||||
//# sourceMappingURL=form.min.js.map
|
||||
31
form.min.js.map
Normal file
31
form.min.js.map
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"form.js"
|
||||
],
|
||||
"names": [
|
||||
"addAutoresize",
|
||||
"document",
|
||||
"querySelectorAll",
|
||||
"forEach",
|
||||
"element",
|
||||
"style",
|
||||
"boxSizing",
|
||||
"offset",
|
||||
"offsetHeight",
|
||||
"clientHeight",
|
||||
"addEventListener",
|
||||
"event",
|
||||
"target",
|
||||
"height",
|
||||
"scrollHeight",
|
||||
"removeAttribute",
|
||||
"isset",
|
||||
"id",
|
||||
"$",
|
||||
"val",
|
||||
"alert"
|
||||
],
|
||||
"mappings": "AAAAA,cAAgB,WACdC,SAASC,iBAAiB,qBAAqBC,SAAQ,SAASC,SAC9DA,QAAQC,MAAMC,UAAY,aAC1B,IAAIC,OAASH,QAAQI,aAAeJ,QAAQK,aAC5CR,SAASS,iBAAiB,SAAS,SAASC,OAC1CA,MAAMC,OAAOP,MAAMQ,OAAS,OAC5BF,MAAMC,OAAOP,MAAMQ,OAASF,MAAMC,OAAOE,aAAeP,OAAS,QAEnEH,QAAQW,gBAAgB,uBAG5Bf,gBAEAgB,MAAQ,SAASC,IACf,MAAsB,IAAnBC,EAAE,IAAID,IAAIE,QACXC,MAAM,4CACC",
|
||||
"file": "form.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);
|
||||
}
|
||||
2
get_params.min.js
vendored
Normal file
2
get_params.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var getUrlParameter=function getUrlParameter(sParam){var sPageURL,sURLVariables=window.location.search.substring(1).split("&"),sParameterName,i;for(i=0;i<sURLVariables.length;i++)if((sParameterName=sURLVariables[i].split("="))[0]===sParam)return void 0===sParameterName[1]||decodeURIComponent(sParameterName[1]);return!1};
|
||||
//# sourceMappingURL=get_params.min.js.map
|
||||
24
get_params.min.js.map
Normal file
24
get_params.min.js.map
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"get_params.js"
|
||||
],
|
||||
"names": [
|
||||
"getUrlParameter",
|
||||
"sParam",
|
||||
"sPageURL",
|
||||
"sURLVariables",
|
||||
"window",
|
||||
"location",
|
||||
"search",
|
||||
"substring",
|
||||
"split",
|
||||
"sParameterName",
|
||||
"i",
|
||||
"length",
|
||||
"undefined",
|
||||
"decodeURIComponent"
|
||||
],
|
||||
"mappings": "AAAA,IAAIA,gBAAkB,SAASA,gBAAgBC,QAC3C,IAAIC,SACAC,cADWC,OAAOC,SAASC,OAAOC,UAAU,GACnBC,MAAM,KAC/BC,eACAC,EAEJ,IAAKA,EAAI,EAAGA,EAAIP,cAAcQ,OAAQD,IAGlC,IAFAD,eAAiBN,cAAcO,GAAGF,MAAM,MAErB,KAAOP,OACtB,YAA6BW,IAAtBH,eAAe,IAA0BI,mBAAmBJ,eAAe,IAG1F,OAAO",
|
||||
"file": "get_params.js"
|
||||
}
|
||||
17
grid.css
Normal file
17
grid.css
Normal file
@ -0,0 +1,17 @@
|
||||
.grid-container {
|
||||
columns: 2 500px;
|
||||
column-gap: 30px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.grid-container>section {
|
||||
width: 150px;
|
||||
margin: 0 1.5rem 1.5rem 0;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
border: solid 2px black;
|
||||
padding: 5px;
|
||||
box-shadow: 5px 5px 5px rgb(0 0 0 / 50%);
|
||||
border-radius: 5px;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
1
grid.min.css
vendored
Normal file
1
grid.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.grid-container{columns:2 500px;column-gap:30px;margin:0 auto}.grid-container>section{width:150px;margin:0 1.5rem 1.5rem 0;display:inline-block;width:100%;border:solid 2px #000;padding:5px;box-shadow:5px 5px 5px rgb(0 0 0 / 50%);border-radius:5px;transition:all .25s ease-in-out}
|
||||
7830
html2canvas.js
Normal file
7830
html2canvas.js
Normal file
File diff suppressed because one or more lines are too long
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
19
itooltip.css
Normal file
19
itooltip.css
Normal file
@ -0,0 +1,19 @@
|
||||
tooltip {
|
||||
display:block;
|
||||
width: 300px;
|
||||
background-color: rgba(0,0,0,0.8);
|
||||
color: #fff;
|
||||
border: 3px solid #fff;
|
||||
border-radius: 0.5em;
|
||||
padding: 0.5em;
|
||||
|
||||
}
|
||||
|
||||
tooltip a {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
tooltip h3 {
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
}
|
||||
52
itooltip.js
Normal file
52
itooltip.js
Normal file
@ -0,0 +1,52 @@
|
||||
( function() {
|
||||
'use strict';
|
||||
|
||||
var loadToolTip = function(ev) {
|
||||
//destroyToolTip(ev);
|
||||
if(!ev.target.dataset.url) return;
|
||||
|
||||
var tt = document.createElement('tooltip');
|
||||
tt.classList.add('fadeable');
|
||||
tt.style.cssText= "position:absolute; top: "+(ev.pageY+10)+"px; left: "+ (ev.pageX+10) +"px;";
|
||||
document.body.appendChild(tt);
|
||||
|
||||
var url = ev.target.dataset.url;
|
||||
//console.log('URL:',url);
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (this.readyState == 4) {
|
||||
if(this.status == 200) {
|
||||
tt.innerHTML = this.responseText;
|
||||
tt.classList.add('visible');
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
var destroyToolTip = function(ev) {
|
||||
var tts = document.getElementsByTagName('tooltip');
|
||||
if(tts[0]) {
|
||||
tts[0].classList.remove('visible');
|
||||
setTimeout(function() {
|
||||
if(tts[0]) tts[0].remove();
|
||||
},500);
|
||||
}
|
||||
}
|
||||
|
||||
//class itooltip
|
||||
var elems = document.getElementsByClassName('itooltip');
|
||||
for (var i =0;i<elems.length;i++) {
|
||||
elems[i].addEventListener('mouseenter',function(ev){
|
||||
loadToolTip(ev);
|
||||
});
|
||||
elems[i].addEventListener('mouseleave',function(ev){
|
||||
destroyToolTip(ev);
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
//TODO lade daten von url in data-url
|
||||
//TODO in der obenhälfte tooltip down untehälte up
|
||||
//TODO linke hälte tooltip richts sondt links
|
||||
1
itooltip.min.css
vendored
Normal file
1
itooltip.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
tooltip{display:block;width:300px;background-color:rgba(0,0,0,.8);color:#fff;border:3px solid #fff;border-radius:.5em;padding:.5em}tooltip a{word-break:break-all}tooltip h3{margin:0;color:#fff}
|
||||
2
itooltip.min.js
vendored
Normal file
2
itooltip.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function(){"use strict";for(var loadToolTip=function(ev){if(ev.target.dataset.url){var tt=document.createElement("tooltip");tt.classList.add("fadeable"),tt.style.cssText="position:absolute; top: "+(ev.pageY+10)+"px; left: "+(ev.pageX+10)+"px;",document.body.appendChild(tt);var url=ev.target.dataset.url,xmlhttp=new XMLHttpRequest;xmlhttp.onreadystatechange=function(){4==this.readyState&&200==this.status&&(tt.innerHTML=this.responseText,tt.classList.add("visible"))},xmlhttp.open("GET",url,!0),xmlhttp.send()}},destroyToolTip=function(ev){var tts=document.getElementsByTagName("tooltip");tts[0]&&(tts[0].classList.remove("visible"),setTimeout((function(){tts[0]&&tts[0].remove()}),500))},elems=document.getElementsByClassName("itooltip"),i=0;i<elems.length;i++)elems[i].addEventListener("mouseenter",(function(ev){loadToolTip(ev)})),elems[i].addEventListener("mouseleave",(function(ev){destroyToolTip(ev)}))}();
|
||||
//# sourceMappingURL=itooltip.min.js.map
|
||||
46
itooltip.min.js.map
Normal file
46
itooltip.min.js.map
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"itooltip.js"
|
||||
],
|
||||
"names": [
|
||||
"loadToolTip",
|
||||
"ev",
|
||||
"target",
|
||||
"dataset",
|
||||
"url",
|
||||
"tt",
|
||||
"document",
|
||||
"createElement",
|
||||
"classList",
|
||||
"add",
|
||||
"style",
|
||||
"cssText",
|
||||
"pageY",
|
||||
"pageX",
|
||||
"body",
|
||||
"appendChild",
|
||||
"xmlhttp",
|
||||
"XMLHttpRequest",
|
||||
"onreadystatechange",
|
||||
"this",
|
||||
"readyState",
|
||||
"status",
|
||||
"innerHTML",
|
||||
"responseText",
|
||||
"open",
|
||||
"send",
|
||||
"destroyToolTip",
|
||||
"tts",
|
||||
"getElementsByTagName",
|
||||
"remove",
|
||||
"setTimeout",
|
||||
"elems",
|
||||
"getElementsByClassName",
|
||||
"i",
|
||||
"length",
|
||||
"addEventListener"
|
||||
],
|
||||
"mappings": "CAAA,WACE,aAsCA,IApCA,IAAIA,YAAc,SAASC,IAEzB,GAAIA,GAAGC,OAAOC,QAAQC,IAAtB,CAEA,IAAIC,GAAKC,SAASC,cAAc,WAChCF,GAAGG,UAAUC,IAAI,YACjBJ,GAAGK,MAAMC,QAAS,4BAA4BV,GAAGW,MAAM,IAAI,cAAeX,GAAGY,MAAM,IAAK,MACxFP,SAASQ,KAAKC,YAAYV,IAE1B,IAAID,IAAMH,GAAGC,OAAOC,QAAQC,IAExBY,QAAU,IAAIC,eAClBD,QAAQE,mBAAqB,WACJ,GAAnBC,KAAKC,YACW,KAAfD,KAAKE,SACNhB,GAAGiB,UAAYH,KAAKI,aACpBlB,GAAGG,UAAUC,IAAI,aAIvBO,QAAQQ,KAAK,MAAOpB,KAAK,GACzBY,QAAQS,SAGNC,eAAiB,SAASzB,IAC5B,IAAI0B,IAAMrB,SAASsB,qBAAqB,WACrCD,IAAI,KACLA,IAAI,GAAGnB,UAAUqB,OAAO,WACxBC,YAAW,WACNH,IAAI,IAAIA,IAAI,GAAGE,WAClB,OAKFE,MAAQzB,SAAS0B,uBAAuB,YACnCC,EAAG,EAAEA,EAAEF,MAAMG,OAAOD,IAC3BF,MAAME,GAAGE,iBAAiB,cAAa,SAASlC,IAC9CD,YAAYC,OAEd8B,MAAME,GAAGE,iBAAiB,cAAa,SAASlC,IAC9CyB,eAAezB,OA5CrB",
|
||||
"file": "itooltip.js"
|
||||
}
|
||||
178
jquery-autoresize.js
vendored
178
jquery-autoresize.js
vendored
@ -1,90 +1,90 @@
|
||||
(function($){
|
||||
|
||||
$.fn.autoResize = function(options) {
|
||||
|
||||
// Just some abstracted details,
|
||||
// to make plugin users happy:
|
||||
var settings = $.extend({
|
||||
onResize : function(){},
|
||||
animate : true,
|
||||
animateDuration : 150,
|
||||
animateCallback : function(){},
|
||||
extraSpace : 20,
|
||||
limit: 1000
|
||||
}, options);
|
||||
|
||||
// Only textarea's auto-resize:
|
||||
this.filter('textarea').each(function(){
|
||||
|
||||
// Get rid of scrollbars and disable WebKit resizing:
|
||||
var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
|
||||
|
||||
// Cache original height, for use later:
|
||||
origHeight = textarea.height(),
|
||||
|
||||
// Need clone of textarea, hidden off screen:
|
||||
clone = (function(){
|
||||
|
||||
// Properties which may effect space taken up by chracters:
|
||||
var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
|
||||
propOb = {};
|
||||
|
||||
// Create object of styles to apply:
|
||||
$.each(props, function(i, prop){
|
||||
propOb[prop] = textarea.css(prop);
|
||||
});
|
||||
|
||||
// Clone the actual textarea removing unique properties
|
||||
// and insert before original textarea:
|
||||
return textarea.clone().removeAttr('id').removeAttr('name').css({
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: -9999
|
||||
}).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
|
||||
|
||||
})(),
|
||||
lastScrollTop = null,
|
||||
updateSize = function() {
|
||||
|
||||
// Prepare the clone:
|
||||
clone.height(0).val($(this).val()).scrollTop(10000);
|
||||
|
||||
// Find the height of text:
|
||||
var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
|
||||
toChange = $(this).add(clone);
|
||||
|
||||
// Don't do anything if scrollTip hasen't changed:
|
||||
if (lastScrollTop === scrollTop) { return; }
|
||||
lastScrollTop = scrollTop;
|
||||
|
||||
// Check for limit:
|
||||
if ( scrollTop >= settings.limit ) {
|
||||
$(this).css('overflow-y','');
|
||||
return;
|
||||
}
|
||||
// Fire off callback:
|
||||
settings.onResize.call(this);
|
||||
|
||||
// Either animate or directly apply height:
|
||||
settings.animate && textarea.css('display') === 'block' ?
|
||||
toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
|
||||
: toChange.height(scrollTop);
|
||||
};
|
||||
|
||||
// Bind namespaced handlers to appropriate events:
|
||||
textarea
|
||||
.unbind('.dynSiz')
|
||||
.bind('keyup.dynSiz', updateSize)
|
||||
.bind('keydown.dynSiz', updateSize)
|
||||
.bind('change.dynSiz', updateSize);
|
||||
|
||||
});
|
||||
|
||||
// Chain:
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
(function($){
|
||||
|
||||
$.fn.autoResize = function(options) {
|
||||
|
||||
// Just some abstracted details,
|
||||
// to make plugin users happy:
|
||||
var settings = $.extend({
|
||||
onResize : function(){},
|
||||
animate : true,
|
||||
animateDuration : 150,
|
||||
animateCallback : function(){},
|
||||
extraSpace : 20,
|
||||
limit: 1000
|
||||
}, options);
|
||||
|
||||
// Only textarea's auto-resize:
|
||||
this.filter('textarea').each(function(){
|
||||
|
||||
// Get rid of scrollbars and disable WebKit resizing:
|
||||
var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
|
||||
|
||||
// Cache original height, for use later:
|
||||
origHeight = textarea.height(),
|
||||
|
||||
// Need clone of textarea, hidden off screen:
|
||||
clone = (function(){
|
||||
|
||||
// Properties which may effect space taken up by chracters:
|
||||
var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
|
||||
propOb = {};
|
||||
|
||||
// Create object of styles to apply:
|
||||
$.each(props, function(i, prop){
|
||||
propOb[prop] = textarea.css(prop);
|
||||
});
|
||||
|
||||
// Clone the actual textarea removing unique properties
|
||||
// and insert before original textarea:
|
||||
return textarea.clone().removeAttr('id').removeAttr('name').css({
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: -9999
|
||||
}).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
|
||||
|
||||
})(),
|
||||
lastScrollTop = null,
|
||||
updateSize = function() {
|
||||
|
||||
// Prepare the clone:
|
||||
clone.height(0).val($(this).val()).scrollTop(10000);
|
||||
|
||||
// Find the height of text:
|
||||
var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
|
||||
toChange = $(this).add(clone);
|
||||
|
||||
// Don't do anything if scrollTip hasen't changed:
|
||||
if (lastScrollTop === scrollTop) { return; }
|
||||
lastScrollTop = scrollTop;
|
||||
|
||||
// Check for limit:
|
||||
if ( scrollTop >= settings.limit ) {
|
||||
$(this).css('overflow-y','');
|
||||
return;
|
||||
}
|
||||
// Fire off callback:
|
||||
settings.onResize.call(this);
|
||||
|
||||
// Either animate or directly apply height:
|
||||
settings.animate && textarea.css('display') === 'block' ?
|
||||
toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
|
||||
: toChange.height(scrollTop);
|
||||
};
|
||||
|
||||
// Bind namespaced handlers to appropriate events:
|
||||
textarea
|
||||
.unbind('.dynSiz')
|
||||
.bind('keyup.dynSiz', updateSize)
|
||||
.bind('keydown.dynSiz', updateSize)
|
||||
.bind('change.dynSiz', updateSize);
|
||||
|
||||
});
|
||||
|
||||
// Chain:
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
})(jQuery);
|
||||
2
jquery-autoresize.min.js
vendored
Normal file
2
jquery-autoresize.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function($){$.fn.autoResize=function(options){var settings=$.extend({onResize:function(){},animate:!0,animateDuration:150,animateCallback:function(){},extraSpace:20,limit:1e3},options);return this.filter("textarea").each((function(){var textarea=$(this).css({resize:"none","overflow-y":"hidden"}),origHeight=textarea.height(),clone=(props=["height","width","lineHeight","textDecoration","letterSpacing"],propOb={},$.each(props,(function(i,prop){propOb[prop]=textarea.css(prop)})),textarea.clone().removeAttr("id").removeAttr("name").css({position:"absolute",top:0,left:-9999}).css(propOb).attr("tabIndex","-1").insertBefore(textarea)),lastScrollTop=null,updateSize=function(){clone.height(0).val($(this).val()).scrollTop(1e4);var scrollTop=Math.max(clone.scrollTop(),origHeight)+settings.extraSpace,toChange=$(this).add(clone);lastScrollTop!==scrollTop&&(lastScrollTop=scrollTop,scrollTop>=settings.limit?$(this).css("overflow-y",""):(settings.onResize.call(this),settings.animate&&"block"===textarea.css("display")?toChange.stop().animate({height:scrollTop},settings.animateDuration,settings.animateCallback):toChange.height(scrollTop)))},props,propOb;textarea.unbind(".dynSiz").bind("keyup.dynSiz",updateSize).bind("keydown.dynSiz",updateSize).bind("change.dynSiz",updateSize)})),this}}(jQuery);
|
||||
//# sourceMappingURL=jquery-autoresize.min.js.map
|
||||
55
jquery-autoresize.min.js.map
Normal file
55
jquery-autoresize.min.js.map
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"jquery-autoresize.js"
|
||||
],
|
||||
"names": [
|
||||
"$",
|
||||
"fn",
|
||||
"autoResize",
|
||||
"options",
|
||||
"settings",
|
||||
"extend",
|
||||
"onResize",
|
||||
"animate",
|
||||
"animateDuration",
|
||||
"animateCallback",
|
||||
"extraSpace",
|
||||
"limit",
|
||||
"this",
|
||||
"filter",
|
||||
"each",
|
||||
"textarea",
|
||||
"css",
|
||||
"resize",
|
||||
"overflow-y",
|
||||
"origHeight",
|
||||
"height",
|
||||
"clone",
|
||||
"props",
|
||||
"propOb",
|
||||
"i",
|
||||
"prop",
|
||||
"removeAttr",
|
||||
"position",
|
||||
"top",
|
||||
"left",
|
||||
"attr",
|
||||
"insertBefore",
|
||||
"lastScrollTop",
|
||||
"updateSize",
|
||||
"val",
|
||||
"scrollTop",
|
||||
"Math",
|
||||
"max",
|
||||
"toChange",
|
||||
"add",
|
||||
"call",
|
||||
"stop",
|
||||
"unbind",
|
||||
"bind",
|
||||
"jQuery"
|
||||
],
|
||||
"mappings": "CAAA,SAAUA,GAENA,EAAEC,GAAGC,WAAa,SAASC,SAIvB,IAAIC,SAAWJ,EAAEK,OAAO,CACpBC,SAAW,aACXC,SAAU,EACVC,gBAAkB,IAClBC,gBAAkB,aAClBC,WAAa,GACbC,MAAO,KACRR,SAsEH,OAnEAS,KAAKC,OAAO,YAAYC,MAAK,WAGzB,IAAIC,SAAWf,EAAEY,MAAMI,IAAI,CAACC,OAAO,OAAOC,aAAa,WAGnDC,WAAaJ,SAASK,SAGtBC,OAGQC,MAAQ,CAAC,SAAS,QAAQ,aAAa,iBAAiB,iBACxDC,OAAS,GAGbvB,EAAEc,KAAKQ,OAAO,SAASE,EAAGC,MACtBF,OAAOE,MAAQV,SAASC,IAAIS,SAKzBV,SAASM,QAAQK,WAAW,MAAMA,WAAW,QAAQV,IAAI,CAC5DW,SAAU,WACVC,IAAK,EACLC,MAAO,OACRb,IAAIO,QAAQO,KAAK,WAAW,MAAMC,aAAahB,WAGtDiB,cAAgB,KAChBC,WAAa,WAGTZ,MAAMD,OAAO,GAAGc,IAAIlC,EAAEY,MAAMsB,OAAOC,UAAU,KAG7C,IAAIA,UAAYC,KAAKC,IAAIhB,MAAMc,YAAahB,YAAcf,SAASM,WAC/D4B,SAAWtC,EAAEY,MAAM2B,IAAIlB,OAGvBW,gBAAkBG,YACtBH,cAAgBG,UAGXA,WAAa/B,SAASO,MACvBX,EAAEY,MAAMI,IAAI,aAAa,KAI7BZ,SAASE,SAASkC,KAAK5B,MAGvBR,SAASG,SAAuC,UAA5BQ,SAASC,IAAI,WAC7BsB,SAASG,OAAOlC,QAAQ,CAACa,OAAOe,WAAY/B,SAASI,gBAAiBJ,SAASK,iBAC7E6B,SAASlB,OAAOe,cA1ClBb,MACAC,OA6CZR,SACK2B,OAAO,WACPC,KAAK,eAAgBV,YACrBU,KAAK,iBAAkBV,YACvBU,KAAK,gBAAiBV,eAKxBrB,MAnFf,CAyFGgC",
|
||||
"file": "jquery-autoresize.js"
|
||||
}
|
||||
8
js-error-logger.js
Normal file
8
js-error-logger.js
Normal file
@ -0,0 +1,8 @@
|
||||
window.onerror = function(message, source, lineno, colno, error) {
|
||||
if(message == 'Script Error' && lineno == 0) return;
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.open("POST", "https://troy-grunt.de/api.php", true);
|
||||
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);
|
||||
};
|
||||
1
js-error-logger.min.js
vendored
Normal file
1
js-error-logger.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
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)}};
|
||||
29
js-error-logger.min.js.map
Normal file
29
js-error-logger.min.js.map
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"js-error-logger.js"
|
||||
],
|
||||
"names": [
|
||||
"window",
|
||||
"onerror",
|
||||
"message",
|
||||
"source",
|
||||
"lineno",
|
||||
"colno",
|
||||
"error",
|
||||
"xmlhttp",
|
||||
"XMLHttpRequest",
|
||||
"open",
|
||||
"setRequestHeader",
|
||||
"params",
|
||||
"JSON",
|
||||
"stringify",
|
||||
"type",
|
||||
"line",
|
||||
"col",
|
||||
"err",
|
||||
"send"
|
||||
],
|
||||
"mappings": "AAAAA,OAAOC,QAAU,SAASC,QAASC,OAAQC,OAAQC,MAAOC,OACtD,IAAIC,QAAU,IAAIC,eAClBD,QAAQE,KAAK,OAAQ,iCAAiC,GACtDF,QAAQG,iBAAiB,eAAgB,qCACzC,IAAIC,OAASC,KAAKC,UAAU,CAACC,KAAO,kBAAkBZ,QAAUA,QAAQC,OAASA,OAAOY,KAAOX,OAAOY,IAAMX,MAAMY,IAAOX,QACzHC,QAAQW,KAAKP",
|
||||
"file": "js-error-logger.js"
|
||||
}
|
||||
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")}})});
|
||||
408
lightbox.css
408
lightbox.css
@ -1,204 +1,204 @@
|
||||
body.lb-disable-scrolling {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.lightboxOverlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
background-color: black;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
opacity: 0.8;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lightbox {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 10000;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
font-weight: normal;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.lightbox .lb-image {
|
||||
display: block;
|
||||
height: auto;
|
||||
max-width: inherit;
|
||||
max-height: none;
|
||||
border-radius: 3px;
|
||||
|
||||
/* Image border */
|
||||
border: 4px solid white;
|
||||
}
|
||||
|
||||
.lightbox a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.lb-outerContainer {
|
||||
position: relative;
|
||||
*zoom: 1;
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
margin: 0 auto;
|
||||
border-radius: 4px;
|
||||
|
||||
/* Background color behind image.
|
||||
This is visible during transitions. */
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.lb-outerContainer:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.lb-loader {
|
||||
position: absolute;
|
||||
top: 43%;
|
||||
left: 0;
|
||||
height: 25%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.lb-cancel {
|
||||
display: block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 0 auto;
|
||||
background: url(../images/loading.gif) no-repeat;
|
||||
}
|
||||
|
||||
.lb-nav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.lb-container > .nav {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.lb-nav a {
|
||||
outline: none;
|
||||
background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
|
||||
}
|
||||
|
||||
.lb-prev, .lb-next {
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-prev {
|
||||
width: 34%;
|
||||
left: 0;
|
||||
float: left;
|
||||
background: url(../images/prev.png) left 48% no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.6s;
|
||||
-moz-transition: opacity 0.6s;
|
||||
-o-transition: opacity 0.6s;
|
||||
transition: opacity 0.6s;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-prev:hover {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-next {
|
||||
width: 64%;
|
||||
right: 0;
|
||||
float: right;
|
||||
background: url(../images/next.png) right 48% no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.6s;
|
||||
-moz-transition: opacity 0.6s;
|
||||
-o-transition: opacity 0.6s;
|
||||
transition: opacity 0.6s;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-next:hover {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.lb-dataContainer {
|
||||
margin: 0 auto;
|
||||
padding-top: 5px;
|
||||
*zoom: 1;
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
.lb-dataContainer:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.lb-data {
|
||||
padding: 0 4px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.lb-data .lb-details {
|
||||
width: 85%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
line-height: 1.1em;
|
||||
}
|
||||
|
||||
.lb-data .lb-caption {
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.lb-data .lb-caption a {
|
||||
color: #4ae;
|
||||
}
|
||||
|
||||
.lb-data .lb-number {
|
||||
display: block;
|
||||
clear: left;
|
||||
padding-bottom: 1em;
|
||||
font-size: 12px;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.lb-data .lb-close {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: url(../images/close.png) top right no-repeat;
|
||||
text-align: right;
|
||||
outline: none;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
|
||||
opacity: 0.7;
|
||||
-webkit-transition: opacity 0.2s;
|
||||
-moz-transition: opacity 0.2s;
|
||||
-o-transition: opacity 0.2s;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
.lb-data .lb-close:hover {
|
||||
cursor: pointer;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
body.lb-disable-scrolling {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.lightboxOverlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
background-color: black;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
opacity: 0.8;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lightbox {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 10000;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
font-weight: normal;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.lightbox .lb-image {
|
||||
display: block;
|
||||
height: auto;
|
||||
max-width: inherit;
|
||||
max-height: none;
|
||||
border-radius: 3px;
|
||||
|
||||
/* Image border */
|
||||
border: 4px solid white;
|
||||
}
|
||||
|
||||
.lightbox a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.lb-outerContainer {
|
||||
position: relative;
|
||||
*zoom: 1;
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
margin: 0 auto;
|
||||
border-radius: 4px;
|
||||
|
||||
/* Background color behind image.
|
||||
This is visible during transitions. */
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.lb-outerContainer:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.lb-loader {
|
||||
position: absolute;
|
||||
top: 43%;
|
||||
left: 0;
|
||||
height: 25%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.lb-cancel {
|
||||
display: block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 0 auto;
|
||||
background: url(../images/loading.gif) no-repeat;
|
||||
}
|
||||
|
||||
.lb-nav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.lb-container > .nav {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.lb-nav a {
|
||||
outline: none;
|
||||
background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
|
||||
}
|
||||
|
||||
.lb-prev, .lb-next {
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-prev {
|
||||
width: 34%;
|
||||
left: 0;
|
||||
float: left;
|
||||
background: url(../images/prev.png) left 48% no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.6s;
|
||||
-moz-transition: opacity 0.6s;
|
||||
-o-transition: opacity 0.6s;
|
||||
transition: opacity 0.6s;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-prev:hover {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-next {
|
||||
width: 64%;
|
||||
right: 0;
|
||||
float: right;
|
||||
background: url(../images/next.png) right 48% no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.6s;
|
||||
-moz-transition: opacity 0.6s;
|
||||
-o-transition: opacity 0.6s;
|
||||
transition: opacity 0.6s;
|
||||
}
|
||||
|
||||
.lb-nav a.lb-next:hover {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.lb-dataContainer {
|
||||
margin: 0 auto;
|
||||
padding-top: 5px;
|
||||
*zoom: 1;
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
.lb-dataContainer:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.lb-data {
|
||||
padding: 0 4px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.lb-data .lb-details {
|
||||
width: 85%;
|
||||
float: left;
|
||||
text-align: left;
|
||||
line-height: 1.1em;
|
||||
}
|
||||
|
||||
.lb-data .lb-caption {
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.lb-data .lb-caption a {
|
||||
color: #4ae;
|
||||
}
|
||||
|
||||
.lb-data .lb-number {
|
||||
display: block;
|
||||
clear: left;
|
||||
padding-bottom: 1em;
|
||||
font-size: 12px;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.lb-data .lb-close {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: url(../images/close.png) top right no-repeat;
|
||||
text-align: right;
|
||||
outline: none;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
|
||||
opacity: 0.7;
|
||||
-webkit-transition: opacity 0.2s;
|
||||
-moz-transition: opacity 0.2s;
|
||||
-o-transition: opacity 0.2s;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
.lb-data .lb-close:hover {
|
||||
cursor: pointer;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
1118
lightbox.js
1118
lightbox.js
File diff suppressed because it is too large
Load Diff
1
lightbox.min.css
vendored
Normal file
1
lightbox.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;opacity:1}
|
||||
15
lightbox.min.js
vendored
Normal file
15
lightbox.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
157
lightbox.min.js.map
Normal file
157
lightbox.min.js.map
Normal file
File diff suppressed because one or more lines are too long
63
logit.js
Normal file
63
logit.js
Normal file
@ -0,0 +1,63 @@
|
||||
if(typeof _paq!=="object"){_paq=[]}if(typeof window.Matomo!=="object"){window.Matomo=window.Piwik=(function(){var r,b={},z={},J=document,g=navigator,ab=screen,W=window,h=W.performance||W.mozPerformance||W.msPerformance||W.webkitPerformance,t=W.encodeURIComponent,V=W.decodeURIComponent,k=unescape,L=[],H,u,al=[],y=0,af=0,X=0,m=false;function p(at){try{return V(at)}catch(au){return unescape(at)}}function M(au){var at=typeof au;return at!=="undefined"}function C(at){return typeof at==="function"}function Z(at){return typeof at==="object"}function x(at){return typeof at==="string"||at instanceof String}function ak(at){return typeof at==="number"||at instanceof Number
|
||||
}function ac(at){return M(at)&&(ak(at)||(x(at)&&at.length))}function D(au){if(!au){return true}var at;var av=true;for(at in au){if(Object.prototype.hasOwnProperty.call(au,at)){av=false}}return av}function ao(at){var au=typeof console;if(au!=="undefined"&&console&&console.error){console.error(at)}}function aj(){var ay,ax,aA,au,at;for(ay=0;ay<arguments.length;ay+=1){at=null;if(arguments[ay]&&arguments[ay].slice){at=arguments[ay].slice()}au=arguments[ay];aA=au.shift();var az,av;var aw=x(aA)&&aA.indexOf("::")>0;if(aw){az=aA.split("::");av=az[0];aA=az[1];if("object"===typeof u[av]&&"function"===typeof u[av][aA]){u[av][aA].apply(u[av],au)}else{if(at){al.push(at)}}}else{for(ax=0;ax<L.length;ax++){if(x(aA)){av=L[ax];var aB=aA.indexOf(".")>0;if(aB){az=aA.split(".");if(av&&"object"===typeof av[az[0]]){av=av[az[0]];aA=az[1]}else{if(at){al.push(at);break}}}if(av[aA]){av[aA].apply(av,au)}else{var aC="The method '"+aA+'\' was not found in "_paq" variable. Please have a look at the Matomo tracker documentation: https://developer.matomo.org/api-reference/tracking-javascript';
|
||||
ao(aC);if(!aB){throw new TypeError(aC)}}if(aA==="addTracker"){break}if(aA==="setTrackerUrl"||aA==="setSiteId"){break}}else{aA.apply(L[ax],au)}}}}}function ar(aw,av,au,at){if(aw.addEventListener){aw.addEventListener(av,au,at);return true}if(aw.attachEvent){return aw.attachEvent("on"+av,au)}aw["on"+av]=au}function n(at){if(J.readyState==="complete"){at()}else{if(W.addEventListener){W.addEventListener("load",at,false)}else{if(W.attachEvent){W.attachEvent("onload",at)}}}}function q(aw){var at=false;if(J.attachEvent){at=J.readyState==="complete"}else{at=J.readyState!=="loading"}if(at){aw();return}var av;if(J.addEventListener){ar(J,"DOMContentLoaded",function au(){J.removeEventListener("DOMContentLoaded",au,false);if(!at){at=true;aw()}})}else{if(J.attachEvent){J.attachEvent("onreadystatechange",function au(){if(J.readyState==="complete"){J.detachEvent("onreadystatechange",au);if(!at){at=true;aw()}}});if(J.documentElement.doScroll&&W===W.top){(function au(){if(!at){try{J.documentElement.doScroll("left")
|
||||
}catch(ax){setTimeout(au,0);return}at=true;aw()}}())}}}ar(W,"load",function(){if(!at){at=true;aw()}},false)}function ag(au,az,aA){if(!au){return""}var at="",aw,av,ax,ay;for(aw in b){if(Object.prototype.hasOwnProperty.call(b,aw)){ay=b[aw]&&"function"===typeof b[aw][au];if(ay){av=b[aw][au];ax=av(az||{},aA);if(ax){at+=ax}}}}return at}function am(){var at;m=true;ag("unload");at=new Date();var au=at.getTimeAlias();if((r-au)>3000){r=au+3000}if(r){do{at=new Date()}while(at.getTimeAlias()<r)}}function o(av,au){var at=J.createElement("script");at.type="text/javascript";at.src=av;if(at.readyState){at.onreadystatechange=function(){var aw=this.readyState;if(aw==="loaded"||aw==="complete"){at.onreadystatechange=null;au()}}}else{at.onload=au}J.getElementsByTagName("head")[0].appendChild(at)}function N(){var at="";try{at=W.top.document.referrer}catch(av){if(W.parent){try{at=W.parent.document.referrer}catch(au){at=""}}}if(at===""){at=J.referrer}return at}function s(at){var av=new RegExp("^([a-z]+):"),au=av.exec(at);
|
||||
return au?au[1]:null}function d(at){var av=new RegExp("^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)"),au=av.exec(at);return au?au[1]:at}function G(at){return(/^[0-9][0-9]*(\.[0-9]+)?$/).test(at)}function Q(av,aw){var at={},au;for(au in av){if(av.hasOwnProperty(au)&&aw(av[au])){at[au]=av[au]}}return at}function B(av){var at={},au;for(au in av){if(av.hasOwnProperty(au)){if(G(av[au])){at[au]=Math.round(av[au])}else{throw new Error('Parameter "'+au+'" provided value "'+av[au]+'" is not valid. Please provide a numeric value.')}}}return at}function l(au){var av="",at;for(at in au){if(au.hasOwnProperty(at)){av+="&"+t(at)+"="+t(au[at])}}return av}function an(au,at){au=String(au);return au.lastIndexOf(at,0)===0}function U(au,at){au=String(au);return au.indexOf(at,au.length-at.length)!==-1}function A(au,at){au=String(au);return au.indexOf(at)!==-1}function f(au,at){au=String(au);return au.substr(0,au.length-at)}function I(aw,av,ay){aw=String(aw);if(!ay){ay=""}var at=aw.indexOf("#");var az=aw.length;
|
||||
if(at===-1){at=az}var ax=aw.substr(0,at);var au=aw.substr(at,az-at);if(ax.indexOf("?")===-1){ax+="?"}else{if(!U(ax,"?")){ax+="&"}}return ax+t(av)+"="+t(ay)+au}function j(au,av){au=String(au);if(au.indexOf("?"+av+"=")===-1&&au.indexOf("&"+av+"=")===-1){return au}var aw=au.indexOf("?");if(aw===-1){return au}var at=au.substr(aw+1);var aA=au.substr(0,aw);if(at){var aB="";var aD=at.indexOf("#");if(aD!==-1){aB=at.substr(aD+1);at=at.substr(0,aD)}var ax;var az=at.split("&");var ay=az.length-1;for(ay;ay>=0;ay--){ax=az[ay].split("=")[0];if(ax===av){az.splice(ay,1)}}var aC=az.join("&");if(aC){aA=aA+"?"+aC}if(aB){aA+="#"+aB}}return aA}function e(av,au){var at="[\\?&#]"+au+"=([^&#]*)";var ax=new RegExp(at);var aw=ax.exec(av);return aw?p(aw[1]):""}function a(at){if(at&&String(at)===at){return at.replace(/^\s+|\s+$/g,"")}return at}function F(at){return unescape(t(at))}function aq(aI){var av=function(aO,aN){return(aO<<aN)|(aO>>>(32-aN))},aJ=function(aQ){var aO="",aP,aN;for(aP=7;aP>=0;aP--){aN=(aQ>>>(aP*4))&15;
|
||||
aO+=aN.toString(16)}return aO},ay,aL,aK,au=[],aC=1732584193,aA=4023233417,az=2562383102,ax=271733878,aw=3285377520,aH,aG,aF,aE,aD,aM,at,aB=[];aI=F(aI);at=aI.length;for(aL=0;aL<at-3;aL+=4){aK=aI.charCodeAt(aL)<<24|aI.charCodeAt(aL+1)<<16|aI.charCodeAt(aL+2)<<8|aI.charCodeAt(aL+3);aB.push(aK)}switch(at&3){case 0:aL=2147483648;break;case 1:aL=aI.charCodeAt(at-1)<<24|8388608;break;case 2:aL=aI.charCodeAt(at-2)<<24|aI.charCodeAt(at-1)<<16|32768;break;case 3:aL=aI.charCodeAt(at-3)<<24|aI.charCodeAt(at-2)<<16|aI.charCodeAt(at-1)<<8|128;break}aB.push(aL);while((aB.length&15)!==14){aB.push(0)}aB.push(at>>>29);aB.push((at<<3)&4294967295);for(ay=0;ay<aB.length;ay+=16){for(aL=0;aL<16;aL++){au[aL]=aB[ay+aL]}for(aL=16;aL<=79;aL++){au[aL]=av(au[aL-3]^au[aL-8]^au[aL-14]^au[aL-16],1)}aH=aC;aG=aA;aF=az;aE=ax;aD=aw;for(aL=0;aL<=19;aL++){aM=(av(aH,5)+((aG&aF)|(~aG&aE))+aD+au[aL]+1518500249)&4294967295;aD=aE;aE=aF;aF=av(aG,30);aG=aH;aH=aM}for(aL=20;aL<=39;aL++){aM=(av(aH,5)+(aG^aF^aE)+aD+au[aL]+1859775393)&4294967295;
|
||||
aD=aE;aE=aF;aF=av(aG,30);aG=aH;aH=aM}for(aL=40;aL<=59;aL++){aM=(av(aH,5)+((aG&aF)|(aG&aE)|(aF&aE))+aD+au[aL]+2400959708)&4294967295;aD=aE;aE=aF;aF=av(aG,30);aG=aH;aH=aM}for(aL=60;aL<=79;aL++){aM=(av(aH,5)+(aG^aF^aE)+aD+au[aL]+3395469782)&4294967295;aD=aE;aE=aF;aF=av(aG,30);aG=aH;aH=aM}aC=(aC+aH)&4294967295;aA=(aA+aG)&4294967295;az=(az+aF)&4294967295;ax=(ax+aE)&4294967295;aw=(aw+aD)&4294967295}aM=aJ(aC)+aJ(aA)+aJ(az)+aJ(ax)+aJ(aw);return aM.toLowerCase()}function ae(av,at,au){if(!av){av=""}if(!at){at=""}if(av==="translate.googleusercontent.com"){if(au===""){au=at}at=e(at,"u");av=d(at)}else{if(av==="cc.bingj.com"||av==="webcache.googleusercontent.com"||av.slice(0,5)==="74.6."){at=J.links[0].href;av=d(at)}}return[av,at,au]}function O(au){var at=au.length;if(au.charAt(--at)==="."){au=au.slice(0,at)}if(au.slice(0,2)==="*."){au=au.slice(1)}if(au.indexOf("/")!==-1){au=au.substr(0,au.indexOf("/"))}return au}function ap(au){au=au&&au.text?au.text:au;if(!x(au)){var at=J.getElementsByTagName("title");
|
||||
if(at&&M(at[0])){au=at[0].text}}return au}function S(at){if(!at){return[]}if(!M(at.children)&&M(at.childNodes)){return at.children}if(M(at.children)){return at.children}return[]}function Y(au,at){if(!au||!at){return false}if(au.contains){return au.contains(at)}if(au===at){return true}if(au.compareDocumentPosition){return !!(au.compareDocumentPosition(at)&16)}return false}function P(av,aw){if(av&&av.indexOf){return av.indexOf(aw)}if(!M(av)||av===null){return -1}if(!av.length){return -1}var at=av.length;if(at===0){return -1}var au=0;while(au<at){if(av[au]===aw){return au}au++}return -1}function i(av){if(!av){return false}function at(ax,ay){if(W.getComputedStyle){return J.defaultView.getComputedStyle(ax,null)[ay]}if(ax.currentStyle){return ax.currentStyle[ay]}}function aw(ax){ax=ax.parentNode;while(ax){if(ax===J){return true}ax=ax.parentNode}return false}function au(az,aF,ax,aC,aA,aD,aB){var ay=az.parentNode,aE=1;if(!aw(az)){return false}if(9===ay.nodeType){return true}if("0"===at(az,"opacity")||"none"===at(az,"display")||"hidden"===at(az,"visibility")){return false
|
||||
}if(!M(aF)||!M(ax)||!M(aC)||!M(aA)||!M(aD)||!M(aB)){aF=az.offsetTop;aA=az.offsetLeft;aC=aF+az.offsetHeight;ax=aA+az.offsetWidth;aD=az.offsetWidth;aB=az.offsetHeight}if(av===az&&(0===aB||0===aD)&&"hidden"===at(az,"overflow")){return false}if(ay){if(("hidden"===at(ay,"overflow")||"scroll"===at(ay,"overflow"))){if(aA+aE>ay.offsetWidth+ay.scrollLeft||aA+aD-aE<ay.scrollLeft||aF+aE>ay.offsetHeight+ay.scrollTop||aF+aB-aE<ay.scrollTop){return false}}if(az.offsetParent===ay){aA+=ay.offsetLeft;aF+=ay.offsetTop}return au(ay,aF,ax,aC,aA,aD,aB)}return true}return au(av)}var ai={htmlCollectionToArray:function(av){var at=[],au;if(!av||!av.length){return at}for(au=0;au<av.length;au++){at.push(av[au])}return at},find:function(at){if(!document.querySelectorAll||!at){return[]}var au=document.querySelectorAll(at);return this.htmlCollectionToArray(au)},findMultiple:function(av){if(!av||!av.length){return[]}var au,aw;var at=[];for(au=0;au<av.length;au++){aw=this.find(av[au]);at=at.concat(aw)}at=this.makeNodesUnique(at);
|
||||
return at},findNodesByTagName:function(au,at){if(!au||!at||!au.getElementsByTagName){return[]}var av=au.getElementsByTagName(at);return this.htmlCollectionToArray(av)},makeNodesUnique:function(at){var ay=[].concat(at);at.sort(function(aA,az){if(aA===az){return 0}var aC=P(ay,aA);var aB=P(ay,az);if(aC===aB){return 0}return aC>aB?-1:1});if(at.length<=1){return at}var au=0;var aw=0;var ax=[];var av;av=at[au++];while(av){if(av===at[au]){aw=ax.push(au)}av=at[au++]||null}while(aw--){at.splice(ax[aw],1)}return at},getAttributeValueFromNode:function(ax,av){if(!this.hasNodeAttribute(ax,av)){return}if(ax&&ax.getAttribute){return ax.getAttribute(av)}if(!ax||!ax.attributes){return}var aw=(typeof ax.attributes[av]);if("undefined"===aw){return}if(ax.attributes[av].value){return ax.attributes[av].value}if(ax.attributes[av].nodeValue){return ax.attributes[av].nodeValue}var au;var at=ax.attributes;if(!at){return}for(au=0;au<at.length;au++){if(at[au].nodeName===av){return at[au].nodeValue}}return null},hasNodeAttributeWithValue:function(au,at){var av=this.getAttributeValueFromNode(au,at);
|
||||
return !!av},hasNodeAttribute:function(av,at){if(av&&av.hasAttribute){return av.hasAttribute(at)}if(av&&av.attributes){var au=(typeof av.attributes[at]);return"undefined"!==au}return false},hasNodeCssClass:function(av,at){if(av&&at&&av.className){var au=typeof av.className==="string"?av.className.split(" "):[];if(-1!==P(au,at)){return true}}return false},findNodesHavingAttribute:function(ax,av,at){if(!at){at=[]}if(!ax||!av){return at}var aw=S(ax);if(!aw||!aw.length){return at}var au,ay;for(au=0;au<aw.length;au++){ay=aw[au];if(this.hasNodeAttribute(ay,av)){at.push(ay)}at=this.findNodesHavingAttribute(ay,av,at)}return at},findFirstNodeHavingAttribute:function(av,au){if(!av||!au){return}if(this.hasNodeAttribute(av,au)){return av}var at=this.findNodesHavingAttribute(av,au);if(at&&at.length){return at[0]}},findFirstNodeHavingAttributeWithValue:function(aw,av){if(!aw||!av){return}if(this.hasNodeAttributeWithValue(aw,av)){return aw}var at=this.findNodesHavingAttribute(aw,av);if(!at||!at.length){return
|
||||
}var au;for(au=0;au<at.length;au++){if(this.getAttributeValueFromNode(at[au],av)){return at[au]}}},findNodesHavingCssClass:function(ax,aw,at){if(!at){at=[]}if(!ax||!aw){return at}if(ax.getElementsByClassName){var ay=ax.getElementsByClassName(aw);return this.htmlCollectionToArray(ay)}var av=S(ax);if(!av||!av.length){return[]}var au,az;for(au=0;au<av.length;au++){az=av[au];if(this.hasNodeCssClass(az,aw)){at.push(az)}at=this.findNodesHavingCssClass(az,aw,at)}return at},findFirstNodeHavingClass:function(av,au){if(!av||!au){return}if(this.hasNodeCssClass(av,au)){return av}var at=this.findNodesHavingCssClass(av,au);if(at&&at.length){return at[0]}},isLinkElement:function(au){if(!au){return false}var at=String(au.nodeName).toLowerCase();var aw=["a","area"];var av=P(aw,at);return av!==-1},setAnyAttribute:function(au,at,av){if(!au||!at){return}if(au.setAttribute){au.setAttribute(at,av)}else{au[at]=av}}};var w={CONTENT_ATTR:"data-track-content",CONTENT_CLASS:"matomoTrackContent",LEGACY_CONTENT_CLASS:"piwikTrackContent",CONTENT_NAME_ATTR:"data-content-name",CONTENT_PIECE_ATTR:"data-content-piece",CONTENT_PIECE_CLASS:"matomoContentPiece",LEGACY_CONTENT_PIECE_CLASS:"piwikContentPiece",CONTENT_TARGET_ATTR:"data-content-target",CONTENT_TARGET_CLASS:"matomoContentTarget",LEGACY_CONTENT_TARGET_CLASS:"piwikContentTarget",CONTENT_IGNOREINTERACTION_ATTR:"data-content-ignoreinteraction",CONTENT_IGNOREINTERACTION_CLASS:"matomoContentIgnoreInteraction",LEGACY_CONTENT_IGNOREINTERACTION_CLASS:"piwikContentIgnoreInteraction",location:undefined,findContentNodes:function(){var au="."+this.CONTENT_CLASS;
|
||||
var av="."+this.LEGACY_CONTENT_CLASS;var at="["+this.CONTENT_ATTR+"]";var aw=ai.findMultiple([au,av,at]);return aw},findContentNodesWithinNode:function(aw){if(!aw){return[]}var au=ai.findNodesHavingCssClass(aw,this.CONTENT_CLASS);au=ai.findNodesHavingCssClass(aw,this.LEGACY_CONTENT_CLASS,au);var at=ai.findNodesHavingAttribute(aw,this.CONTENT_ATTR);if(at&&at.length){var av;for(av=0;av<at.length;av++){au.push(at[av])}}if(ai.hasNodeAttribute(aw,this.CONTENT_ATTR)){au.push(aw)}else{if(ai.hasNodeCssClass(aw,this.CONTENT_CLASS)){au.push(aw)}else{if(ai.hasNodeCssClass(aw,this.LEGACY_CONTENT_CLASS)){au.push(aw)}}}au=ai.makeNodesUnique(au);return au},findParentContentNode:function(au){if(!au){return}var av=au;var at=0;while(av&&av!==J&&av.parentNode){if(ai.hasNodeAttribute(av,this.CONTENT_ATTR)){return av}if(ai.hasNodeCssClass(av,this.CONTENT_CLASS)){return av}if(ai.hasNodeCssClass(av,this.LEGACY_CONTENT_CLASS)){return av}av=av.parentNode;if(at>1000){break}at++}},findPieceNode:function(au){var at;
|
||||
at=ai.findFirstNodeHavingAttribute(au,this.CONTENT_PIECE_ATTR);if(!at){at=ai.findFirstNodeHavingClass(au,this.CONTENT_PIECE_CLASS)}if(!at){at=ai.findFirstNodeHavingClass(au,this.LEGACY_CONTENT_PIECE_CLASS)}if(at){return at}return au},findTargetNodeNoDefault:function(at){if(!at){return}var au=ai.findFirstNodeHavingAttributeWithValue(at,this.CONTENT_TARGET_ATTR);if(au){return au}au=ai.findFirstNodeHavingAttribute(at,this.CONTENT_TARGET_ATTR);if(au){return au}au=ai.findFirstNodeHavingClass(at,this.CONTENT_TARGET_CLASS);if(au){return au}au=ai.findFirstNodeHavingClass(at,this.LEGACY_CONTENT_TARGET_CLASS);if(au){return au}},findTargetNode:function(at){var au=this.findTargetNodeNoDefault(at);if(au){return au}return at},findContentName:function(au){if(!au){return}var ax=ai.findFirstNodeHavingAttributeWithValue(au,this.CONTENT_NAME_ATTR);if(ax){return ai.getAttributeValueFromNode(ax,this.CONTENT_NAME_ATTR)}var at=this.findContentPiece(au);if(at){return this.removeDomainIfIsInLink(at)}if(ai.hasNodeAttributeWithValue(au,"title")){return ai.getAttributeValueFromNode(au,"title")
|
||||
}var av=this.findPieceNode(au);if(ai.hasNodeAttributeWithValue(av,"title")){return ai.getAttributeValueFromNode(av,"title")}var aw=this.findTargetNode(au);if(ai.hasNodeAttributeWithValue(aw,"title")){return ai.getAttributeValueFromNode(aw,"title")}},findContentPiece:function(au){if(!au){return}var aw=ai.findFirstNodeHavingAttributeWithValue(au,this.CONTENT_PIECE_ATTR);if(aw){return ai.getAttributeValueFromNode(aw,this.CONTENT_PIECE_ATTR)}var at=this.findPieceNode(au);var av=this.findMediaUrlInNode(at);if(av){return this.toAbsoluteUrl(av)}},findContentTarget:function(av){if(!av){return}var aw=this.findTargetNode(av);if(ai.hasNodeAttributeWithValue(aw,this.CONTENT_TARGET_ATTR)){return ai.getAttributeValueFromNode(aw,this.CONTENT_TARGET_ATTR)}var au;if(ai.hasNodeAttributeWithValue(aw,"href")){au=ai.getAttributeValueFromNode(aw,"href");return this.toAbsoluteUrl(au)}var at=this.findPieceNode(av);if(ai.hasNodeAttributeWithValue(at,"href")){au=ai.getAttributeValueFromNode(at,"href");return this.toAbsoluteUrl(au)
|
||||
}},isSameDomain:function(at){if(!at||!at.indexOf){return false}if(0===at.indexOf(this.getLocation().origin)){return true}var au=at.indexOf(this.getLocation().host);if(8>=au&&0<=au){return true}return false},removeDomainIfIsInLink:function(av){var au="^https?://[^/]+";var at="^.*//[^/]+";if(av&&av.search&&-1!==av.search(new RegExp(au))&&this.isSameDomain(av)){av=av.replace(new RegExp(at),"");if(!av){av="/"}}return av},findMediaUrlInNode:function(ax){if(!ax){return}var av=["img","embed","video","audio"];var at=ax.nodeName.toLowerCase();if(-1!==P(av,at)&&ai.findFirstNodeHavingAttributeWithValue(ax,"src")){var aw=ai.findFirstNodeHavingAttributeWithValue(ax,"src");return ai.getAttributeValueFromNode(aw,"src")}if(at==="object"&&ai.hasNodeAttributeWithValue(ax,"data")){return ai.getAttributeValueFromNode(ax,"data")}if(at==="object"){var ay=ai.findNodesByTagName(ax,"param");if(ay&&ay.length){var au;for(au=0;au<ay.length;au++){if("movie"===ai.getAttributeValueFromNode(ay[au],"name")&&ai.hasNodeAttributeWithValue(ay[au],"value")){return ai.getAttributeValueFromNode(ay[au],"value")
|
||||
}}}var az=ai.findNodesByTagName(ax,"embed");if(az&&az.length){return this.findMediaUrlInNode(az[0])}}},trim:function(at){return a(at)},isOrWasNodeInViewport:function(ay){if(!ay||!ay.getBoundingClientRect||ay.nodeType!==1){return true}var ax=ay.getBoundingClientRect();var aw=J.documentElement||{};var av=ax.top<0;if(av&&ay.offsetTop){av=(ay.offsetTop+ax.height)>0}var au=aw.clientWidth;if(W.innerWidth&&au>W.innerWidth){au=W.innerWidth}var at=aw.clientHeight;if(W.innerHeight&&at>W.innerHeight){at=W.innerHeight}return((ax.bottom>0||av)&&ax.right>0&&ax.left<au&&((ax.top<at)||av))},isNodeVisible:function(au){var at=i(au);var av=this.isOrWasNodeInViewport(au);return at&&av},buildInteractionRequestParams:function(at,au,av,aw){var ax="";if(at){ax+="c_i="+t(at)}if(au){if(ax){ax+="&"}ax+="c_n="+t(au)}if(av){if(ax){ax+="&"}ax+="c_p="+t(av)}if(aw){if(ax){ax+="&"}ax+="c_t="+t(aw)}if(ax){ax+="&ca=1"}return ax},buildImpressionRequestParams:function(at,au,av){var aw="c_n="+t(at)+"&c_p="+t(au);if(av){aw+="&c_t="+t(av)
|
||||
}if(aw){aw+="&ca=1"}return aw},buildContentBlock:function(av){if(!av){return}var at=this.findContentName(av);var au=this.findContentPiece(av);var aw=this.findContentTarget(av);at=this.trim(at);au=this.trim(au);aw=this.trim(aw);return{name:at||"Unknown",piece:au||"Unknown",target:aw||""}},collectContent:function(aw){if(!aw||!aw.length){return[]}var av=[];var at,au;for(at=0;at<aw.length;at++){au=this.buildContentBlock(aw[at]);if(M(au)){av.push(au)}}return av},setLocation:function(at){this.location=at},getLocation:function(){var at=this.location||W.location;if(!at.origin){at.origin=at.protocol+"//"+at.hostname+(at.port?":"+at.port:"")}return at},toAbsoluteUrl:function(au){if((!au||String(au)!==au)&&au!==""){return au}if(""===au){return this.getLocation().href}if(au.search(/^\/\//)!==-1){return this.getLocation().protocol+au}if(au.search(/:\/\//)!==-1){return au}if(0===au.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+au}if(0===au.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+au
|
||||
}if(0===au.search("^[a-zA-Z]{2,11}:")){return au}if(au.search(/^\//)!==-1){return this.getLocation().origin+au}var at="(.*/)";var av=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(at))[0];return av+au},isUrlToCurrentDomain:function(au){var av=this.toAbsoluteUrl(au);if(!av){return false}var at=this.getLocation().origin;if(at===av){return true}if(0===String(av).indexOf(at)){if(":"===String(av).substr(at.length,1)){return false}return true}return false},setHrefAttribute:function(au,at){if(!au||!at){return}ai.setAnyAttribute(au,"href",at)},shouldIgnoreInteraction:function(at){if(ai.hasNodeAttribute(at,this.CONTENT_IGNOREINTERACTION_ATTR)){return true}if(ai.hasNodeCssClass(at,this.CONTENT_IGNOREINTERACTION_CLASS)){return true}if(ai.hasNodeCssClass(at,this.LEGACY_CONTENT_IGNOREINTERACTION_CLASS)){return true}return false}};function aa(au,ax){if(ax){return ax}au=w.toAbsoluteUrl(au);if(A(au,"?")){var aw=au.indexOf("?");au=au.slice(0,aw)}if(U(au,"matomo.php")){au=f(au,"matomo.php".length)
|
||||
}else{if(U(au,"piwik.php")){au=f(au,"piwik.php".length)}else{if(U(au,".php")){var at=au.lastIndexOf("/");var av=1;au=au.slice(0,at+av)}}}if(U(au,"/js/")){au=f(au,"js/".length)}return au}function R(az){var aB="Matomo_Overlay";var au=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=[^&]*)?");var av=au.exec(J.referrer);if(av){var ax=av[1];if(ax!==String(az)){return false}var ay=av[2],at=av[3],aw=av[4];if(!aw){aw=""}else{if(aw.indexOf("&segment=")===0){aw=aw.substr("&segment=".length)}}W.name=aB+"###"+ay+"###"+at+"###"+aw}var aA=W.name.split("###");return aA.length===4&&aA[0]===aB}function ad(au,az,av){var ay=W.name.split("###"),ax=ay[1],at=ay[2],aw=ay[3],aA=aa(au,az);o(aA+"plugins/Overlay/client/client.js?v=1",function(){Matomo_Overlay_Client.initialize(aA,av,ax,at,aw)})}function v(){var av;try{av=W.frameElement}catch(au){return true}if(M(av)){return(av&&String(av.nodeName).toLowerCase()==="iframe")?true:false}try{return W.self!==W.top
|
||||
}catch(at){return true}}function T(cj,cf){var bP=this,bj="mtm_consent",cL="mtm_cookie_consent",cU="mtm_consent_removed",ca=ae(J.domain,W.location.href,N()),c2=O(ca[0]),bT=p(ca[1]),bu=p(ca[2]),c0=false,cn="GET",dj=cn,aM="application/x-www-form-urlencoded; charset=UTF-8",cE=aM,aI=cj||"",bO="",c9="",ct="",cc=cf||"",bF="",bU="",ba,bp="",dg=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c2],bG=[],co=[],bR=[],be=[],bQ=500,c5=true,cR,bb,bX,bV,at,cw=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bN=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],bq="_pk_",az="pk_vid",a5=180,c7,bw,bY=false,aN="Lax",bs=false,cY,bk,bC,cS=33955200000,cu=1800000,df=15768000000,a8=true,bL=false,bn=false,bW=false,aV=false,ch,b2={},cs={},bt={},bA=200,cA={},da={},dh={},cg=[],ck=false,cJ=false,au=false,di=false,cV=false,aS=false,bi=v(),cF=null,c8=null,aW,bI,cd=aq,bv,aQ,bH=false,cx=0,bB=["id","ses","cvar","ref"],cI=false,bJ=null,cT=[],cz=[],aB=X++,aA=false,c6=true;
|
||||
try{bp=J.title}catch(cG){bp=""}function aH(dv){if(bs){return 0}var dt=new RegExp("(^|;)[ ]*"+dv+"=([^;]*)"),du=dt.exec(J.cookie);return du?V(du[2]):0}bJ=!aH(cU);function dn(dx,dy,dB,dA,dv,dw,dz){if(bs&&dx!==cU){return}var du;if(dB){du=new Date();du.setTime(du.getTime()+dB)}if(!dz){dz="Lax"}J.cookie=dx+"="+t(dy)+(dB?";expires="+du.toGMTString():"")+";path="+(dA||"/")+(dv?";domain="+dv:"")+(dw?";secure":"")+";SameSite="+dz;if((!dB||dB>=0)&&aH(dx)!==String(dy)){var dt="There was an error setting cookie `"+dx+"`. Please check domain and path.";ao(dt)}}function b8(dt){var dv,du;dt=j(dt,az);for(du=0;du<co.length;du++){dt=j(dt,co[du])}if(bV){dv=new RegExp("#.*");return dt.replace(dv,"")}return dt}function b1(dv,dt){var dw=s(dt),du;if(dw){return dt}if(dt.slice(0,1)==="/"){return s(dv)+"://"+d(dv)+dt}dv=b8(dv);du=dv.indexOf("?");if(du>=0){dv=dv.slice(0,du)}du=dv.lastIndexOf("/");if(du!==dv.length-1){dv=dv.slice(0,du+1)}return dv+dt}function cP(dv,dt){var du;dv=String(dv).toLowerCase();dt=String(dt).toLowerCase();
|
||||
if(dv===dt){return true}if(dt.slice(0,1)==="."){if(dv===dt.slice(1)){return true}du=dv.length-dt.length;if((du>0)&&(dv.slice(du)===dt)){return true}}return false}function cr(dt){var du=document.createElement("a");if(dt.indexOf("//")!==0&&dt.indexOf("http")!==0){if(dt.indexOf("*")===0){dt=dt.substr(1)}if(dt.indexOf(".")===0){dt=dt.substr(1)}dt="http://"+dt}du.href=w.toAbsoluteUrl(dt);if(du.pathname){return du.pathname}return""}function a9(du,dt){if(!an(dt,"/")){dt="/"+dt}if(!an(du,"/")){du="/"+du}var dv=(dt==="/"||dt==="/*");if(dv){return true}if(du===dt){return true}dt=String(dt).toLowerCase();du=String(du).toLowerCase();if(U(dt,"*")){dt=dt.slice(0,-1);dv=(!dt||dt==="/");if(dv){return true}if(du===dt){return true}return du.indexOf(dt)===0}if(!U(du,"/")){du+="/"}if(!U(dt,"/")){dt+="/"}return du.indexOf(dt)===0}function aw(dx,dz){var du,dt,dv,dw,dy;for(du=0;du<aC.length;du++){dw=O(aC[du]);dy=cr(aC[du]);if(cP(dx,dw)&&a9(dz,dy)){return true}}return false}function a1(dw){var du,dt,dv;for(du=0;
|
||||
du<aC.length;du++){dt=O(aC[du].toLowerCase());if(dw===dt){return true}if(dt.slice(0,1)==="."){if(dw===dt.slice(1)){return true}dv=dw.length-dt.length;if((dv>0)&&(dw.slice(dv)===dt)){return true}}}return false}function cv(dt,dv){dt=dt.replace("send_image=0","send_image=1");var du=new Image(1,1);du.onload=function(){H=0;if(typeof dv==="function"){dv({request:dt,trackerUrl:aI,success:true})}};du.onerror=function(){if(typeof dv==="function"){dv({request:dt,trackerUrl:aI,success:false})}};du.src=aI+(aI.indexOf("?")<0?"?":"&")+dt}function cM(dt){if(dj==="POST"){return true}return dt&&(dt.length>2000||dt.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function bc(dx,dA,dz){var dv=aP();if(!dv){return false}var dw={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dB=false;var du=aI;try{var dt=new Blob([dx],dw);if(dz&&!cM(dx)){dt=new Blob([],dw);du=du+(du.indexOf("?")<0?"?":"&")+dx}dB=g.sendBeacon(du,dt)}catch(dy){return false
|
||||
}if(dB&&typeof dA==="function"){dA({request:dx,trackerUrl:aI,success:true,isSendBeacon:true})}return dB}function de(du,dv,dt){if(!M(dt)||null===dt){dt=true}if(m&&bc(du,dv,dt)){return}setTimeout(function(){if(m&&bc(du,dv,dt)){return}var dy;try{var dx=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dx.open("POST",aI,true);dx.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dz=m&&bc(du,dv,dt);if(!dz&&dt){cv(du,dv)}else{if(typeof dv==="function"){dv({request:du,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dv==="function")){dv({request:du,trackerUrl:aI,success:true,xhr:this})}}};dx.setRequestHeader("Content-Type",cE);dx.withCredentials=true;dx.send(du)}catch(dw){dy=m&&bc(du,dv,dt);if(!dy&&dt){cv(du,dv)}else{if(typeof dv==="function"){dv({request:du,trackerUrl:aI,success:false})}}}},50)}function cl(du){var dt=new Date();var dv=dt.getTime()+du;if(!r||dv>r){r=dv}}function bg(){bi=true;
|
||||
cF=new Date().getTime()}function dm(){var dt=new Date().getTime();return !cF||(dt-cF)>bb}function aD(){if(dm()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dm()){bX()}else{if(J.visibilityState==="visible"){cF=new Date().getTime()}}}function dq(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dm()){bX()}}})}function cK(dx){var du=new Date();var dt=du.getTime();c8=dt;if(cJ&&dt<cJ){var dv=cJ-dt;setTimeout(dx,dv);cl(dv+50);cJ+=50;return}if(cJ===false){var dw=800;cJ=dt+dw}dx()}function aT(){if(aH(cU)){bJ=false}else{if(aH(bj)){bJ=true}}}function bM(du,dt,dv){aT();if(!bJ){cT.push(du);return}aA=true;if(!cY&&du){if(cI&&bJ){du+="&consent=1"}cK(function(){if(c5&&bc(du,dv,true)){cl(100);return}if(cM(du)){de(du,dv)}else{cv(du,dv)}cl(dt)})}if(!aS){dq()}}function cq(dt){if(cY){return false}return(dt&&dt.length)}function dd(dt,dx){if(!dx||dx>=dt.length){return[dt]}var du=0;var dv=dt.length;var dw=[];
|
||||
for(du;du<dv;du+=dx){dw.push(dt.slice(du,du+dx))}return dw}function dp(du,dt){if(!cq(du)){return}if(!bJ){cT.push(du);return}aA=true;cK(function(){var dx=dd(du,50);var dv=0,dw;for(dv;dv<dx.length;dv++){dw='{"requests":["?'+dx[dv].join('","?')+'"],"send_image":0}';if(c5&&bc(dw,null,false)){cl(100)}else{de(dw,null,false)}}cl(dt)})}function aY(dt){return bq+dt+"."+cc+"."+bv}function b5(dv,du,dt){dn(dv,"",-86400,du,dt)}function cb(){if(bs){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dt=bq+"testcookie";dn(dt,"1",undefined,bw,c7,bY,aN);var du=aH(dt)==="1"?"1":"0";b5(dt);return du}function bo(){bv=cd((c7||c2)+(bw||"/")).slice(0,4)}function cQ(){if(!c6){return{}}if(M(dh.res)){return dh}var du,dw,dx={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(du in dx){if(Object.prototype.hasOwnProperty.call(dx,du)){dw=g.mimeTypes[dx[du]];
|
||||
dh[du]=(dw&&dw.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dh.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dh.cookie=g.cookieEnabled?"1":"0"}else{dh.cookie=cb()}}var dv=parseInt(ab.width,10);var dt=parseInt(ab.height,10);dh.res=parseInt(dv,10)+"x"+parseInt(dt,10);return dh}function b3(){var du=aY("cvar"),dt=aH(du);if(dt&&dt.length){dt=W.JSON.parse(dt);if(Z(dt)){return dt}}return{}}function cN(){if(aV===false){aV=b3()}}function cZ(){var dt=cQ();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dt)+(new Date()).getTime()+Math.random()).slice(0,16)}function aF(){var dt=cQ();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dt)).slice(0,6)}function bl(){return Math.floor((new Date()).getTime()/1000)}function aO(){var du=bl();var dv=aF();var dt=String(du)+dv;return dt}function dc(dv){dv=String(dv);var dy=aF();var dw=dy.length;var dx=dv.substr(-1*dw,dw);
|
||||
var du=parseInt(dv.substr(0,dv.length-dw),10);if(du&&dx&&dx===dy){var dt=bl();if(a5<=0){return true}if(dt>=du&&dt<=(du+a5)){return true}}return false}function dr(dt){if(!cV){return""}var dx=e(dt,az);if(!dx){return""}dx=String(dx);var dv=new RegExp("^[a-zA-Z0-9]+$");if(dx.length===32&&dv.test(dx)){var du=dx.substr(16,32);if(dc(du)){var dw=dx.substr(0,16);return dw}}return""}function cW(){if(!bU){bU=dr(bT)}var dv=new Date(),dt=Math.round(dv.getTime()/1000),du=aY("id"),dy=aH(du),dx,dw;if(dy){dx=dy.split(".");dx.unshift("0");if(bU.length){dx[1]=bU}return dx}if(bU.length){dw=bU}else{if("0"===cb()){dw=""}else{dw=cZ()}}dx=["1",dw,dt];return dx}function a4(){var dw=cW(),du=dw[0],dv=dw[1],dt=dw[2];return{newVisitor:du,uuid:dv,createTs:dt}}function aL(){var dw=new Date(),du=dw.getTime(),dx=a4().createTs;var dt=parseInt(dx,10);var dv=(dt*1000)+cS-du;return dv}function aR(dt){if(!cc){return}var dv=new Date(),du=Math.round(dv.getTime()/1000);if(!M(dt)){dt=a4()}var dw=dt.uuid+"."+dt.createTs+".";dn(aY("id"),dw,aL(),bw,c7,bY,aN)
|
||||
}function bS(){var dt=aH(aY("ref"));if(dt.length){try{dt=W.JSON.parse(dt);if(Z(dt)){return dt}}catch(du){}}return["","",0,""]}function bD(dv){var du=bq+"testcookie_domain";var dt="testvalue";dn(du,dt,10000,null,dv,bY,aN);if(aH(du)===dt){b5(du,null,dv);return true}return false}function aJ(){var du=bs;bs=false;var dt,dv;for(dt=0;dt<bB.length;dt++){dv=aY(bB[dt]);if(dv!==cU&&dv!==bj&&0!==aH(dv)){b5(dv,bw,c7)}}bs=du}function b9(dt){cc=dt}function ds(dx){if(!dx||!Z(dx)){return}var dw=[];var dv;for(dv in dx){if(Object.prototype.hasOwnProperty.call(dx,dv)){dw.push(dv)}}var dy={};dw.sort();var dt=dw.length;var du;for(du=0;du<dt;du++){dy[dw[du]]=dx[dw[du]]}return dy}function ci(){dn(aY("ses"),"1",cu,bw,c7,bY,aN)}function bm(){var dw="";var du="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dv=du.length;var dt;for(dt=0;dt<6;dt++){dw+=du.charAt(Math.floor(Math.random()*dv))}return dw}function aE(du){if(ct!==""){du+=ct;bn=true;return du}if(!h){return du}var dv=(typeof h.timing==="object")&&h.timing?h.timing:undefined;
|
||||
if(!dv){dv=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dv){return du}var dt="";if(dv.connectEnd&&dv.fetchStart){if(dv.connectEnd<dv.fetchStart){return}dt+="&pf_net="+Math.round(dv.connectEnd-dv.fetchStart)}if(dv.responseStart&&dv.requestStart){if(dv.responseStart<dv.requestStart){return}dt+="&pf_srv="+Math.round(dv.responseStart-dv.requestStart)}if(dv.responseStart&&dv.responseEnd){if(dv.responseEnd<dv.responseStart){return}dt+="&pf_tfr="+Math.round(dv.responseEnd-dv.responseStart)}if(M(dv.domLoading)){if(dv.domInteractive&&dv.domLoading){if(dv.domInteractive<dv.domLoading){return}dt+="&pf_dm1="+Math.round(dv.domInteractive-dv.domLoading)}}else{if(dv.domInteractive&&dv.responseEnd){if(dv.domInteractive<dv.responseEnd){return}dt+="&pf_dm1="+Math.round(dv.domInteractive-dv.responseEnd)}}if(dv.domComplete&&dv.domInteractive){if(dv.domComplete<dv.domInteractive){return}dt+="&pf_dm2="+Math.round(dv.domComplete-dv.domInteractive)
|
||||
}if(dv.loadEventEnd&&dv.loadEventStart){if(dv.loadEventEnd<dv.loadEventStart){return}dt+="&pf_onl="+Math.round(dv.loadEventEnd-dv.loadEventStart)}return du+dt}function cy(dv,dP,dQ){var dO,du=new Date(),dC=Math.round(du.getTime()/1000),dz,dM,dw=1024,dV,dD,dL=aV,dx=aY("ses"),dJ=aY("ref"),dG=aY("cvar"),dH=aH(dx),dN=bS(),dR=ba||bT,dA,dt;if(bs){aJ()}if(cY){return""}var dI=a4();var dF=J.characterSet||J.charset;if(!dF||dF.toLowerCase()==="utf-8"){dF=null}dA=dN[0];dt=dN[1];dz=dN[2];dM=dN[3];if(!dH){if(!bC||!dA.length){for(dO in cw){if(Object.prototype.hasOwnProperty.call(cw,dO)){dA=e(dR,cw[dO]);if(dA.length){break}}}for(dO in bN){if(Object.prototype.hasOwnProperty.call(bN,dO)){dt=e(dR,bN[dO]);if(dt.length){break}}}}dV=d(bu);dD=dM.length?d(dM):"";if(dV.length&&!a1(dV)&&(!bC||!dD.length||a1(dD))){dM=bu}if(dM.length||dA.length){dz=dC;dN=[dA,dt,dz,b8(dM.slice(0,dw))];dn(dJ,W.JSON.stringify(dN),df,bw,c7,bY,aN)}}dv+="&idsite="+cc+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+du.getHours()+"&m="+du.getMinutes()+"&s="+du.getSeconds()+"&url="+t(b8(dR))+(bu.length?"&urlref="+t(b8(bu)):"")+(ac(bF)?"&uid="+t(bF):"")+"&_id="+dI.uuid+"&_idn="+dI.newVisitor+(dA.length?"&_rcn="+t(dA):"")+(dt.length?"&_rck="+t(dt):"")+"&_refts="+dz+(String(dM).length?"&_ref="+t(b8(dM.slice(0,dw))):"")+(dF?"&cs="+t(dF):"")+"&send_image=0";
|
||||
var dU=cQ();for(dO in dU){if(Object.prototype.hasOwnProperty.call(dU,dO)){dv+="&"+dO+"="+dU[dO]}}var dT=[];if(dP){for(dO in dP){if(Object.prototype.hasOwnProperty.call(dP,dO)&&/^dimension\d+$/.test(dO)){var dy=dO.replace("dimension","");dT.push(parseInt(dy,10));dT.push(String(dy));dv+="&"+dO+"="+t(dP[dO]);delete dP[dO]}}}if(dP&&D(dP)){dP=null}for(dO in cA){if(Object.prototype.hasOwnProperty.call(cA,dO)){dv+="&"+dO+"="+t(cA[dO])}}for(dO in bt){if(Object.prototype.hasOwnProperty.call(bt,dO)){var dE=(-1===P(dT,dO));if(dE){dv+="&dimension"+dO+"="+t(bt[dO])}}}if(dP){dv+="&data="+t(W.JSON.stringify(dP))}else{if(at){dv+="&data="+t(W.JSON.stringify(at))}}function dB(dW,dX){var dY=W.JSON.stringify(dW);if(dY.length>2){return"&"+dX+"="+t(dY)}return""}var dS=ds(b2);var dK=ds(cs);dv+=dB(dS,"cvar");dv+=dB(dK,"e_cvar");if(aV){dv+=dB(aV,"_cvar");for(dO in dL){if(Object.prototype.hasOwnProperty.call(dL,dO)){if(aV[dO][0]===""||aV[dO][1]===""){delete aV[dO]}}}if(bW){dn(dG,W.JSON.stringify(aV),cu,bw,c7,bY,aN)
|
||||
}}if(a8&&bL&&!bn){dv=aE(dv);bn=true}if(aQ){dv+="&pv_id="+aQ}aR(dI);ci();dv+=ag(dQ,{tracker:bP,request:dv});if(c9.length){dv+="&"+c9}if(C(ch)){dv=ch(dv)}return dv}bX=function bd(){var dt=new Date();dt=dt.getTime();if(!c8){return false}if(c8+bb<=dt){bP.ping();return true}return false};function bx(dw,dv,dA,dx,dt,dD){var dz="idgoal=0",du=new Date(),dB=[],dC,dy=String(dw).length;if(dy){dz+="&ec_id="+t(dw)}dz+="&revenue="+dv;if(String(dA).length){dz+="&ec_st="+dA}if(String(dx).length){dz+="&ec_tx="+dx}if(String(dt).length){dz+="&ec_sh="+dt}if(String(dD).length){dz+="&ec_dt="+dD}if(da){for(dC in da){if(Object.prototype.hasOwnProperty.call(da,dC)){if(!M(da[dC][1])){da[dC][1]=""}if(!M(da[dC][2])){da[dC][2]=""}if(!M(da[dC][3])||String(da[dC][3]).length===0){da[dC][3]=0}if(!M(da[dC][4])||String(da[dC][4]).length===0){da[dC][4]=1}dB.push(da[dC])}}dz+="&ec_items="+t(W.JSON.stringify(dB))}dz=cy(dz,at,"ecommerce");bM(dz,bQ);if(dy){da={}}}function b4(dt,dx,dw,dv,du,dy){if(String(dt).length&&M(dx)){bx(dt,dx,dw,dv,du,dy)
|
||||
}}function bz(dt){if(M(dt)){bx("",dt,"","","","")}}function b6(du,dw,dv){if(!bH){aQ=bm()}var dt=cy("action_name="+t(ap(du||bp)),dw,"log");if(a8&&!bn){dt=aE(dt)}bM(dt,bQ,dv)}function a6(dv,du){var dw,dt="(^| )(piwik[_-]"+du+"|matomo[_-]"+du;if(dv){for(dw=0;dw<dv.length;dw++){dt+="|"+dv[dw]}}dt+=")( |$)";return new RegExp(dt)}function aZ(dt){return(aI&&dt&&0===String(dt).indexOf(aI))}function cC(dx,dt,dy,du){if(aZ(dt)){return 0}var dw=a6(bR,"download"),dv=a6(be,"link"),dz=new RegExp("\\.("+dg.join("|")+")([?&#]|$)","i");if(dv.test(dx)){return"link"}if(du||dw.test(dx)||dz.test(dt)){return"download"}if(dy){return 0}return"link"}function ay(du){var dt;dt=du.parentNode;while(dt!==null&&M(dt)){if(ai.isLinkElement(du)){break}du=dt;dt=du.parentNode}return du}function dl(dy){dy=ay(dy);if(!ai.hasNodeAttribute(dy,"href")){return}if(!M(dy.href)){return}var dx=ai.getAttributeValueFromNode(dy,"href");var du=dy.pathname||cr(dy.href);var dz=dy.hostname||d(dy.href);var dA=dz.toLowerCase();var dv=dy.href.replace(dz,dA);
|
||||
var dw=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dw.test(dv)){var dt=cC(dy.className,dv,aw(dA,du),ai.hasNodeAttribute(dy,"download"));if(dt){return{type:dt,href:dv}}}}function aU(dt,du,dv,dw){var dx=w.buildInteractionRequestParams(dt,du,dv,dw);if(!dx){return}return cy(dx,null,"contentInteraction")}function bh(dt,du){if(!dt||!du){return false}var dv=w.findTargetNode(dt);if(w.shouldIgnoreInteraction(dv)){return false}dv=w.findTargetNodeNoDefault(dt);if(dv&&!Y(dv,du)){return false}return true}function cB(dv,du,dx){if(!dv){return}var dt=w.findParentContentNode(dv);if(!dt){return}if(!bh(dt,dv)){return}var dw=w.buildContentBlock(dt);if(!dw){return}if(!dw.target&&dx){dw.target=dx}return w.buildInteractionRequestParams(du,dw.name,dw.piece,dw.target)}function a2(du){if(!cg||!cg.length){return false}var dt,dv;for(dt=0;dt<cg.length;dt++){dv=cg[dt];if(dv&&dv.name===du.name&&dv.piece===du.piece&&dv.target===du.target){return true}}return false}function a3(dt){return function(dx){if(!dt){return
|
||||
}var dv=w.findParentContentNode(dt);var du;if(dx){du=dx.target||dx.srcElement}if(!du){du=dt}if(!bh(dv,du)){return}if(!dv){return false}var dy=w.findTargetNode(dv);if(!dy||w.shouldIgnoreInteraction(dy)){return false}var dw=dl(dy);if(di&&dw&&dw.type){return dw.type}return bP.trackContentInteractionNode(du,"click")}}function b7(dv){if(!dv||!dv.length){return}var dt,du;for(dt=0;dt<dv.length;dt++){du=w.findTargetNode(dv[dt]);if(du&&!du.contentInteractionTrackingSetupDone){du.contentInteractionTrackingSetupDone=true;ar(du,"click",a3(du))}}}function bE(dv,dw){if(!dv||!dv.length){return[]}var dt,du;for(dt=0;dt<dv.length;dt++){if(a2(dv[dt])){dv.splice(dt,1);dt--}else{cg.push(dv[dt])}}if(!dv||!dv.length){return[]}b7(dw);var dx=[];for(dt=0;dt<dv.length;dt++){du=cy(w.buildImpressionRequestParams(dv[dt].name,dv[dt].piece,dv[dt].target),undefined,"contentImpressions");if(du){dx.push(du)}}return dx}function cH(du){var dt=w.collectContent(du);return bE(dt,du)}function bf(du){if(!du||!du.length){return[]
|
||||
}var dt;for(dt=0;dt<du.length;dt++){if(!w.isNodeVisible(du[dt])){du.splice(dt,1);dt--}}if(!du||!du.length){return[]}return cH(du)}function aK(dv,dt,du){var dw=w.buildImpressionRequestParams(dv,dt,du);return cy(dw,null,"contentImpression")}function dk(dw,du){if(!dw){return}var dt=w.findParentContentNode(dw);var dv=w.buildContentBlock(dt);if(!dv){return}if(!du){du="Unknown"}return aU(du,dv.name,dv.piece,dv.target)}function cX(du,dw,dt,dv){return"e_c="+t(du)+"&e_a="+t(dw)+(M(dt)?"&e_n="+t(dt):"")+(M(dv)?"&e_v="+t(dv):"")+"&ca=1"}function ax(dv,dx,dt,dw,dz,dy){if(!ac(dv)||!ac(dx)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var du=cy(cX(dv,dx,dt,dw),dz,"event");bM(du,bQ,dy)}function ce(dt,dw,du,dx){var dv=cy("search="+t(dt)+(dw?"&search_cat="+t(dw):"")+(M(du)?"&search_count="+du:""),dx,"sitesearch");bM(dv,bQ)}function c1(dt,dx,dw,dv){var du=cy("idgoal="+dt+(dx?"&revenue="+dx:""),dw,"goal");bM(du,bQ,dv)}function db(dw,dt,dA,dz,dv){var dy=dt+"="+t(b8(dw));
|
||||
var du=cB(dv,"click",dw);if(du){dy+="&"+du}var dx=cy(dy,dA,"link");bM(dx,bQ,dz)}function b0(du,dt){if(du!==""){return du+dt.charAt(0).toUpperCase()+dt.slice(1)}return dt}function cm(dy){var dx,dt,dw=["","webkit","ms","moz"],dv;if(!bk){for(dt=0;dt<dw.length;dt++){dv=dw[dt];if(Object.prototype.hasOwnProperty.call(J,b0(dv,"hidden"))){if(J[b0(dv,"visibilityState")]==="prerender"){dx=true}break}}}if(dx){ar(J,dv+"visibilitychange",function du(){J.removeEventListener(dv+"visibilitychange",du,false);dy()});return}dy()}function by(){var du=bP.getVisitorId();var dt=aO();return du+dt}function cp(dt){if(!dt){return}if(!ai.hasNodeAttribute(dt,"href")){return}var du=ai.getAttributeValueFromNode(dt,"href");if(!du||aZ(du)){return}if(!bP.getVisitorId()){return}du=j(du,az);var dv=by();du=I(du,az,dv);ai.setAnyAttribute(dt,"href",du)}function br(dw){var dx=ai.getAttributeValueFromNode(dw,"href");if(!dx){return false}dx=String(dx);var du=dx.indexOf("//")===0||dx.indexOf("http://")===0||dx.indexOf("https://")===0;
|
||||
if(!du){return false}var dt=dw.pathname||cr(dw.href);var dv=(dw.hostname||d(dw.href)).toLowerCase();if(aw(dv,dt)){if(!cP(c2,O(dv))){return true}return false}return false}function cO(dt){var du=dl(dt);if(du&&du.type){du.href=p(du.href);db(du.href,du.type,undefined,null,dt);return}if(cV){dt=ay(dt);if(br(dt)){cp(dt)}}}function cD(){return J.all&&!J.addEventListener}function c3(dt){var dv=dt.which;var du=(typeof dt.button);if(!dv&&du!=="undefined"){if(cD()){if(dt.button&1){dv=1}else{if(dt.button&2){dv=3}else{if(dt.button&4){dv=2}}}}else{if(dt.button===0||dt.button==="0"){dv=1}else{if(dt.button&1){dv=2}else{if(dt.button&2){dv=3}}}}}return dv}function bZ(dt){switch(c3(dt)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a7(dt){return dt.target||dt.srcElement}function c4(dt){return dt==="A"||dt==="AREA"}function aG(dt){function du(dw){var dx=a7(dw);var dy=dx.nodeName;var dv=a6(bG,"ignore");while(!c4(dy)&&dx&&dx.parentNode){dx=dx.parentNode;dy=dx.nodeName}if(dx&&c4(dy)&&!dv.test(dx.className)){return dx
|
||||
}}return function(dx){dx=dx||W.event;var dy=du(dx);if(!dy){return}var dw=bZ(dx);if(dx.type==="click"){var dv=false;if(dt&&dw==="middle"){dv=true}if(dy&&!dv){cO(dy)}}else{if(dx.type==="mousedown"){if(dw==="middle"&&dy){aW=dw;bI=dy}else{aW=bI=null}}else{if(dx.type==="mouseup"){if(dw===aW&&dy===bI){cO(dy)}aW=bI=null}else{if(dx.type==="contextmenu"){cO(dy)}}}}}}function av(dw,dv,dt){var du=typeof dv;if(du==="undefined"){dv=true}ar(dw,"click",aG(dv),dt);if(dv){ar(dw,"mouseup",aG(dv),dt);ar(dw,"mousedown",aG(dv),dt);ar(dw,"contextmenu",aG(dv),dt)}}function aX(du,dx,dy){if(ck){return true}ck=true;var dz=false;var dw,dv;function dt(){dz=true}n(function(){function dA(dC){setTimeout(function(){if(!ck){return}dz=false;dy.trackVisibleContentImpressions();dA(dC)},dC)}function dB(dC){setTimeout(function(){if(!ck){return}if(dz){dz=false;dy.trackVisibleContentImpressions()}dB(dC)},dC)}if(du){dw=["scroll","resize"];for(dv=0;dv<dw.length;dv++){if(J.addEventListener){J.addEventListener(dw[dv],dt,false)}else{W.attachEvent("on"+dw[dv],dt)
|
||||
}}dB(100)}if(dx&&dx>0){dx=parseInt(dx,10);dA(dx)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dt=this.requests;this.requests=[];if(dt.length===1){bM(dt[0],bQ)}else{dp(dt,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(du){if(!this.canQueue()){dp(du,bQ);return}var dt;for(dt=0;dt<du.length;dt++){this.push(du[dt])}},push:function(dt){if(!dt){return}if(!this.canQueue()){bM(dt,bQ);return}bK.requests.push(dt);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bK.timeout=null;bK.sendRequests()},bK.interval);var du="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,du)){b[du]={unload:function(){if(bK.timeout){clearTimeout(bK.timeout)}bK.sendRequests()}}}}};bo();aR();this.hasConsent=function(){return bJ};this.getVisitorId=function(){return a4().uuid};this.getVisitorInfo=function(){return cW()};this.getAttributionInfo=function(){return bS()};this.getAttributionCampaignName=function(){return bS()[0]
|
||||
};this.getAttributionCampaignKeyword=function(){return bS()[1]};this.getAttributionReferrerTimestamp=function(){return bS()[2]};this.getAttributionReferrerUrl=function(){return bS()[3]};this.setTrackerUrl=function(dt){aI=dt};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bO)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dv,du){if(!M(dv)||null===dv){dv=this.getTrackerUrl()}var dt=new T(dv,du);L.push(dt);u.trigger("TrackerAdded",[this]);return dt};this.getSiteId=function(){return cc};this.setSiteId=function(dt){b9(dt)};this.resetUserId=function(){bF=""};this.setUserId=function(dt){if(ac(dt)){bF=dt}};this.setVisitorId=function(du){var dt=/[0-9A-Fa-f]{16}/g;if(x(du)&&dt.test(du)){bU=du}else{ao("Invalid visitorId set"+du)}};this.getUserId=function(){return bF};this.setCustomData=function(dt,du){if(Z(dt)){at=dt}else{if(!at){at={}}at[dt]=du}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dt){ch=dt
|
||||
};this.appendToTrackingUrl=function(dt){c9=dt};this.getRequest=function(dt){return cy(dt)};this.addPlugin=function(dt,du){b[dt]=du};this.setCustomDimension=function(dt,du){dt=parseInt(dt,10);if(dt>0){if(!M(du)){du=""}if(!x(du)){du=String(du)}bt[dt]=du}};this.getCustomDimension=function(dt){dt=parseInt(dt,10);if(dt>0&&Object.prototype.hasOwnProperty.call(bt,dt)){return bt[dt]}};this.deleteCustomDimension=function(dt){dt=parseInt(dt,10);if(dt>0){delete bt[dt]}};this.setCustomVariable=function(du,dt,dx,dv){var dw;if(!M(dv)){dv="visit"}if(!M(dt)){return}if(!M(dx)){dx=""}if(du>0){dt=!x(dt)?String(dt):dt;dx=!x(dx)?String(dx):dx;dw=[dt.slice(0,bA),dx.slice(0,bA)];if(dv==="visit"||dv===2){cN();aV[du]=dw}else{if(dv==="page"||dv===3){b2[du]=dw}else{if(dv==="event"){cs[du]=dw}}}}};this.getCustomVariable=function(du,dv){var dt;if(!M(dv)){dv="visit"}if(dv==="page"||dv===3){dt=b2[du]}else{if(dv==="event"){dt=cs[du]}else{if(dv==="visit"||dv===2){cN();dt=aV[du]}}}if(!M(dt)||(dt&&dt[0]==="")){return false
|
||||
}return dt};this.deleteCustomVariable=function(dt,du){if(this.getCustomVariable(dt,du)){this.setCustomVariable(dt,"","",du)}};this.deleteCustomVariables=function(dt){if(dt==="page"||dt===3){b2={}}else{if(dt==="event"){cs={}}else{if(dt==="visit"||dt===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(dt){bQ=dt};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(dt){if(x(dt)){dt=dt.split("|")}dg=dt};this.addDownloadExtensions=function(du){var dt;if(x(du)){du=du.split("|")}for(dt=0;dt<du.length;dt++){dg.push(du[dt])}};this.removeDownloadExtensions=function(dv){var du,dt=[];if(x(dv)){dv=dv.split("|")}for(du=0;du<dg.length;du++){if(P(dv,dg[du])===-1){dt.push(dg[du])}}dg=dt};this.setDomains=function(dt){aC=x(dt)?[dt]:dt;var dx=false,dv=0,du;for(dv;dv<aC.length;dv++){du=String(aC[dv]);if(cP(c2,O(du))){dx=true;break}var dw=cr(du);if(dw&&dw!=="/"&&dw!=="/*"){dx=true;break}}if(!dx){aC.push(c2)}};this.enableCrossDomainLinking=function(){cV=true
|
||||
};this.disableCrossDomainLinking=function(){cV=false};this.isCrossDomainLinkingEnabled=function(){return cV};this.setCrossDomainLinkingTimeout=function(dt){a5=dt};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(by())};this.setIgnoreClasses=function(dt){bG=x(dt)?[dt]:dt};this.setRequestMethod=function(dt){if(dt){dj=String(dt).toUpperCase()}else{dj=cn}if(dj==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dt){cE=dt||aM};this.setGenerationTimeMs=function(dt){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dx,dz,dy,du,dA,dv){var dw={pf_net:dx,pf_srv:dz,pf_tfr:dy,pf_dm1:du,pf_dm2:dA,pf_onl:dv};try{dw=Q(dw,M);dw=B(dw);ct=l(dw);if(ct===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bn=false;bL=true}catch(dt){ao("setPagePerformanceTiming: "+dt.toString())
|
||||
}};this.setReferrerUrl=function(dt){bu=dt};this.setCustomUrl=function(dt){ba=b1(bT,dt)};this.getCurrentUrl=function(){return ba||bT};this.setDocumentTitle=function(dt){bp=dt};this.setPageViewId=function(dt){aQ=dt;bH=true};this.setAPIUrl=function(dt){bO=dt};this.setDownloadClasses=function(dt){bR=x(dt)?[dt]:dt};this.setLinkClasses=function(dt){be=x(dt)?[dt]:dt};this.setCampaignNameKey=function(dt){cw=x(dt)?[dt]:dt};this.setCampaignKeywordKey=function(dt){bN=x(dt)?[dt]:dt};this.discardHashTag=function(dt){bV=dt};this.setCookieNamePrefix=function(dt){bq=dt;if(aV){aV=b3()}};this.setCookieDomain=function(dt){var du=O(dt);if(!bs&&!bD(du)){ao("Can't write cookie on domain "+dt)}else{c7=du;bo()}};this.setExcludedQueryParams=function(dt){co=x(dt)?[dt]:dt};this.getCookieDomain=function(){return c7};this.hasCookies=function(){return"1"===cb()};this.setSessionCookie=function(dv,du,dt){if(!dv){throw new Error("Missing cookie name")}if(!M(dt)){dt=cu}bB.push(dv);dn(aY(dv),du,dt,bw,c7,bY,aN)};this.getCookie=function(du){var dt=aH(aY(du));
|
||||
if(dt===0){return null}return dt};this.setCookiePath=function(dt){bw=dt;bo()};this.getCookiePath=function(dt){return bw};this.setVisitorCookieTimeout=function(dt){cS=dt*1000};this.setSessionCookieTimeout=function(dt){cu=dt*1000};this.getSessionCookieTimeout=function(){return cu};this.setReferralCookieTimeout=function(dt){df=dt*1000};this.setConversionAttributionFirstReferrer=function(dt){bC=dt};this.setSecureCookie=function(dt){if(dt&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}bY=dt};this.setCookieSameSite=function(dt){dt=String(dt);dt=dt.charAt(0).toUpperCase()+dt.toLowerCase().slice(1);if(dt!=="None"&&dt!=="Lax"&&dt!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dt==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dt="Lax"}}aN=dt};this.disableCookies=function(){bs=true;if(cc){aJ()}};this.areCookiesEnabled=function(){return !bs
|
||||
};this.setCookieConsentGiven=function(){if(bs&&!cY){bs=false;c6=true;if(cc&&aA){aR();var dt=cy("ping=1",null,"ping");bM(dt,bQ)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cL)};this.forgetCookieConsentGiven=function(){b5(cL,bw,c7);this.disableCookies()};this.rememberCookieConsentGiven=function(du){if(du){du=du*60*60*1000}else{du=30*365*24*60*60*1000}this.setCookieConsentGiven();var dt=new Date().getTime();dn(cL,dt,du,bw,c7,bY,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(du){var dt=g.doNotTrack||g.msDoNotTrack;cY=du&&(dt==="yes"||dt==="1");if(cY){this.disableCookies()}};this.alwaysUseSendBeacon=function(){c5=true};this.disableAlwaysUseSendBeacon=function(){c5=false};this.addListener=function(du,dt){av(du,dt,false)};this.enableLinkTracking=function(du){if(di){return}di=true;var dt=this;q(function(){au=true;var dv=J.body;av(dv,du,true)
|
||||
})};this.enableJSErrorTracking=function(){if(c0){return}c0=true;var dt=W.onerror;W.onerror=function(dy,dw,dv,dx,du){cm(function(){var dz="JavaScript Errors";var dA=dw+":"+dv;if(dx){dA+=":"+dx}if(P(cz,dz+dA+dy)===-1){cz.push(dz+dA+dy);ax(dz,dA,dy)}});if(dt){return dt(dy,dw,dv,dx,du)}return false}};this.disablePerformanceTracking=function(){a8=false};this.enableHeartBeatTimer=function(dt){dt=Math.max(dt||15,5);bb=dt*1000;if(c8!==null){dq()}};this.disableHeartBeatTimer=function(){if(bb||aS){if(W.removeEventListener){W.removeEventListener("focus",bg);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a0)}else{if(W.detachEvent){W.detachEvent("onfocus",bg);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a0)}}}bb=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dt){if(W.location.protocol==="file:"){W.location=dt}};this.setCountPreRendered=function(dt){bk=dt};this.trackGoal=function(dt,dw,dv,du){cm(function(){c1(dt,dw,dv,du)
|
||||
})};this.trackLink=function(du,dt,dw,dv){cm(function(){db(du,dt,dw,dv)})};this.getNumTrackedPageViews=function(){return cx};this.trackPageView=function(dt,dv,du){cg=[];cT=[];cz=[];if(R(cc)){cm(function(){ad(aI,bO,cc)})}else{cm(function(){cx++;b6(dt,dv,du)})}};this.disableBrowserFeatureDetection=function(){c6=false};this.enableBrowserFeatureDetection=function(){c6=true};this.trackAllContentImpressions=function(){if(R(cc)){return}cm(function(){q(function(){var dt=w.findContentNodes();var du=cH(dt);bK.pushMultiple(du)})})};this.trackVisibleContentImpressions=function(dt,du){if(R(cc)){return}if(!M(dt)){dt=true}if(!M(du)){du=750}aX(dt,du,this);cm(function(){n(function(){var dv=w.findContentNodes();var dw=bf(dv);bK.pushMultiple(dw)})})};this.trackContentImpression=function(dv,dt,du){if(R(cc)){return}dv=a(dv);dt=a(dt);du=a(du);if(!dv){return}dt=dt||"Unknown";cm(function(){var dw=aK(dv,dt,du);bK.push(dw)})};this.trackContentImpressionsWithinNode=function(dt){if(R(cc)||!dt){return}cm(function(){if(ck){n(function(){var du=w.findContentNodesWithinNode(dt);
|
||||
var dv=bf(du);bK.pushMultiple(dv)})}else{q(function(){var du=w.findContentNodesWithinNode(dt);var dv=cH(du);bK.pushMultiple(dv)})}})};this.trackContentInteraction=function(dv,dw,dt,du){if(R(cc)){return}dv=a(dv);dw=a(dw);dt=a(dt);du=a(du);if(!dv||!dw){return}dt=dt||"Unknown";cm(function(){var dx=aU(dv,dw,dt,du);if(dx){bK.push(dx)}})};this.trackContentInteractionNode=function(dv,du){if(R(cc)||!dv){return}var dt=null;cm(function(){dt=dk(dv,du);if(dt){bK.push(dt)}});return dt};this.logAllContentBlocksOnPage=function(){var dv=w.findContentNodes();var dt=w.collectContent(dv);var du=typeof console;if(du!=="undefined"&&console&&console.log){console.log(dt)}};this.trackEvent=function(du,dw,dt,dv,dy,dx){cm(function(){ax(du,dw,dt,dv,dy,dx)})};this.trackSiteSearch=function(dt,dv,du,dw){cg=[];cm(function(){ce(dt,dv,du,dw)})};this.setEcommerceView=function(dx,dt,dv,du){cA={};if(ac(dv)){dv=String(dv)}if(!M(dv)||dv===null||dv===false||!dv.length){dv=""}else{if(dv instanceof Array){dv=W.JSON.stringify(dv)
|
||||
}}var dw="_pkc";cA[dw]=dv;if(M(du)&&du!==null&&du!==false&&String(du).length){dw="_pkp";cA[dw]=du}if(!ac(dx)&&!ac(dt)){return}if(ac(dx)){dw="_pks";cA[dw]=dx}if(!ac(dt)){dt=""}dw="_pkn";cA[dw]=dt};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(da))};this.addEcommerceItem=function(dx,dt,dv,du,dw){if(ac(dx)){da[dx]=[String(dx),dt,dv,du,dw]}};this.removeEcommerceItem=function(dt){if(ac(dt)){dt=String(dt);delete da[dt]}};this.clearEcommerceCart=function(){da={}};this.trackEcommerceOrder=function(dt,dx,dw,dv,du,dy){b4(dt,dx,dw,dv,du,dy)};this.trackEcommerceCartUpdate=function(dt){bz(dt)};this.trackRequest=function(du,dw,dv,dt){cm(function(){var dx=cy(du,dw,dt);bM(dx,bQ,dv)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bK.enabled=false};this.setRequestQueueInterval=function(dt){if(dt<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bK.interval=dt};this.queueRequest=function(dt){cm(function(){var du=cy(dt);
|
||||
bK.push(du)})};this.isConsentRequired=function(){return cI};this.getRememberedConsent=function(){var dt=aH(bj);if(aH(cU)){if(dt){b5(bj,bw,c7)}return null}if(!dt||dt===0){return null}return dt};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()};this.requireConsent=function(){cI=true;bJ=this.hasRememberedConsent();if(!bJ){bs=true}y++;b["CoreConsent"+y]={unload:function(){if(!bJ){aJ()}}}};this.setConsentGiven=function(du){bJ=true;c6=true;b5(cU,bw,c7);var dv,dt;for(dv=0;dv<cT.length;dv++){dt=typeof cT[dv];if(dt==="string"){bM(cT[dv],bQ)}else{if(dt==="object"){dp(cT[dv],bQ)}}}cT=[];if(!M(du)||du){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dv){if(dv){dv=dv*60*60*1000}else{dv=30*365*24*60*60*1000}var dt=true;this.setConsentGiven(dt);var du=new Date().getTime();dn(bj,du,dv,bw,c7,bY,aN)};this.forgetConsentGiven=function(){var dt=30*365*24*60*60*1000;b5(bj,bw,c7);dn(cU,new Date().getTime(),dt,bw,c7,bY,aN);this.forgetCookieConsentGiven();this.requireConsent()
|
||||
};this.isUserOptedOut=function(){return !bJ};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bL=true},0)});u.trigger("TrackerSetup",[this])}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams"];
|
||||
function ah(av,au){var at=new T(av,au);L.push(at);_paq=c(_paq,E);for(H=0;H<_paq.length;H++){if(_paq[H]){aj(_paq[H])}}_paq=new K();u.trigger("TrackerAdded",[at]);return at}ar(W,"beforeunload",am,false);ar(W,"online",function(){if(M(g.serviceWorker)){g.serviceWorker.ready.then(function(at){if(at&&at.sync){return at.sync.register("matomoSync")}},function(){})}},false);ar(W,"message",function(ay){if(!ay||!ay.origin){return}var aA,aw,au;var aB=d(ay.origin);var ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){au=d(ax[aw].getMatomoUrl());if(au===aB){aA=ax[aw];break}}if(!aA){return}var av=null;try{av=JSON.parse(ay.data)}catch(az){return}if(!av){return}function at(aE){var aG=J.getElementsByTagName("iframe");for(aw=0;aw<aG.length;aw++){var aF=aG[aw];var aC=d(aF.src);if(aF.contentWindow&&M(aF.contentWindow.postMessage)&&aC===aB){var aD=JSON.stringify(aE);aF.contentWindow.postMessage(aD,"*")}}}if(M(av.maq_initial_value)){at({maq_opted_in:av.maq_initial_value&&aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})
|
||||
}else{if(M(av.maq_opted_in)){ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){aA=ax[aw];if(av.maq_opted_in){aA.rememberConsentGiven()}else{aA.forgetConsentGiven()}}at({maq_confirm_opted_in:aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;u={initialized:false,JSON:W.JSON,DOM:{addEventListener:function(aw,av,au,at){var ax=typeof at;if(ax==="undefined"){at=false}ar(aw,av,au,at)},onLoad:n,onReady:q,isNodeVisible:i,isOrWasNodeVisible:w.isNodeVisible},on:function(au,at){if(!z[au]){z[au]=[]}z[au].push(at)},off:function(av,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){if(z[av][at]===au){z[av].splice(at,1)}}},trigger:function(av,aw,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){z[av][at].apply(au||W,aw)}},addPlugin:function(at,au){b[at]=au},getTracker:function(au,at){if(!M(at)){at=this.getAsyncTracker().getSiteId()}if(!M(au)){au=this.getAsyncTracker().getTrackerUrl()
|
||||
}return new T(au,at)},getAsyncTrackers:function(){return L},addTracker:function(av,au){var at;if(!L.length){at=ah(av,au)}else{at=L[0].addTracker(av,au)}return at},getAsyncTracker:function(ax,aw){var av;if(L&&L.length&&L[0]){av=L[0]}else{return ah(ax,aw)}if(!aw&&!ax){return av}if((!M(aw)||null===aw)&&av){aw=av.getSiteId()}if((!M(ax)||null===ax)&&av){ax=av.getTrackerUrl()}var au,at=0;for(at;at<L.length;at++){au=L[at];if(au&&String(au.getSiteId())===String(aw)&&au.getTrackerUrl()===ax){return au}}},retryMissedPluginCalls:function(){var au=al;al=[];var at=0;for(at;at<au.length;at++){aj(au[at])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return u});define("matomo",[],function(){return u})}return u}())}
|
||||
/*!!! pluginTrackerHook */
|
||||
(function(){function b(){if("object"!==typeof _paq){return false}var c=typeof _paq.length;if("undefined"===c){return false}return !!_paq.length}if(window&&"object"===typeof window.matomoPluginAsyncInit&&window.matomoPluginAsyncInit.length){var a=0;
|
||||
for(a;a<window.matomoPluginAsyncInit.length;a++){if(typeof window.matomoPluginAsyncInit[a]==="function"){window.matomoPluginAsyncInit[a]()}}}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}if(window&&window.matomoAsyncInit){window.matomoAsyncInit()}if(!window.Matomo.getAsyncTrackers().length){if(b()){window.Matomo.addTracker()}else{_paq={push:function(c){var d=typeof console;if(d!=="undefined"&&console&&console.error){console.error("_paq.push() was used but Matomo tracker was not initialized before the matomo.js file was loaded. Make sure to configure the tracker via _paq.push before loading matomo.js. Alternatively, you can create a tracker via Matomo.addTracker() manually and then use _paq.push but it may not fully work as tracker methods may not be executed in the correct order.",c)}}}}}window.Matomo.trigger("MatomoInitialized",[]);window.Matomo.initialized=true}());(function(){var a=(typeof window.AnalyticsTracker);if(a==="undefined"){window.AnalyticsTracker=window.Matomo}}());
|
||||
if(typeof window.piwik_log!=="function"){window.piwik_log=function(c,e,g,f){function b(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var d,a=window.Matomo.getTracker(g,e);a.setDocumentTitle(c);a.setCustomData(f);d=b("tracker_pause");if(d){a.setLinkTrackingTimer(d)}d=b("download_extensions");if(d){a.setDownloadExtensions(d)}d=b("hosts_alias");if(d){a.setDomains(d)}d=b("ignore_classes");if(d){a.setIgnoreClasses(d)}a.trackPageView();if(b("install_tracker")){piwik_track=function(i,j,k,h){a.setSiteId(j);a.setTrackerUrl(k);a.trackLink(i,h)};a.enableLinkTracking()}}}
|
||||
3
logit.min.js
vendored
Normal file
3
logit.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
735
logit.min.js.map
Normal file
735
logit.min.js.map
Normal file
File diff suppressed because one or more lines are too long
11
mailto.js
11
mailto.js
@ -1,3 +1,8 @@
|
||||
mail = $('span.mailto').html();
|
||||
mail = mail.replace('<span style="display:none;">no-thx-</span>','');
|
||||
$('span.mailto').html('<a href="mailto:'+mail+'">'+ mail +'</a>');
|
||||
(function(){
|
||||
var mdom = document.querySelectorAll('span.mailto');
|
||||
for(var i = 0;i<mdom.length;i++) {
|
||||
var txt = mdom[i].innerHTML;
|
||||
txt = txt.replace('<span style="display:none;">no-thx-</span>','');
|
||||
mdom[i].innerHTML = '<a href="mailto:'+txt+'">'+ txt +'</a>'
|
||||
}
|
||||
})();
|
||||
2
mailto.min.js
vendored
Normal file
2
mailto.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function(){for(var mdom=document.querySelectorAll("span.mailto"),i=0;i<mdom.length;i++){var txt=mdom[i].innerHTML;txt=txt.replace('<span style="display:none;">no-thx-</span>',""),mdom[i].innerHTML='<a href="mailto:'+txt+'">'+txt+"</a>"}}();
|
||||
//# sourceMappingURL=mailto.min.js.map
|
||||
18
mailto.min.js.map
Normal file
18
mailto.min.js.map
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"mailto.js"
|
||||
],
|
||||
"names": [
|
||||
"mdom",
|
||||
"document",
|
||||
"querySelectorAll",
|
||||
"i",
|
||||
"length",
|
||||
"txt",
|
||||
"innerHTML",
|
||||
"replace"
|
||||
],
|
||||
"mappings": "CAAA,WAEE,IADA,IAAIA,KAAOC,SAASC,iBAAiB,eAC7BC,EAAI,EAAEA,EAAEH,KAAKI,OAAOD,IAAK,CAC/B,IAAIE,IAAML,KAAKG,GAAGG,UAClBD,IAAMA,IAAIE,QAAQ,6CAA6C,IAC/DP,KAAKG,GAAGG,UAAY,mBAAmBD,IAAI,KAAMA,IAAK,QAL1D",
|
||||
"file": "mailto.js"
|
||||
}
|
||||
@ -1,19 +1,19 @@
|
||||
.row.make-columns {
|
||||
-moz-column-width: 19em;
|
||||
-webkit-column-width: 19em;
|
||||
-moz-column-gap: 1em;
|
||||
-webkit-column-gap:1em;
|
||||
}
|
||||
|
||||
.row.make-columns > div {
|
||||
display: inline-block;
|
||||
padding: .5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* demo only* */
|
||||
.panel {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
.row.make-columns {
|
||||
-moz-column-width: 19em;
|
||||
-webkit-column-width: 19em;
|
||||
-moz-column-gap: 1em;
|
||||
-webkit-column-gap:1em;
|
||||
}
|
||||
|
||||
.row.make-columns > div {
|
||||
display: inline-block;
|
||||
padding: .5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* demo only* */
|
||||
.panel {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
1
make-columns.min.css
vendored
Normal file
1
make-columns.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.row.make-columns{-moz-column-width:19em;-webkit-column-width:19em;-moz-column-gap:1em;-webkit-column-gap:1em}.row.make-columns>div{display:inline-block;padding:.5rem;width:100%}.panel{display:inline-block;height:100%;width:100%}
|
||||
12
parallax.css
12
parallax.css
@ -1,8 +1,8 @@
|
||||
.parallax{
|
||||
height: 600px;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
background-position: 100% auto;
|
||||
position:relative;
|
||||
height: 600px;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
background-position: 100% auto;
|
||||
position:relative;
|
||||
}
|
||||
1
parallax.min.css
vendored
Normal file
1
parallax.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.parallax{height:600px;background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-position:100% auto;position:relative}
|
||||
2
push.min.js
vendored
Normal file
2
push.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
push_ask=function(){Notification.requestPermission((function(){}))},push_send=function(t,b){new Notification(t,{body:b,icon:"favicon.png"})};
|
||||
//# sourceMappingURL=push.min.js.map
|
||||
18
push.min.js.map
Normal file
18
push.min.js.map
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"push.js"
|
||||
],
|
||||
"names": [
|
||||
"push_ask",
|
||||
"Notification",
|
||||
"requestPermission",
|
||||
"push_send",
|
||||
"t",
|
||||
"b",
|
||||
"body",
|
||||
"icon"
|
||||
],
|
||||
"mappings": "AAAAA,SAAW,WACTC,aAAaC,mBAAkB,gBAIjCC,UAAY,SAASC,EAAGC,GACtB,IAAIJ,aAAaG,EAAG,CAClBE,KAAOD,EACPE,KAAO",
|
||||
"file": "push.js"
|
||||
}
|
||||
15
selText.js
Normal file
15
selText.js
Normal file
@ -0,0 +1,15 @@
|
||||
var selText = function(callback){
|
||||
document.body.addEventListener('mouseup', function(e){
|
||||
var selection;
|
||||
|
||||
if (window.getSelection) {
|
||||
selection = window.getSelection();
|
||||
} else if (document.selection) {
|
||||
selection = document.selection.createRange();
|
||||
}
|
||||
|
||||
if(selection.toString() !== '') {
|
||||
callback(selection.toString(),e.pageX, e.pageY);
|
||||
}
|
||||
});
|
||||
};
|
||||
2
selText.min.js
vendored
Normal file
2
selText.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var selText=function(callback){document.body.addEventListener("mouseup",(function(e){var selection;window.getSelection?selection=window.getSelection():document.selection&&(selection=document.selection.createRange()),""!==selection.toString()&&callback(selection.toString(),e.pageX,e.pageY)}))};
|
||||
//# sourceMappingURL=selText.min.js.map
|
||||
23
selText.min.js.map
Normal file
23
selText.min.js.map
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"selText.js"
|
||||
],
|
||||
"names": [
|
||||
"selText",
|
||||
"callback",
|
||||
"document",
|
||||
"body",
|
||||
"addEventListener",
|
||||
"e",
|
||||
"selection",
|
||||
"window",
|
||||
"getSelection",
|
||||
"createRange",
|
||||
"toString",
|
||||
"pageX",
|
||||
"pageY"
|
||||
],
|
||||
"mappings": "AAAA,IAAIA,QAAU,SAASC,UACrBC,SAASC,KAAKC,iBAAiB,WAAW,SAASC,GACjD,IAAIC,UAEAC,OAAOC,aACTF,UAAYC,OAAOC,eACVN,SAASI,YAClBA,UAAYJ,SAASI,UAAUG,eAGL,KAAzBH,UAAUI,YACXT,SAASK,UAAUI,WAAWL,EAAEM,MAAON,EAAEO",
|
||||
"file": "selText.js"
|
||||
}
|
||||
8
sitemap.css
Normal file
8
sitemap.css
Normal file
@ -0,0 +1,8 @@
|
||||
ARTICLE { font-family: sans-serif;
|
||||
background: white; color: black }
|
||||
AUTHOR { margin: 1em; color: red }
|
||||
HEADLINE { text-align: right;
|
||||
margin-bottom: 2em }
|
||||
PARA { line-height: 1.5;
|
||||
margin-left: 15% }
|
||||
INSTRUMENT { color: blue }
|
||||
1
sitemap.min.css
vendored
Normal file
1
sitemap.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
ARTICLE{font-family:sans-serif;background:#fff;color:#000}AUTHOR{margin:1em;color:red}HEADLINE{text-align:right;margin-bottom:2em}PARA{line-height:1.5;margin-left:15%}INSTRUMENT{color:#00f}
|
||||
@ -12,7 +12,7 @@ input.switch[type="checkbox"] + label {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
transition: background-color 0.5s linear;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
input.switch[type="checkbox"] + label:hover {
|
||||
cursor: pointer;
|
||||
|
||||
1
switch.min.css
vendored
Normal file
1
switch.min.css
vendored
Normal file
@ -0,0 +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-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}
|
||||
15
tablefilter.js
Normal file
15
tablefilter.js
Normal file
@ -0,0 +1,15 @@
|
||||
function myFilter() {
|
||||
var input, filter, ul, li, a, i, txtValue;
|
||||
input = document.getElementById("suchstr");
|
||||
filter = input.value.toUpperCase();
|
||||
|
||||
li = document.querySelectorAll("#suchlist .row");
|
||||
for (i = 0; i < li.length; i++) {
|
||||
txtValue = li[i].textContent || li[i].innerText;
|
||||
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
||||
li[i].style.display = "";
|
||||
} else {
|
||||
li[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
1
tablefilter.min.js
vendored
Normal file
1
tablefilter.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
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"}
|
||||
29
tablefilter.min.js.map
Normal file
29
tablefilter.min.js.map
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"tablefilter.js"
|
||||
],
|
||||
"names": [
|
||||
"myFilter",
|
||||
"input",
|
||||
"filter",
|
||||
"ul",
|
||||
"li",
|
||||
"a",
|
||||
"i",
|
||||
"txtValue",
|
||||
"document",
|
||||
"getElementById",
|
||||
"value",
|
||||
"toUpperCase",
|
||||
"jQuery",
|
||||
"length",
|
||||
"textContent",
|
||||
"innerText",
|
||||
"indexOf",
|
||||
"style",
|
||||
"display"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,WACP,IAAIC,MAAOC,OAAQC,GAAIC,GAAIC,EAAGC,EAAGC,SAKjC,IAHAL,QADAD,MAAQO,SAASC,eAAe,YACjBC,MAAMC,cAErBP,GAAKQ,OAAO,kBACPN,EAAI,EAAGA,EAAIF,GAAGS,OAAQP,KACzBC,SAAWH,GAAGE,GAAGQ,aAAeV,GAAGE,GAAGS,WACzBJ,cAAcK,QAAQd,SAAW,EAC5CE,GAAGE,GAAGW,MAAMC,QAAU,GAEtBd,GAAGE,GAAGW,MAAMC,QAAU",
|
||||
"file": "tablefilter.js"
|
||||
}
|
||||
178
wysiwyg.css
178
wysiwyg.css
@ -1,90 +1,90 @@
|
||||
.wysiwyg {
|
||||
width: 40rem;
|
||||
min-height: 18rem;
|
||||
box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.3);
|
||||
border-top: 6px solid #4a4a4a;
|
||||
border-radius: 3px;
|
||||
margin: 2rem;
|
||||
}
|
||||
.wysiwyg .toolbar {
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.wysiwyg .toolbar .line {
|
||||
display: flex;
|
||||
border-bottom: 1px solid #e2e2e2;
|
||||
}
|
||||
.wysiwyg .toolbar .line:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box {
|
||||
display: flex;
|
||||
border-left: 1px solid #e2e2e2;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn {
|
||||
display: block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
transition: 0.2s ease all;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn:hover, .wysiwyg .toolbar .line .box .btn.active {
|
||||
background-color: #e1e1e1;
|
||||
cursor: pointer;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.icon img {
|
||||
width: 15px;
|
||||
padding: 10px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.icon.smaller img {
|
||||
width: 12px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu {
|
||||
width: 20px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu::after {
|
||||
content: '';
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
position: absolute;
|
||||
background-image: url(https://image.flaticon.com/icons/svg/25/25243.svg);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
right: 4px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu .submenu {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 36px;
|
||||
left: -1px;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
border: 1px solid #b5b5b5;
|
||||
border-top: none;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu .submenu .btn {
|
||||
width: 39px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu:hover .submenu {
|
||||
display: block;
|
||||
}
|
||||
.wysiwyg .content-area {
|
||||
padding: 15px 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.wysiwyg .content-area .visuell-view {
|
||||
outline: none;
|
||||
}
|
||||
.wysiwyg .content-area .visuell-view p {
|
||||
margin: 12px 0;
|
||||
}
|
||||
.wysiwyg .content-area .html-view {
|
||||
outline: none;
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border: none;
|
||||
resize: none;
|
||||
.wysiwyg {
|
||||
width: 40rem;
|
||||
min-height: 18rem;
|
||||
box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.3);
|
||||
border-top: 6px solid #4a4a4a;
|
||||
border-radius: 3px;
|
||||
margin: 2rem;
|
||||
}
|
||||
.wysiwyg .toolbar {
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.wysiwyg .toolbar .line {
|
||||
display: flex;
|
||||
border-bottom: 1px solid #e2e2e2;
|
||||
}
|
||||
.wysiwyg .toolbar .line:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box {
|
||||
display: flex;
|
||||
border-left: 1px solid #e2e2e2;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn {
|
||||
display: block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
transition: 0.2s ease all;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn:hover, .wysiwyg .toolbar .line .box .btn.active {
|
||||
background-color: #e1e1e1;
|
||||
cursor: pointer;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.icon img {
|
||||
width: 15px;
|
||||
padding: 10px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.icon.smaller img {
|
||||
width: 12px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu {
|
||||
width: 20px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu::after {
|
||||
content: '';
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
position: absolute;
|
||||
background-image: url(https://image.flaticon.com/icons/svg/25/25243.svg);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
right: 4px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu .submenu {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 36px;
|
||||
left: -1px;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
border: 1px solid #b5b5b5;
|
||||
border-top: none;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu .submenu .btn {
|
||||
width: 39px;
|
||||
}
|
||||
.wysiwyg .toolbar .line .box .btn.has-submenu:hover .submenu {
|
||||
display: block;
|
||||
}
|
||||
.wysiwyg .content-area {
|
||||
padding: 15px 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.wysiwyg .content-area .visuell-view {
|
||||
outline: none;
|
||||
}
|
||||
.wysiwyg .content-area .visuell-view p {
|
||||
margin: 12px 0;
|
||||
}
|
||||
.wysiwyg .content-area .html-view {
|
||||
outline: none;
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border: none;
|
||||
resize: none;
|
||||
}
|
||||
278
wysiwyg.js
278
wysiwyg.js
@ -1,140 +1,140 @@
|
||||
function initWYSIWYG() {
|
||||
$('.wysiwyg').html('<div class="toolbar">'+
|
||||
' <div class="line">'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="bold" title="Bold">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25432.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="italic" title="Italic">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25392.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="underline" title="Underline">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25433.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="strikeThrough" title="Strike through">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25626.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon has-submenu">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg">'+
|
||||
' <div class="submenu">'+
|
||||
' <span class="btn icon" data-action="justifyLeft" title="Justify left">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="justifyCenter" title="Justify center">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25440.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="justifyRight" title="Justify right">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25288.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="formatBlock" title="Justify block">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25181.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="insertOrderedList" title="Insert ordered list">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25242.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="insertUnorderedList" title="Insert unordered list">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25648.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="outdent" title="Outdent">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25410.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="indent" title="Indent">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25233.svg"> '+
|
||||
' </span>'+
|
||||
' '+
|
||||
' </div>'+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon" data-action="insertHorizontalRule" title="Insert horizontal rule">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25232.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
'</div>'+
|
||||
'<div class="line">'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="undo" title="Undo">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25249.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="removeFormat" title="Remove format">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25454.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="createLink" title="Insert Link">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25385.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="unlink" title="Unlink">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25341.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon" data-action="code" title="Show HTML-Code">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25185.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="content-area">'+
|
||||
'<div class="visuell-view" contenteditable>'+
|
||||
'</div>'+
|
||||
'<textarea class="html-view"></textarea>'+
|
||||
'</div>');
|
||||
}
|
||||
|
||||
initWYSIWYG();
|
||||
|
||||
const editor = document.getElementsByClassName('wysiwyg')[0];
|
||||
console.log(editor);
|
||||
const toolbar = editor.getElementsByClassName('toolbar')[0];
|
||||
const buttons = toolbar.querySelectorAll('.btn:not(.has-submenu)');
|
||||
for(let i = 0; i < buttons.length; i++) {
|
||||
let button = buttons[i];
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
let action = this.dataset.action;
|
||||
|
||||
switch(action) {
|
||||
case 'code':
|
||||
execCodeAction(this, editor);
|
||||
break;
|
||||
case 'createLink':
|
||||
execLinkAction();
|
||||
break;
|
||||
default:
|
||||
execDefaultAction(action);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
function execCodeAction(button, editor) {
|
||||
const contentArea = editor.getElementsByClassName('content-area')[0];
|
||||
const visuellView = contentArea.getElementsByClassName('visuell-view')[0];
|
||||
const htmlView = contentArea.getElementsByClassName('html-view')[0];
|
||||
if(button.classList.contains('active')) { // show visuell view
|
||||
visuellView.innerHTML = htmlView.value;
|
||||
htmlView.style.display = 'none';
|
||||
visuellView.style.display = 'block';
|
||||
button.classList.remove('active');
|
||||
} else { // show html view
|
||||
htmlView.innerText = visuellView.innerHTML;
|
||||
visuellView.style.display = 'none';
|
||||
htmlView.style.display = 'block';
|
||||
button.classList.add('active');
|
||||
}
|
||||
}
|
||||
function execLinkAction() {
|
||||
let linkValue = prompt('Link (e.g. https://webdeasy.de/)');
|
||||
document.execCommand('createLink', false, linkValue);
|
||||
}
|
||||
function execDefaultAction(action) {
|
||||
document.execCommand(action, false);
|
||||
function initWYSIWYG() {
|
||||
$('.wysiwyg').html('<div class="toolbar">'+
|
||||
' <div class="line">'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="bold" title="Bold">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25432.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="italic" title="Italic">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25392.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="underline" title="Underline">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25433.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="strikeThrough" title="Strike through">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25626.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon has-submenu">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg">'+
|
||||
' <div class="submenu">'+
|
||||
' <span class="btn icon" data-action="justifyLeft" title="Justify left">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="justifyCenter" title="Justify center">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25440.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="justifyRight" title="Justify right">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25288.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="formatBlock" title="Justify block">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25181.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="insertOrderedList" title="Insert ordered list">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25242.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="insertUnorderedList" title="Insert unordered list">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25648.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="outdent" title="Outdent">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25410.svg"> '+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="indent" title="Indent">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25233.svg"> '+
|
||||
' </span>'+
|
||||
' '+
|
||||
' </div>'+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon" data-action="insertHorizontalRule" title="Insert horizontal rule">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25232.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
'</div>'+
|
||||
'<div class="line">'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="undo" title="Undo">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25249.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon" data-action="removeFormat" title="Remove format">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25454.svg"> '+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon smaller" data-action="createLink" title="Insert Link">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25385.svg">'+
|
||||
' </span>'+
|
||||
' <span class="btn icon smaller" data-action="unlink" title="Unlink">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25341.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' <div class="box">'+
|
||||
' <span class="btn icon" data-action="code" title="Show HTML-Code">'+
|
||||
' <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25185.svg">'+
|
||||
' </span>'+
|
||||
' </div>'+
|
||||
' '+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="content-area">'+
|
||||
'<div class="visuell-view" contenteditable>'+
|
||||
'</div>'+
|
||||
'<textarea class="html-view"></textarea>'+
|
||||
'</div>');
|
||||
}
|
||||
|
||||
initWYSIWYG();
|
||||
|
||||
const editor = document.getElementsByClassName('wysiwyg')[0];
|
||||
console.log(editor);
|
||||
const toolbar = editor.getElementsByClassName('toolbar')[0];
|
||||
const buttons = toolbar.querySelectorAll('.btn:not(.has-submenu)');
|
||||
for(let i = 0; i < buttons.length; i++) {
|
||||
let button = buttons[i];
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
let action = this.dataset.action;
|
||||
|
||||
switch(action) {
|
||||
case 'code':
|
||||
execCodeAction(this, editor);
|
||||
break;
|
||||
case 'createLink':
|
||||
execLinkAction();
|
||||
break;
|
||||
default:
|
||||
execDefaultAction(action);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
function execCodeAction(button, editor) {
|
||||
const contentArea = editor.getElementsByClassName('content-area')[0];
|
||||
const visuellView = contentArea.getElementsByClassName('visuell-view')[0];
|
||||
const htmlView = contentArea.getElementsByClassName('html-view')[0];
|
||||
if(button.classList.contains('active')) { // show visuell view
|
||||
visuellView.innerHTML = htmlView.value;
|
||||
htmlView.style.display = 'none';
|
||||
visuellView.style.display = 'block';
|
||||
button.classList.remove('active');
|
||||
} else { // show html view
|
||||
htmlView.innerText = visuellView.innerHTML;
|
||||
visuellView.style.display = 'none';
|
||||
htmlView.style.display = 'block';
|
||||
button.classList.add('active');
|
||||
}
|
||||
}
|
||||
function execLinkAction() {
|
||||
let linkValue = prompt('Link (e.g. https://webdeasy.de/)');
|
||||
document.execCommand('createLink', false, linkValue);
|
||||
}
|
||||
function execDefaultAction(action) {
|
||||
document.execCommand(action, false);
|
||||
}
|
||||
1
wysiwyg.min.css
vendored
Normal file
1
wysiwyg.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.wysiwyg{width:40rem;min-height:18rem;box-shadow:0 0 4px 1px rgba(0,0,0,.3);border-top:6px solid #4a4a4a;border-radius:3px;margin:2rem}.wysiwyg .toolbar{box-shadow:0 1px 4px rgba(0,0,0,.2)}.wysiwyg .toolbar .line{display:flex;border-bottom:1px solid #e2e2e2}.wysiwyg .toolbar .line:last-child{border-bottom:none}.wysiwyg .toolbar .line .box{display:flex;border-left:1px solid #e2e2e2}.wysiwyg .toolbar .line .box .btn{display:block;display:flex;align-items:center;justify-content:center;position:relative;transition:.2s ease all}.wysiwyg .toolbar .line .box .btn.active,.wysiwyg .toolbar .line .box .btn:hover{background-color:#e1e1e1;cursor:pointer}.wysiwyg .toolbar .line .box .btn.icon img{width:15px;padding:10px}.wysiwyg .toolbar .line .box .btn.icon.smaller img{width:12px}.wysiwyg .toolbar .line .box .btn.has-submenu{width:20px;padding:0 10px}.wysiwyg .toolbar .line .box .btn.has-submenu::after{content:'';width:6px;height:6px;position:absolute;background-image:url(https://image.flaticon.com/icons/svg/25/25243.svg);background-repeat:no-repeat;background-size:cover;background-position:center;right:4px}.wysiwyg .toolbar .line .box .btn.has-submenu .submenu{display:none;position:absolute;top:36px;left:-1px;z-index:10;background-color:#fff;border:1px solid #b5b5b5;border-top:none}.wysiwyg .toolbar .line .box .btn.has-submenu .submenu .btn{width:39px}.wysiwyg .toolbar .line .box .btn.has-submenu:hover .submenu{display:block}.wysiwyg .content-area{padding:15px 12px;line-height:1.5}.wysiwyg .content-area .visuell-view{outline:0}.wysiwyg .content-area .visuell-view p{margin:12px 0}.wysiwyg .content-area .html-view{outline:0;display:none;width:100%;height:200px;border:none;resize:none}
|
||||
2
wysiwyg.min.js
vendored
Normal file
2
wysiwyg.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
function initWYSIWYG(){$(".wysiwyg").html('<div class="toolbar"> <div class="line"> <div class="box"> <span class="btn icon smaller" data-action="bold" title="Bold"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25432.svg"> </span> <span class="btn icon smaller" data-action="italic" title="Italic"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25392.svg"> </span> <span class="btn icon smaller" data-action="underline" title="Underline"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25433.svg"> </span> <span class="btn icon smaller" data-action="strikeThrough" title="Strike through"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25626.svg"> </span> </div> <div class="box"> <span class="btn icon has-submenu"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg"> <div class="submenu"> <span class="btn icon" data-action="justifyLeft" title="Justify left"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25351.svg"> </span> <span class="btn icon" data-action="justifyCenter" title="Justify center"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25440.svg"> </span> <span class="btn icon" data-action="justifyRight" title="Justify right"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25288.svg"> </span> <span class="btn icon" data-action="formatBlock" title="Justify block"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25181.svg"> </span> </div> </span> <span class="btn icon" data-action="insertOrderedList" title="Insert ordered list"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25242.svg"> </span> <span class="btn icon" data-action="insertUnorderedList" title="Insert unordered list"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25648.svg"> </span> <span class="btn icon" data-action="outdent" title="Outdent"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25410.svg"> </span> <span class="btn icon" data-action="indent" title="Indent"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25233.svg"> </span> </div> <div class="box"> <span class="btn icon" data-action="insertHorizontalRule" title="Insert horizontal rule"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25232.svg"> </span> </div> </div><div class="line"> <div class="box"> <span class="btn icon smaller" data-action="undo" title="Undo"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25249.svg"> </span> <span class="btn icon" data-action="removeFormat" title="Remove format"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25454.svg"> </span> </div> <div class="box"> <span class="btn icon smaller" data-action="createLink" title="Insert Link"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25385.svg"> </span> <span class="btn icon smaller" data-action="unlink" title="Unlink"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25341.svg"> </span> </div> <div class="box"> <span class="btn icon" data-action="code" title="Show HTML-Code"> <img loading="lazy" src="https://image.flaticon.com/icons/svg/25/25185.svg"> </span> </div> </div></div><div class="content-area"><div class="visuell-view" contenteditable></div><textarea class="html-view"></textarea></div>')}initWYSIWYG();const editor=document.getElementsByClassName("wysiwyg")[0];console.log(editor);const toolbar=editor.getElementsByClassName("toolbar")[0],buttons=toolbar.querySelectorAll(".btn:not(.has-submenu)");for(let i=0;i<buttons.length;i++){let button;buttons[i].addEventListener("click",(function(e){let action=this.dataset.action;switch(action){case"code":execCodeAction(this,editor);break;case"createLink":execLinkAction();break;default:execDefaultAction(action)}}))}function execCodeAction(button,editor){const contentArea=editor.getElementsByClassName("content-area")[0],visuellView=contentArea.getElementsByClassName("visuell-view")[0],htmlView=contentArea.getElementsByClassName("html-view")[0];button.classList.contains("active")?(visuellView.innerHTML=htmlView.value,htmlView.style.display="none",visuellView.style.display="block",button.classList.remove("active")):(htmlView.innerText=visuellView.innerHTML,visuellView.style.display="none",htmlView.style.display="block",button.classList.add("active"))}function execLinkAction(){let linkValue=prompt("Link (e.g. https://webdeasy.de/)");document.execCommand("createLink",!1,linkValue)}function execDefaultAction(action){document.execCommand(action,!1)}
|
||||
//# sourceMappingURL=wysiwyg.min.js.map
|
||||
47
wysiwyg.min.js.map
Normal file
47
wysiwyg.min.js.map
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [
|
||||
"wysiwyg.js"
|
||||
],
|
||||
"names": [
|
||||
"initWYSIWYG",
|
||||
"$",
|
||||
"html",
|
||||
"editor",
|
||||
"document",
|
||||
"getElementsByClassName",
|
||||
"console",
|
||||
"log",
|
||||
"toolbar",
|
||||
"buttons",
|
||||
"querySelectorAll",
|
||||
"i",
|
||||
"length",
|
||||
"button",
|
||||
"addEventListener",
|
||||
"e",
|
||||
"action",
|
||||
"this",
|
||||
"dataset",
|
||||
"execCodeAction",
|
||||
"execLinkAction",
|
||||
"execDefaultAction",
|
||||
"contentArea",
|
||||
"visuellView",
|
||||
"htmlView",
|
||||
"classList",
|
||||
"contains",
|
||||
"innerHTML",
|
||||
"value",
|
||||
"style",
|
||||
"display",
|
||||
"remove",
|
||||
"innerText",
|
||||
"add",
|
||||
"linkValue",
|
||||
"prompt",
|
||||
"execCommand"
|
||||
],
|
||||
"mappings": "AAAA,SAASA,cACPC,EAAE,YAAYC,KAAK,ykHA2FrBF,cAEA,MAAMG,OAASC,SAASC,uBAAuB,WAAW,GAC1DC,QAAQC,IAAIJ,QACZ,MAAMK,QAAUL,OAAOE,uBAAuB,WAAW,GACnDI,QAAUD,QAAQE,iBAAiB,0BACzC,IAAI,IAAIC,EAAI,EAAGA,EAAIF,QAAQG,OAAQD,IAAK,CACtC,IAAIE,OAASJ,QAAQE,GAEdG,iBAAiB,SAAS,SAASC,GACxC,IAAIC,OAASC,KAAKC,QAAQF,OAE1B,OAAOA,QACL,IAAK,OACHG,eAAeF,KAAMd,QACrB,MACF,IAAK,aACHiB,iBACA,MACF,QACEC,kBAAkBL,YAK1B,SAASG,eAAeN,OAAQV,QAC9B,MAAMmB,YAAcnB,OAAOE,uBAAuB,gBAAgB,GAC5DkB,YAAcD,YAAYjB,uBAAuB,gBAAgB,GACjEmB,SAAWF,YAAYjB,uBAAuB,aAAa,GAC9DQ,OAAOY,UAAUC,SAAS,WAC3BH,YAAYI,UAAYH,SAASI,MACjCJ,SAASK,MAAMC,QAAU,OACzBP,YAAYM,MAAMC,QAAU,QAC5BjB,OAAOY,UAAUM,OAAO,YAExBP,SAASQ,UAAYT,YAAYI,UACjCJ,YAAYM,MAAMC,QAAU,OAC5BN,SAASK,MAAMC,QAAU,QACzBjB,OAAOY,UAAUQ,IAAI,WAGzB,SAASb,iBACP,IAAIc,UAAYC,OAAO,oCACvB/B,SAASgC,YAAY,cAAc,EAAOF,WAE5C,SAASb,kBAAkBL,QACzBZ,SAASgC,YAAYpB,QAAQ",
|
||||
"file": "wysiwyg.js"
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user