Gebruiker:Bmulckhu/kladblok29
Uit TheaterEncyclopedie
bron: codepen
JS
Opnemen in MediaWiki:Common.js
(function() { "use strict"; function copyToClipboard(elem) { var target = elem; // select the content var currentFocus = document.activeElement; target.focus(); target.setSelectionRange(0, target.value.length); // copy the selection var succeed; try { succeed = document.execCommand("copy"); } catch (e) { console.warn(e); succeed = false; } // Restore original focus if (currentFocus && typeof currentFocus.focus === "function") { currentFocus.focus(); } if (succeed) { $(".copied").animate({ top: -25, opacity: 0 }, 700, function() { $(this).css({ top: 0, opacity: 1 }); }); } return succeed; } $("#copyButton, #copyTarget").on("click", function() { copyToClipboard(document.getElementById("copyTarget")); }); })();
Voorbeeld
CSS
.input-group { margin-top: 30px; position: relative; } .input-group { position: relative; } .input-group-addon { border: none; } .linkname { display: none; } #copyButton { cursor: pointer; background: #f1bb3a; } #copyTarget { border-left: none; } .copied { opacity: 1; position: absolute; left: 55px; } @media (min-width: 768px) { .copied { left: 135px; } .linkname { display: block; background: #3b3e45; color: #fff; } }
HTML
<div class="container"> <div class="input-group"> <span class="input-group-addon hidden-xs linkname"> <strong>My link</strong> </span> <span id="copyButton" class="input-group-addon btn" title="Click to copy"> <i class="fa fa-clipboard" aria-hidden="true"></i> </span> <input type="text" id="copyTarget" class="form-control" value="mylink.com"> <span class="copied">Copied !</span> </div> </div>
Lukt niet met extensie:inputbox
<inputbox> type=text </inputbox>
Moet dus opgelost worden met Widget
Gekopieerd naar clipboard!
NB:
- Functioneert ok (in die zin dat de tekst gekopieerd wordt naar het Clipboard...)
- Niet goed:
- Eerste onderdelen (My link) niet nodig
- Copybutton wellicht erachter plaatsen
- Tekst "Gekopieerd naar Clipboard" is altijd zichtbaar (oude Bootstrap ??)
- Meerdere versies op 1 pagina werkt niet;
- id="copyTarget" en id="copyButton" moeten variabel gemaakt worden !! Oeff.... :
- in HTML,
- maar ook in de "listener" / Jquery onderdeel van de Javascript...
Gekopieerd naar clipboard!
Verdere ontwikkeling
Specifieke widget aanmaken voor alleen de input-tag
Widget:Input <includeonly><input <!--{$pars}-->> </includeonly> <includeonly><input <!--{if isset($type)}--> type="<!--{$type|validate:html}-->"<!--{else}--><!--{/if}--> <!--{if isset($id)}--> id="<!--{$id|validate:html}-->"<!--{else}--><!--{/if}--> <!--{if isset($class)}--> class="<!--{$class|validate:html}-->"<!--{else}--><!--{/if}--> <!--{if isset($value)}--> value="<!--{$value|validate:html}-->"<!--{else}--><!--{/if}--> > </includeonly>
PS: Kan misschien ook met Formulier ??
TBD...