Subject: Re: GSoC idea: adding JavaScript library / framework in gitweb

From: Jakub Narebski <[email-masked]>
Date: Sun, 25 Mar 2012 18:55:19 +0100

On Sun, 25 Mar 2012, chaitanyaa nalla wrote:

> Dear Jakub,
> 
> if we handle the sorting of the tables on the client side itself,
> will that be a  load on the browser?

Well, if it turns out to be too heavy a load, we can use the same trick
of "timed array processing":

  http://www.nczonline.net/blog/2009/08/11/timed-array-processing-in-javascript/

See for example this page to see sorttable in action:

  http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities

> Other ideas which I have in mind are
> 
> 1. Highligting matched portions of project name while searching the
>    project name, even more intuitively

You probably couldn't have known that match highlighting in project
search is done on server side by gitweb.cgi since commit 6759f95
(Merge branch 'jn/gitweb-hilite-regions', 2012-03-04):

  gitweb: Highlight matched part of shortened project description
  gitweb: Highlight matched part of project description when searching projects
  gitweb: Highlight matched part of project name when searching projects

It is not used by either git.kernel.org or repo.or.cz because it is
too fresh (it is to be in yet to be released v1.7.10).

> 2. project pagination.

Is there any sense in pagination on client side?  Unless you turn it into
lazy loading / loading on demand Ajax-y pagination...

Yet another idea is to implement creating side-by-side diff from unified
diff in JavaScript, so that swicthing between unified and side-by-side
diff view could be done entirely client-side, without hitting the server.

Note however that I think that it wouldn't be possible in time given to
implement all those ideas.  You need to select those of them that you
will put in project application.

-- 
Jakub Narebski
Poland