Package org.zkoss.zss.ui.au.in

Source Code of org.zkoss.zss.ui.au.in.FetchActiveRangeCommand

/* DeferLoadingCommand.java

{{IS_NOTE
  Purpose:
   
  Description:
   
  History:
    Feb 9, 2012 10:29:15 AM , Created by sam
}}IS_NOTE

Copyright (C) 2012 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
}}IS_RIGHT
*/
package org.zkoss.zss.ui.au.in;

import java.util.Map;

import org.zkoss.json.JSONObject;
import org.zkoss.lang.Objects;
import org.zkoss.zk.au.AuRequest;
import org.zkoss.zk.mesg.MZk;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.UiException;
import org.zkoss.zss.model.Worksheet;
import org.zkoss.zss.model.impl.SheetCtrl;
import org.zkoss.zss.ui.Spreadsheet;
import org.zkoss.zss.ui.sys.SpreadsheetCtrl;

/**
* @author sam
*
*/
public class FetchActiveRangeCommand implements Command {

  @Override
  public void process(AuRequest request) {
    final Component comp = request.getComponent();
    if (comp == null)
      throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
          FetchActiveRangeCommand.class);
   
    final Map data = (Map) request.getData();
    if (data == null || data.size() != 5)
      throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA, new Object[] {Objects.toString(data), SelectSheetCommand.class });
   
    Spreadsheet spreadsheet = ((Spreadsheet) comp);
    String sheetId = (String) data.get("sheetId");
    int left = (Integer) data.get("left");
    int right = (Integer) data.get("right");
    int top = (Integer) data.get("top");
    int bottom = (Integer) data.get("bottom");
   
    Worksheet sheet = spreadsheet.getSelectedSheet();
   
    if (sheetId.equals(((SheetCtrl)sheet).getUuid())) {
      final SpreadsheetCtrl spreadsheetCtrl = ((SpreadsheetCtrl) spreadsheet.getExtraCtrl());
     
      JSONObject mainBlock = spreadsheetCtrl.getRangeAttrs(sheet, SpreadsheetCtrl.Header.BOTH, SpreadsheetCtrl.CellAttribute.ALL, left, top, right, bottom);
      if (spreadsheet.getColumnfreeze() >= 0) {
        mainBlock.put("leftFrozen",
            spreadsheetCtrl.getRangeAttrs(sheet, SpreadsheetCtrl.Header.BOTH, SpreadsheetCtrl.CellAttribute.ALL, 0, top, spreadsheet.getColumnfreeze(), bottom));
      }
      if (spreadsheet.getRowfreeze() >= 0) {
        mainBlock.put("topFrozen",
            spreadsheetCtrl.getRangeAttrs(sheet, SpreadsheetCtrl.Header.BOTH, SpreadsheetCtrl.CellAttribute.ALL, left, 0, right, spreadsheet.getRowfreeze()));
      }
      spreadsheet.smartUpdate("activeRangeUpdate", mainBlock);
    }
  }
}
TOP

Related Classes of org.zkoss.zss.ui.au.in.FetchActiveRangeCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.