Prechádzať zdrojové kódy

Update dev_mode index file to use new PageConfig functions and fix disabled bug for individual plugins.

Afshin T. Darian 5 rokov pred
rodič
commit
0682f78661
1 zmenil súbory, kde vykonal 44 pridanie a 84 odobranie
  1. 44 84
      dev_mode/index.js

+ 44 - 84
dev_mode/index.js

@@ -21,50 +21,9 @@ require('./imports.css');
  */
 function main() {
   var JupyterLab = require('@jupyterlab/application').JupyterLab;
-
-  // Get the disabled extensions.
-  var disabled = { patterns: [], matches: [] };
-  var disabledExtensions = [];
-  try {
-    var tempDisabled = PageConfig.getOption('disabledExtensions');
-    if (tempDisabled) {
-      disabledExtensions = JSON.parse(tempDisabled).map(function(pattern) {
-        disabled.patterns.push(pattern);
-        return { raw: pattern, rule: new RegExp(pattern) };
-      });
-    }
-  } catch (error) {
-    console.warn('Unable to parse disabled extensions.', error);
-  }
-
-  // Get the deferred extensions.
-  var deferred = { patterns: [], matches: [] };
-  var deferredExtensions = [];
+  var disabled = [];
+  var deferred = [];
   var ignorePlugins = [];
-  try {
-    var tempDeferred = PageConfig.getOption('deferredExtensions');
-    if (tempDeferred) {
-      deferredExtensions = JSON.parse(tempDeferred).map(function(pattern) {
-        deferred.patterns.push(pattern);
-        return { raw: pattern, rule: new RegExp(pattern) };
-      });
-    }
-  } catch (error) {
-    console.warn('Unable to parse deferred extensions.', error);
-  }
-
-  function isDeferred(value) {
-    return deferredExtensions.some(function(pattern) {
-      return pattern.raw === value || pattern.rule.test(value);
-    });
-  }
-
-  function isDisabled(value) {
-    return disabledExtensions.some(function(pattern) {
-      return pattern.raw === value || pattern.rule.test(value);
-    });
-  }
-
   var register = [];
 
   // Handle the registered mime extensions.
@@ -73,12 +32,12 @@ function main() {
   var extMod;
   {{#each jupyterlab_mime_extensions}}
   try {
-    if (isDeferred('{{key}}')) {
-      deferred.matches.push('{{key}}');
+    if (PageConfig.Extension.isDeferred('{{key}}')) {
+      deferred.push('{{key}}');
       ignorePlugins.push('{{key}}');
     }
-    if (isDisabled('{{@key}}')) {
-      disabled.matches.push('{{@key}}');
+    if (PageConfig.Extension.isDisabled('{{@key}}')) {
+      disabled.push('{{@key}}');
     } else {
       extMod = require('{{@key}}/{{this}}');
       extension = extMod.default;
@@ -88,21 +47,18 @@ function main() {
         extension = extMod;
       }
 
-      if (Array.isArray(extension)) {
-        extension.forEach(function(plugin) {
-          if (isDeferred(plugin.id)) {
-            deferred.matches.push(plugin.id);
-            ignorePlugins.push(plugin.id);
-          }
-          if (isDisabled(plugin.id)) {
-            disabled.matches.push(plugin.id);
-            return;
-          }
-          mimeExtensions.push(plugin);
-        });
-      } else {
-        mimeExtensions.push(extension);
-      }
+      var list = Array.isArray(extension) ? extension : [extension];
+      list.forEach(function(plugin) {
+        if (PageConfig.Extension.isDeferred(plugin.id)) {
+          deferred.push(plugin.id);
+          ignorePlugins.push(plugin.id);
+        }
+        if (PageConfig.Extension.isDisabled(plugin.id)) {
+          disabled.push(plugin.id);
+          return;
+        }
+        mimeExtensions.push(plugin);
+      });
     }
   } catch (e) {
     console.error(e);
@@ -112,12 +68,12 @@ function main() {
   // Handled the registered standard extensions.
   {{#each jupyterlab_extensions}}
   try {
-    if (isDeferred('{{key}}')) {
-      deferred.matches.push('{{key}}');
+    if (PageConfig.Extension.isDeferred('{{key}}')) {
+      deferred.push('{{key}}');
       ignorePlugins.push('{{key}}');
     }
-    if (isDisabled('{{@key}}')) {
-      disabled.matches.push('{{@key}}');
+    if (PageConfig.Extension.isDisabled('{{@key}}')) {
+      disabled.push('{{@key}}');
     } else {
       extMod = require('{{@key}}/{{this}}');
       extension = extMod.default;
@@ -127,31 +83,35 @@ function main() {
         extension = extMod;
       }
 
-      if (Array.isArray(extension)) {
-        extension.forEach(function(plugin) {
-          if (isDeferred(plugin.id)) {
-            deferred.matches.push(plugin.id);
-            ignorePlugins.push(plugin.id);
-          }
-          if (isDisabled(plugin.id)) {
-            disabled.matches.push(plugin.id);
-            return;
-          }
-          register.push(plugin);
-        });
-      } else {
-        register.push(extension);
-      }
+      var list = Array.isArray(extension) ? extension : [extension];
+      list.forEach(function(plugin) {
+        if (PageConfig.Extension.isDeferred(plugin.id)) {
+          deferred.push(plugin.id);
+          ignorePlugins.push(plugin.id);
+        }
+        if (PageConfig.Extension.isDisabled(plugin.id)) {
+          disabled.push(plugin.id);
+          return;
+        }
+        register.push(plugin);
+      });
     }
   } catch (e) {
     console.error(e);
   }
   {{/each}}
-
   var lab = new JupyterLab({
     mimeExtensions: mimeExtensions,
-    disabled: disabled,
-    deferred: deferred
+    disabled: {
+      matches: disabled,
+      patterns: PageConfig.Extension.disabled
+        .map(function (val) { return val.raw; })
+    },
+    deferred: {
+      matches: deferred,
+      patterns: PageConfig.Extension.deferred
+        .map(function (val) { return val.raw; })
+    },
   });
   register.forEach(function(item) { lab.registerPluginModule(item); });
   lab.start({ ignorePlugins: ignorePlugins });