visjs-rails 4.16.1.0 → 4.21.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +19 -19
- data/example/.gitignore +26 -0
- data/example/.ruby-version +1 -0
- data/example/Gemfile +64 -0
- data/example/Gemfile.lock +224 -0
- data/example/README.md +24 -0
- data/example/Rakefile +6 -0
- data/example/app/assets/config/manifest.js +3 -0
- data/example/app/assets/images/.keep +0 -0
- data/example/app/assets/javascripts/application.js +20 -0
- data/example/app/assets/javascripts/cable.js +13 -0
- data/example/app/assets/javascripts/channels/.keep +0 -0
- data/example/app/assets/javascripts/welcome.coffee +6 -0
- data/example/app/assets/stylesheets/application.scss +3 -0
- data/example/app/assets/stylesheets/welcome.scss +3 -0
- data/example/app/channels/application_cable/channel.rb +4 -0
- data/example/app/channels/application_cable/connection.rb +4 -0
- data/example/app/controllers/application_controller.rb +2 -0
- data/example/app/controllers/concerns/.keep +0 -0
- data/example/app/controllers/welcome_controller.rb +4 -0
- data/example/app/helpers/application_helper.rb +2 -0
- data/example/app/helpers/welcome_helper.rb +2 -0
- data/example/app/jobs/application_job.rb +2 -0
- data/example/app/mailers/application_mailer.rb +4 -0
- data/example/app/models/application_record.rb +3 -0
- data/example/app/models/concerns/.keep +0 -0
- data/example/app/views/layouts/application.html.erb +15 -0
- data/example/app/views/layouts/mailer.html.erb +13 -0
- data/example/app/views/layouts/mailer.text.erb +1 -0
- data/example/app/views/welcome/index.html.erb +48 -0
- data/example/bin/bundle +3 -0
- data/example/bin/rails +9 -0
- data/example/bin/rake +9 -0
- data/example/bin/setup +36 -0
- data/example/bin/spring +17 -0
- data/example/bin/update +31 -0
- data/example/bin/yarn +11 -0
- data/example/config.ru +5 -0
- data/example/config/application.rb +19 -0
- data/example/config/boot.rb +4 -0
- data/example/config/cable.yml +10 -0
- data/example/config/credentials.yml.enc +1 -0
- data/example/config/database.yml +85 -0
- data/example/config/environment.rb +5 -0
- data/example/config/environments/development.rb +61 -0
- data/example/config/environments/production.rb +94 -0
- data/example/config/environments/test.rb +46 -0
- data/example/config/initializers/application_controller_renderer.rb +8 -0
- data/example/config/initializers/assets.rb +14 -0
- data/example/config/initializers/backtrace_silencers.rb +7 -0
- data/example/config/initializers/content_security_policy.rb +25 -0
- data/example/config/initializers/cookies_serializer.rb +5 -0
- data/example/config/initializers/filter_parameter_logging.rb +4 -0
- data/example/config/initializers/inflections.rb +16 -0
- data/example/config/initializers/mime_types.rb +4 -0
- data/example/config/initializers/wrap_parameters.rb +14 -0
- data/example/config/locales/en.yml +33 -0
- data/example/config/puma.rb +34 -0
- data/example/config/routes.rb +5 -0
- data/example/config/spring.rb +6 -0
- data/example/config/storage.yml +34 -0
- data/example/db/seeds.rb +7 -0
- data/example/lib/assets/.keep +0 -0
- data/example/lib/tasks/.keep +0 -0
- data/example/log/.keep +0 -0
- data/example/package.json +5 -0
- data/example/public/404.html +67 -0
- data/example/public/422.html +67 -0
- data/example/public/500.html +66 -0
- data/example/public/apple-touch-icon-precomposed.png +0 -0
- data/example/public/apple-touch-icon.png +0 -0
- data/example/public/favicon.ico +0 -0
- data/example/public/robots.txt +1 -0
- data/example/test/application_system_test_case.rb +5 -0
- data/example/test/controllers/.keep +0 -0
- data/example/test/controllers/welcome_controller_test.rb +9 -0
- data/example/test/fixtures/.keep +0 -0
- data/example/test/fixtures/files/.keep +0 -0
- data/example/test/helpers/.keep +0 -0
- data/example/test/integration/.keep +0 -0
- data/example/test/mailers/.keep +0 -0
- data/example/test/models/.keep +0 -0
- data/example/test/system/.keep +0 -0
- data/example/test/test_helper.rb +10 -0
- data/example/tmp/.keep +0 -0
- data/example/vendor/.keep +0 -0
- data/examples_for_vis/graph2d/01_basic.html +71 -0
- data/examples_for_vis/graph2d/02_bars.html +80 -0
- data/examples_for_vis/graph2d/03_groups.html +112 -0
- data/examples_for_vis/graph2d/04_rightAxis.html +126 -0
- data/examples_for_vis/graph2d/05_bothAxis.html +228 -0
- data/examples_for_vis/graph2d/06_interpolation.html +160 -0
- data/examples_for_vis/graph2d/07_scrollingAndSorting.html +74 -0
- data/examples_for_vis/graph2d/08_performance.html +194 -0
- data/examples_for_vis/graph2d/09_external_legend.html +452 -0
- data/examples_for_vis/graph2d/10_barsSideBySide.html +75 -0
- data/examples_for_vis/graph2d/11_barsSideBySideGroups.html +181 -0
- data/examples_for_vis/graph2d/12_customRange.html +92 -0
- data/examples_for_vis/graph2d/13_localization.html +65 -0
- data/examples_for_vis/graph2d/14_toggleGroups.html +145 -0
- data/examples_for_vis/graph2d/15_streaming_data.html +122 -0
- data/examples_for_vis/graph2d/16_bothAxisTitles.html +201 -0
- data/examples_for_vis/graph2d/17_dynamicStyling.html +281 -0
- data/examples_for_vis/graph2d/18_scatterplot.html +63 -0
- data/examples_for_vis/graph2d/19_labels.html +213 -0
- data/examples_for_vis/graph2d/20_shading.html +218 -0
- data/examples_for_vis/graph2d/21_barsWithEnd.html +76 -0
- data/examples_for_vis/graph2d/default.css +87 -0
- data/examples_for_vis/graph3d/01_basics.html +71 -0
- data/examples_for_vis/graph3d/02_camera.html +110 -0
- data/examples_for_vis/graph3d/03_filter_data.html +64 -0
- data/examples_for_vis/graph3d/04_animation.html +70 -0
- data/examples_for_vis/graph3d/05_line.html +60 -0
- data/examples_for_vis/graph3d/06_moving_dots.html +78 -0
- data/examples_for_vis/graph3d/07_dot_cloud_colors.html +72 -0
- data/examples_for_vis/graph3d/08_dot_cloud_size.html +69 -0
- data/examples_for_vis/graph3d/09_mobile.html +79 -0
- data/examples_for_vis/graph3d/10_styling.html +121 -0
- data/examples_for_vis/graph3d/11_tooltips.html +132 -0
- data/examples_for_vis/graph3d/12_custom_labels.html +116 -0
- data/examples_for_vis/graph3d/default.css +87 -0
- data/examples_for_vis/graph3d/playground/csv2array.js +120 -0
- data/examples_for_vis/graph3d/playground/csv2datatable.html +80 -0
- data/examples_for_vis/graph3d/playground/datasource.html +173 -0
- data/examples_for_vis/graph3d/playground/datasource.php +155 -0
- data/examples_for_vis/graph3d/playground/index.html +196 -0
- data/examples_for_vis/graph3d/playground/playground.css +91 -0
- data/examples_for_vis/graph3d/playground/playground.js +550 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-apollo.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-css.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-hs.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-lisp.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-lua.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-ml.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-proto.js +1 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-scala.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-sql.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-vb.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-vhdl.js +3 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-wiki.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/lang-yaml.js +2 -0
- data/examples_for_vis/graph3d/playground/prettify/prettify.css +1 -0
- data/examples_for_vis/graph3d/playground/prettify/prettify.js +33 -0
- data/examples_for_vis/network/basicUsage.html +87 -0
- data/examples_for_vis/network/data/datasets.html +196 -0
- data/examples_for_vis/network/data/dotLanguage/data/cellular_automata.gv.txt +23 -0
- data/examples_for_vis/network/data/dotLanguage/data/computer_network.gv.txt +19 -0
- data/examples_for_vis/network/data/dotLanguage/data/simple.gv.txt +15 -0
- data/examples_for_vis/network/data/dotLanguage/dotEdgeStyles.html +197 -0
- data/examples_for_vis/network/data/dotLanguage/dotLanguage.html +22 -0
- data/examples_for_vis/network/data/dotLanguage/dotPlayground.html +216 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/fsm.gv.txt +20 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/hello.gv.txt +1 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/process.gv.txt +15 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/screenshots/fsm.png +0 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/screenshots/hello.png +0 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/screenshots/softmaint.png +0 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/screenshots/traffic_lights.png +0 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/siblings.gv.txt +512 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/softmaint.gv.txt +377 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/traffic_lights.gv.txt +29 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/transparency.gv.txt +105 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/twopi2.gv.txt +2212 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/unix.gv.txt +55 -0
- data/examples_for_vis/network/data/dotLanguage/graphvizGallery/world.gv.txt +67 -0
- data/examples_for_vis/network/data/dynamicData.html +266 -0
- data/examples_for_vis/network/data/importingFromGephi.html +174 -0
- data/examples_for_vis/network/data/scalingCustom.html +86 -0
- data/examples_for_vis/network/data/scalingNodesEdges.html +79 -0
- data/examples_for_vis/network/data/scalingNodesEdgesLabels.html +85 -0
- data/examples_for_vis/network/datasources/WorldCup2014.js +9970 -0
- data/examples_for_vis/network/datasources/WorldCup2014.json +1 -0
- data/examples_for_vis/network/datasources/largeHierarchicalDataset.js +2 -0
- data/examples_for_vis/network/edgeStyles/arrowTypes.html +103 -0
- data/examples_for_vis/network/edgeStyles/arrows.html +61 -0
- data/examples_for_vis/network/edgeStyles/colors.html +71 -0
- data/examples_for_vis/network/edgeStyles/dashes.html +57 -0
- data/examples_for_vis/network/edgeStyles/smooth.html +78 -0
- data/examples_for_vis/network/edgeStyles/smoothWorldCup.html +97 -0
- data/examples_for_vis/network/events/interactionEvents.html +132 -0
- data/examples_for_vis/network/events/physicsEvents.html +73 -0
- data/examples_for_vis/network/events/renderEvents.html +83 -0
- data/examples_for_vis/network/exampleApplications/disassemblerExample.html +24 -0
- data/examples_for_vis/network/exampleApplications/disassemblerExample.js +53 -0
- data/examples_for_vis/network/exampleApplications/lesMiserables.html +396 -0
- data/examples_for_vis/network/exampleApplications/loadingBar.html +504 -0
- data/examples_for_vis/network/exampleApplications/neighbourhoodHighlight.html +162 -0
- data/examples_for_vis/network/exampleApplications/nodeLegend.html +163 -0
- data/examples_for_vis/network/exampleApplications/worldCupPerformance.html +98 -0
- data/examples_for_vis/network/exampleUtil.js +133 -0
- data/examples_for_vis/network/imageSelected/broken-image.png +0 -0
- data/examples_for_vis/network/imageSelected/imageSelected.html +82 -0
- data/examples_for_vis/network/imageSelected/selected.svg +53 -0
- data/examples_for_vis/network/imageSelected/unselected.svg +6 -0
- data/examples_for_vis/network/img/indonesia/1.png +0 -0
- data/examples_for_vis/network/img/indonesia/10.png +0 -0
- data/examples_for_vis/network/img/indonesia/11.png +0 -0
- data/examples_for_vis/network/img/indonesia/12.png +0 -0
- data/examples_for_vis/network/img/indonesia/13.png +0 -0
- data/examples_for_vis/network/img/indonesia/14.png +0 -0
- data/examples_for_vis/network/img/indonesia/2.png +0 -0
- data/examples_for_vis/network/img/indonesia/3.png +0 -0
- data/examples_for_vis/network/img/indonesia/4.png +0 -0
- data/examples_for_vis/network/img/indonesia/5.png +0 -0
- data/examples_for_vis/network/img/indonesia/6.png +0 -0
- data/examples_for_vis/network/img/indonesia/7.png +0 -0
- data/examples_for_vis/network/img/indonesia/8.png +0 -0
- data/examples_for_vis/network/img/indonesia/9.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-Fax-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-Laptop-1-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-Mobile-Phone-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-My-Computer-3-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-My-PDA-02-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-My-PDA-04-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-My-PDA-05-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-My-Phone-Picture-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Hardware-Printer-Blue-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Misc-Scanner-default-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Network-Drive-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Network-Internet-Connection-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/Network-Pipe-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/System-Firewall-2-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/System-Globe-icon.png +0 -0
- data/examples_for_vis/network/img/refresh-cl/license.txt +14 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Document-icon24.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Document-icon32.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Document-icon48.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Email-icon24.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Email-icon32.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Email-icon48.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Folder-icon24.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Folder-icon32.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Folder-icon48.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Folder-icon64.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Smiley-Angry-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/Smiley-Grin-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Administrator-Blue-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Administrator-Green-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Coat-Blue-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Coat-Green-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Coat-Red-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Executive-Green-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Preppy-Blue-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/User-Preppy-Red-icon.png +0 -0
- data/examples_for_vis/network/img/soft-scraps-icons/license.txt +12 -0
- data/examples_for_vis/network/labels/labelAlignment.html +70 -0
- data/examples_for_vis/network/labels/labelBackground.html +57 -0
- data/examples_for_vis/network/labels/labelColorAndSize.html +61 -0
- data/examples_for_vis/network/labels/labelMargins.html +63 -0
- data/examples_for_vis/network/labels/labelMultifont.html +115 -0
- data/examples_for_vis/network/labels/labelStroke.html +61 -0
- data/examples_for_vis/network/labels/multilineText.html +52 -0
- data/examples_for_vis/network/layout/demo.jsonp +1894 -0
- data/examples_for_vis/network/layout/demo_big.jsonp +3762 -0
- data/examples_for_vis/network/layout/hierarchicalLayout.html +114 -0
- data/examples_for_vis/network/layout/hierarchicalLayoutBigUserDefined.html +46 -0
- data/examples_for_vis/network/layout/hierarchicalLayoutMethods.html +108 -0
- data/examples_for_vis/network/layout/hierarchicalLayoutUserdefined.html +152 -0
- data/examples_for_vis/network/layout/hierarchicalLayoutWithoutPhysics.html +111 -0
- data/examples_for_vis/network/layout/randomSeed.html +60 -0
- data/examples_for_vis/network/nodeStyles/HTMLInNodes.html +83 -0
- data/examples_for_vis/network/nodeStyles/circularImages.html +219 -0
- data/examples_for_vis/network/nodeStyles/colors.html +140 -0
- data/examples_for_vis/network/nodeStyles/customGroups.html +132 -0
- data/examples_for_vis/network/nodeStyles/groups.html +119 -0
- data/examples_for_vis/network/nodeStyles/icons.html +196 -0
- data/examples_for_vis/network/nodeStyles/images.html +82 -0
- data/examples_for_vis/network/nodeStyles/imagesWithBorders.html +105 -0
- data/examples_for_vis/network/nodeStyles/shadows.html +119 -0
- data/examples_for_vis/network/nodeStyles/shapes.html +73 -0
- data/examples_for_vis/network/nodeStyles/shapesWithDashedBorders.html +61 -0
- data/examples_for_vis/network/nodeStyles/widthHeight.html +121 -0
- data/examples_for_vis/network/other/animationShowcase.html +279 -0
- data/examples_for_vis/network/other/changingClusteredEdgesNodes.html +107 -0
- data/examples_for_vis/network/other/chosen.html +466 -0
- data/examples_for_vis/network/other/clustering.html +141 -0
- data/examples_for_vis/network/other/clusteringByZoom.html +160 -0
- data/examples_for_vis/network/other/clustersOfclusters.html +88 -0
- data/examples_for_vis/network/other/configuration.html +83 -0
- data/examples_for_vis/network/other/cursorChange.html +140 -0
- data/examples_for_vis/network/other/manipulation.html +193 -0
- data/examples_for_vis/network/other/manipulationEditEdgeNoDrag.html +255 -0
- data/examples_for_vis/network/other/navigation.html +135 -0
- data/examples_for_vis/network/other/onLoadAnimation.html +85 -0
- data/examples_for_vis/network/other/performance.html +91 -0
- data/examples_for_vis/network/other/saveAndLoad.html +202 -0
- data/examples_for_vis/network/physics/physicsConfiguration.html +85 -0
- data/examples_for_vis/timeline/basicUsage.html +45 -0
- data/examples_for_vis/timeline/dataHandling/dataSerialization.html +123 -0
- data/examples_for_vis/timeline/dataHandling/loadExternalData.html +61 -0
- data/examples_for_vis/timeline/editing/customSnappingOfItems.html +76 -0
- data/examples_for_vis/timeline/editing/editingItems.html +109 -0
- data/examples_for_vis/timeline/editing/editingItemsCallbacks.html +172 -0
- data/examples_for_vis/timeline/editing/individualEditableItems.html +131 -0
- data/examples_for_vis/timeline/editing/itemsAlwaysDraggable.html +44 -0
- data/examples_for_vis/timeline/editing/overrideEditingItems.html +166 -0
- data/examples_for_vis/timeline/editing/tooltipOnItemChange.html +133 -0
- data/examples_for_vis/timeline/editing/updateDataOnEvent.html +87 -0
- data/examples_for_vis/timeline/groups/groups.html +79 -0
- data/examples_for_vis/timeline/groups/groupsEditable.html +2001 -0
- data/examples_for_vis/timeline/groups/groupsOrdering.html +117 -0
- data/examples_for_vis/timeline/groups/nestedGroups.html +113 -0
- data/examples_for_vis/timeline/groups/subgroups.html +326 -0
- data/examples_for_vis/timeline/groups/verticalItemsHide.html +196 -0
- data/examples_for_vis/timeline/interaction/animateWindow.html +143 -0
- data/examples_for_vis/timeline/interaction/clickToUse.html +107 -0
- data/examples_for_vis/timeline/interaction/eventListeners.html +166 -0
- data/examples_for_vis/timeline/interaction/limitMoveAndZoom.html +70 -0
- data/examples_for_vis/timeline/interaction/navigationMenu.html +121 -0
- data/examples_for_vis/timeline/interaction/rollingMode.html +50 -0
- data/examples_for_vis/timeline/interaction/setSelection.html +223 -0
- data/examples_for_vis/timeline/items/backgroundAreas.html +92 -0
- data/examples_for_vis/timeline/items/backgroundAreasWithGroups.html +123 -0
- data/examples_for_vis/timeline/items/expectedVsActualTimesItems.html +136 -0
- data/examples_for_vis/timeline/items/htmlContents.html +109 -0
- data/examples_for_vis/timeline/items/itemOrdering.html +88 -0
- data/examples_for_vis/timeline/items/pointItems.html +124 -0
- data/examples_for_vis/timeline/items/rangeOverflowItem.html +88 -0
- data/examples_for_vis/timeline/items/tooltip.html +120 -0
- data/examples_for_vis/timeline/items/visibleFrameTemplateContent.html +67 -0
- data/examples_for_vis/timeline/other/customTimeBars.html +99 -0
- data/examples_for_vis/timeline/other/customTimeBarsTooltip.html +105 -0
- data/examples_for_vis/timeline/other/dataAttributes.html +79 -0
- data/examples_for_vis/timeline/other/dataAttributesAll.html +78 -0
- data/examples_for_vis/timeline/other/drag&drop.html +201 -0
- data/examples_for_vis/timeline/other/functionLabelFormats.html +147 -0
- data/examples_for_vis/timeline/other/groupsPerformance.html +124 -0
- data/examples_for_vis/timeline/other/hidingPeriods.html +92 -0
- data/examples_for_vis/timeline/other/horizontalScroll.html +77 -0
- data/examples_for_vis/timeline/other/localization.html +81 -0
- data/examples_for_vis/timeline/other/performance.html +79 -0
- data/examples_for_vis/timeline/other/requirejs/requirejs_example.html +17 -0
- data/examples_for_vis/timeline/other/requirejs/scripts/main.js +19 -0
- data/examples_for_vis/timeline/other/requirejs/scripts/require.js +35 -0
- data/examples_for_vis/timeline/other/rtl.html +82 -0
- data/examples_for_vis/timeline/other/stressPerformance.html +66 -0
- data/examples_for_vis/timeline/other/timezone.html +98 -0
- data/examples_for_vis/timeline/other/usingReact.html +68 -0
- data/examples_for_vis/timeline/other/verticalScroll.html +91 -0
- data/examples_for_vis/timeline/resources/data/basic.json +34 -0
- data/examples_for_vis/timeline/resources/data/wk2014.json +152 -0
- data/examples_for_vis/timeline/resources/img/Hardware-Mobile-Phone-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/attachment-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/blog-post-edit-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/comments-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/community-users-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/license.txt +17 -0
- data/examples_for_vis/timeline/resources/img/license_aesthetica-2.txt +36 -0
- data/examples_for_vis/timeline/resources/img/license_refresh-cl.txt +26 -0
- data/examples_for_vis/timeline/resources/img/mail-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/notes-edit-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/product-icon.png +0 -0
- data/examples_for_vis/timeline/resources/img/truck-icon.png +0 -0
- data/examples_for_vis/timeline/styling/axisOrientation.html +113 -0
- data/examples_for_vis/timeline/styling/customCss.html +128 -0
- data/examples_for_vis/timeline/styling/gridStyling.html +80 -0
- data/examples_for_vis/timeline/styling/itemClassNames.html +125 -0
- data/examples_for_vis/timeline/styling/itemTemplates.html +264 -0
- data/examples_for_vis/timeline/styling/weekStyling.html +129 -0
- data/lib/visjs/rails/version.rb +1 -1
- data/vendor/assets/images/network/acceptDeleteIcon.png +0 -0
- data/vendor/assets/images/network/addNodeIcon.png +0 -0
- data/vendor/assets/images/network/backIcon.png +0 -0
- data/vendor/assets/images/network/connectIcon.png +0 -0
- data/vendor/assets/images/network/cross.png +0 -0
- data/vendor/assets/images/network/cross2.png +0 -0
- data/vendor/assets/images/network/deleteIcon.png +0 -0
- data/vendor/assets/images/network/downArrow.png +0 -0
- data/vendor/assets/images/network/editIcon.png +0 -0
- data/vendor/assets/images/network/leftArrow.png +0 -0
- data/vendor/assets/images/network/minus.png +0 -0
- data/vendor/assets/images/network/plus.png +0 -0
- data/vendor/assets/images/network/rightArrow.png +0 -0
- data/vendor/assets/images/network/upArrow.png +0 -0
- data/vendor/assets/images/network/zoomExtends.png +0 -0
- data/vendor/assets/javascripts/vis-graph3d.min.js +9 -12
- data/vendor/assets/javascripts/vis-network.min.js +9 -20
- data/vendor/assets/javascripts/vis-timeline-graph2d.min.js +9 -18
- data/vendor/assets/javascripts/vis.js +53293 -39579
- data/vendor/assets/javascripts/vis.min.js +26 -23
- data/vendor/assets/stylesheets/vis-network.min.css +1 -0
- data/vendor/assets/stylesheets/vis-timeline-graph2d.min.css +1 -0
- data/vendor/assets/stylesheets/{vis.scss → vis.css} +764 -640
- data/vendor/assets/stylesheets/vis.min.css +1 -0
- metadata +365 -6
- data/vendor/assets/images/timeline/delete.png +0 -0
- data/vendor/assets/stylesheets/vis.min.scss +0 -1
@@ -0,0 +1,135 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Network | Navigation</title>
|
5
|
+
|
6
|
+
<style type="text/css">
|
7
|
+
body {
|
8
|
+
font: 10pt sans;
|
9
|
+
}
|
10
|
+
#mynetwork {
|
11
|
+
width: 600px;
|
12
|
+
height: 600px;
|
13
|
+
border: 1px solid lightgray;
|
14
|
+
}
|
15
|
+
table.legend_table {
|
16
|
+
border-collapse: collapse;
|
17
|
+
}
|
18
|
+
table.legend_table td,
|
19
|
+
table.legend_table th {
|
20
|
+
border: 1px solid #d3d3d3;
|
21
|
+
padding: 10px;
|
22
|
+
}
|
23
|
+
|
24
|
+
table.legend_table td {
|
25
|
+
text-align: center;
|
26
|
+
width:110px;
|
27
|
+
}
|
28
|
+
</style>
|
29
|
+
|
30
|
+
<script type="text/javascript" src="../exampleUtil.js"></script>
|
31
|
+
<script type="text/javascript" src="../../../vendor/assets/javascripts/vis.js"></script>
|
32
|
+
<link href="../../../vendor/assets/stylesheets/vis-network.min.css" rel="stylesheet" type="text/css" />
|
33
|
+
|
34
|
+
<script type="text/javascript">
|
35
|
+
var nodes = null;
|
36
|
+
var edges = null;
|
37
|
+
var network = null;
|
38
|
+
|
39
|
+
function destroy() {
|
40
|
+
if (network !== null) {
|
41
|
+
network.destroy();
|
42
|
+
network = null;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
function draw() {
|
47
|
+
destroy();
|
48
|
+
|
49
|
+
// create an array with nodes
|
50
|
+
var nodes = [
|
51
|
+
{id: 1, label: 'Node 1'},
|
52
|
+
{id: 2, label: 'Node 2'},
|
53
|
+
{id: 3, label: 'Node 3'},
|
54
|
+
{id: 4, label: 'Node 4'},
|
55
|
+
{id: 5, label: 'Node 5'}
|
56
|
+
];
|
57
|
+
|
58
|
+
// create an array with edges
|
59
|
+
var edges = new vis.DataSet([
|
60
|
+
{from: 1, to: 3},
|
61
|
+
{from: 1, to: 2},
|
62
|
+
{from: 2, to: 4},
|
63
|
+
{from: 2, to: 5}
|
64
|
+
]);
|
65
|
+
|
66
|
+
// create a network
|
67
|
+
var container = document.getElementById('mynetwork');
|
68
|
+
var data = {
|
69
|
+
nodes: nodes,
|
70
|
+
edges: edges
|
71
|
+
};
|
72
|
+
var options = {
|
73
|
+
interaction: {
|
74
|
+
navigationButtons: true,
|
75
|
+
keyboard: true
|
76
|
+
}
|
77
|
+
};
|
78
|
+
network = new vis.Network(container, data, options);
|
79
|
+
|
80
|
+
// add event listeners
|
81
|
+
network.on('select', function(params) {
|
82
|
+
document.getElementById('selection').innerHTML = 'Selection: ' + params.nodes;
|
83
|
+
});
|
84
|
+
}
|
85
|
+
</script>
|
86
|
+
|
87
|
+
</head>
|
88
|
+
|
89
|
+
<body onload="draw();">
|
90
|
+
<h2>Navigation controls and keyboad navigation</h2>
|
91
|
+
<div style="width: 800px; font-size:14px; text-align: justify;">
|
92
|
+
This example is the same as example 2, except for the navigation controls that have been activated. The navigation controls are described below. <br /><br />
|
93
|
+
<table class="legend_table">
|
94
|
+
<tr>
|
95
|
+
<th>Icons: </th>
|
96
|
+
<td><img src="../../../dist/img/network/upArrow.png" /> </td>
|
97
|
+
<td><img src="../../../dist/img/network/downArrow.png" /> </td>
|
98
|
+
<td><img src="../../../dist/img/network/leftArrow.png" /> </td>
|
99
|
+
<td><img src="../../../dist/img/network/rightArrow.png" /> </td>
|
100
|
+
<td><img src="../../../dist/img/network/plus.png" /> </td>
|
101
|
+
<td><img src="../../../dist/img/network/minus.png" /> </td>
|
102
|
+
<td><img src="../../../dist/img/network/zoomExtends.png" /> </td>
|
103
|
+
</tr>
|
104
|
+
<tr>
|
105
|
+
<th>Keyboard shortcuts:</th>
|
106
|
+
<td><div>Up arrow</div></td>
|
107
|
+
<td><div>Down arrow</div></td>
|
108
|
+
<td><div>Left arrow</div></td>
|
109
|
+
<td><div>Right arrow</div></td>
|
110
|
+
<td><div>=<br />[<br />Page up</div></td>
|
111
|
+
<td><div>-<br />]<br />Page down</div></td>
|
112
|
+
<td><div>None</div></td>
|
113
|
+
</tr>
|
114
|
+
<tr>
|
115
|
+
<th>Description:</th>
|
116
|
+
<td>Move up</td>
|
117
|
+
<td>Move down</td>
|
118
|
+
<td>Move left</td>
|
119
|
+
<td>Move right</td>
|
120
|
+
<td>Zoom in</td>
|
121
|
+
<td>Zoom out</td>
|
122
|
+
<td>Zoom extent</td>
|
123
|
+
</tr>
|
124
|
+
</table>
|
125
|
+
<br />
|
126
|
+
Apart from clicking the icons, you can also navigate using the keyboard. The buttons are in table above.
|
127
|
+
Zoom Extends changes the zoom and position of the camera to encompass all visible nodes. <u>To correctly display the navigation icons, <b>vis.css</b> or <b>vis-network.min.css</b> must be included.</u>
|
128
|
+
The user is free to alter or overload the CSS classes but without them the navigation icons are not visible.
|
129
|
+
</div>
|
130
|
+
|
131
|
+
<div id="mynetwork"></div>
|
132
|
+
|
133
|
+
<p id="selection"></p>
|
134
|
+
</body>
|
135
|
+
</html>
|
@@ -0,0 +1,85 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<title>Network | On Load Animation</title>
|
6
|
+
<script type="text/javascript" src="../../../vendor/assets/javascripts/vis.js"></script>
|
7
|
+
<link href="../../../vendor/assets/stylesheets/vis-network.min.css" rel="stylesheet" type="text/css" />
|
8
|
+
<style type="text/css">
|
9
|
+
#mynetwork {
|
10
|
+
width: 600px;
|
11
|
+
height: 400px;
|
12
|
+
border: 1px solid lightgray;
|
13
|
+
}
|
14
|
+
</style>
|
15
|
+
</head>
|
16
|
+
<body>
|
17
|
+
<h2>Vis.js network onLoad animation</h2>
|
18
|
+
<p>easeIn functions accelerate from zero velocity.</p>
|
19
|
+
<p>easeOut functions decelerate to zero velocity.</p>
|
20
|
+
<p>easeInOut functions accelerate from zero till halfway then after the halfway point they decrease until zero.</p>
|
21
|
+
<div>
|
22
|
+
Onload Animation Easing Function -
|
23
|
+
<select id="easingFunction">
|
24
|
+
<option value="linear">linear</option>
|
25
|
+
<option value="easeInQuad">easeInQuad</option>
|
26
|
+
<option value="easeOutQuad">easeOutQuad</option>
|
27
|
+
<option value="easeInOutQuad">easeInOutQuad</option>
|
28
|
+
<option value="easeInCubic">easeInCubic</option>
|
29
|
+
<option value="easeOutCubic">easeOutCubic</option>
|
30
|
+
<option value="easeInOutCubic">easeInOutCubic</option>
|
31
|
+
<option value="easeInQuart">easeInQuart</option>
|
32
|
+
<option value="easeOutQuart">easeOutQuart</option>
|
33
|
+
<option value="easeInOutQuart">easeInOutQuart</option>
|
34
|
+
<option value="easeInQuint">easeInQuint</option>
|
35
|
+
<option value="easeOutQuint">easeOutQuint</option>
|
36
|
+
<option value="easeInOutQuint">easeInOutQuint</option>
|
37
|
+
</select>
|
38
|
+
<button onClick="createNetwork(document.getElementById('easingFunction').value);">Demo Easing Function</button>
|
39
|
+
</div>
|
40
|
+
<p>For more information on easing functions check out <a href="http://easings.net/">easings.net</a></p>
|
41
|
+
<div id="mynetwork"></div>
|
42
|
+
<script type="text/javascript">
|
43
|
+
document.getElementById("easingFunction").selectedIndex = 0;
|
44
|
+
function createNetwork(easingType) {
|
45
|
+
var nodes = new vis.DataSet([
|
46
|
+
{id: 1, label: 'Node 1'},
|
47
|
+
{id: 2, label: 'Node 2'},
|
48
|
+
{id: 3, label: 'Node 3'},
|
49
|
+
{id: 4, label: 'Node 4'},
|
50
|
+
{id: 5, label: 'Node 5'}
|
51
|
+
]);
|
52
|
+
|
53
|
+
var edges = new vis.DataSet([
|
54
|
+
{from: 1, to: 3},
|
55
|
+
{from: 1, to: 2},
|
56
|
+
{from: 2, to: 4},
|
57
|
+
{from: 2, to: 5}
|
58
|
+
]);
|
59
|
+
|
60
|
+
var container = document.getElementById('mynetwork');
|
61
|
+
var data = {
|
62
|
+
nodes: nodes,
|
63
|
+
edges: edges
|
64
|
+
};
|
65
|
+
var options = {};
|
66
|
+
var network = new vis.Network(container, data, options);
|
67
|
+
network.once("beforeDrawing", function() {
|
68
|
+
network.focus(2, {
|
69
|
+
scale: 12
|
70
|
+
});
|
71
|
+
});
|
72
|
+
network.once("afterDrawing", function() {
|
73
|
+
network.fit({
|
74
|
+
animation: {
|
75
|
+
duration: 3000,
|
76
|
+
easingFunction: easingType
|
77
|
+
}
|
78
|
+
});
|
79
|
+
});
|
80
|
+
}
|
81
|
+
createNetwork("linear");
|
82
|
+
</script>
|
83
|
+
</body>
|
84
|
+
</html>
|
85
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Network | Random nodes</title>
|
5
|
+
|
6
|
+
<style type="text/css">
|
7
|
+
body {
|
8
|
+
font: 10pt sans;
|
9
|
+
}
|
10
|
+
#mynetwork {
|
11
|
+
width: 600px;
|
12
|
+
height: 600px;
|
13
|
+
border: 1px solid lightgray;
|
14
|
+
}
|
15
|
+
|
16
|
+
#message {
|
17
|
+
color:darkred;
|
18
|
+
max-width:600px;
|
19
|
+
font-size:16px;
|
20
|
+
cursor:pointer;
|
21
|
+
text-decoration: underline;
|
22
|
+
}
|
23
|
+
</style>
|
24
|
+
|
25
|
+
<script type="text/javascript" src="../exampleUtil.js"></script>
|
26
|
+
<script type="text/javascript" src="../../../vendor/assets/javascripts/vis.js"></script>
|
27
|
+
<link href="../../../vendor/assets/stylesheets/vis-network.min.css" rel="stylesheet" type="text/css" />
|
28
|
+
|
29
|
+
<script type="text/javascript">
|
30
|
+
var nodes = null;
|
31
|
+
var edges = null;
|
32
|
+
var network = null;
|
33
|
+
var setSmooth = false;
|
34
|
+
|
35
|
+
function destroy() {
|
36
|
+
if (network !== null) {
|
37
|
+
network.destroy();
|
38
|
+
network = null;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
function draw() {
|
43
|
+
destroy();
|
44
|
+
var nodeCount = document.getElementById('nodeCount').value;
|
45
|
+
if (nodeCount > 100) {
|
46
|
+
document.getElementById("message").innerHTML = '<a onclick="disableSmoothCurves()">You may want to disable dynamic smooth curves for better performance with a large amount of nodes and edges. Click here to disable them.</a>';
|
47
|
+
}
|
48
|
+
else if (setSmooth === false) {
|
49
|
+
document.getElementById("message").innerHTML = '';
|
50
|
+
}
|
51
|
+
// create a network
|
52
|
+
var container = document.getElementById('mynetwork');
|
53
|
+
var data = getScaleFreeNetwork(nodeCount);
|
54
|
+
var options = {
|
55
|
+
physics: { stabilization: false }
|
56
|
+
};
|
57
|
+
network = new vis.Network(container, data, options);
|
58
|
+
}
|
59
|
+
|
60
|
+
function disableSmoothCurves() {
|
61
|
+
setSmooth = true;
|
62
|
+
network.setOptions({edges:{smooth:{type:'continuous'}}});
|
63
|
+
document.getElementById("message").innerHTML = '<a onclick="enableSmoothCurves()">Click here to reenable the dynamic smooth curves.</a>';
|
64
|
+
}
|
65
|
+
|
66
|
+
function enableSmoothCurves() {
|
67
|
+
setSmooth = false;
|
68
|
+
document.getElementById("message").innerHTML = '<a onclick="disableSmoothCurves()">You may want to disable dynamic smooth curves for better performance with a large amount of nodes and edges. Click here to disable them.</a>';
|
69
|
+
network.setOptions({edges:{smooth:{type:'dynamic'}}});
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
</script>
|
74
|
+
|
75
|
+
</head>
|
76
|
+
<body onload="draw();">
|
77
|
+
<p>
|
78
|
+
Generate a random network with nodes and edges.
|
79
|
+
</p>
|
80
|
+
<p>
|
81
|
+
<form onsubmit="draw(); return false;">
|
82
|
+
<label for="nodeCount">Number of nodes:</label>
|
83
|
+
<input id="nodeCount" type="text" value="25" style="width: 50px;">
|
84
|
+
<input type="button" value="Go" onclick="draw()">
|
85
|
+
</form>
|
86
|
+
</p>
|
87
|
+
<span id="message"></span>
|
88
|
+
<div id="mynetwork"></div>
|
89
|
+
|
90
|
+
</body>
|
91
|
+
</html>
|
@@ -0,0 +1,202 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
|
6
|
+
<meta content="utf-8" http-equiv="encoding">
|
7
|
+
<title>Network | Saving and loading networks</title>
|
8
|
+
|
9
|
+
<style type="text/css">
|
10
|
+
body {
|
11
|
+
font: 10pt sans;
|
12
|
+
}
|
13
|
+
|
14
|
+
#network {
|
15
|
+
float: left;
|
16
|
+
width: 600px;
|
17
|
+
height: 600px;
|
18
|
+
margin: 5px;
|
19
|
+
border: 1px solid lightgray;
|
20
|
+
}
|
21
|
+
|
22
|
+
#config {
|
23
|
+
float: left;
|
24
|
+
width: 400px;
|
25
|
+
height: 600px;
|
26
|
+
}
|
27
|
+
|
28
|
+
#input_output {
|
29
|
+
height: 10%;
|
30
|
+
width: 15%;
|
31
|
+
}
|
32
|
+
|
33
|
+
p {
|
34
|
+
font-size: 16px;
|
35
|
+
max-width: 700px;
|
36
|
+
}
|
37
|
+
</style>
|
38
|
+
|
39
|
+
<script type="text/javascript" src="../exampleUtil.js"></script>
|
40
|
+
<script type="text/javascript" src="../../../vendor/assets/javascripts/vis.js"></script>
|
41
|
+
<link href="../../../vendor/assets/stylesheets/vis.css" rel="stylesheet" type="text/css" />
|
42
|
+
|
43
|
+
|
44
|
+
</head>
|
45
|
+
|
46
|
+
<body>
|
47
|
+
<p>
|
48
|
+
In this example, the network data can be exported to JSON and imported back into the network. Try this out by exporting the
|
49
|
+
network to JSON, clearing the network and then importing it again. The nodes will all appear in the same position
|
50
|
+
as they were before the network was destroyed.
|
51
|
+
</p>
|
52
|
+
|
53
|
+
<div id="network"></div>
|
54
|
+
|
55
|
+
<div>
|
56
|
+
<textarea id=input_output></textarea>
|
57
|
+
<input type="button" id="import_button" onclick="importNetwork()" value="import"></input>
|
58
|
+
<input type="button" id="export_button" onclick="exportNetwork()" value="export"></input>
|
59
|
+
<input type="button" id="destroy_button" onclick="destroyNetwork()" value="destroy"></input>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<script type="text/javascript">
|
63
|
+
var network;
|
64
|
+
var container;
|
65
|
+
var exportArea;
|
66
|
+
var importButton;
|
67
|
+
var exportButton;
|
68
|
+
|
69
|
+
function init() {
|
70
|
+
container = document.getElementById('network');
|
71
|
+
exportArea = document.getElementById('input_output');
|
72
|
+
importButton = document.getElementById('import_button');
|
73
|
+
exportButton = document.getElementById('export_button');
|
74
|
+
|
75
|
+
draw();
|
76
|
+
}
|
77
|
+
|
78
|
+
function addConnections(elem, index) {
|
79
|
+
// need to replace this with a tree of the network, then get child direct children of the element
|
80
|
+
elem.connections = network.getConnectedNodes(index);
|
81
|
+
}
|
82
|
+
|
83
|
+
function destroyNetwork() {
|
84
|
+
network.destroy();
|
85
|
+
}
|
86
|
+
|
87
|
+
function clearOutputArea() {
|
88
|
+
exportArea.value = "";
|
89
|
+
}
|
90
|
+
|
91
|
+
function draw() {
|
92
|
+
// create a network of nodes
|
93
|
+
var data = getScaleFreeNetwork(5);
|
94
|
+
|
95
|
+
network = new vis.Network(container, data, {
|
96
|
+
manipulation: {
|
97
|
+
enabled: true
|
98
|
+
}
|
99
|
+
});
|
100
|
+
|
101
|
+
clearOutputArea();
|
102
|
+
}
|
103
|
+
|
104
|
+
function exportNetwork() {
|
105
|
+
clearOutputArea();
|
106
|
+
|
107
|
+
var nodes = objectToArray(network.getPositions());
|
108
|
+
|
109
|
+
nodes.forEach(addConnections);
|
110
|
+
|
111
|
+
// pretty print node data
|
112
|
+
var exportValue = JSON.stringify(nodes, undefined, 2);
|
113
|
+
|
114
|
+
exportArea.value = exportValue;
|
115
|
+
|
116
|
+
resizeExportArea();
|
117
|
+
}
|
118
|
+
|
119
|
+
function importNetwork() {
|
120
|
+
var inputValue = exportArea.value;
|
121
|
+
var inputData = JSON.parse(inputValue);
|
122
|
+
|
123
|
+
var data = {
|
124
|
+
nodes: getNodeData(inputData),
|
125
|
+
edges: getEdgeData(inputData)
|
126
|
+
}
|
127
|
+
|
128
|
+
network = new vis.Network(container, data, {});
|
129
|
+
|
130
|
+
resizeExportArea();
|
131
|
+
}
|
132
|
+
|
133
|
+
function getNodeData(data) {
|
134
|
+
var networkNodes = [];
|
135
|
+
|
136
|
+
data.forEach(function (elem, index, array) {
|
137
|
+
networkNodes.push({
|
138
|
+
id: elem.id,
|
139
|
+
label: elem.id,
|
140
|
+
x: elem.x,
|
141
|
+
y: elem.y
|
142
|
+
});
|
143
|
+
});
|
144
|
+
|
145
|
+
return new vis.DataSet(networkNodes);
|
146
|
+
}
|
147
|
+
|
148
|
+
function getNodeById(data, id) {
|
149
|
+
for (var n = 0; n < data.length; n++) {
|
150
|
+
if (data[n].id == id) { // double equals since id can be numeric or string
|
151
|
+
return data[n];
|
152
|
+
}
|
153
|
+
};
|
154
|
+
|
155
|
+
throw 'Can not find id \'' + id + '\' in data';
|
156
|
+
}
|
157
|
+
|
158
|
+
function getEdgeData(data) {
|
159
|
+
var networkEdges = [];
|
160
|
+
|
161
|
+
data.forEach(function (node) {
|
162
|
+
// add the connection
|
163
|
+
node.connections.forEach(function (connId, cIndex, conns) {
|
164
|
+
networkEdges.push({
|
165
|
+
from: node.id,
|
166
|
+
to: connId
|
167
|
+
});
|
168
|
+
let cNode = getNodeById(data, connId);
|
169
|
+
|
170
|
+
var elementConnections = cNode.connections;
|
171
|
+
|
172
|
+
// remove the connection from the other node to prevent duplicate connections
|
173
|
+
var duplicateIndex = elementConnections.findIndex(function (connection) {
|
174
|
+
return connection == node.id; // double equals since id can be numeric or string
|
175
|
+
});
|
176
|
+
|
177
|
+
|
178
|
+
if (duplicateIndex != -1) {
|
179
|
+
elementConnections.splice(duplicateIndex, 1);
|
180
|
+
};
|
181
|
+
});
|
182
|
+
});
|
183
|
+
|
184
|
+
return new vis.DataSet(networkEdges);
|
185
|
+
}
|
186
|
+
|
187
|
+
function objectToArray(obj) {
|
188
|
+
return Object.keys(obj).map(function (key) {
|
189
|
+
obj[key].id = key;
|
190
|
+
return obj[key];
|
191
|
+
});
|
192
|
+
}
|
193
|
+
|
194
|
+
function resizeExportArea() {
|
195
|
+
exportArea.style.height = (1 + exportArea.scrollHeight) + "px";
|
196
|
+
}
|
197
|
+
|
198
|
+
init();
|
199
|
+
</script>
|
200
|
+
</body>
|
201
|
+
|
202
|
+
</html>
|