-
- {SETSTYLE=admin_menu}
- {ADMIN_MENU}
- {ADMIN_PWORD}
- {ADMIN_MENUMANAGER}
-
- {SETSTYLE=site_info}
- {ADMINUI_HELP}
- {ADMIN_HELP}
-
- {ADMIN_SITEINFO=creditsonly}
- {SETSTYLE=admin_menu}
- {ADMIN_LATEST=infopanel}
- {ADMIN_STATUS=infopanel}
- {ADMIN_LOG=request}
- {ADMIN_MSG=request}
- {ADMIN_PLUGINS}
- {SETSTYLE=default}
+
+
+
+
+
+
+
';
$ADMIN_FOOTER_DASHBOARD = '
+
diff --git a/e107_themes/bootstrap3/js/bootstrap3.js b/e107_themes/bootstrap3/js/bootstrap3.js
index 785189583..72e762a75 100644
--- a/e107_themes/bootstrap3/js/bootstrap3.js
+++ b/e107_themes/bootstrap3/js/bootstrap3.js
@@ -4,15 +4,20 @@ var e107 = e107 || {'settings': {}, 'behaviors': {}};
{
'use strict';
+ e107.settings.draggablePanels = {
+ selector: '.draggable-panels',
+ items: '> .panel'
+ };
+
/**
- * Initializes draggable panels on the dashboard.
+ * Behavior to initialize draggable panels on the dashboard.
*
* @type {{attach: e107.behaviors.adminDashboardDraggablePanels.attach}}
*/
e107.behaviors.adminDashboardDraggablePanels = {
attach: function (context, settings)
{
- var selector = '.draggable-panels';
+ var selector = e107.settings.draggablePanels.selector;
var onceKey = 'admin-dashboard-draggable-panels';
$(context).find(selector).once(onceKey).each(function ()
@@ -21,32 +26,69 @@ var e107 = e107 || {'settings': {}, 'behaviors': {}};
$panel.sortable({
connectWith: selector,
+ items: e107.settings.draggablePanels.items,
handle: '.panel-heading',
+ accept: e107.settings.draggablePanels.selector,
cursor: 'move',
- placeholder: 'placeholder',
+ placeholder: 'draggable-placeholder',
forcePlaceholderSize: true,
+ helper: 'clone',
+ forceHelperSize: true,
opacity: 0.4,
+ tolerance: 'pointer',
+ start: function (event, ui)
+ {
+ var $placeholders = $('.draggable-placeholder');
+ var $draggablePanels = $(e107.settings.draggablePanels.selector);
+
+ $placeholders.css('margin', '15px');
+ $placeholders.css('background-color', '#337ab7');
+
+ $draggablePanels.css('min-height', '20px');
+ $draggablePanels.css('border', '1px dashed #CCCCCC');
+ $draggablePanels.css('margin-bottom', '30px');
+
+ $panel.sortable("refreshPositions");
+ },
stop: function (event, ui)
{
- var SortOrder = "SortOrder:\n";
- var i = 0;
+ var $draggablePanels = $(e107.settings.draggablePanels.selector);
+ $draggablePanels.css('min-height', '0');
+ $draggablePanels.css('border', 'none');
+ $draggablePanels.css('margin-bottom', '0');
- $(selector + " .panel-title").each(function ()
- {
- i++;
- var $this = $(this);
- var title = $this.text();
- SortOrder += i + " - " + title + "\n";
- });
-
- console.log(SortOrder);
+ e107.callbacks.adminDashboardSavePanelOrder();
}
});
-
- $panel.disableSelection();
-
});
}
};
+ e107.callbacks.adminDashboardSavePanelOrder = function ()
+ {
+ var selector = e107.settings.draggablePanels.selector;
+ var NewOrder = [];
+
+ $(selector).each(function ()
+ {
+ var $this = $(this);
+ var key = $this.attr('id');
+
+ if(key)
+ {
+ NewOrder[key] = [];
+
+ $('#' + key + ' ' + e107.settings.draggablePanels.items).each(function ()
+ {
+ var $item = $(this);
+ var title = $item.find('.panel-title').eq(0).text();
+
+ NewOrder[key].push(title);
+ });
+ }
+ });
+
+ console.log(NewOrder);
+ }
+
})(jQuery);
diff --git a/e107_web/js/core/admin.jquery.js b/e107_web/js/core/admin.jquery.js
index 8d31869fb..e606a5b59 100644
--- a/e107_web/js/core/admin.jquery.js
+++ b/e107_web/js/core/admin.jquery.js
@@ -154,9 +154,21 @@ $(document).ready(function()
$('a[data-toggle-sidebar]').on('click', function(e)
{
e.preventDefault();
-
- $("#left-panel").toggle(1000);
- $("#right-panel").toggleClass("col-md-10 col-md-12"); //XXX Control animation direction?
+
+ var $leftPanel = $("#left-panel");
+ var $rightPanel = $("#right-panel");
+
+ if ($rightPanel.hasClass('col-md-12'))
+ {
+ $rightPanel.toggleClass("col-md-10 col-md-12");
+ $leftPanel.toggle(1000);
+ }
+ else
+ {
+ $leftPanel.toggle(1000, function() {
+ $rightPanel.toggleClass("col-md-10 col-md-12");
+ });
+ }
});