/* Processing hidden_columns */
$.each(this.options.hidden_columns, function(i, field) {
- self.hide_column(field);
+ manifold.raise_event(self.options.query_all_uuid, FIELD_REMOVED, field);
+ //self.hide_column(field);
});
}, // initialize_table
if (this.options.checkboxes) {
// Use a key instead of hostname (hard coded...)
line.push(this.checkbox_html(this.key, record[this.key]));
- }
+ }
- // adding an array in one call is *much* more efficient
- // this.table.fnAddData(line);
- this.buffered_lines.push(line);
-
+ // adding an array in one call is *much* more efficient
+ // this.table.fnAddData(line);
+ this.buffered_lines.push(line);
},
clear_table: function()
var checkbox_id = this.flat_id(this.id('checkbox', key_value));
checkbox_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);
- 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);
},
alert('Hazelnut::clear_fields() not implemented');
},
+ /* XXX TODO: make this generic a plugin has to subscribe to a set of Queries to avoid duplicated code ! */
+ /*************************** ALL QUERY HANDLER ****************************/
+
+ on_all_filter_added: function(filter)
+ {
+ // XXX
+ this.redraw_table();
+ },
+
+ on_all_filter_removed: function(filter)
+ {
+ // XXX
+ this.redraw_table();
+ },
+
+ on_all_filter_clear: function()
+ {
+ // XXX
+ this.redraw_table();
+ },
+
+ on_all_field_added: function(field)
+ {
+ this.show_column(field);
+ },
+
+ on_all_field_removed: function(field)
+ {
+ this.hide_column(field);
+ },
+
+ on_all_field_clear: function()
+ {
+ alert('Hazelnut::clear_fields() not implemented');
+ },
+
+
/*************************** RECORD HANDLER ***************************/
on_new_record: function(record)
{
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]);
+ // 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
- if (debug) messages.debug ("Remembering record to check " + record[this.key]);
+ } else {
+ // otherwise we need to remember that and do it later on
+ if (debug) messages.debug("Remembering record to check " + record[this.key]);
this.buffered_records_to_check.push(record);
- }
+ }
},
on_clear_records: function()
on_query_done: function()
{
this.received_query = true;
- // unspin once we have received both
+ // unspin once we have received both
if (this.received_all_query && this.received_query) this.unspin();
},
}
},
+ /* XXX TODO: make this generic a plugin has to subscribe to a set of Queries to avoid duplicated code ! */
// all
+ on_all_field_state_changed: function(data)
+ {
+ switch(data.request) {
+ case FIELD_REQUEST_ADD:
+ case FIELD_REQUEST_ADD_RESET:
+ this.set_checkbox(data.value, true);
+ break;
+ case FIELD_REQUEST_REMOVE:
+ case FIELD_REQUEST_REMOVE_RESET:
+ this.set_checkbox(data.value, false);
+ break;
+ default:
+ break;
+ }
+ },
on_all_new_record: function(record)
{
domid = 'pending',
outline_complete = True,
))
-
+
+ # --------------------------------------------------------------------------
+ # Filter Resources
+
+ filter_query_editor = QueryEditor(
+ page = page,
+ query = query_resource_all,
+ title = "Select Columns",
+ domid = 'select-columns',
+ )
+ filter_active_filters = ActiveFilters(
+ page = page,
+ query = sq_resource,
+ title = "Active Filters",
+ )
+ filters_area = Stack(
+ page = page,
+ title = 'Filter Resources',
+ domid = 'filters',
+ sons = [filter_query_editor, filter_active_filters],
+ togglable = True,
+ # start turned off, it will open up itself when stuff comes in
+ toggled = False,
+ outline_complete = True,
+ )
+ main_stack.insert (filters_area)
+
# --------------------------------------------------------------------------
# RESOURCES
# the resources part is made of a Tabs (Geographic, List),
},
)
- resources_query_editor = QueryEditor(
- page = page,
- query = query_resource_all,
- title = "Select Columns",
- domid = 'select-columns',
- )
- resources_active_filters = ActiveFilters(
- page = page,
- query = sq_resource,
- title = "Active Filters ?",
- )
-
# List area itself is a Stack with hazelnut on top,
# and a togglable tabs for customization plugins
resources_as_list_area = Stack(
toggled='persistent',
domid="customize-resources",
outline_complete=True,
- sons = [ resources_query_editor, resources_active_filters, ],
+ #sons = [ resources_query_editor, resources_active_filters, ],
),
],
)