/** * Created by vian on 2017/4/12. */ var dbController = { insert: function(controller){ if(controller.tree.items.length === 0){ billsAjax.createBills(billsLibId, 1, -1 , -1); controller.insert(); } else { var node = controller.tree.selected; if(node){ var updateId = node.getID(), createpid = node.getParentID(), createnid = node.getNextSiblingID(); controller.insert(); billsAjax.createBills(billsLibId, node.getNextSiblingID(), createpid, createnid); billsAjax.updatePNId(billsLibId, updateId, -1, node.getNextSiblingID()); } else { var updateNode = controller.tree.roots[controller.tree.roots.length - 1]; var updateId = updateNode.getID(); controller.insert(); billsAjax.createBills(billsLibId, updateNode.getNextSiblingID(), -1, -1); billsAjax.updatePNId(billsLibId, updateId, -1, updateNode.getNextSiblingID()); } } }, delete: function(controller){ var node = controller.tree.selected; var deleteIds = []; var getDeleteIds = function(node){ if(node){ deleteIds.push(node.getID()); if(node.children.length > 0){ for(var i=0; i 0){ billsAjax.updatePNId(billsLibId, node.preSibling.children[node.preSibling.children.length -1].getID(), null, node.getID()); } controller.downLevel(); } } }, upMove: function(controller){ var node = controller.tree.selected; if(node){ if(node.preSibling){ billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID()); billsAjax.updatePNId(billsLibId, node.getID(), null, node.preSibling.getID()); if(node.preSibling.preSibling){ billsAjax.updatePNId(billsLibId, node.preSibling.preSibling.getID(), null, node.getID()); } controller.upMove(); } } }, downMove: function(controller){ var node = controller.tree.selected; if(node){ if(node.nextSibling){ billsAjax.updatePNId(billsLibId, node.getNextSiblingID(), null, node.getID()); billsAjax.updatePNId(billsLibId, node.getID(), null, node.nextSibling.getNextSiblingID()); if(node.preSibling){ billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID()); } controller.downMove(); } } }, editData: function(controller){ controller.sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args){ var node = controller.tree.selected, updateId, field; if(node){ updateId = node.getID(); billsLibSetting.cols.forEach(function(col, idx){ if(args.col === idx){ field = col.data.field; node.data[field] = args.editingText; } }); billsAjax.updateBills(billsLibId, updateId, field, args.editingText); } else { args.sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(''); } }); } }