Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: setup.py
- ===================================================================
- --- setup.py (revision 12686)
- +++ setup.py (working copy)
- @@ -10,12 +10,12 @@
- from setuptools import find_packages, setup
- -version='0.4.2'
- +version='0.4.5'
- setup(name='AutocompleteUsers',
- version=version,
- description="complete the known trac users, AJAX style",
- - author='Jeff Hammel',
- + author='Jeff Hammel & Mario Wehr',
- author_email='jhammel@openplans.org',
- maintainer = 'Ryan J Ollos',
- maintainer_email = 'ryano@physiosonics.com',
- Index: autocompleteusers/htdocs/css/autocomplete.css
- ===================================================================
- --- autocompleteusers/htdocs/css/autocomplete.css (revision 12686)
- +++ autocompleteusers/htdocs/css/autocomplete.css (working copy)
- @@ -1,4 +1,16 @@
- -.ac_results {
- +.ui-autocomplete-loading {
- + background:url('indicator.gif') no-repeat right center
- +}
- +
- +.ui-autocomplete.ui-menu{
- + padding: 0px;
- + border: 1px solid black;
- + background-color: white;
- + overflow: hidden;
- + z-index: 99999;
- + }
- +
- +.ui-autocomplete-results {
- padding: 0px;
- border: 1px solid black;
- background-color: white;
- @@ -6,14 +18,14 @@
- z-index: 99999;
- }
- -.ac_results ul {
- +.ui-autocomplete-results ul {
- list-style-position: outside;
- list-style: none;
- padding: 0;
- margin: 0;
- }
- -.ac_results li {
- +.ui-autocomplete-results li {
- margin: 0px;
- padding: 2px 5px;
- cursor: default;
- @@ -34,20 +46,17 @@
- white-space: nowrap;
- }
- -.ac_results li div.mail {
- +li div.mail {
- font-size: 80%;
- color: #888;
- }
- -.ac_loading {
- - background: white url('indicator.gif') right center no-repeat;
- -}
- -
- -.ac_odd {
- +.ui-autocomplete-results li.ui-autocomplete-odd{
- background-color: #eee;
- }
- -.ac_over {
- +.ui-autocomplete-over {
- background-color: #ffd;
- color: #000;
- }
- +
- Index: autocompleteusers/htdocs/js/autocomplete_newticket.js
- ===================================================================
- --- autocompleteusers/htdocs/js/autocomplete_newticket.js (revision 12686)
- +++ autocompleteusers/htdocs/js/autocomplete_newticket.js (working copy)
- @@ -1,5 +1,15 @@
- jQuery(document).ready(function($) {
- - $("#field-owner").autocomplete("subjects", {
- - formatItem: formatItem
- - });
- + $("#field-owner").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- + });
- });
- \ No newline at end of file
- Index: autocompleteusers/htdocs/js/autocomplete_newticket_cc.js
- ===================================================================
- --- autocompleteusers/htdocs/js/autocomplete_newticket_cc.js (revision 12686)
- +++ autocompleteusers/htdocs/js/autocomplete_newticket_cc.js (working copy)
- @@ -1,10 +1,46 @@
- jQuery(document).ready(function($) {
- - $("#field-cc").autocomplete("subjects", {
- - multiple: true,
- - formatItem: formatItem,
- - delay: 100
- - });
- - $("input:text#field-reporter").autocomplete("subjects", {
- - formatItem: formatItem
- - });
- -});
- \ No newline at end of file
- + $("#field-cc").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + extractLast( request.term ) ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + },
- +
- + select: function( event, ui ) {
- + var terms = split( this.value );
- + // remove the current input
- + terms.pop();
- + // add the selected item
- + terms.push( ui.item.value );
- + // add placeholder to get the comma-and-space at the end
- + terms.push( "" );
- + this.value = terms.join( "," );
- + return false;
- + }
- + }).data("autocomplete")._renderItem = function (ul, item) {
- + return $( "<li>" )
- + .data('item.autocomplete', item)
- + .append( "<a>" + item.label + "<br><div class=\"mail\">" + item.desc + "</div></a>" )
- + .appendTo( ul );
- + };
- + $("input:text#field-reporter").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- + });
- +});
- +
- Index: autocompleteusers/htdocs/js/autocomplete_ticket.js
- ===================================================================
- --- autocompleteusers/htdocs/js/autocomplete_ticket.js (revision 12686)
- +++ autocompleteusers/htdocs/js/autocomplete_ticket.js (working copy)
- @@ -1,5 +1,15 @@
- jQuery(document).ready(function($) {
- - $("[id$=reassign_owner]").autocomplete("../subjects", {
- - formatItem: formatItem
- - });
- + $("[id$=action_changeowner_reassign_owner]").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- + });
- });
- \ No newline at end of file
- Index: autocompleteusers/htdocs/js/format_item.js
- ===================================================================
- --- autocompleteusers/htdocs/js/format_item.js (revision 12686)
- +++ autocompleteusers/htdocs/js/format_item.js (working copy)
- @@ -1,5 +1,16 @@
- function formatItem(row) {
- - var firstLine = (row[2]) ? row[0] + " (" + row[2] + ")" : row[0];
- - return "<div class=\"name\">" + firstLine + "</div>"
- - + (row[1] ? "<div class=\"mail\">" + row[1] + "</div>" : '');
- -}
- + var array = row.split('|');
- + return {
- + label : (array[2]) ? array[0] + " (" + array[2] + ")" : array[0],
- + value : array[0],
- + desc : (array[1]) ? array[1] : "no results"
- + }
- +};
- +
- +function split( val ) {
- + return val.split( /\s*[,;]\s*/ );
- + }
- +
- +function extractLast( term ) {
- + return split( term ).pop();
- +}
- \ No newline at end of file
- Index: autocompleteusers/htdocs/js/autocomplete_perms.js
- ===================================================================
- --- autocompleteusers/htdocs/js/autocomplete_perms.js (revision 12686)
- +++ autocompleteusers/htdocs/js/autocomplete_perms.js (working copy)
- @@ -1,11 +1,41 @@
- -$(document).ready(function() {
- - $("#gp_subject").autocomplete("../../subjects?groups=1", {
- - formatItem: formatItem
- +jQuery(document).ready(function($) {
- + $("#gp_subject").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../../subjects?groups=1",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- });
- - $("#sg_subject").autocomplete("../../subjects?groups=1", {
- - formatItem: formatItem
- + $("#sg_subject").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../../subjects?groups=1",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- });
- - $("#sg_group").autocomplete("../../subjects?groups=1&users=0", {
- - formatItem: formatItem
- + $("#sg_group").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../../subjects?groups=1&users=0",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- });
- });
- Index: autocompleteusers/htdocs/js/autocomplete_ticket_cc.js
- ===================================================================
- --- autocompleteusers/htdocs/js/autocomplete_ticket_cc.js (revision 12686)
- +++ autocompleteusers/htdocs/js/autocomplete_ticket_cc.js (working copy)
- @@ -1,9 +1,45 @@
- jQuery(document).ready(function($) {
- - $("#field-cc").autocomplete("../subjects", {
- - multiple: true,
- - formatItem: formatItem
- - });
- - $("input:text#field-reporter").autocomplete("../subjects", {
- - formatItem: formatItem
- - });
- -});
- \ No newline at end of file
- + $("#field-cc").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + extractLast( request.term ) ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + },
- + select: function( event, ui ) {
- + var terms = split( this.value );
- + // remove the current input
- + terms.pop();
- + // add the selected item
- + terms.push( ui.item.value );
- + // add placeholder to get the comma-and-space at the end
- + terms.push( "" );
- + this.value = terms.join( "," );
- + return false;
- + }
- + }).data("autocomplete")._renderItem = function (ul, item) {
- + return $( "<li>" )
- + .data('item.autocomplete', item)
- + .append( "<a>" + item.label + "<br><div class=\"mail\">" + item.desc + "</div></a>" )
- + .appendTo( ul );
- + };
- + $("input:text#field-reporter").autocomplete({
- + source: function( request, response ) {
- + $.ajax({
- + url: "../subjects",
- + type: "GET",
- + dataType: "text",
- + data: 'q=' + request.term ,
- + success: function( data ) {
- + response( $.map( data.split("\n"), formatItem ));
- + }
- + });
- + }
- + });
- +});
- +
- Index: autocompleteusers/autocompleteusers.py
- ===================================================================
- --- autocompleteusers/autocompleteusers.py (revision 12686)
- +++ autocompleteusers/autocompleteusers.py (working copy)
- @@ -37,7 +37,7 @@
- if req.args.get('users', '1') == '1':
- users = self._get_users(req)
- subjects = ['%s|%s|%s' % (user[USER],
- - user[EMAIL] and '<%s> ' % user[EMAIL] or '',
- + user[EMAIL] and '%s' % user[EMAIL] or '',
- user[NAME])
- for value, user in users] # value unused (placeholder needed for sorting)
- @@ -63,13 +63,13 @@
- return handler
- def post_process_request(self, req, template, data, content_type):
- - if template in ('ticket.html', 'admin_perms.html', 'query.html'):
- + if template in ('ticket.html', 'admin_perms.html', 'query.html', 'admin_svnpolicies.html'):
- add_stylesheet(req, 'autocomplete/css/autocomplete.css')
- - add_script(req, 'autocomplete/js/autocomplete.js')
- add_script(req, 'autocomplete/js/format_item.js')
- + add_script(req, 'autocomplete/js/format_item.js')
- if template == 'ticket.html':
- restrict_owner = self.env.config.getbool('ticket', 'restrict_owner')
- - if req.path_info.rstrip() == '/newticket':
- + if req.path_info.rstrip() == '/newticket':
- add_script(req, 'autocomplete/js/autocomplete_newticket_cc.js')
- if not restrict_owner:
- add_script(req, 'autocomplete/js/autocomplete_newticket.js')
- @@ -79,9 +79,13 @@
- add_script(req, 'autocomplete/js/autocomplete_ticket.js')
- elif template == 'admin_perms.html':
- add_script(req, 'autocomplete/js/autocomplete_perms.js')
- + add_script(req, 'common/js/jquery-ui.js')
- elif template == 'query.html':
- add_script(req, 'autocomplete/js/autocomplete_query.js')
- -
- + elif template == 'admin_svnpolicies.html':
- + add_script(req, 'common/js/jquery-ui.js')
- + add_script(req, 'autocomplete/js/autocomplete_admin_svnpolicies_recp_list.js')
- +
- return template, data, content_type
- # ITemplateStreamFilter methods
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement