git://git.onelab.eu
/
myslice.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
replace key_value with just id
[myslice.git]
/
plugins
/
querytable
/
static
/
js
/
querytable.js
diff --git
a/plugins/querytable/static/js/querytable.js
b/plugins/querytable/static/js/querytable.js
index
6a553bc
..
4cafe83
100644
(file)
--- a/
plugins/querytable/static/js/querytable.js
+++ b/
plugins/querytable/static/js/querytable.js
@@
-153,6
+153,7
@@
checkbox_html : function (key, value)
{
checkbox_html : function (key, value)
{
+// if (debug) messages.debug("checkbox_html, value="+value);
var result="";
// Prefix id with plugin_uuid
result += "<input";
var result="";
// Prefix id with plugin_uuid
result += "<input";
@@
-161,10
+162,14
@@
result += " name='" + key + "'";
result += " type='checkbox'";
result += " autocomplete='off'";
result += " name='" + key + "'";
result += " type='checkbox'";
result += " autocomplete='off'";
- result += " value='" + value + "'";
+ if (value === undefined) {
+ messages.warning("querytable.checkbox_html - undefined value");
+ } else {
+ result += " value='" + value + "'";
+ }
result += "></input>";
return result;
result += "></input>";
return result;
- },
// checkbox
+ },
new_record: function(record)
new_record: function(record)
@@
-245,28
+250,34
@@
/* Default: checked = true */
if (checked === undefined) checked = true;
/* Default: checked = true */
if (checked === undefined) checked = true;
- var
key_value
;
+ var
id
;
/* The function accepts both records and their key */
switch (manifold.get_type(record)) {
/* The function accepts both records and their key */
switch (manifold.get_type(record)) {
-
case TYPE_VALUE:
-
key_value
= record;
-
break;
-
case TYPE_RECORD:
-
/* XXX Test the key before ? */
-
key_value
= record[this.key];
-
break;
-
default:
-
throw "Not implemented";
-
break;
+ case TYPE_VALUE:
+
id
= record;
+ break;
+ case TYPE_RECORD:
+ /* XXX Test the key before ? */
+
id
= record[this.key];
+ break;
+ default:
+ throw "Not implemented";
+ break;
}
}
- var checkbox_id = this.flat_id(this.id('checkbox', key_value));
+ if (id === undefined) {
+ messages.warning("querytable.set_checkbox record has no id to figure which line to tick");
+ return;
+ }
+ var checkbox_id = this.flat_id(this.id('checkbox', id));
// function escape_id(myid) is defined in portal/static/js/common.functions.js
checkbox_id = escape_id(checkbox_id);
// function escape_id(myid) is defined in portal/static/js/common.functions.js
checkbox_id = escape_id(checkbox_id);
-
// using dataTables's $ to search also in nodes that are not currently displayed
+ // using dataTables's $ to search also in nodes that are not currently displayed
var element = this.table.$(checkbox_id);
var element = this.table.$(checkbox_id);
- if (debug) messages.debug("set_checkbox checked=" + checked + " id=" + checkbox_id + " matches=" + element.length);
+ if (debug)
+ messages.debug("set_checkbox checked=" + checked
+ + " id=" + checkbox_id + " matches=" + element.length);
element.attr('checked', checked);
},
element.attr('checked', checked);
},
@@
-351,7
+362,6
@@
{
if (this.received_all_query) {
// if the 'all' query has been dealt with already we may turn on the checkbox
{
if (this.received_all_query) {
// if the 'all' query has been dealt with already we may turn on the checkbox
- if (debug) messages.debug("turning on checkbox for record "+record[this.key]);
this.set_checkbox(record, true);
} else {
// otherwise we need to remember that and do it later on
this.set_checkbox(record, true);
} else {
// otherwise we need to remember that and do it later on