-
Notifications
You must be signed in to change notification settings - Fork 722
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
Features #271
base: master
Are you sure you want to change the base?
Features #271
Conversation
- check both source and destination slot type to assign link type - changed default slot colours to a more general whithish - added couple types to LGraphCanvas.link_type_colors, mainly to debug and check the current colours implementation behaviours - added showConnectionMenu method, when dragging a connection from an out slot open the menu to add a new node and connect it! - changed pasting behaviour: nodes will be placed at current mouse position respecting distances (top-left positions are calculated and used) - new settings default_connection_color_byType and default_connection_color_byTypeOff to set default type-based colours for slots - fix auto connection on placing a node inside a link: skip checking types! connect method will do it for you - fix link in index.html - fix function and type in string/toString node
- new node logic/If - fix boolConst: enable serialization
- use names for slots.. why not? it helps getting the slot back - provide reaaaly simple nodes.. why not: logic AND, OR, NOT
- close on mouseleave, on ESC, check for modified - save on enter - unify behaviours.. - proposed method for options_default
- many mods to allow this: - create a node for each type while registering to get all the addSlot (input and output) - keep track of every slot type while adding - add selectboxes in the search widget - refresh list on change - now I can: drag a link, release while holding shift, I got the list filtered by that slot type! select a node, it will be placed and linked!
- include sillyclient from local repo - ws server has not url by default
- considering 0 as default value for general slot data type (or "*" could eventually be good ?)
- new methods: connectByType, find[Input/Output]SlotByType - fix for interface/widget EOL (\r\n)
- couple refactoring - still need some fix and improvement - improvement when has to auto select a slot: look for type
- still need some (eg. highlights and hover)
- look for the first free slot by type - if none, connect to first good (replace connection if going to output, connect multiple if going to input)
- to the future: have a check on slot usage and carefoul with add/remove slot operations
- special attention to selectboxes inside dialog, trick - logic/AND and logic/OR accepts multi inputs
- copied behaviour frmo events/timer to color the topleft icon to all nodes: lighter when active, blink on action - new nodes: compare bool, generic compare (object, string, bool, number)
- populate node types array instead of static - close node panel with ESC - fix code type widget and related css
- Node panel mods: title, mode, color (missing shape and better design) - add colors textual array, wrote look for color (make function or refactor)
- being events, it is strongly reccomanded to use them sequentually, one by one - bit of cleaning
- allow disconnect input links - fix for beforeChange, afterChange - fix for optionally removable onExecuted slot
- name the action - ensure every node execute it only once - prevent MultiOutputForEvents - removed default previous tries: ensureNodeSingleAction, preventAncestorRecalculation
# Conflicts: # src/nodes/logic.js
- merge with master multiline text widget - fix node resize: call compute when adding - fix in-nodes parameters to action/execute for ancestors
what changed? just checking new workstation
getting up to date with implementations
- use a default, "NODE_MIN_SIZE", instead of hard coded - save original size, "size_basic" - check for canvas options "free_resize" to allow resizing under calculated size (node.computeSize())
- when clearing (and creating) a graph, apply the default configs - config is already used and serialized - currently "align_to_grid" and "links_ontop" are used - align_to_grid has been set to true, it's nice
- history, (cntrlZ,cntrlY) - replaced "version++" with new "onGraphChanged" method - doProcessChange, common option to tell a method it should push his action in history (don't do it when that action is a subaction of another) methods - actionHistoryForward - actionHistoryBack - actionHistoryLoad
Search close ON_REQUEST and ALWAYS nodes will be executed when needed by an Action being called on a node on which an input depends on - LG.refreshAncestorsOnTriggers property - LG.refreshAncestorsOnActions property - node.refreshAncestors method updated - graph.node_ancestorsCalculated array with flags by node - NodeTooltip - Search close button (useful and must have for mobile)
- enable CntrlZ - enable Ancestors execution
This is it. I'm proud of the Ancestors way: one could have a graph with the default node mode ON_REQUEST, every node is executed only when needed, being events what triggers the ancestors execution. History is working quite good, some graph changes has to be verified (may save extra times or save before-after the actual action..). Anyway a perfect solution would consider which action and revert it, instead of saving the whole graph every time. |
Is there a plan to add a drop down option widget? |
Hi @waverider404. Not by me for now, but sure it would be useful. Do you have a coded solution? |
@waverider404 there is already a dropdown widget called combo, when clicked displays all posible options in a context menu |
Oh that’s exactly what I needed thanks very much! |
I'm pushing new features.
Let's check 'em before merging.