Arthur 1 год назад
Родитель
Сommit
d027a1c26d

+ 3 - 2
netbox/netbox/graphql/filter_mixins.py

@@ -19,8 +19,9 @@ def map_strawberry_type(field):
     if isinstance(field, ContentTypeFilter):
         should_create_function = True
         attr_type = str | None
-    elif isinstance(field, MACAddressFilter):
-        pass
+    elif isinstance(field, MultiValueMACAddressFilter):
+        should_create_function = True
+        attr_type = List[str] | None
     elif isinstance(field, MultiValueArrayFilter):
         pass
     elif isinstance(field, MultiValueCharFilter):

+ 0 - 4
netbox/netbox/settings.py

@@ -473,10 +473,6 @@ STATICFILES_DIRS = (
     os.path.join(BASE_DIR, 'project-static', 'img'),
     os.path.join(BASE_DIR, 'project-static', 'js'),
     ('docs', os.path.join(BASE_DIR, 'project-static', 'docs')),  # Prefix with /docs
-    # os.path.join(ROOT_DIR, 'node_modules', 'graphiql-explorer'),
-    # os.path.join(ROOT_DIR, 'node_modules', 'react', 'cjs'),
-    # os.path.join(ROOT_DIR, 'node_modules', 'react_dom', 'cjs'),
-    # os.path.join(ROOT_DIR, 'node_modules', 'js-cookie', 'dist'),
 )
 
 # Media

+ 17 - 9
netbox/project-static/bundle.js

@@ -24,36 +24,44 @@ function copyFiles(files) {
 }
 
 async function bundleGraphIQL() {
-  fileMap = [
+  let fileMap = [
     {
       source: './node_modules/react/umd/react.production.min.js',
-      dest: './dist/react.production.min.js'
+      dest: './dist/graphiql/react.production.min.js'
     },
     {
       source: './node_modules/react-dom/umd/react-dom.production.min.js',
-      dest: './dist/react-dom.production.min.js'
+      dest: './dist/graphiql/react-dom.production.min.js'
     },
     {
       source: './node_modules/js-cookie/dist/js.cookie.min.js',
-      dest: './dist/js.cookie.min.js'
+      dest: './dist/graphiql/js.cookie.min.js'
     },
     {
       source: './node_modules/graphiql/graphiql.min.js',
-      dest: './dist/graphiql.min.js'
+      dest: './dist/graphiql/graphiql.min.js'
     },
     {
       source: './node_modules/@graphiql/plugin-explorer/dist/index.umd.js',
-      dest: './dist/index.umd.js'
+      dest: './dist/graphiql/index.umd.js'
     },
     {
       source: './node_modules/graphiql/graphiql.min.css',
-      dest: './dist/graphiql.min.css'
+      dest: './dist/graphiql/graphiql.min.css'
     },
     {
       source: './node_modules/@graphiql/plugin-explorer/dist/style.css',
-      dest: './dist/plugin-explorer-style.css'
+      dest: './dist/graphiql/plugin-explorer-style.css'
     }
-  ]
+  ];
+
+  try {
+    if (!fs.existsSync('./dist/graphiql/')) {
+      fs.mkdirSync('./dist/graphiql/');
+    }
+  } catch (err) {
+    console.error(err);
+  }
 
   copyFiles(fileMap).then(() => {
      console.log('✅ Copied graphiql files');

+ 7 - 7
netbox/templates/graphiql.html

@@ -53,18 +53,18 @@ add "&raw" to the end of the URL within a browser.
       }
     </style>
 
-    <script src="{% static 'react.production.min.js' %}"></script>
-    <script src="{% static 'react-dom.production.min.js' %}"></script>
-    <script src="{% static 'js.cookie.min.js' %}"></script>
+    <script src="{% static 'graphiql/react.production.min.js' %}"></script>
+    <script src="{% static 'graphiql/react-dom.production.min.js' %}"></script>
+    <script src="{% static 'graphiql/js.cookie.min.js' %}"></script>
 
-    <link rel="stylesheet" href="{% static 'graphiql.min.css' %}"/>
-    <link rel="stylesheet" href="{% static 'plugin-explorer-style.css' %}"/>
+    <link rel="stylesheet" href="{% static 'graphiql/graphiql.min.css' %}"/>
+    <link rel="stylesheet" href="{% static 'graphiql/plugin-explorer-style.css' %}"/>
   </head>
 
   <body>
     <div id="graphiql" class="graphiql-container">Loading...</div>
-    <script src="{% static 'graphiql.min.js' %}"></script>
-    <script src="{% static 'index.umd.js' %}"></script>
+    <script src="{% static 'graphiql/graphiql.min.js' %}"></script>
+    <script src="{% static 'graphiql/index.umd.js' %}"></script>
 
     <script>
       const EXAMPLE_QUERY = `# Welcome to GraphiQL 🍓