Newer
Older
window.$$ = {
on: function(el, eventName, selector, fn) {
el.addEventListener(eventName, function(event) {
var target = event.target.closest(selector);
if (target) {
fn.call(target, event);
}
});
},
trigger: function(el, eventName) {
var event = document.createEvent('HTMLEvents');
event.initEvent(eventName, true, false);
el.dispatchEvent(event);
},
if (preventDoubleClick) {
event.preventDefault();
} else {
preventDoubleClick = true;
setTimeout(function() {
preventDoubleClick = false;
}, 1000);
}
});
$$.on(document, 'change', '[data-js="confirm-delete"]', function() {
this.form.querySelector('[type="submit"],button:not([type])').disabled = !this.checked;
document.querySelectorAll('[type="date"]').forEach(function(e) {
if (e.type !== 'date') {
$(e).datepicker({
language: document.documentElement.lang,
autoclose: true,
calendarWeeks: true,
$$.on(document, 'click', '[data-multi-reset]', function() {
var targetSelector = this.dataset.multiReset;
var target = document.querySelector(targetSelector);
target.querySelectorAll('option').forEach(function(element) {
element.selected = false;
$$.on(document, 'click', '[data-clipboard]', function() {
var targetSelector = this.dataset.clipboard;
var target = document.querySelector(targetSelector);
$$.on(document, 'click', '[data-js="popup"]', function(event) {
event.preventDefault();
// copied from django
var config = 'height=500,width=800,resizable=yes,scrollbars=yes';