1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00
appwrite/public/scripts/app.js
2020-05-12 23:15:36 +03:00

64 lines
1.7 KiB
JavaScript

// Views
window.ls.container
.get("view")
.add({
selector: "data-acl",
controller: function(element, document, router, alerts) {
document.body.classList.remove("console");
document.body.classList.remove("home");
document.body.classList.add(router.getCurrent().view.scope);
if (!router.getCurrent().view.project) {
document.body.classList.add("hide-nav");
document.body.classList.remove("show-nav");
} else {
document.body.classList.add("show-nav");
document.body.classList.remove("hide-nav");
}
// Special case for console index page
if ("/console" === router.getCurrent().path) {
document.body.classList.add("index");
} else {
document.body.classList.remove("index");
}
}
})
.add({
selector: "data-prism",
controller: function(window, document, element, alerts) {
Prism.highlightElement(element);
let copy = document.createElement("i");
copy.className = "icon-docs copy";
copy.title = "Copy to Clipboard";
copy.textContent = "Click Here to Copy";
copy.addEventListener("click", function() {
window.getSelection().removeAllRanges();
let range = document.createRange();
range.selectNode(element);
window.getSelection().addRange(range);
try {
document.execCommand("copy");
alerts.add({ text: "Copied to clipboard", class: "" }, 3000);
} catch (err) {
alerts.add({ text: "Failed to copy text ", class: "error" }, 3000);
}
window.getSelection().removeAllRanges();
});
element.parentNode.parentNode.appendChild(copy);
}
})
;