From e2312c83309714ac1e60d0494a19b41884afd8ff Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 14 May 2014 18:30:25 -0400 Subject: [PATCH 1/5] branding settings on ajaxify fixed --- public/src/forum/admin/themes.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/public/src/forum/admin/themes.js b/public/src/forum/admin/themes.js index 14f03c0d2f..931af6b9a8 100644 --- a/public/src/forum/admin/themes.js +++ b/public/src/forum/admin/themes.js @@ -120,6 +120,7 @@ define(['forum/admin/settings'], function(Settings) { Themes.prepareWidgets(); + populateBranding(); Settings.prepare(); }; @@ -320,19 +321,21 @@ define(['forum/admin/settings'], function(Settings) { }); }; - require(['settings'], function (settings) { - var wrapper = $('#branding'); + function populateBranding() { + require(['settings'], function (settings) { + var wrapper = $('#branding'); - settings.sync('branding', wrapper); + settings.sync('branding', wrapper); - $('#save-branding').click(function(event) { - settings.persist('branding', $('#branding'), function() { - socket.emit('admin.themes.updateBranding'); - }); + $('#save-branding').click(function(event) { + settings.persist('branding', $('#branding'), function() { + socket.emit('admin.themes.updateBranding'); + }); - event.preventDefault(); + event.preventDefault(); + }); }); - }); + } return Themes; }); From 29137299c2756980a4a1e6a09cd5e389f462a876 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 14 May 2014 18:46:11 -0400 Subject: [PATCH 2/5] added public/src/admin.js; moved enableColorPicker into admin.enableColorPicker --- public/src/admin.js | 19 +++++++++++++++++++ public/src/forum/admin/categories.js | 20 ++++++++------------ 2 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 public/src/admin.js diff --git a/public/src/admin.js b/public/src/admin.js new file mode 100644 index 0000000000..3d6b8c40f0 --- /dev/null +++ b/public/src/admin.js @@ -0,0 +1,19 @@ +"use strict"; + +var admin = {}; + +(function() { + + admin.enableColorPicker = function(inputEl, callback) { + inputEl.ColorPicker({ + color: inputEl.val() || '#000', + onChange: function(hsb, hex) { + inputEl.val('#' + hex); + if (typeof callback === 'function') { + callback(hsb, hex); + } + } + }); + }; + +}()); \ No newline at end of file diff --git a/public/src/forum/admin/categories.js b/public/src/forum/admin/categories.js index 739d56ec19..78e173997a 100644 --- a/public/src/forum/admin/categories.js +++ b/public/src/forum/admin/categories.js @@ -139,21 +139,17 @@ define(['uploader'], function(uploader) { } function enableColorPicker(idx, inputEl) { - var $inputEl = $(inputEl), + var $inputEl = $(inputEl), previewEl = $inputEl.parents('[data-cid]').find('.preview-box'); - $inputEl.ColorPicker({ - color: $inputEl.val() || '#000', - onChange: function(hsb, hex) { - $inputEl.val('#' + hex); - if ($inputEl.attr('data-name') === 'bgColor') { - previewEl.css('background', '#' + hex); - } else if ($inputEl.attr('data-name') === 'color') { - previewEl.css('color', '#' + hex); - } - - modified($inputEl[0]); + admin.enableColorPicker($inputEl, function(hsb, hex) { + if ($inputEl.attr('data-name') === 'bgColor') { + previewEl.css('background', '#' + hex); + } else if ($inputEl.attr('data-name') === 'color') { + previewEl.css('color', '#' + hex); } + + modified($inputEl[0]); }); } From 4cf6ebda7bffc1a546b013205c26076ebde7d61b Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 14 May 2014 18:50:50 -0400 Subject: [PATCH 3/5] updated enableColorPicker to accept either a jQ obj or a string; updated it to be able to initialize several inputs at once --- public/src/admin.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/public/src/admin.js b/public/src/admin.js index 3d6b8c40f0..65a7504208 100644 --- a/public/src/admin.js +++ b/public/src/admin.js @@ -5,15 +5,19 @@ var admin = {}; (function() { admin.enableColorPicker = function(inputEl, callback) { - inputEl.ColorPicker({ - color: inputEl.val() || '#000', - onChange: function(hsb, hex) { - inputEl.val('#' + hex); - if (typeof callback === 'function') { - callback(hsb, hex); + (inputEl instanceof jQuery ? inputEl : $(inputEl)).each(function() { + var $this = $(this); + + $this.ColorPicker({ + color: $this.val() || '#000', + onChange: function(hsb, hex) { + $this.val('#' + hex); + if (typeof callback === 'function') { + callback(hsb, hex); + } } - } - }); + }); + }); }; }()); \ No newline at end of file From 3b00417d99b7d055ed4bf2c58e6900134bbd43b1 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 14 May 2014 18:51:06 -0400 Subject: [PATCH 4/5] added colorPicker to branding inputs --- public/src/forum/admin/themes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/src/forum/admin/themes.js b/public/src/forum/admin/themes.js index 931af6b9a8..7b832b9c0f 100644 --- a/public/src/forum/admin/themes.js +++ b/public/src/forum/admin/themes.js @@ -121,6 +121,7 @@ define(['forum/admin/settings'], function(Settings) { Themes.prepareWidgets(); populateBranding(); + admin.enableColorPicker($('.branding')); Settings.prepare(); }; From 9040813b0d9c338de40830a405c26796067e470d Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 14 May 2014 19:00:05 -0400 Subject: [PATCH 5/5] closes #1530 --- src/meta.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/meta.js b/src/meta.js index bdad34f78c..0d34aec8cb 100644 --- a/src/meta.js +++ b/src/meta.js @@ -155,15 +155,14 @@ var fs = require('fs'), db.setObject('config', themeData, next); } ], callback); + + Meta.restartRequired = true; break; case 'bootswatch': - db.setObjectField('config', 'theme:src', data.src, callback); + Meta.configs.set('theme:src', data.src, callback); break; } - - // Restart Required flag - Meta.restartRequired = true; } };