chenshilong 6 vuotta sitten
vanhempi
commit
4f7a32d1d1
1 muutettua tiedostoa jossa 29 lisäystä ja 32 poistoa
  1. 29 32
      web/building_saas/main/js/views/block_lib.js

+ 29 - 32
web/building_saas/main/js/views/block_lib.js

@@ -3,7 +3,7 @@
  * Created by CSL on 2018-09-19.
  */
 var blockLibObj = {
-    libs: [],
+    // libs: [],
     activeLib: null,
     mainSpread: null,
     mainSheet: null,
@@ -72,19 +72,22 @@ var blockLibObj = {
     buildSheet: async function () {
         $.bootstrapLoading.start();
         let me = this;
-       /* 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},
-            // {ID: 105, ParentID: 1, NextSiblingID: 106, name: '块1', type: 2},
-            // {ID: 106, ParentID: 1, NextSiblingID: 107, name: '块2', type: 2},
-            {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.libs.length > 0) me.libs.splice(0, me.libs.length);
-       if (me.mainSpread) {
+        let namesAndLib = await ajaxPost('/blockLib/getLibNamesAndFirstLib', {userID: userID, compilationID: projectInfoObj.projectInfo.compilation});
+        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);
+        await me.loadLib(namesAndLib.firstLib);
+        $.bootstrapLoading.end();
+    },
+    loadLib: async function (lib){
+        let me = this;
+        if (me.mainSpread) {
             me.mainSpread.destroy();
             me.mainSpread = null;
         };
@@ -97,23 +100,9 @@ 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.mainDatas = lib.datas;
+        me.activeLib = lib;
         me.mainSpread = SheetDataHelper.createNewSpread($('#div_block_tree')[0]);
-        // me.mainSpread = TREE_SHEET_HELPER.createNewSpread($('#div_block_tree')[0]);
         me.mainSheet = me.mainSpread.getSheet(0);
         me.mainSheet.name('blockLibSheet');
         sheetCommonObj.spreadDefaultStyle(me.mainSpread);
@@ -145,8 +134,6 @@ var blockLibObj = {
 
         me.mainSpread.bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
         me.mainSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, this.onCellDoubleClick);
-
-        $.bootstrapLoading.end();
     },
     loadDetailDatas: function (node){
         let me = this;
@@ -656,4 +643,14 @@ $(document).ready(function(){    // 这里不需要处理异步:因为不需
         if (oldName != newName) blockLibObj.reName(select, newName);
     });
 
+    $("#select_block_lib_names").change(function() {
+        async function getLib(){
+            let libID = $("#select_block_lib_names").val();
+            let lib = await ajaxPost('/blockLib/getLib', {libID: libID});
+            blockLibObj.loadLib(lib);
+        };
+        $.bootstrapLoading.start();
+        getLib();
+        $.bootstrapLoading.end();
+    });
 });