X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fquerytable%2Fstatic%2Fjs%2Fquerytable.js;h=57b260dc073c9f2ee1928d9b43629b9289b02a17;hb=df596019496a6fb2ad0a8e2c32f1a2310101cf49;hp=7686e194e5f66b5d0fbbdb817413046d1d337ac4;hpb=d8b349aeaca7af55f020f7344863003a1a478c0a;p=myslice.git diff --git a/plugins/querytable/static/js/querytable.js b/plugins/querytable/static/js/querytable.js index 7686e194..57b260dc 100644 --- a/plugins/querytable/static/js/querytable.js +++ b/plugins/querytable/static/js/querytable.js @@ -76,18 +76,31 @@ // compute columns based on columns and hidden_columns this.slick_columns = []; var all_columns = this.options.columns; // .concat(this.options.hidden_columns) + // xxx would be helpful to support a column_renamings options arg + // for redefining some labels like 'network_hrn' that really are not meaningful for (c in all_columns) { var column=all_columns[c]; - this.slick_columns.push ( {id:column, name:column, field:column, width:100, minWidth:40, }); + this.slick_columns.push ( {id:column, name:column, field:column, + cssClass: "querytable-column-"+column, + width:100, minWidth:40, }); } // xxx should be extensible from caller with this.options.slickgrid_options this.slick_options = { enableCellNavigation: false, enableColumnReorder: true, + showHeaderRow: true, + syncColumnCellResize: true, }; - this.slick_data=[]; + this.slick_data = []; + this.slick_dataview = new Slick.Data.DataView(); + var self=this; + this.slick_dataview.onRowCountChanged.subscribe ( function (e,args) { + self.slick_grid.updateRowCount(); + self.slick_grid.autosizeColumns(); + self.slick_grid.render(); + }); var selector="#grid-"+this.options.domid; if (debug_deep) { @@ -104,66 +117,41 @@ cssClass: "slick-cell-checkboxsel" }); this.slick_columns.push(checkbox_selector.getColumnDefinition()); - this.slick_grid = new Slick.Grid(selector, this.slick_data, this.slick_columns, this.slick_options); + this.slick_grid = new Slick.Grid(selector, this.slick_dataview, this.slick_columns, this.slick_options); this.slick_grid.setSelectionModel (new Slick.RowSelectionModel ({selectActiveRow: false})); this.slick_grid.registerPlugin (checkbox_selector); + // autotooltips: for showing the full column name when ellipsed + var auto_tooltips = new Slick.AutoTooltips ({ enableForHeaderCells: true }); + this.slick_grid.registerPlugin (auto_tooltips); this.columnpicker = new Slick.Controls.ColumnPicker (this.slick_columns, this.slick_grid, this.slick_options) - }, // initialize_table - // Determine index of key in the table columns - getColIndex: function(key, cols) { - var tabIndex = $.map(cols, function(x, i) { if (x.sTitle == key) return i; }); - return (tabIndex.length > 0) ? tabIndex[0] : -1; - }, // getColIndex - - checkbox_html : function (key, value) { - if (debug_deep) messages.debug("checkbox_html, value="+value); - var result=""; - // Prefix id with plugin_uuid - result += "