[view/grid][s]: strip out all the menu stuff as somewhat broken both in UI (overflow not working) and functional terms (transform has changed).
* Felt simpler to remove and possibly reinstate later than try and fix now.
This commit is contained in:
107
src/view.grid.js
107
src/view.grid.js
@@ -29,10 +29,6 @@ my.Grid = Backbone.View.extend({
|
||||
},
|
||||
|
||||
events: {
|
||||
'click .column-header-menu .data-table-menu li a': 'onColumnHeaderClick',
|
||||
'click .row-header-menu': 'onRowHeaderClick',
|
||||
'click .root-header-menu': 'onRootHeaderClick',
|
||||
'click .data-table-menu li a': 'onMenuClick',
|
||||
// does not work here so done at end of render function
|
||||
// 'scroll .recline-grid tbody': 'onHorizontalScroll'
|
||||
},
|
||||
@@ -40,74 +36,6 @@ my.Grid = Backbone.View.extend({
|
||||
// ======================================================
|
||||
// Column and row menus
|
||||
|
||||
onColumnHeaderClick: function(e) {
|
||||
this.tempState.currentColumn = $(e.target).closest('.column-header').attr('data-field');
|
||||
},
|
||||
|
||||
onRowHeaderClick: function(e) {
|
||||
this.tempState.currentRow = $(e.target).parents('tr:first').attr('data-id');
|
||||
},
|
||||
|
||||
onRootHeaderClick: function(e) {
|
||||
var tmpl = ' \
|
||||
{{#columns}} \
|
||||
<li><a data-action="showColumn" data-column="{{.}}" href="JavaScript:void(0);">Show column: {{.}}</a></li> \
|
||||
{{/columns}}';
|
||||
var tmp = Mustache.render(tmpl, {'columns': this.state.get('hiddenFields')});
|
||||
this.el.find('.root-header-menu .dropdown-menu').html(tmp);
|
||||
},
|
||||
|
||||
onMenuClick: function(e) {
|
||||
var self = this;
|
||||
e.preventDefault();
|
||||
var actions = {
|
||||
bulkEdit: function() { self.showTransformColumnDialog('bulkEdit', {name: self.tempState.currentColumn}); },
|
||||
facet: function() {
|
||||
self.model.queryState.addFacet(self.tempState.currentColumn);
|
||||
},
|
||||
facet_histogram: function() {
|
||||
self.model.queryState.addHistogramFacet(self.tempState.currentColumn);
|
||||
},
|
||||
filter: function() {
|
||||
self.model.queryState.addTermFilter(self.tempState.currentColumn, '');
|
||||
},
|
||||
sortAsc: function() { self.setColumnSort('asc'); },
|
||||
sortDesc: function() { self.setColumnSort('desc'); },
|
||||
hideColumn: function() { self.hideColumn(); },
|
||||
showColumn: function() { self.showColumn(e); },
|
||||
deleteRow: function() {
|
||||
var self = this;
|
||||
var doc = _.find(self.model.records.models, function(doc) {
|
||||
// important this is == as the currentRow will be string (as comes
|
||||
// from DOM) while id may be int
|
||||
return doc.id == self.tempState.currentRow;
|
||||
});
|
||||
doc.destroy().then(function() {
|
||||
self.model.records.remove(doc);
|
||||
self.trigger('recline:flash', {message: "Row deleted successfully"});
|
||||
}).fail(function(err) {
|
||||
self.trigger('recline:flash', {message: "Errorz! " + err});
|
||||
});
|
||||
}
|
||||
};
|
||||
actions[$(e.target).attr('data-action')]();
|
||||
},
|
||||
|
||||
showTransformColumnDialog: function() {
|
||||
var self = this;
|
||||
var view = new my.ColumnTransform({
|
||||
model: this.model
|
||||
});
|
||||
// pass the flash message up the chain
|
||||
view.bind('recline:flash', function(flash) {
|
||||
self.trigger('recline:flash', flash);
|
||||
});
|
||||
view.state = this.tempState;
|
||||
view.render();
|
||||
this.el.append(view.el);
|
||||
view.el.modal();
|
||||
},
|
||||
|
||||
setColumnSort: function(order) {
|
||||
var sort = [{}];
|
||||
sort[0][this.tempState.currentColumn] = {order: order};
|
||||
@@ -141,33 +69,8 @@ my.Grid = Backbone.View.extend({
|
||||
<table class="recline-grid table-striped table-condensed" cellspacing="0"> \
|
||||
<thead class="fixed-header"> \
|
||||
<tr> \
|
||||
{{#notEmpty}} \
|
||||
<th class="column-header"> \
|
||||
<div class="btn-group root-header-menu"> \
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> \
|
||||
<ul class="dropdown-menu data-table-menu"> \
|
||||
</ul> \
|
||||
</div> \
|
||||
<span class="column-header-name"></span> \
|
||||
</th> \
|
||||
{{/notEmpty}} \
|
||||
{{#fields}} \
|
||||
<th class="column-header {{#hidden}}hidden{{/hidden}}" data-field="{{id}}" style="width: {{width}}px; max-width: {{width}}px; min-width: {{width}}px;"> \
|
||||
<div class="btn-group column-header-menu"> \
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown"><i class="icon-cog"></i><span class="caret"></span></a> \
|
||||
<ul class="dropdown-menu data-table-menu pull-right"> \
|
||||
<li><a data-action="facet" href="JavaScript:void(0);">Term Facet</a></li> \
|
||||
<li><a data-action="facet_histogram" href="JavaScript:void(0);">Date Histogram Facet</a></li> \
|
||||
<li><a data-action="filter" href="JavaScript:void(0);">Text Filter</a></li> \
|
||||
<li class="divider"></li> \
|
||||
<li><a data-action="sortAsc" href="JavaScript:void(0);">Sort ascending</a></li> \
|
||||
<li><a data-action="sortDesc" href="JavaScript:void(0);">Sort descending</a></li> \
|
||||
<li class="divider"></li> \
|
||||
<li><a data-action="hideColumn" href="JavaScript:void(0);">Hide this column</a></li> \
|
||||
<li class="divider"></li> \
|
||||
<li class="write-op"><a data-action="bulkEdit" href="JavaScript:void(0);">Transform...</a></li> \
|
||||
</ul> \
|
||||
</div> \
|
||||
<th class="column-header {{#hidden}}hidden{{/hidden}}" data-field="{{id}}" style="width: {{width}}px; max-width: {{width}}px; min-width: {{width}}px;" title="{{label}}"> \
|
||||
<span class="column-header-name">{{label}}</span> \
|
||||
</th> \
|
||||
{{/fields}} \
|
||||
@@ -270,14 +173,6 @@ my.GridRow = Backbone.View.extend({
|
||||
},
|
||||
|
||||
template: ' \
|
||||
<td> \
|
||||
<div class="btn-group row-header-menu"> \
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> \
|
||||
<ul class="dropdown-menu data-table-menu"> \
|
||||
<li class="write-op"><a data-action="deleteRow" href="JavaScript:void(0);">Delete this row</a></li> \
|
||||
</ul> \
|
||||
</div> \
|
||||
</td> \
|
||||
{{#cells}} \
|
||||
<td data-field="{{field}}" style="width: {{width}}px; max-width: {{width}}px; min-width: {{width}}px;"> \
|
||||
<div class="data-table-cell-content"> \
|
||||
|
||||
Reference in New Issue
Block a user