2015-02-25 15:01:28 -05:00
|
|
|
"use strict";
|
|
|
|
|
/* global define, app, ajaxify, socket, templates, bootbox */
|
|
|
|
|
|
|
|
|
|
define('admin/general/navigation', function() {
|
|
|
|
|
var navigation = {};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var available;
|
|
|
|
|
|
|
|
|
|
navigation.init = function() {
|
|
|
|
|
available = JSON.parse(ajaxify.variables.get('available'));
|
|
|
|
|
|
|
|
|
|
$('.delete').on('click', function() {
|
|
|
|
|
$(this).parents('li').remove();
|
|
|
|
|
});
|
|
|
|
|
|
2015-02-25 15:16:51 -05:00
|
|
|
$('.toggle').on('click', function() {
|
|
|
|
|
var btn = $(this),
|
|
|
|
|
disabled = btn.html() === 'Enable';
|
|
|
|
|
|
|
|
|
|
btn.toggleClass('btn-warning').toggleClass('btn-success').html(!disabled ? 'Enable' : 'Disable');
|
|
|
|
|
btn.parents('li').find('[name="enabled"]').val(disabled);
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
2015-02-25 15:01:28 -05:00
|
|
|
$('#save').on('click', saveNavigation);
|
2015-02-25 15:18:57 -05:00
|
|
|
|
|
|
|
|
$('#enabled').sortable();
|
|
|
|
|
$('#enabled').disableSelection();
|
2015-02-25 15:01:28 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function saveNavigation() {
|
|
|
|
|
var nav = [];
|
|
|
|
|
|
|
|
|
|
$('#enabled li').each(function() {
|
|
|
|
|
var form = $(this).find('form').serializeArray(),
|
|
|
|
|
data = {};
|
|
|
|
|
|
|
|
|
|
form.forEach(function(input) {
|
|
|
|
|
data[input.name] = input.value;
|
|
|
|
|
});
|
|
|
|
|
|
2015-02-25 15:29:26 -05:00
|
|
|
available.forEach(function(item) {
|
|
|
|
|
if (item.route.match(data.route)) {
|
|
|
|
|
data.properties = item.properties;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
2015-02-25 15:01:28 -05:00
|
|
|
nav.push(data);
|
|
|
|
|
});
|
|
|
|
|
|
2015-02-25 15:01:45 -05:00
|
|
|
socket.emit('admin.navigation.save', nav, function(err) {
|
2015-02-25 15:01:28 -05:00
|
|
|
if (err) {
|
|
|
|
|
app.alertError(err.message);
|
|
|
|
|
} else {
|
|
|
|
|
app.alertSuccess('Successfully saved navigation');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return navigation;
|
|
|
|
|
});
|