Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add min/max zoom support #629

Closed
wants to merge 55 commits into from
Closed
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
09f05d9
feat(interaction): add zoom min/max support
gregdeane Apr 9, 2020
aaec879
Merge pull request #1 from gregdeane/zoom
gregdeane Apr 13, 2020
6403939
Merge branch 'master' into master
gregdeane Apr 13, 2020
1e5474c
fix tests
gregdeane Apr 13, 2020
da83b65
Merge pull request #2 from gregdeane/zoom-test-fixes
gregdeane Apr 13, 2020
43762ff
fix lint
gregdeane Apr 13, 2020
ecd7571
Merge pull request #3 from gregdeane/zoom-test-fixes
gregdeane Apr 13, 2020
b7c9cba
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 14, 2020
1b38b3a
Merge branch 'master' of github.com:gregdeane/vis-network
gregdeane Apr 14, 2020
33eba3c
update per pr comments
gregdeane Apr 14, 2020
132ffc1
Merge pull request #4 from gregdeane/zoom-pr-comments
gregdeane Apr 14, 2020
d08ca90
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 14, 2020
185fe1e
update per pr comments pt 2
gregdeane Apr 14, 2020
08cd2a1
Merge pull request #5 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 14, 2020
a10bb78
Merge branch 'master' into master
gregdeane Apr 14, 2020
69a30b0
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 15, 2020
75cef98
Merge branch 'master' of github.com:gregdeane/vis-network
gregdeane Apr 15, 2020
7e11e23
update per pr comments pt 2
gregdeane Apr 15, 2020
bbc8fd9
Merge pull request #6 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 15, 2020
d9f5ccb
update per pr comments pt 2
gregdeane Apr 15, 2020
dc97c06
Merge pull request #7 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 15, 2020
3783fba
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 16, 2020
6169db2
Merge branch 'master' into zoom-pr-comments-pt-2
gregdeane Apr 16, 2020
c627d0e
update per pr comments pt 2
gregdeane Apr 16, 2020
e7da897
Merge pull request #8 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 16, 2020
7840be1
Merge branch 'master' into master
gregdeane Apr 16, 2020
aa430d3
Merge branch 'master' into master
gregdeane Apr 17, 2020
f22a052
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 17, 2020
aabd178
Merge branch 'master' into zoom-pr-comments-pt-2
gregdeane Apr 17, 2020
b372d01
Merge branch 'master' of github.com:gregdeane/vis-network
gregdeane Apr 20, 2020
849d219
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 20, 2020
f98ba86
Merge branch 'master' into zoom-pr-comments-pt-2
gregdeane Apr 20, 2020
baed5ae
Merge branch 'master' into master
gregdeane Apr 20, 2020
f076795
update per pr comments pt 2
gregdeane Apr 20, 2020
077dee4
Merge branch 'master' of github.com:gregdeane/vis-network
gregdeane Apr 20, 2020
8d00e3e
Merge branch 'master' into zoom-pr-comments-pt-2
gregdeane Apr 20, 2020
cc70aaf
Merge pull request #9 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 20, 2020
56ea7f9
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 21, 2020
0b15916
Merge branch 'master' into zoom-pr-comments-pt-2
gregdeane Apr 21, 2020
65ffe9a
update per pr comments pt 2
gregdeane Apr 21, 2020
f0692f0
Merge pull request #10 from gregdeane/zoom-pr-comments-pt-2
gregdeane Apr 21, 2020
d7a1078
Merge branch 'master' into master
gregdeane Apr 22, 2020
5050b56
Merge branch 'master' into master
gregdeane Apr 23, 2020
2a9c866
Merge branch 'master' into master
gregdeane Apr 23, 2020
aa9862c
Merge branch 'master' into master
gregdeane Apr 28, 2020
a5bb3e3
Merge remote-tracking branch 'upstream/master'
gregdeane Apr 30, 2020
3961eb6
Merge branch 'master' into master
gregdeane May 4, 2020
a20c289
Merge branch 'master' into master
gregdeane Jun 3, 2020
12a9ca0
Merge branch 'master' into master
gregdeane Jun 4, 2020
ee152c2
Merge remote-tracking branch 'upstream/master'
gregdeane Jul 6, 2021
bbc9f33
0.0.0
gregdeane Jul 6, 2021
940abbc
1.0.0
gregdeane Jul 6, 2021
cac0927
update package version
gregdeane Jul 6, 2021
d5affa1
update package lock
gregdeane Jul 6, 2021
b1b7e73
update name
gregdeane Jul 6, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs-kr/network/interaction.html
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ <h3>옵션</h3>
<tr><td>selectable</td> <td>Boolean</td><td><code>true</code></td><td>true인 경우, 사용자가 노드와 Edge를 선택할 수 있습니다.</td></tr>
<tr><td>selectConnectedEdges</td> <td>Boolean</td><td><code>true</code></td><td>true인 경우, Node를 선택할 때, 연결 Edge가 강조 표시됩니다.</td></tr>
<tr><td>tooltipDelay</td> <td>Number</td> <td><code>300</code></td> <td>Node나 Edge에 정의된 <code>'title'</code> 필드가 있다면, 팝업 툴팁으로 표시될 수 있습니다. 툴팁 자체는 CSS를 사용하여 완전히 스타일을 지정할 수 있는 HTML 요소입니다. 지연 시간은 툴팁이 표시되기까지 걸리는 시간(밀리 초)입니다.</td></tr>
<tr><td>zoomMin</td> <td>Number</td> <td><code>0.00001</code></td> <td><!-- TODO --></td></tr>
<tr><td>zoomMax</td> <td>Number</td> <td><code>10</code></td> <td><!-- TODO --></td></tr>
<tr><td>zoomView</td> <td>Boolean</td> <td><code>true</code></td> <td>true인 경우, 사용자가 확대할 수 있습니다.</td></tr>
</table>

Expand Down
2 changes: 2 additions & 0 deletions docs/network/interaction.html
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ <h3>Options</h3>
<tr><td>selectable</td> <td>Boolean</td><td><code>true</code></td><td>When true, the nodes and edges can be selected by the user.</td></tr>
<tr><td>selectConnectedEdges</td> <td>Boolean</td><td><code>true</code></td><td>When true, on selecting a node, its connecting edges are highlighted.</td></tr>
<tr><td>tooltipDelay</td> <td>Number</td> <td><code>300</code></td> <td>When nodes or edges have a defined <code>'title'</code> field, this can be shown as a pop-up tooltip. The tooltip itself is an HTML element that can be fully styled using CSS. The delay is the amount of time in milliseconds it takes before the tooltip is shown.</td></tr>
<tr><td>zoomMin</td> <td>Number</td> <td><code>0.00001</code></td> <td>Minimum value the user can zoom out.</td></tr>
<tr><td>zoomMax</td> <td>Number</td> <td><code>10</code></td> <td>Maximum value the user can zoom in.</td></tr>
<tr><td>zoomView</td> <td>Boolean</td> <td><code>true</code></td> <td>When true, the user can zoom in.</td></tr>
</table>

Expand Down
8 changes: 4 additions & 4 deletions lib/network/modules/InteractionHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,11 +453,11 @@ class InteractionHandler {
zoom(scale, pointer) {
if (this.options.zoomView === true) {
let scaleOld = this.body.view.scale;
if (scale < 0.00001) {
scale = 0.00001;
if (scale < this.options.zoomMin) {
scale = this.options.zoomMin;
}
if (scale > 10) {
scale = 10;
if (scale > this.options.zoomMax) {
scale = this.options.zoomMax;
}

let preScaleDragPointer = undefined;
Expand Down
4 changes: 4 additions & 0 deletions lib/network/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@ let allOptions = {
selectConnectedEdges: { boolean: bool },
hoverConnectedEdges: { boolean: bool },
tooltipDelay: { number },
zoomMin: { number },
zoomMax: { number },
zoomView: { boolean: bool },
zoomSpeed: { number },
__type__: { object }
Expand Down Expand Up @@ -667,6 +669,8 @@ let configureOptions = {
selectConnectedEdges: true,
hoverConnectedEdges: true,
tooltipDelay: [300, 0, 1000, 25],
zoomMin: [0.02, 0, 0.1, 0.005],
zoomMax: [10, 9.995, 10, 0.005],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get this. Why is the range so small?.

Copy link
Author

@gregdeane gregdeane Apr 14, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly because min/max are separate props. What I mean is: Since there is a min prop, I thought it would be strange to put a very low number in the max prop.

I'm happy to put the range you think is appropriate. What's your suggestion for both props?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd go with 0 through 10 for both. The input validation should handle cases where max is smaller than min etc.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do, thank you.

zoomView: true,
zoomSpeed: [1, 0.1, 2, 0.1]
},
Expand Down