| 
					
				 | 
			
			
				@@ -3,6 +3,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Created by CSL on 2018-09-19. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    libs: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    activeLib: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     mainSpread: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     mainSheet: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     mainTree: null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -66,12 +68,11 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cloneType: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    libID: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    buildSheet: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buildSheet: async function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $.bootstrapLoading.start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.mainDatas = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       /* me.mainDatas = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {ID: 1, ParentID: -1, NextSiblingID: 2, nodeName: '分类1', type: 1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {ID: 2, ParentID: -1, NextSiblingID: 3, nodeName: '分类2', type: 1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {ID: 3, ParentID: -1, NextSiblingID: 4, nodeName: '分类3', type: 1}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -80,9 +81,10 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {ID: 7, ParentID: -1, NextSiblingID: 8, nodeName: '分类7', type: 1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {ID: 9, ParentID: -1, NextSiblingID: -1, nodeName: '分类9', type: 1}//, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // {ID: 201, ParentID: 52, NextSiblingID: -1, nodeName: '块201', type: 2} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ];*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (me.mainSpread) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       if (me.libs.length > 0) me.libs.splice(0, me.libs.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       if (me.mainSpread) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.mainSpread.destroy(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.mainSpread = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -95,6 +97,21 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.rationSpread = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let namesAndLib = await ajaxPost('/blockLib/getLibNamesAndFirstLib', {userID: userID, compilationID: projectInfoObj.projectInfo.compilation}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.mainDatas = namesAndLib.firstLib.datas; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.libs.push(namesAndLib.firstLib); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.activeLib = namesAndLib.firstLib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function getLibNamesHtml(libsArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let result = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let lib of libsArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result += '<option value="' + lib.libID + '">' + lib.libName + '</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let html = getLibNamesHtml(namesAndLib.libNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $("#select_block_lib_names").html(html); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.mainSpread = SheetDataHelper.createNewSpread($('#div_block_tree')[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // me.mainSpread = TREE_SHEET_HELPER.createNewSpread($('#div_block_tree')[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.mainSheet = me.mainSpread.getSheet(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -367,14 +384,14 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let newN = tree.insert(pID, nID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        newN.data.libID = blockLibObj.libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newN.data.libID = blockLibObj.activeLib.libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         newN.data.type = nodeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         newN.data.nodeName = nodeName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (nodeType == 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             blockLibObj.assignData(newN, source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let a = await ajaxPost('/blockLib/saveBlock', newN.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        alert(a); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let save = await ajaxPost('/blockLib/saveBlock', newN.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        alert(save); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tree.selected = newN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let sheet = blockLibObj.mainSheet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.suspendPaint(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -386,25 +403,6 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.setSelection(idx, 0, 1, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       /* .then( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tree.selected = newN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let sheet = blockLibObj.mainSheet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.suspendEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let idx = tree.items.indexOf(newN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.addRows(idx, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.getRange(idx, 0, 1, 1).locked(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.setValue(idx, 0, newN.data.nodeName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.setSelection(idx, 0, 1, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ).catch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    console.log('块文件入库存储失败!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        );*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assignData: function (block, source){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         block.data.compilationID = source.compilationID; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -599,10 +597,19 @@ var blockLibObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vBlock_WC = JSON.parse(JSON.stringify(vBlock_WC)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BlockController.confirmPaste(vBlock_WC, projectNode, 'sub'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    checkShow: async function () {   // 这里需要处理异步:模板库装载完再弹出位置选择窗。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!$("#kmbk").is(":visible")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!blockLibObj.mainSpread){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                await blockLibObj.buildSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $('#blockLibTab').click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $("#div_createBlocks").modal({show: true}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(document).ready(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(document).ready(function(){    // 这里不需要处理异步:因为不需要弹出位置选择窗。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $('#blockLibTab').on('click', function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($("#kmbk").is(":visible")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!blockLibObj.mainSpread){ 
			 |