Skip to content
Snippets Groups Projects
bundle.js 1.36 KiB
Newer Older
Tim van Dijen's avatar
Tim van Dijen committed
"use strict";

import ClipboardJS from "clipboard/dist/clipboard";
Thijs Kinkhorst's avatar
Thijs Kinkhorst committed
import hljs from  "highlight.js/lib/core";
import xml from "highlight.js/lib/languages/xml";
import php from "highlight.js/lib/languages/php";
import json from "highlight.js/lib/languages/json";
Tim van Dijen's avatar
Tim van Dijen committed
// Expander boxes
var expandable = document.querySelectorAll('.expandable > .expander');
expandable.forEach(function (currentValue, index, arr) {
    currentValue.onclick = function (e) {
        e.preventDefault();
Tim van Dijen's avatar
Tim van Dijen committed
        var parent = e.currentTarget.parentNode;
        if (parent.className.match(/(?:^|\s)expanded(?!\S)/)) {
            parent.className = parent.className.replace(/(?:^|\s)expanded(?!\S)/g , '');
Tim van Dijen's avatar
Tim van Dijen committed
            parent.className += " expanded";
Tim van Dijen's avatar
Tim van Dijen committed
        e.currentTarget.blur();
    }
});
Tim van Dijen's avatar
Tim van Dijen committed
ready(function () {
Tim van Dijen's avatar
Tim van Dijen committed
    // Syntax highlight
    hljs.registerLanguage('xml', xml);
    hljs.registerLanguage('php', php);
    hljs.registerLanguage('json', json);
Tim van Dijen's avatar
Tim van Dijen committed

    var codeBoxes = document.querySelectorAll('.code-box-content.xml, .code-box-content.php, .code-box-content.json');
    codeBoxes.forEach(function (currentValue, index, arr) {
        hljs.highlightElement(currentValue);
Tim van Dijen's avatar
Tim van Dijen committed

    // Clipboard
    var clipboard = new ClipboardJS('.copy');
Tim van Dijen's avatar
Tim van Dijen committed
    clipboard.on('success', function (e) {
        setTimeout(function () {
            e.clearSelection();
        }, 150);
    });
Tim van Dijen's avatar
Tim van Dijen committed
});