Rico JavaScript DHTML





Rico Spreadsheet




Rico.loadModule('CustomMenu', 'SpreadSheet', 'ColorPicker');
var grid,cp;
Rico.onLoad( function() {
  var opts = {
    numRows: 50
  };
  grid = new Rico.SpreadSheet ('ss', opts);
  var fmtmenu=new Rico.Menu('7em');
  grid.registerScrollMenu(fmtmenu);
  fmtmenu.addMenuItem('Number...',grid.openFormatNumber.bind(grid));
  //fmtmenu.addMenuItem('Date/Time...',formatDate);
  //fmtmenu.addMenuItem('Text...',formatText);
  //fmtmenu.addMenuItem('Boolean...',formatBoolean);
  grid.menu.addSubMenuItem('Format as', fmtmenu);
  var alignmenu=new Rico.Menu('7em');
  grid.registerScrollMenu(alignmenu);
  alignmenu.addMenuItem('Left',grid.textalign.bind(grid,'left'));
  alignmenu.addMenuItem('Center',grid.textalign.bind(grid,'center'));
  alignmenu.addMenuItem('Right',grid.textalign.bind(grid,'right'));
  alignmenu.addMenuItem('Word Wrap',grid.textwrap.bind(grid));
  grid.menu.addSubMenuItem('Align', alignmenu);
  var clrmenu=new Rico.Menu('7em');
  grid.registerScrollMenu(clrmenu);
  clrmenu.addMenuItem('All',grid.clearSelection.bind(grid,'all'));
  clrmenu.addMenuItem('Formats',grid.clearSelection.bind(grid,'formats'));
  clrmenu.addMenuItem('Formulas',grid.clearSelection.bind(grid,'formulas'));
  clrmenu.addMenuItem('Values',grid.clearSelection.bind(grid,'values'));
  grid.menu.addSubMenuItem('Clear', clrmenu);
  cp=new Rico.ColorPicker('colorpick');
  cp.atLoad();
  cp.returnValue=this.returnColor.bind(this);
  Event.observe(window,'keydown',chkEscape,false);
  Event.observe('help_button','click',grid.showHelp.bindAsEventListener(grid),false);
  document.getElementsByTagName('body')[0].focus();
});
function chkEscape(e) {
  e=e || event;
  if (e.keyCode==27) cp.close();
}
function returnColor(newcolor) {
  grid.updateSelectionStyle(cp.attribute,newcolor);
}
function pickcolor(e,attr) {
  if (cp.container.style.display!='none' && cp.attribute==attr) {
    cp.close();
  } else {
    var elem=Event.element(e);
    cp.attribute=attr;
    RicoUtil.positionCtlOverIcon(cp.container,elem);
    cp.open();
  }
  Event.stop(e);
}