From a8c2e474d7cb0b6ce7eaa61225cdd8562ca8cccb Mon Sep 17 00:00:00 2001 From: kulikov-a <36099472+kulikov-a@users.noreply.github.com> Date: Fri, 12 Mar 2021 09:57:12 +0300 Subject: [PATCH] don't break IE11 --- src/opnsense/www/js/opnsense_ui.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/opnsense/www/js/opnsense_ui.js b/src/opnsense/www/js/opnsense_ui.js index bc8f6535e..519ffed28 100644 --- a/src/opnsense/www/js/opnsense_ui.js +++ b/src/opnsense/www/js/opnsense_ui.js @@ -297,7 +297,7 @@ function formatTokenizersUI() { */ function addMultiSelectClearUI() { //enable Paste if supported - if (typeof navigator.clipboard.readText === 'function') { + if ((typeof navigator.clipboard === 'object') && (typeof navigator.clipboard.readText === 'function')) { $('.fa-paste').parent().show(); } $('[id*="clear-options"]').each(function() { @@ -363,16 +363,14 @@ function addMultiSelectClearUI() { $(this).click(function(e) { e.preventDefault(); const id = $(this).attr("id").replace(/_*paste-options_*/, ''); - navigator.clipboard.readText() - .then(cbtext => { - let values = $.trim(cbtext).replace(/\n|\r/g, ",").split(","); - $.each(values, function( index, value ) { - $('select[id="' + id + '"]').tokenize2().trigger('tokenize:tokens:add', [value, value, true]); - }); - }) - .catch(err => { - console.error('Failed to paste clipboard contents: ', err); + var cpb = navigator.clipboard.readText(); + //need to use $.when because of IE. can switch to plain ES6 after IE support drop + $.when(cpb).then(function(cbtext) { + let values = $.trim(cbtext).replace(/\n|\r/g, ",").split(","); + $.each(values, function( index, value ) { + $('select[id="' + id + '"]').tokenize2().trigger('tokenize:tokens:add', [value, value, true]); }); + }); }); }); }