123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /**
- * 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<node.children.length; i++){
- getDeleteIds(node.children[i]);
- }
- }
- }
- };
- getDeleteIds(node);
- billsAjax.deleteBills(billsLibId, deleteIds);
- if(node.preSibling){
- billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID());
- }
- controller.delete();
- },
- upLevel: function(controller){
- var node = controller.tree.selected;
- if(node){
- if(node.parent){
- //node
- billsAjax.updatePNId(billsLibId, node.getID(), node.parent.getParentID(), node.parent.getNextSiblingID());
- //parent
- billsAjax.updatePNId(billsLibId, node.getParentID(), null, node.getID());
- if(node.nextSibling){
- //node.nextSibling
- billsAjax.updatePNId(billsLibId, node.getNextSiblingID(), node.getID(), null);
- }
- if(node.preSibling){
- billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, -1);
- }
- }
- controller.upLevel();
- }
- },
- downLevel: 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(), node.preSibling.getID(), -1);
- if(node.preSibling.children.length > 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('');
- }
- });
- }
- }
|