').text(item.DisplayName)).append($('').text(item.Id))
break;
}
return $("
")
.data("item.autocomplete", item)
.append(template)
.appendTo(ul);
};
}
quickSearchInited = true;
}
});
// Menu Functionality
const $menu = $('#menu');
if ($menu.length > 0) {
function subMenuShow() {
const $this = $(this);
const $subMenu = $this.children('ul');
const hideToken = $this.data('menuHideToken');
if (hideToken)
window.clearTimeout(hideToken);
if (!$subMenu.is(':visible'))
$subMenu.show();
}
function subMenuHide() {
const $this = $(this);
const $subMenu = $this.children('ul');
var hideToken = window.setTimeout(function () {
$subMenu.hide();
}, 250);
$this.data('menuHideToken', hideToken);
}
function subMenuTouchDown(e, preventClick) {
const $this = $(this);
const $link = $this.children('a');
const $subMenu = $this.children('ul');
if (!$subMenu.is(':visible')) {
$subMenu.show();
e.preventDefault();
e.stopPropagation();
if (preventClick) {
// Stop Click Event
if ($link.length > 0) {
const preventClick = function () { $link.off('click', preventClick); return false; }
$link.on('click', preventClick);
}
}
return false;
}
}
if (Modernizr.hasEvent('pointerdown')) {
// Pointer Events
$menu
.on('pointerover', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType !== 'touch') {
subMenuShow.call(this);
}
})
.on('pointerout', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType !== 'touch') {
subMenuHide.call(this);
}
})
.on('pointerdown', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType === 'touch') {
return subMenuTouchDown.call(this, e, true);
}
});
$(document).on('pointerdown', function (e) {
if (e.originalEvent.pointerType === 'touch') {
if ($(e.target).closest('#menu').length == 0)
$menu.find('li.d-sm>ul.subMenu:visible').hide();
}
});
} else if (Modernizr.hasEvent('mspointerdown')) {
// MS Pointer Events
$menu
.on('MSPointerOver', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType !== e.originalEvent.MSPOINTER_TYPE_TOUCH) {
subMenuShow.call(this);
}
})
.on('MSPointerOut', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType !== e.originalEvent.MSPOINTER_TYPE_TOUCH) {
subMenuHide.call(this);
}
})
.on('MSPointerDown', 'li.d-sm', function (e) {
if (e.originalEvent.pointerType === e.originalEvent.MSPOINTER_TYPE_TOUCH) {
return subMenuTouchDown.call(this, e, true);
}
});
$(document).on('MSPointerDown', function (e) {
if (e.originalEvent.pointerType === e.originalEvent.MSPOINTER_TYPE_TOUCH) {
if ($(e.target).closest('#menu').length == 0)
$menu.find('li.d-sm>ul.subMenu:visible').hide();
}
});
} else if (Modernizr.touch) {
// Touch Events
$menu
.on('mouseover', 'li.d-sm', subMenuShow)
.on('mouseout', 'li.d-sm', subMenuHide)
.on('touchstart', 'li.d-sm', function (e) {
return subMenuTouchDown.call(this, e, false);
});
} else {
// Mouse Events
$menu
.on('mouseover', 'li.d-sm', subMenuShow)
.on('mouseout', 'li.d-sm', subMenuHide);
}
}
// Dialog Repositioning
$(window).resize(function () {
$('.ui-dialog-content').filter(':visible').dialog('option', 'position', 'center');
});
if (navigator.clipboard) {
window.setTimeout(() => {
$('[data-clipboard]:not(input)')
.on('mouseenter', e => {
const $this = $(e.currentTarget);
const previousPosition = $this.css('position');
$this.css('position', 'relative');
const link = $('');
link.appendTo($this)
link.on('click', e => {
e.preventDefault();
let value = $this.attr('data-clipboard');
if (!value) {
value = $this.text().trim();
}
navigator.clipboard.writeText(value).then(() => {
link.removeClass('fa-clipboard').addClass('fa-check');
})
return false;
});
$this.data('clipboard', {
previousPosition: previousPosition,
link: link
})
}).on('mouseleave', e => {
const $this = $(e.currentTarget);
const data = $this.data('clipboard');
if (data) {
data.link.remove();
$this.css('position', data.previousPosition);
$this.removeData('clipboard');
}
});
$('input[data-clipboard]')
.each((i, el) => {
const $this = $(el);
const link = $('');
link.insertAfter($this);
link.on('click', e => {
e.preventDefault();
const value = $this.val();
navigator.clipboard.writeText(value).then(() => {
link.removeClass('fa-clipboard').addClass('fa-check');
window.setTimeout(() => {
link.removeClass('fa-check').addClass('fa-clipboard');
}, 1000);
});
});
})
}, 100);
}
});
})(jQuery, window, document, Modernizr);