graphalchemist / alchemy Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
SVG Background does not draw all the way every time the page is loaded. Whether it is loaded correctly is seemingly random.
The black background does not draw over the entire page, and instead draws only around other svg elements sitting ontop of it, until those elements are selected and dragged across the unrendered area. This does not happen in Firefox.
allow UDF initial values for the "pan" of the graph
filters should test for truthiness...
nodeFilters
edgeFilters
edgeTypes
nodeTypes
allow automatic inclusion of "filters", "search", add other elements in the .alchemy
div if the users specifies the inclusion of features in the conf file...
perhaps in styles.coffee
adding current controls and (future) editor to a streamlined dash
Feature is documented here...
@hustonhedinger -- Do you think that this is causing some problems?
Seems like coffeescript diverges from javascript in a pretty big way in that the scope of variables is totally different since it is generated dynamically. If I understand it right, re-naming the force variable within functions (even if they're anonymous, i think) actually changes the global value....? If this is the right interpretation I think I've noticed a few places where this is potentially a problem- declarations like vis = app.vis
, force = layout.force
etc. I'm working on it...
Wherever possible, replace jQuery with d3. It may be possible to eliminate jQuery as a dependency. This issue should be broken out, and closed only after we have replaced jQuery entirely, or determined that there are places we need it.
Clarify and define styles so that all interactions are effecting nodes with a standardized approach...
e.g. Nodes can have selected, highlighted, or invisible classes. node.selected
, node.highlighted
, etc....
allow custom value for initial scale of the graph
Not implemented.
nodeTypes and nodeFilters are both used by the filtering system and to write to the DOM. To make it easier on the end user, they should be consolidated into one configuration property.
Root nodes should be configurable to be draggable independent of child nodes.
If errors occur while trying to call something from the data that is returned undefined, add a key to alchemy.log that gives the erroneous configuration option.
Edge activity should be taken into account when a node is clicked.
Currently, if the parent node is clicked when edges are turned off, the node captions still show up. It needs to check if a node or edge is active before showing caption.
Filter functions are defined on the top level. To help with organization, encapsulate them within an object.
this is how the layers should look:
<g class="lineLayer"></g> so that edges never over lap nodes
<g class="circlesLayer"></g>
<g class="captionsLayer"></g> so that captions always appear on top of nodes
<g class="popOverLayer"></g> so that pop ups are always most visible
SVG elements are blocky and pixilated in Firefox.
Preliminary research seems to point towards it being an issue of the svg being scaled within the browser and the aspect ratio not being preserved. This is not confirmed.
nodes currently receive classes at many different levels e.g. on the text
g
or circle
elements.
Nodes should only receive classes and types on the top level g
element...
@mdcox and @davetorbeck, changing this will effect a few things... I'll get after this tomorrow and ping you when I commit it...
forceLocked is set to false
by default, meaning that the force layout should run every time there is a "tick." E.g. a node is dragged, clicked, etc.
If a user sets "forceLocked" to true
in their configuration the nodes should be fixed unless
@ifjorissen please create your dev branch and then push it... better for you to make commits there, push daily, and then we have smaller pull requests... rather than having a giant pull request/merge to deal with...
Can be recreated filtering people from the charlize.json dataset. 4/6 edges connecting the "people" nodes do not disappear when unchecked. All other filters seem to be working fine.
The two zoom methods being called are interactions#zoom and interactions#clickZoom.
To be fixed, the graph must be zoomable on mouse scroll, zoomable on control click, translatable on mouse drag, and consistent between use of all three.
Currently filters do not correspond to actual configurations...
ie here
Feature is documented here
Feature should append filter switches to .alchemy
div based on user defined keys and values.
All nodes are draggable by default. Change so configuration allows them to be fixed in place.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.