diff --git a/public/less/admin/general/navigation.less b/public/less/admin/general/navigation.less index 995406d42f..929e9afa0b 100644 --- a/public/less/admin/general/navigation.less +++ b/public/less/admin/general/navigation.less @@ -1,15 +1,33 @@ -#main-nav { - .active { - background-color: #eee; + + +#navigation { + + #main-nav { + .active { + background-color: #eee; + } + + li a { + cursor: move; + } } - li { - cursor: move; + #available { + .drag-item { + cursor: move; + margin-right: 10px; + } } -} -#navigation { + + #enabled { + .iconPicker i { + cursor: pointer; + } + } + ul { list-style-type: none; padding: 0; } -} \ No newline at end of file +} + diff --git a/public/src/admin/general/navigation.js b/public/src/admin/general/navigation.js index 9345a3e86d..c15a6717e7 100644 --- a/public/src/admin/general/navigation.js +++ b/public/src/admin/general/navigation.js @@ -14,7 +14,7 @@ define('admin/general/navigation', ['translator', 'iconSelect'], function(transl translator.translate(translator.unescape($('#available').html()), function(html) { $('#available').html(html) - .find('li').draggable({ + .find('li .drag-item').draggable({ connectToSortable: '#main-nav', helper: 'clone', distance: 10, @@ -23,7 +23,7 @@ define('admin/general/navigation', ['translator', 'iconSelect'], function(transl }); $('#main-nav').sortable().droppable({ - accept: $('#available li') + accept: $('#available li .drag-item') }); $('#enabled').on('click', '.iconPicker', function() { @@ -50,7 +50,7 @@ define('admin/general/navigation', ['translator', 'iconSelect'], function(transl $('#main-nav li').removeClass('active'); $(this).addClass('active'); - var detailsForm = $('#enabled').children().eq(clickedIndex); + var detailsForm = $('#enabled').children('[data-index="' + clickedIndex + '"]'); $('#enabled li').addClass('hidden'); if (detailsForm.length) { @@ -65,7 +65,7 @@ define('admin/general/navigation', ['translator', 'iconSelect'], function(transl data = id === 'custom' ? {iconClass: 'fa-navicon'} : available[id]; data.enabled = false; - data.index = Math.max(0, $('#main-nav').children().length - 1); + data.index = parseInt($('#enabled').children().last().attr('data-index'), 10) + 1; templates.parse('admin/general/navigation', 'navigation', {navigation: [data]}, function(li) { li = $(translator.unescape(li)); @@ -88,7 +88,7 @@ define('admin/general/navigation', ['translator', 'iconSelect'], function(transl }); indices.forEach(function(index) { - var el = $('#enabled').children().eq(index); + var el = $('#enabled').children('[data-index="' + index + '"]'); var form = el.find('form').serializeArray(), data = {}, properties = {}; diff --git a/src/views/admin/general/navigation.tpl b/src/views/admin/general/navigation.tpl index 8b3840ee55..89b8b3d05f 100644 --- a/src/views/admin/general/navigation.tpl +++ b/src/views/admin/general/navigation.tpl @@ -109,13 +109,21 @@
+ {available.text} {available.route}
+ core plugin
+