{* $Id$ *}
{tr}Filter by group:{/tr}
{tr}Select user(s):{/tr}
{jq} var users{{$field.fieldId}} = {{$data.users|json_encode}}; $("#user_group_selector_{{$field.fieldId}}").change(function() { var $selector = $('#user_selector_{{$field.fieldId}}'), selected = $selector.val(), group_users = {}; $.map($(this).val(), function(group) { $.extend(group_users, users{{$field.fieldId}}[group] || {}); }); var all_users = Object.keys(group_users); var to_remove = $.map(selected, function(user) { return $.inArray(user, all_users) < 0 ? user : null; }); if (to_remove.length > 0 && ! confirm(tr("Please confirm if you want to remove the following users:")+" "+to_remove.join(', '))) { return; } $selector.empty(); $.map(all_users, function(user){ return {value: user, label: group_users[user]}; } ).sort(function(u1, u2) { u1 = u1.label.toUpperCase(); u2 = u2.label.toUpperCase(); return u1 < u2 ? -1 : ( u1 > u2 ? 1 : 0 ); }).map(function(opt) { $('