From 4d12c423c8a725a720cf1d1c67103a68c0c2e860 Mon Sep 17 00:00:00 2001 From: dtillz Date: Thu, 5 Sep 2013 12:53:08 -0400 Subject: [PATCH 1/2] Fix range selection in IE8 --- bootstrap-wysiwyg.js | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/bootstrap-wysiwyg.js b/bootstrap-wysiwyg.js index 69f64a7..5577e7e 100644 --- a/bootstrap-wysiwyg.js +++ b/bootstrap-wysiwyg.js @@ -59,26 +59,39 @@ }); }, getCurrentRange = function () { - var sel = window.getSelection(); - if (sel.getRangeAt && sel.rangeCount) { - return sel.getRangeAt(0); - } + var sel, range; + if (window.getSelection) { + sel = window.getSelection(); + if (sel.getRangeAt && sel.rangeCount) { + range = sel.getRangeAt(0); + } + } else if (document.selection) { + range = document.selection.createRange(); + } + return range; }, saveSelection = function () { selectedRange = getCurrentRange(); }, restoreSelection = function () { - var selection = window.getSelection(); - if (selectedRange) { - try { - selection.removeAllRanges(); - } catch (ex) { - document.body.createTextRange().select(); - document.selection.empty(); - } + var selection; + if (window.getSelection || document.createRange) { + selection = window.getSelection(); + if (selectedRange) { + try { + selection.removeAllRanges(); + } catch (ex) { + document.body.createTextRange().select(); + document.selection.empty(); + } - selection.addRange(selectedRange); - } + selection.addRange(selectedRange); + } + } else if (document.selection) { + if (selectedRange) { + selectedRange.select() + } + } }, insertFiles = function (files) { editor.focus(); From b4b766de70b8eeb84f376fe16aba4492c4173531 Mon Sep 17 00:00:00 2001 From: dtillz Date: Wed, 4 Dec 2013 11:17:39 -0500 Subject: [PATCH 2/2] Merge user options with defaults rather than override them --- bootstrap-wysiwyg.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-wysiwyg.js b/bootstrap-wysiwyg.js index 5577e7e..6c91368 100644 --- a/bootstrap-wysiwyg.js +++ b/bootstrap-wysiwyg.js @@ -165,7 +165,7 @@ } }); }; - options = $.extend({}, $.fn.wysiwyg.defaults, userOptions); + options = $.extend(true, {}, $.fn.wysiwyg.defaults, userOptions); toolbarBtnSelector = 'a[data-' + options.commandRole + '],button[data-' + options.commandRole + '],input[type=button][data-' + options.commandRole + ']'; bindHotkeys(options.hotKeys); if (options.dragAndDropImages) {