comparison toolbox/static/js/field.js @ 0:b0942f44413f

import from git://github.com/mozilla/toolbox.git
author Jeff Hammel <k0scist@gmail.com>
date Sun, 11 May 2014 09:15:35 -0700
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:b0942f44413f
1 $(document).ready(function(){
2
3 var fieldname = $('#field-name').text();
4
5 // enable editing of field values
6 $('div.field').each(function() {
7 var fielddiv = $(this);
8 var field = $(this).attr('id');
9 $(this).children('h2').each(function() {
10 var header = $(this);
11 var value = $(this).children('a').text();
12 var UEB = $('<img class="UEB" src="img/UEB16.png"/>');
13 $(UEB).attr('title', 'rename ' + fieldname + ': ' + field);
14 $(UEB).css('visibility', 'hidden');
15 var editField = function() {
16 var input = $('<input class="text"/>');
17 $(input).val(field);
18 var submitHandler = function () {
19 var newvalue = $(this).val();
20 if (newvalue != value) {
21 var hiddeninput = $('<input type="hidden"/>');
22 $(hiddeninput).attr('name', value);
23 $(hiddeninput).val(newvalue);
24 var form = $('<form method="POST"></form>');
25 form.append(hiddeninput);
26 $(this).after(form);
27 $(form).submit();
28 $(this).replaceWith('<img class="throbber" src="img/indicator.gif"/>');
29 return;
30 }
31 $(this).blur(function() {});
32 $(this).replaceWith(header);
33 $(header).hover(function(eventObject) { $(this).children('img.UEB').css('visibility', 'visible'); },
34 function(eventObject) { $(this).children('img.UEB').css('visibility', 'hidden'); });
35
36 $(header).find('img.UEB').each(function() {
37 $(this).css('visibility', 'hidden');
38 $(this).click(editField);
39 });
40 }
41 $(header).replaceWith(input);
42 $(input).blur(submitHandler);
43 $(input).keypress(function(event) {
44 if (event.which == 13) {
45 $(this).blur();
46 }
47 });
48 $(input).focus();
49 }
50 $(UEB).click(editField);
51 $(this).append(UEB);
52 $(this).hover(function(eventObject) { $(this).children('img.UEB').css('visibility', 'visible'); },
53 function(eventObject) { $(this).children('img.UEB').css('visibility', 'hidden'); });
54
55 });
56 });
57 });