altinn-designsystem
Version:
Altinn Design system based on Pattern Lab.
55 lines (49 loc) • 1.48 kB
JavaScript
/* globals $ */
var selectAll = function() {
var ctrlDown = false;
var ctrlKey = 17;
var cmdKey = 91;
var aKey = 65;
var selectText = function(element) {
var doc = document;
var text = $(element);
var range;
var selection;
text.each(function(index, value) {
if ($(value).is(':visible')) {
if (doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(value);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(value);
selection.removeAllRanges();
selection.addRange(range);
}
}
});
};
var customShortcut = function(e) {
if (ctrlDown && (e.keyCode === aKey)) {
e.preventDefault(); e.stopPropagation();
selectText('.language-markup code');
}
};
$(document).keydown(function(e) {
if (e.keyCode === ctrlKey || e.keyCode === cmdKey) {
ctrlDown = true;
}
}).keyup(function(e) {
if (e.keyCode === ctrlKey || e.keyCode === cmdKey) {
ctrlDown = false;
}
});
$('body').on('click', '.sg-pattern-extra-toggle', function() {
setTimeout(function() {
$('.language-markup').off('keydown', customShortcut).attr('tabindex', '1')
.on('keydown', customShortcut);
}, 500);
});
};