Commit Graph

83 Commits

Author SHA1 Message Date
Kirill Shumilov
ac4a6ead30 tweak(xod-client): allow to relink occupied pins 2018-03-13 17:04:34 +03:00
Evgeny Kochetkov
e6ab08e297 chore(infra): format code with prettier
Just `yarn lint  --fix`
2018-03-05 17:59:03 +03:00
Kirill Shumilov
7f7539db0f fix(xod-client): fix test by wrapping state mock into defaultizeProject helper 2018-02-20 15:38:17 +03:00
Kirill Shumilov
21b726460f feat, refactor(xod-project, xod-fs, xod-client, xod-client-electron, xod-client-browser): unify save/load UX 2018-01-30 19:28:26 +03:00
Kirill Shumilov
12ee4657cb refactor(xod-client, xod-client-electron): restyle SnackBar messages, replace string messages with objects (created by function), that contains title, note and button 2017-12-13 14:28:38 +03:00
Evgeny Kochetkov
65030ac698 refactor(xod-project, xod-fs, xod-arduino): single target platform, single implementation file
- `xod-project`

  - no notion of different impl types
  - because there is only one kind of implementation left, no need to store them in `impls`, it can be extracted straight from attachments

  - API changes:
    - removed:
      - `listImpls`
      - `hasImpls`
      - `getImplByArray`

    - added:
      - `hasImpl :: Patch -> Boolean`
      - `setImpl :: Source -> Patch -> Patch`

    - changed signatures:
      - `getImpl` is now `Patch -> Maybe Source`
      - `hasImpl` is now `Patch -> Boolean`
      - `flatten` is now `Project -> PatchPath -> Either Error Project`

- `xod-fs`
  - does not know about implementation files — they all are just attachments

+ minor changes in other backages
2017-11-15 13:16:21 +03:00
Evgeny Kochetkov
1084c7c298 refactor(xod-client): make selection belong to tabs 2017-11-07 23:43:06 +03:00
Kirill Shumilov
3fbd6a3bab feat(xod-client): add marquee selecting mode to the editor 2017-11-01 16:11:05 +03:00
Kirill Shumilov
44577c03a4 feat(xod-arduino-deploy, xod-deploy, xod-client, xod-client-electron): add interactive debug session with watch nodes, optimized log and etc (+31 squashed commits)
Squashed commits:
[ca50efb] refactor(xod-client, xod-arduino-deploy, xod-client-electron): handle lost connection (unplug device), make some small fixes
[8c9fbce] tweak(xod-client-electron): add retries to find device after upload (3 times with 300ms delay)
[8c77fce] fix(xod-client-electron): fix adding an error message into debugger log
[c0668c1] refactor(xod-client, xod-client-electron): add throttling to send data readed from serial port and updating log by list of messages instead of appending each message
[9528c6e] refactor(xod-arduino, xod-client, xod-client-electron): make fixes in accordance with comments to PR
[117996b] refactor(xod-client): simplified selecting renderer by message type in the Log container
[512b74f] refactor(xod-arduino): revert XOD_TRACE functions to use only for debug runtime, watch-node uses DEBUG_SERIAL, updated fixtures and etc
[7b92c98] chore(xod-client): remove dispatching no longer existing action (setMode)
[cb38db1] refactor(xod-arduino): split transpiling into two functions: transformProject and transpile, add function to get nodeIdsMap from transformed project, use last one instead of pushing it through a long pipes of calls
[01c3f2e] tweak(xod-client): show xod message delimiter in the log
[360f216] chore(xod-client): change caption of button "Stop debug session" -> "Stop debug"
[531c280] style(xod-client): change colors of watch nodes, remove ellipsis from watch node values, change color of error and success message borders
[bb3c5df] fix(xod-client): fix panning mode to show nodeValues in debug session interactively
[7fac400] tweak(xod-client): sync offsets of patches between tabs (if user pans debug tab -> patch tab panned too, and vice versa)
[086d863] tweak(xod-client): stop debug session when debugger tab was closed
[eccc14a] tweak(xod-client): pass offsets between patchTab and debuggerTab, reopen original patch on debugger tab close
[83c3090] test(xod-client-electron): fix functional test and remove fixture (take it from workspace)
[f87fb2d] tweak(xod-client): tweak closing tab to prevent switching to another tab if closed another one
[c17cc0f] refactor(xod-client): remove editor modes from redux store, make modes depends on tab type
[92ce1df] refactor(xod-client): add tab types, add debug tab type and styles, handle opening and closing this tab on debug start/stop
[09af9af] refactor(xod-client): refactored tabs to contain an unique id and patchPath, instead of storing two entities in one property
[31991f7] refactor(xod-client): optimize rendering logs, add Debugger into storybook, fix one possible bug in the reducer
[7355928] refactor(xod-client): move log of Debugger into a separate container
[30d36c5] refactor(xod-client): optimize debugger selectors
[9615450] feat(xod-client): pass values of watch nodes into view
[34b40d0] refactor(xod-client): move rendering of node bodies and some parts into small components, add WidgetNodeBody component
[18f4e75] feat(xod-client): add new editor mode: debugging
[6c6d9bd] feat(xod-arduino, xod-client): store map of nodeIds to topologically sorted index of nodes in the redux state
[492caea] feat(xod-arduino, xod-project): remove debug nodes on transpilation without debug mode, update fixtures and tests
[63a8083] refactor(xod-arduino, xod-clients): update debug flags in runtime, allow to switch flags in the transpiler (using options object) and integrate it into clients
[01cfd83] feat(xod-arduino, workspace): implement watch node and change debug flags in the runtime and configuration template
2017-10-03 14:26:28 +03:00
Evgeny Kochetkov
4c602dc113 feat(xod-client): cut/copy/paste nodes, links and comments
Closes #38
2017-10-02 19:19:00 +03:00
Evgeny Kochetkov
2eea014bde feat(xod-cleint): better selection handling for multiple entities 2017-09-19 20:49:35 +03:00
Evgeny Kochetkov
50ec14137e feat(xod-client): switch from slots to grid
Closes #730
2017-08-23 19:45:48 +03:00
Evgeny Kochetkov
95f126b473 feat(xod-client): editor panning 2017-08-22 17:38:45 +03:00
Evgeny Kochetkov
526de7763a refactor(xod-client): rename ‘EDITING’ mode to ‘SELECTING’ 2017-08-22 17:38:45 +03:00
Evgeny Kochetkov
f5d47ad42f refactor(xod-client): get rid of obsolete ‘CREATING_NODE’ editor mode 2017-08-22 17:38:45 +03:00
Victor Nakoryakov
3ba6ad5664 refactor(infra): remove code related to JS targets (Espruino & RPi) 2017-08-11 13:13:50 +03:00
Evgeny Kochetkov
3ad44da597 tweak(xod-client): get rid of input transformation while editing bound values in Inspector
Closes #700
2017-08-01 22:28:55 +03:00
Evgeny Kochetkov
4fcebb2620 refactor(xod-client): simplify selection handling code 2017-08-01 18:13:16 +03:00
Evgeny Kochetkov
d97367bae4 feat(xod-client): add actions for managing comments 2017-08-01 18:13:16 +03:00
Evgeny Kochetkov
611fca0f77 test(xod-client): include patch comments in fixtures 2017-08-01 18:13:16 +03:00
Evgeny Kochetkov
43994db7c5 refactor(xod-client): import whole ‘xod-project’ instead of a ton of separate functions in project reducer test 2017-08-01 18:13:16 +03:00
Kirill Shumilov
3b26954573 feat(xod-fs): add reading/writing patch attachments (README.md, images and .fzz) 2017-07-10 14:48:26 +03:00
Kirill Shumilov
17903c96b1 feat(xod-client): add “Project Preferences” popup and menu item into “Edit”, that provides an ability to update project description, license and version 2017-07-04 19:44:00 +03:00
Kirill Shumilov
a12b8a64ca feat(xod-client): add possibility to edit patch description into Inspector 2017-07-04 15:57:19 +03:00
Evgeny Kochetkov
a03c6c87ea tweak(xod-project, xod-fs, xod-client): ensure that Project has a valid version 2017-06-20 20:24:18 +03:00
Evgeny Kochetkov
0186a32005 fix(xod-client): forbid deletion of used terminal nodes 2017-05-19 18:13:44 +03:00
Evgeny Kochetkov
d064223d58 chore(xod-client): update fixture format 2017-05-18 17:27:22 +03:00
Evgeny Kochetkov
38b5a3b317 chore(xod-client): update test fixtures 2017-05-18 16:29:36 +03:00
Evgeny Kochetkov
5ac7ad7074 refactor(xod-project): rename *CurriedPin* functions to *BoundValue* 2017-05-18 15:17:02 +03:00
Evgeny Kochetkov
5a0efe1eb4 chore(xod-client): boundValues in fixtures 2017-05-18 15:17:02 +03:00
Evgeny Kochetkov
63aa5cf682 chore(xod-client): update fixlures to always include ‘label’ and ‘description’ 2017-05-18 15:17:02 +03:00
Evgeny Kochetkov
e0e215a72b refactor(*): rename Node’s pin property to boundValues 2017-05-18 15:13:56 +03:00
Evgeny Kochetkov
db9ad0f4e9 chore(xod-client): tweak test fixture 2017-05-18 14:12:36 +03:00
Evgeny Kochetkov
8df5871197 refactor(xod-client): don’t include a copy of stdlib in initialState 2017-05-15 20:13:22 +03:00
Evgeny Kochetkov
d08fb6af13 refactor(*): rename ‘xod/built-in’ to ‘xod/patch-nodes’ 2017-05-15 16:59:01 +03:00
Evgeny Kochetkov
0debce59c5 chore(xod-client): update test fixtures to new data format 2017-05-15 09:15:50 +03:00
Evgeny Kochetkov
a5a25ec45b infra(xod-client): a bit more tests for project reducer 2017-04-21 00:29:03 +03:00
Evgeny Kochetkov
707bef95b7 refactor(xod-client) rename ‘patch id’ to ‘patch path’ — fix some ambiguous action payloads 2017-04-20 19:44:06 +03:00
Evgeny Kochetkov
2aee07d2a2 refactor(xod-client, xod-client-browser, xod-client-electron) rename ‘patch id’ to ‘patch path’ 2017-04-20 18:58:17 +03:00
Evgeny Kochetkov
97c0d70b81 refactor(xod-client): do not use patch labels at all 2017-04-20 12:45:17 +03:00
Evgeny Kochetkov
a3b04a1acb fix(xod-client): fix onShowCodeEspruino/onShowCodeNodejs to properly handle Either returned from transpile 2017-04-19 14:28:51 +03:00
Evgeny Kochetkov
9fb508b3b4 refactor(xod-client*): rename projectV2 to just project
one of the last steps of refactoring 🙌
2017-04-11 18:47:42 +03:00
Evgeny Kochetkov
ad20a33e96 refactor(xod-client): use dump of empty v2 project with fresh stdlib as initial state instead of converting some legacy nodeTypes from xod-core
This is a temporary measure until we implement loading stdlib dynamically
2017-04-11 15:55:10 +03:00
Evgeny Kochetkov
ee37a20cad tweak(xod-client): tweak tests 2017-04-06 13:21:00 +03:00
Evgeny Kochetkov
e1405fba28 infra(xod-client): more projectV2 reducer tests 2017-04-04 19:37:16 +03:00
Evgeny Kochetkov
cc1da937a4 infra(xod-client): delete/upgrade tests that use project v1 2017-04-04 18:03:19 +03:00
Evgeny Kochetkov
4339b92b84 infra(xod-client): remove xod-core dependency from inputFormatting tests 2017-04-04 17:22:34 +03:00
Evgeny Kochetkov
0b8280cf75 infra(xod-client): remove outdated tests 2017-03-31 18:30:33 +03:00
Evgeny Kochetkov
7944315f61 feat(xod-client): add an utility to create memoized selectors 2017-03-31 17:52:07 +03:00
Evgeny Kochetkov
afa406447a feat(xod-client): add handling of patch creation, deletion and renaming to projectV2 reducer 2017-03-31 17:52:07 +03:00