/** * Created by Mai on 2017/4/1. */ var TREE_SHEET_CONTROLLER = { createNew: function (tree, sheet, setting) { var controller = function () { this.tree = tree; this.sheet = sheet; this.setting = setting; }; controller.prototype.showTreeData = function () { var that = this; TREE_SHEET_HELPER.loadSheetHeader(this.setting, this.sheet); TREE_SHEET_HELPER.showTreeData(this.setting, this.sheet, this.tree); this.sheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function (e, info) { that.tree.selected = that.tree.findNode(info.sheet.getTag(info.newSelections[0].row, info.newSelections[0].col)); }); }; controller.prototype.insert = function () { var newNode = null, that = this; if (this.tree && this.tree.selected) { newNode = this.tree.insert(this.tree.selected.getParentID(), this.tree.selected.getNextSiblingID()); if (newNode) { TREE_SHEET_HELPER.massOperationSheet(this.sheet, function () { var sels = that.sheet.getSelections(); var iRow = sels[0].row, newNodeRow = iRow + that.tree.selected.posterityCount() + 1; that.sheet.addRows(newNodeRow, 1); TREE_SHEET_HELPER.refreshTreeNodeData(that.setting, that.sheet, [newNode], false); that.tree.selected = newNode; that.sheet.setSelection(newNode.serialNo(), sels[0].col, 1, 1); that.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center) }) } } }; controller.prototype.delete = function () { var that = this; if (this.tree.selected) { if (this.tree.delete(this.tree.selected)) { TREE_SHEET_HELPER.massOperationSheet(this.sheet, function () { var sels = that.sheet.getSelections(); var iRow = sels[0].row; that.sheet.deleteRows(iRow, that.tree.selected.posterityCount() + 1); that.tree.selected = that.tree.findNode(that.sheet.getTag(iRow, 0, GC.Spread.Sheets.SheetArea.viewport)); }); } } }; controller.prototype.upLevel = function () { var that = this; if (this.tree.selected) { if (this.tree.selected.upLevel()) { TREE_SHEET_HELPER.massOperationSheet(this.sheet, function () { TREE_SHEET_HELPER.refreshNodesVisible([that.tree.selected], that.sheet, true); that.sheet.showRow(that.tree.selected.serialNo(), GC.Spread.Sheets.VerticalPosition.center); }); } } }; controller.prototype.downLevel = function () { var that = this; if (this.tree.selected) { if (this.tree.selected.downLevel()) { TREE_SHEET_HELPER.massOperationSheet(that.sheet, function () { TREE_SHEET_HELPER.refreshNodesVisible([that.tree.selected.parent], that.sheet, true); that.sheet.showRow(that.tree.selected.serialNo(), GC.Spread.Sheets.VerticalPosition.center); }); } } }; controller.prototype.upMove = function () { var that = this; if (this.tree.selected) { if (this.tree.selected.upMove()) { TREE_SHEET_HELPER.massOperationSheet(this.sheet, function () { var sels = that.sheet.getSelections(); var iRow = sels[0].row; TREE_SHEET_HELPER.refreshTreeNodeData(that.setting, that.sheet, [that.tree.selected, that.tree.selected.nextSibling], true); that.sheet.setSelection(that.tree.selected.serialNo(), sels[0].col, 1, 1); }); } } }; controller.prototype.downMove = function () { var that = this; if (this.tree.selected) { if (this.tree.selected.downMove()) { TREE_SHEET_HELPER.massOperationSheet(this.sheet, function () { var sels = that.sheet.getSelections(); var iRow = sels[0].row; TREE_SHEET_HELPER.refreshTreeNodeData(that.setting, that.sheet, [that.tree.selected, that.tree.selected.preSibling], true); that.sheet.setSelection(that.tree.selected.serialNo(), sels[0].col, 1, 1); }); } } }; return new controller(); } };