/*
- * (c) 2005-2009 Richard Cowin (http://openrico.org)
- * (c) 2005-2009 Matt Brown (http://dowdybrown.com)
+ * (c) 2005-2011 Richard Cowin (http://openrico.org)
+ * (c) 2005-2011 Matt Brown (http://dowdybrown.com)
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
* file except in compliance with the License. You may obtain a copy of the License at
* and limitations under the License.
*/
- if(typeof Rico=='undefined')
- throw("GridMenu requires the Rico JavaScript framework");
-
/**
* Standard menu for LiveGrid
*/
// menu items for filtering
this.filtermenu.clearMenu();
- if (column.canFilter() && !column.format.filterUI && (!onBlankRow || column.filterType == Rico.ColumnConst.USERFILTER)) {
+ if (column.canFilter()) {
this.addSubMenuItem(Rico.getPhraseById("gridmenuFilterBy",column.displayName), this.filtermenu, false);
- column.userFilter=column.getValue(r);
- if (column.filterType == Rico.ColumnConst.USERFILTER) {
- this.filtermenu.addMenuItemId("gridmenuRemoveFilter", function() { column.setUnfiltered(false); }, true);
- if (column.filterOp=='LIKE')
- this.filtermenu.addMenuItemId("gridmenuChgKeyword", function() { livegrid.openKeyword(c); }, true);
- if (column.filterOp=='NE' && !onBlankRow)
- this.filtermenu.addMenuItemId("gridmenuExcludeAlso", function() { column.addFilterNE(); }, true);
- } else if (!onBlankRow) {
- this.filtermenu.addMenuItemId("gridmenuInclude", function() { column.setFilterEQ(); }, true);
- this.filtermenu.addMenuItemId("gridmenuGreaterThan", function() { column.setFilterGE(); }, column.userFilter!='');
- this.filtermenu.addMenuItemId("gridmenuLessThan", function() { column.setFilterLE(); }, column.userFilter!='');
- if (column.isText)
- this.filtermenu.addMenuItemId("gridmenuContains", function() { livegrid.openKeyword(c); }, true);
- this.filtermenu.addMenuItemId("gridmenuExclude", function() { column.setFilterNE(); }, true);
+ if (!column.format.filterUI && (!onBlankRow || column.filterType == Rico.ColumnConst.USERFILTER)) {
+ column.userFilter=column.getValue(r);
+ if (column.filterType == Rico.ColumnConst.USERFILTER) {
+ this.filtermenu.addMenuItemId("gridmenuRemoveFilter", function() { column.setUnfiltered(false); }, true);
+ if (column.filterOp=='LIKE')
+ this.filtermenu.addMenuItemId("gridmenuChgKeyword", function() { livegrid.openKeyword(c); }, true);
+ if (column.filterOp=='NE' && !onBlankRow)
+ this.filtermenu.addMenuItemId("gridmenuExcludeAlso", function() { column.addFilterNE(); }, true);
+ } else if (!onBlankRow) {
+ this.filtermenu.addMenuItemId("gridmenuInclude", function() { column.setFilterEQ(); }, true);
+ this.filtermenu.addMenuItemId("gridmenuGreaterThan", function() { column.setFilterGE(); }, column.userFilter!='');
+ this.filtermenu.addMenuItemId("gridmenuLessThan", function() { column.setFilterLE(); }, column.userFilter!='');
+ if (column.isText)
+ this.filtermenu.addMenuItemId("gridmenuContains", function() { livegrid.openKeyword(c); }, true);
+ this.filtermenu.addMenuItemId("gridmenuExclude", function() { column.setFilterNE(); }, true);
+ }
}
if (livegrid.filterCount() > 0) {
- this.filtermenu.addMenuItemId("gridmenuRefresh", function() { livegrid.filterHandler(); }, true);
this.filtermenu.addMenuItemId("gridmenuRemoveAll", function() { livegrid.clearFilters(); }, true);
}
- } else if (livegrid.filterCount() > 0) {
- this.addSubMenuItem(Rico.getPhraseById("gridmenuFilterBy",column.displayName), this.filtermenu, false);
- this.filtermenu.addMenuItemId("gridmenuRemoveAll", function() { livegrid.clearFilters(); }, true);
+ if (buffer.options.canRefresh) this.filtermenu.addMenuItemId("gridmenuRefresh", function() { livegrid.filterHandler(); }, true);
}
// menu items for Print/Export
this.exportmenu.clearMenu();
- if (buffer.printVisibleSQL && typeof(buffer.dataSource)=='string') {
- // SQL buffer
+ if (maxprint > 0) {
this.addSubMenuItem(Rico.getPhraseById('gridmenuExport'),this.exportmenu,false);
- this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisibleSQL('html'); });
- this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAllSQL('html'); }, buffer.totalRows <= maxprint);
- this.exportmenu.addMenuBreak();
- this.exportmenu.addMenuItemId("gridmenuExportVis2SS", function() { buffer.printVisibleSQL('xl'); });
- this.exportmenu.addMenuItemId("gridmenuExportAll2SS", function() { buffer.printAllSQL('xl'); }, buffer.totalRows <= maxprint);
- } else if (maxprint > 0 && totrows>0) {
- // any other buffer
- this.addSubMenuItem(Rico.getPhraseById('gridmenuExport'),this.exportmenu,false);
- this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisible(); });
- this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAll(); }, buffer.totalRows <= maxprint);
+ if (buffer.printVisibleSQL && typeof(buffer.dataSource)=='string') {
+ // SQL buffer
+ this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisibleSQL('html'); });
+ this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAllSQL('html'); }, buffer.totalRows <= maxprint);
+ this.exportmenu.addMenuBreak();
+ this.exportmenu.addMenuItemId("gridmenuExportVis2SS", function() { buffer.printVisibleSQL('xl'); });
+ this.exportmenu.addMenuItemId("gridmenuExportAll2SS", function() { buffer.printAllSQL('xl'); }, buffer.totalRows <= maxprint);
+ } else {
+ // any other buffer
+ this.exportmenu.addMenuItemId("gridmenuExportVis2Web", function() { buffer.printVisible(); });
+ this.exportmenu.addMenuItemId("gridmenuExportAll2Web", function() { buffer.printAll(); }, buffer.totalRows <= maxprint);
+ }
}
// menu items for hide/unhide