- var get_items = function(field) {
- var d = {};
- $.each($("select[name="+field+"] option[value!=]"),
- function(idx, ele) {
- d[field+"_"+idx] = { name: $(ele).text() };
- });
- return d;
- };
+ var user_callback = get_callback('user');
+ var users = [
+ get_items("user", user_callback),
+ {sep: '----'},
+ get_items("other-user", user_callback)
+ ];
+ var current_user_items = user_items = {};
+ var i = 0;
+ var more_label = $("label[for=mass_edit_more_users]").text();
+ for (user_table in users) {
+ for (user in users[user_table]) {
+ if (i && i % 20 == 0) {
+ var more_items = {};
+ current_user_items['more'] = {
+ name: more_label,
+ items: more_items
+ };
+ current_user_items = more_items;
+ }
+ current_user_items[user] = users[user_table][user];
+ i += 1;
+ }
+ }
+ $.contextMenu({
+ selector: '#file-list',
+ items: {
+ stage: {
+ name: $("label[for=mass_edit_stage]").text(),
+ items: get_items("stage", get_callback('stage')),
+ icon: "clock",
+ },
+ user: {
+ name: $("label[for=mass_edit_user]").text(),
+ items: user_items,
+ icon: "user",
+ },
+ project: {
+ name: $("label[for=mass_edit_project]").text(),
+ items: get_items("project", get_callback('project')),
+ },
+ },
+ });