New Node and Edge UI Components - #39
Conversation
App can now support text, number, and option select changes and save data.
…disable selection when editing.
When you select a new type, the color will immediately update.
… "uncontrolled to controlled" input warning.
… will now lock and unlock in real time.
Precursor to detecting duplicate node labels
…tab. Addresses problem where if you had the Edges tab open, you were unable to switch to attributes
…r now Provenance needs to be completely rewritten. Fixes "Objects are not valid as React child" errors
|
|
Awesome, thanks. We'll definitely want to continue refining. In most implementations the bigger issue has been kids not assigning a type to a node, so slowing them down isn't necessarily a bad thing, though definitely something we'll want to keep thinking through. Thanks! |
|
Cool. Yeah there's a lot of little tweaks we've already done that make the user flow feel more fluid, but there are many more. OK, I'm considering this feature-locked for now pending any urgent bugs. Please log any outstanding issues in a new ticket(s). |
|
By the way - in case it matters, for the TBD items you listed above, the key one we'd need in September for testing ideas with teachers would be: NodeTables and EdgeTables are still using hard-coded parameters. The custom template parameters for NodeTable and EdgeTable have not been implemented yet. |
jdanish
left a comment
There was a problem hiding this comment.
This looks pretty good. I added a number of issues for revision 2 of things that don't work quite as expected or were removed from prior functionality such as the delete button. But this appears stable to continue playing with and keep those out as separate for clarity.
Overview
This is a complete rewrite of
NodeSelector.jsxandEdgeEditor.jsx.Main Changes
SELECTIONupdates orPERMISSIONSupdates (tied to locking due to node edit, template edit, or import).updatePermissionswill then interpret all of those flags in one go and either disable or hide the Edit button.In general, any new components named
NC*.jsxare Version 2.x components.Specific Changes
Node and Edge Edit Fields
Search Bar
NCSearch.jsxreplacesSearch.jsxNode Data
id,label,provenance) and arbitrarily defined customattributes.attributeparameters in the template. The UI will automatically display and support input for these parameters.string,number, andselect(options). We can addbooleanif necessary.Node UI
NCNode.jsxreplacesNodeSelector.jsx* Provenance will have its own Edit mode tbd.Graph
Edge UI
NCEdge.jsxreplacesEdgeEditor.jsx.typewill color the edge. (This will need to be revisited once we get the new color scheme and color designation system in).DEPRECATED
The following components have been deprecated.
NodeSelector.jsxEdgeEditor.jsxAutoComplete.jsxPending
These still need to be fixed, but will be added to a new merge request:
To Test
There's a lot to test, but here are some highlights:
Gotchas
AutoSuggest -- The search field and the source/target node selection all use the NCAutoSuggest component to allow you to select a node via multiple methods (clicking, partial autosuggest, full name match, clicking on graph). There might be unexpected interactions. You'll want to carefully test all of the possible paths and states.
Edge Editing Selection Arrow -- The source/target secondary selection animated arrow is touchy because there are many ways that selection can happen: Edit an edge, click the source or target to enable setting a new source/target. Make sure the single animated arrow shows the targetted source/target using all three methods: clicking on graph, type full name, autosuggest, new node. Make sure the single animated arrow is deselected after saving or canceling the edit.