All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Contributed initial build of R package.
- Added access to cytoscape.js PNG and JPG image generation API through
generateImageandimageDataproperties. - Added ability to download image files generated with
generateImageclient-side without sending data to the server. - Used the newly added
generateImageandimageDataproperties to enable svg generation using https://github.com/kinimesi/cytoscape-svg
utils.Tree: v0.1.1 broke compatibility with Python 2. Therefore, modified code to be compatible with Python 2. Addedpropsandedge_propsproperties to accept arguments passed directly to the node's and edge's dictionaries, respectively (e.g., 'classes', 'positions', etc.).- Removed
Tree's methodadd_child, because it is redundant withadd_childrencalled with an argument of length 1.
- Error where
dash_cytoscape.utilscannot be imported.
- Four new demos:
demos/usage-dag-edges.py: Example of edges in a directed acyclic graph (DAG). It uses the newdash_cytoscape.utils.Treeclass.demos/usage-elements-extra.py: Example of loading external layouts.demos/usage-preset-animation.py: Example of animating nodes using the preset layout.demos/usage-reset-button.py: Example of resetting the graph position using a button.demos/usage-remove-selected-elements.py: Example to show how to remove selected elements with button.
dash_cytoscape/dash_cytoscape_extra.[min|dev].js: New bundles containing the extra layouts. Those bundles are double in size compared to the default bundles. Therefore, they are only loaded when the user usesload_extra_layouts()to limit bandwidth usage and maximize loading speed. Please view fast3g-cytoscape for an example of the impact on loading time.dash_cytoscape._display_default_values(): A helper function to display the default prop values by readingmetadata.json. Useful for documentation.dash_cytoscape.load_extra_layouts(): A function that can be called before initializing the Dash app (app = dash.Dash(__name__)) to load the JS bundle containing the external layouts.src/lib/extra_index.js: Loads external layouts before exporting theCytoscapeclass. Needed to generate the new bundles.webpack.[dev|prod].extra.config.js: Two new webpack config files for external layouts.- Images of new external layouts.
- The ability for the user to feed a dictionary with keys
nodesandedgesto theelementsprop ofCytoscape, instead of a list. The values corresponding to these keys will be, respectively, lists of nodes and edges in the graph.
usage-events.py: Added IDs for the edges in order to pass Percy tests.src/lib/components/Cytoscape.react.js: Updated component docstring to include information about new external layouts and a warning about nodes that can't be modified by a callback. Added more default props for a better expected behavior.package.json: Added new builds for the extra layouts, modifiednpm build:allto include new builds. Added external layouts as dependencies.MANIFEST.in: Included newdash_cytoscape.[min|dev].jsfiles.README.md: Moved images, added more images at the end, added useful links.
- Removing selected elements will now cause the corresponding JSON data to be cleared. Fixed by PR #49, fixes issue #45.
- Two new demos:
usage-grid-social-network.pyandusage-concentric-social-network.py - Add Issue and PR templates for Github (located in
.github) tests.test_usage: Tests for rendering usage files.tests.test_callbacks: Tests for updatingCytoscapewith callbacks.tests.test_interactions: Tests for interacting withCytoscape, and evaluating its event callbacks.tests.test_percy_snapshot: Creates a Percy build using screenshots from other tests.
usage-*.py: Modified all the import statements fromimport dash_cytoscapetoimport dash_cytoscape as cyto. Optimized imports. They are now linted with pylint/flake8.demos/usage-*: Formatted all demo apps in order to respect pylint and flake8.usage-phylogeny.py: Clear callback conditional statementCONTRIBUTING.md: changeddash-cytoscape-0.0.1todash-cytoscape-x.x.x. Added a Code quality & design section. Changed the Making a contribution section and updated title to Publishing. Updated Pre-Release checklist. Added the Development section fromREADME.md(renamed Setting up the environment). Added a Tests section.npmignore: Addedvenvto avoid venvs to be included in the npm distribution package, which makes us a large amount of space and many unnecessary files being distributed.config.yml: Added steps to run the new tests. Added coverage for Python 3.7. Includeddemosand all usage examples inpylintandflake8. Increased line limit to 100.README.md: Moved the Development section toCONTRIBUTING.md. Modified the dash version in Prerequisites.requirements.txt: Updated the dash version to latest.tests/requiremens.txt: Updated the dash version to latest.package.json: Removed"prepublish": "npm run validate-init"due to conflict with CircleCI build. This script will be deprecated in favor of the upcoming Dash Component CLI.tests/IntegrationTests.py: Moved thepercy_snapshotmethod totest_percy_snapshotin order to avoid duplicate (failing) builds on Percy. Decrease the number of processes to 1.setup.py: Added classifiers and download_url.
extract-meta.js,extract-meta- they were moved to the dash component CLI, thus are not needed anymoreconfig.py,runtime.txt,Procfile,index.html- only needed for hostingusage-*.pyon DDS, they are now moved toplotly/dash-cytoscape-demos.review_checklist.md- redundant since all the information is already contained in CONTRIBUTING.mdtests.test_render: Removed unused test
- Homepage URL for PyPi
- Long Description for PyPi
- Cytoscape component docstring for thorough and well-formatted references (#26)
- Refactored code base to match the up-to-date version of
dash-component-boilerplate(#27)
- Console error where
setPropsgets called even when it is undefined (# 28) - Incorrect setProps assignment that causes
setPropsto not be properly defined when nested in bigger apps (e.g.dash-docs) (#28)
- Detailed usage example for rendering Biopython's Phylo object (phylogeny trees) into a Cytoscape graph, with interactive features such as highlighting.
- React-Cytoscapejs version, from 1.0.1 to 1.1.0
- Author email and improve description
- Data section of demos readme
- Added the components "dash", "dash-html-components", and "dash-renderer" as explicit package requirements.
- Move grid layout data file
- Change App.js react demo data to be local
- Installation steps in readme to use yarn
- Cytoscape.js version, correct component import
- Correct unpkg link error
- Markdown formatting for CONTRIBUTING.md
- First pre-release version of dash-cytoscape. Still WIP, so prepare to see it break 🔧