FINAL suepr merge step : added all modules to this super repos
This commit is contained in:
94
sites/all/modules/contrib/admin/cobalt/js/cobalt.menu.js
Normal file
94
sites/all/modules/contrib/admin/cobalt/js/cobalt.menu.js
Normal file
@@ -0,0 +1,94 @@
|
||||
(function($) {
|
||||
$(document).bind('cobalt-load', function(evt, cobalt) {
|
||||
var plugin = {
|
||||
'version': 0,
|
||||
'catalogs': {},
|
||||
'handlers': []
|
||||
};
|
||||
|
||||
plugin['catalogs']['menu'] = {
|
||||
'update': function(last_update, callback) {
|
||||
$.getJSON(Drupal.settings.basePath + 'cobalt/data/menu_json', {}, function (data) {
|
||||
cobalt.emptyCatalog('menu');
|
||||
for (var id in data) {
|
||||
cobalt.addEntry({id:id, name:data[id][1], extra:data[id][0], information: data[id][0], catalog:'menu', classname:'url_data'});
|
||||
}
|
||||
callback(false);
|
||||
});
|
||||
},
|
||||
'install': function() {
|
||||
},
|
||||
'uninstall': function() {
|
||||
},
|
||||
'item_formatter': function(item) {
|
||||
return item.name + ' <small>' + item.information + '</small>';
|
||||
},
|
||||
'update_rate': 60000
|
||||
};
|
||||
|
||||
var uri_from_item = function(item, omitDestination) {
|
||||
var path = item.information;
|
||||
var destination = Drupal.settings.cobalt.path;
|
||||
if (typeof(path) == 'object') {
|
||||
destination = path.destination;
|
||||
path = path.path;
|
||||
}
|
||||
|
||||
if (path=='<front>') {
|
||||
path = '';
|
||||
}
|
||||
|
||||
if (destination && !omitDestination) {
|
||||
path = path + '?destination=' + destination;
|
||||
}
|
||||
|
||||
return Drupal.settings.basePath + path;
|
||||
};
|
||||
|
||||
plugin['handlers'].push({
|
||||
'id': 'menu_goto',
|
||||
'name': Drupal.t('Go to and return'),
|
||||
'data_class': 'url_data',
|
||||
'handler': function(text, item) {
|
||||
window.location.href = uri_from_item(item);
|
||||
}
|
||||
});
|
||||
|
||||
plugin['handlers'].push({
|
||||
'id': 'menu_goto_stay',
|
||||
'name': Drupal.t('Go to'),
|
||||
'data_class': 'url_data',
|
||||
'handler': function(text, item) {
|
||||
window.location.href = uri_from_item(item, true);
|
||||
}
|
||||
});
|
||||
|
||||
plugin['handlers'].push({
|
||||
'id': 'menu_open_in_new_window',
|
||||
'name': Drupal.t('Open in new window'),
|
||||
'data_class': 'url_data',
|
||||
'handler': function(text, item) {
|
||||
var form = document.createElement("form");
|
||||
$(form).attr({
|
||||
'method': 'GET',
|
||||
'action': uri_from_item(item),
|
||||
'target': '_blank'
|
||||
}).appendTo('body');
|
||||
|
||||
try {
|
||||
form.submit();
|
||||
}
|
||||
catch(e) {
|
||||
var message = $('<div></div>');
|
||||
message.append('<h1>' + Drupal.t('Could not open window') + '</h1>');
|
||||
message.append('<p>' + Drupal.t('You might be using a popup blocker, which stopped Cobalt from opening a new window.') + '</p>');
|
||||
cobalt.showHtml(message);
|
||||
}
|
||||
|
||||
$(form).remove();
|
||||
}
|
||||
});
|
||||
|
||||
cobalt.registerPlugin('cobalt_menu', plugin);
|
||||
});
|
||||
})(jQuery);
|
Reference in New Issue
Block a user