@@ -50,6 +50,7 @@ python3 manage.py collectstatic --no-input
|
|||||||
|
|
||||||
| netbox version | netbox-topology-views version |
|
| netbox version | netbox-topology-views version |
|
||||||
| -------------- | ----------------------------- |
|
| -------------- | ----------------------------- |
|
||||||
|
| >= 3.7.0 | >= v3.9.0 |
|
||||||
| >= 3.6.4 | >= v3.8.1 |
|
| >= 3.6.4 | >= v3.8.1 |
|
||||||
| >= 3.6.0 | >= v3.7.X |
|
| >= 3.6.0 | >= v3.7.X |
|
||||||
| >= 3.5.0 | >= v3.4.X |
|
| >= 3.5.0 | >= v3.4.X |
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ class TopologyViewsConfig(PluginConfig):
|
|||||||
name = "netbox_topology_views"
|
name = "netbox_topology_views"
|
||||||
verbose_name = "Topology views"
|
verbose_name = "Topology views"
|
||||||
description = "An plugin to render topology maps"
|
description = "An plugin to render topology maps"
|
||||||
version = "3.8.1"
|
version = "3.9-beta1"
|
||||||
author = "Mattijs Vanhaverbeke"
|
author = "Mattijs Vanhaverbeke"
|
||||||
author_email = "author@example.com"
|
author_email = "author@example.com"
|
||||||
base_url = "netbox_topology_views"
|
base_url = "netbox_topology_views"
|
||||||
|
|||||||
@@ -1,23 +1 @@
|
|||||||
#visgraph {
|
#visgraph{height:64vh}html[data-netbox-color-mode=dark] #visgraph{background-color:#212529}.image-dropdown img{width:64px;height:64px}.image-dropdown-content{display:flex;flex-wrap:wrap;gap:.5rem;padding-inline:.5rem;width:50vw;max-width:32rem}.image-dropdown-content>img{cursor:pointer}
|
||||||
height:64vh;
|
|
||||||
border: 1px solid #ced4da
|
|
||||||
}
|
|
||||||
html[data-netbox-color-mode=dark]
|
|
||||||
#visgraph {
|
|
||||||
background-color:#212529;
|
|
||||||
border: 1px solid #495057
|
|
||||||
}
|
|
||||||
.image-dropdown img {
|
|
||||||
width:64px;height:64px
|
|
||||||
}
|
|
||||||
.image-dropdown-content {
|
|
||||||
display:flex;
|
|
||||||
flex-wrap:wrap;
|
|
||||||
gap:.5rem;
|
|
||||||
padding-inline:.5rem;
|
|
||||||
width:50vw;
|
|
||||||
max-width:32rem
|
|
||||||
}
|
|
||||||
.image-dropdown-content>img {
|
|
||||||
cursor:pointer
|
|
||||||
}
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+28
-53
@@ -1,16 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "netbox_topology_views",
|
"name": "netbox_topology_views",
|
||||||
"version": "3.7.0",
|
"version": "3.9.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "netbox_topology_views",
|
"name": "netbox_topology_views",
|
||||||
"version": "3.7.0",
|
"version": "3.9.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"vis-data": "^7.1.6",
|
"vis-data": "^7.1.9",
|
||||||
"vis-network": "^9.1.6",
|
"vis-network": "^9.1.9",
|
||||||
"vis-util": "^5.0.3"
|
"vis-util": "^5.0.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@egjs/hammerjs": "^2.0.0",
|
"@egjs/hammerjs": "^2.0.0",
|
||||||
@@ -102,7 +102,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"anymatch": "~3.1.2",
|
"anymatch": "~3.1.2",
|
||||||
"braces": "~3.0.2",
|
"braces": "~3.0.2",
|
||||||
"fsevents": "~2.3.2",
|
|
||||||
"glob-parent": "~5.1.2",
|
"glob-parent": "~5.1.2",
|
||||||
"is-binary-path": "~2.1.0",
|
"is-binary-path": "~2.1.0",
|
||||||
"is-glob": "~4.0.1",
|
"is-glob": "~4.0.1",
|
||||||
@@ -405,29 +404,6 @@
|
|||||||
"integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==",
|
"integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
|
||||||
"@esbuild/linux-loong64": "0.14.54",
|
|
||||||
"esbuild-android-64": "0.14.54",
|
|
||||||
"esbuild-android-arm64": "0.14.54",
|
|
||||||
"esbuild-darwin-64": "0.14.54",
|
|
||||||
"esbuild-darwin-arm64": "0.14.54",
|
|
||||||
"esbuild-freebsd-64": "0.14.54",
|
|
||||||
"esbuild-freebsd-arm64": "0.14.54",
|
|
||||||
"esbuild-linux-32": "0.14.54",
|
|
||||||
"esbuild-linux-64": "0.14.54",
|
|
||||||
"esbuild-linux-arm": "0.14.54",
|
|
||||||
"esbuild-linux-arm64": "0.14.54",
|
|
||||||
"esbuild-linux-mips64le": "0.14.54",
|
|
||||||
"esbuild-linux-ppc64le": "0.14.54",
|
|
||||||
"esbuild-linux-riscv64": "0.14.54",
|
|
||||||
"esbuild-linux-s390x": "0.14.54",
|
|
||||||
"esbuild-netbsd-64": "0.14.54",
|
|
||||||
"esbuild-openbsd-64": "0.14.54",
|
|
||||||
"esbuild-sunos-64": "0.14.54",
|
|
||||||
"esbuild-windows-32": "0.14.54",
|
|
||||||
"esbuild-windows-64": "0.14.54",
|
|
||||||
"esbuild-windows-arm64": "0.14.54"
|
|
||||||
},
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"esbuild": "bin/esbuild"
|
"esbuild": "bin/esbuild"
|
||||||
},
|
},
|
||||||
@@ -740,7 +716,8 @@
|
|||||||
"node_modules/timsort": {
|
"node_modules/timsort": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
|
||||||
"integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A=="
|
"integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/to-regex-range": {
|
"node_modules/to-regex-range": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
@@ -763,10 +740,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vis-data": {
|
"node_modules/vis-data": {
|
||||||
"version": "7.1.6",
|
"version": "7.1.9",
|
||||||
"resolved": "https://registry.npmjs.org/vis-data/-/vis-data-7.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/vis-data/-/vis-data-7.1.9.tgz",
|
||||||
"integrity": "sha512-lG7LJdkawlKSXsdcEkxe/zRDyW29a4r7N7PMwxCPxK12/QIdqxJwcMxwjVj9ozdisRhP5TyWDHZwsgjmj0g6Dg==",
|
"integrity": "sha512-COQsxlVrmcRIbZMMTYwD+C2bxYCFDNQ2EHESklPiInbD/Pk3JZ6qNL84Bp9wWjYjAzXfSlsNaFtRk+hO9yBPWA==",
|
||||||
"hasInstallScript": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/visjs"
|
"url": "https://opencollective.com/visjs"
|
||||||
@@ -777,10 +753,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vis-network": {
|
"node_modules/vis-network": {
|
||||||
"version": "9.1.6",
|
"version": "9.1.9",
|
||||||
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.9.tgz",
|
||||||
"integrity": "sha512-Eiwx1JleAsUqfy4pzcsFngCVlCEdjAtRPB/OwCV7PHBm+o2jtE4IZPcPITAEGUlxvL4Fdw7/lZsfD32dL+IL6g==",
|
"integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==",
|
||||||
"hasInstallScript": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/visjs"
|
"url": "https://opencollective.com/visjs"
|
||||||
@@ -789,16 +764,15 @@
|
|||||||
"@egjs/hammerjs": "^2.0.0",
|
"@egjs/hammerjs": "^2.0.0",
|
||||||
"component-emitter": "^1.3.0",
|
"component-emitter": "^1.3.0",
|
||||||
"keycharm": "^0.2.0 || ^0.3.0 || ^0.4.0",
|
"keycharm": "^0.2.0 || ^0.3.0 || ^0.4.0",
|
||||||
"timsort": "^0.3.0",
|
|
||||||
"uuid": "^3.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
|
"uuid": "^3.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
|
||||||
"vis-data": "^6.3.0 || ^7.0.0",
|
"vis-data": "^6.3.0 || ^7.0.0",
|
||||||
"vis-util": "^5.0.1"
|
"vis-util": "^5.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vis-util": {
|
"node_modules/vis-util": {
|
||||||
"version": "5.0.3",
|
"version": "5.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/vis-util/-/vis-util-5.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/vis-util/-/vis-util-5.0.7.tgz",
|
||||||
"integrity": "sha512-Wf9STUcFrDzK4/Zr7B6epW2Kvm3ORNWF+WiwEz2dpf5RdWkLUXFSbLcuB88n1W6tCdFwVN+v3V4/Xmn9PeL39g==",
|
"integrity": "sha512-E3L03G3+trvc/X4LXvBfih3YIHcKS2WrP0XTdZefr6W6Qi/2nNCqZfe4JFfJU6DcQLm6Gxqj2Pfl+02859oL5A==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
},
|
},
|
||||||
@@ -808,7 +782,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@egjs/hammerjs": "^2.0.0",
|
"@egjs/hammerjs": "^2.0.0",
|
||||||
"component-emitter": "^1.3.0"
|
"component-emitter": "^1.3.0 || ^2.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1222,7 +1196,8 @@
|
|||||||
"timsort": {
|
"timsort": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
|
||||||
"integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A=="
|
"integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"to-regex-range": {
|
"to-regex-range": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
@@ -1239,21 +1214,21 @@
|
|||||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||||
},
|
},
|
||||||
"vis-data": {
|
"vis-data": {
|
||||||
"version": "7.1.6",
|
"version": "7.1.9",
|
||||||
"resolved": "https://registry.npmjs.org/vis-data/-/vis-data-7.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/vis-data/-/vis-data-7.1.9.tgz",
|
||||||
"integrity": "sha512-lG7LJdkawlKSXsdcEkxe/zRDyW29a4r7N7PMwxCPxK12/QIdqxJwcMxwjVj9ozdisRhP5TyWDHZwsgjmj0g6Dg==",
|
"integrity": "sha512-COQsxlVrmcRIbZMMTYwD+C2bxYCFDNQ2EHESklPiInbD/Pk3JZ6qNL84Bp9wWjYjAzXfSlsNaFtRk+hO9yBPWA==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"vis-network": {
|
"vis-network": {
|
||||||
"version": "9.1.6",
|
"version": "9.1.9",
|
||||||
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.9.tgz",
|
||||||
"integrity": "sha512-Eiwx1JleAsUqfy4pzcsFngCVlCEdjAtRPB/OwCV7PHBm+o2jtE4IZPcPITAEGUlxvL4Fdw7/lZsfD32dL+IL6g==",
|
"integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"vis-util": {
|
"vis-util": {
|
||||||
"version": "5.0.3",
|
"version": "5.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/vis-util/-/vis-util-5.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/vis-util/-/vis-util-5.0.7.tgz",
|
||||||
"integrity": "sha512-Wf9STUcFrDzK4/Zr7B6epW2Kvm3ORNWF+WiwEz2dpf5RdWkLUXFSbLcuB88n1W6tCdFwVN+v3V4/Xmn9PeL39g==",
|
"integrity": "sha512-E3L03G3+trvc/X4LXvBfih3YIHcKS2WrP0XTdZefr6W6Qi/2nNCqZfe4JFfJU6DcQLm6Gxqj2Pfl+02859oL5A==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"name": "netbox_topology_views",
|
"name": "netbox_topology_views",
|
||||||
"version": "3.8.1",
|
"version": "3.9-beta1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"bundle": "node bundle.js",
|
"bundle": "node bundle.js",
|
||||||
"bundle:styles": "node bundle.js --styles",
|
"bundle:styles": "node bundle.js --styles",
|
||||||
"bundle:scripts": "node bundle.js --scripts"
|
"bundle:scripts": "node bundle.js --scripts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"vis-data": "^7.1.6",
|
"vis-data": "^7.1.9",
|
||||||
"vis-network": "^9.1.6",
|
"vis-network": "^9.1.9",
|
||||||
"vis-util": "^5.0.3"
|
"vis-util": "^5.0.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@egjs/hammerjs": "^2.0.0",
|
"@egjs/hammerjs": "^2.0.0",
|
||||||
|
|||||||
@@ -79,37 +79,7 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
const brokenImage = '{{ broken_image }}';
|
const brokenImage = '{{ broken_image }}';
|
||||||
const topologyData = {{ topology_data | safe }};
|
const topologyData = {{ topology_data | safe }};
|
||||||
const basePath = '{{ basepath }}';
|
const basePath = '{{ basepath }}';
|
||||||
|
</script>
|
||||||
window.addEventListener("resize", resizeCanvas);
|
|
||||||
resizeCanvas();
|
|
||||||
|
|
||||||
function resizeCanvas() {
|
|
||||||
heightToSubtract = getElementHeight('.navbar') +
|
|
||||||
getElementHeight('.title-container') +
|
|
||||||
getElementHeight('#tabswrapper') +
|
|
||||||
getElementHeight('#filterwrapper') +
|
|
||||||
getElementHeight('.footer') +
|
|
||||||
getElementPadding('#tabcontentwrapper');
|
|
||||||
|
|
||||||
document.getElementById("visgraph").style.height = "calc(100vh - " + heightToSubtract + "px)";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getElementPadding(element) {
|
|
||||||
el = document.querySelector(element);
|
|
||||||
els = getComputedStyle(el);
|
|
||||||
padding = parseInt(els.paddingTop) + parseInt(els.paddingBottom);
|
|
||||||
|
|
||||||
return padding;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getElementHeight(element) {
|
|
||||||
el = document.querySelector(element);
|
|
||||||
els = getComputedStyle(el);
|
|
||||||
height = el.offsetHeight + parseInt(els.marginTop) + parseInt(els.marginBottom);
|
|
||||||
|
|
||||||
return height;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script src="{% static 'netbox_topology_views/js/app.js' %}" defer></script>
|
<script src="{% static 'netbox_topology_views/js/app.js' %}" defer></script>
|
||||||
{% endblock javascript %}
|
{% endblock javascript %}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ long_description = readme.read_text()
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="netbox-topology-views",
|
name="netbox-topology-views",
|
||||||
version="3.8.1",
|
version="3.9-beta1",
|
||||||
description="An NetBox plugin to create Topology maps",
|
description="An NetBox plugin to create Topology maps",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
|
|||||||
Reference in New Issue
Block a user