From e54547cb81eded49e4ef7fd118a1ef0e455f78cf Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Tue, 9 Jan 2018 14:37:25 -0800 Subject: [PATCH] Fixed memory leak with icon picker + optimizations --- themes/grav/app/forms/fields/iconpicker.js | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/themes/grav/app/forms/fields/iconpicker.js b/themes/grav/app/forms/fields/iconpicker.js index d0d5abe2..e3cb3462 100755 --- a/themes/grav/app/forms/fields/iconpicker.js +++ b/themes/grav/app/forms/fields/iconpicker.js @@ -229,6 +229,18 @@ class QL_Icon_Picker { .addClass(preview); $preview.find('a').show(); } +} + +/* Grav */ +// extend $ with 3rd party QL Icon Picker +$.fn.qlIconPicker = function(options) { + this.each(function() { + if (!$.data(this, 'plugin_qlIconPicker')) { + $.data(this, 'plugin_qlIconPicker', new QL_Icon_Picker(this, options)); + } + }); + + return this; }; export default class IconpickerField { @@ -256,17 +268,7 @@ export default class IconpickerField { addItem(element) { element = $(element); this.items = this.items.add(element); - - $.fn.qlIconPicker = function(options) { - this.each(function() { - if (!$.data(this, 'plugin_qlIconPicker')) { - $.data(this, 'plugin_qlIconPicker', new QL_Icon_Picker(this, options)); - } - }); - return this; - }; - - $('.icon-picker').qlIconPicker({ + element.find('.icon-picker').qlIconPicker({ 'save': 'class' }); }