Commit Graph

46 Commits

Author SHA1 Message Date
David Kaltschmidt
308c1596a0 Unset previous details when deselecting a node 2015-11-13 16:05:26 +01:00
David Kaltschmidt
2eb80d79bc object-assign no longer needed under babel 6 2015-11-11 19:35:21 +01:00
David Kaltschmidt
7d5cc11d7e Enable linter for js test files 2015-11-11 19:09:40 +01:00
David Kaltschmidt
acbf8a665d Upgrade eslint, react and react-motion
* get rid of material-ui
* reduced bundle size by 20%
2015-11-11 15:51:27 +01:00
David Kaltschmidt
abcb94b1f1 UI for controls.
- Make backend address configurable via env variable
- `BACKEND_HOST=1.2.3.4:4040 npm start` points the frontend to the app on that server. Just for development
- Render control icons
  - removed close x for details panel
  - added control icons in its space
  - closing of panel still works by clicking on same node, or background
- Dont allow control while pending
- Render and auto-dismiss control error
- Make tests pass
2015-11-06 17:44:28 +00:00
David Kaltschmidt
5c086aeeb3 show message if topology is empty 2015-11-03 18:27:23 +01:00
David Kaltschmidt
cacc2e1bc3 Move testing to Jest 2015-10-26 17:49:21 +00:00
David Kaltschmidt
2d7e546ae5 Render filtered node count in status bar
* always set updated topology object when received
* track whether route was set on initial load
* removed connection count from status bar (was not deemed important)
* fixed issue where topology option changes did not affect details pane
* only show filtered nodes when count > 0
* clear nodes graph when empty topology is loaded
* also prevent JS error if nodes are hovered over that should be gone
* fixed options sync issue between graph and status bar
* implemented topology options with immutable DS
2015-09-29 08:51:56 +00:00
David Kaltschmidt
38fa82dee4 animate status bar, add Loading text 2015-09-15 16:38:31 +02:00
David Kaltschmidt
31f7a97016 setState only once in componentWillReceiveProps
setstate does not set this.state immediately, so successive function
calls cant rely on it
2015-09-11 14:42:10 +02:00
David Kaltschmidt
b49e1f55d2 Use full adjacency also for mouseover nodes 2015-09-10 15:38:03 +02:00
David Kaltschmidt
7eb6b93ee9 added test for adjacency 2015-09-09 18:44:54 +02:00
David Kaltschmidt
f764e4415e respect both ways of adjacency for selected node 2015-09-09 18:26:44 +02:00
David Kaltschmidt
2c554fe273 blur nodes that not selected nor adjacent 2015-09-09 18:12:02 +02:00
David Kaltschmidt
4fd53e3ae9 Refresh should keep topology options
fixes #457
2015-09-08 00:11:18 +02:00
David Kaltschmidt
27caf0af41 Add dropdown field for topology options, save topology option in url state
- fix nodes reset after topology option change
- set topology on click
- explicitly set default topology options
- set default topo options when topos are received
- prevent JS error on too many nodes layout abort
2015-09-07 14:25:49 +00:00
David Kaltschmidt
398fb7a6ba fix JS error on missing edge target
* replace mergeDeep with merge on node updates to set adjacency to
  updated value
* added json-loader to make json import of websocket frames easier
* console message for this was `Cannot read property 'id' of undefined`
2015-09-04 15:44:11 +02:00
David Kaltschmidt
e8ec3ed5fc fix nodes immutable after socket opens
fix for PR #410
2015-09-02 16:38:24 +02:00
David Kaltschmidt
b17d958b07 use immutable objects for storing nodes
makes checking for topology changes easier, which triggers fewer
re-renders
fix JS store tests with Immutables
only update graph if topology changed
2015-09-02 16:00:28 +02:00
David Kaltschmidt
1dccca2be7 fixed action name typo and added test 2015-08-28 13:10:58 +02:00
Tom Wilkie
bd217b10db 'Trying to reconnect..' in UI even though its connected 2015-08-25 09:51:32 +00:00
David Kaltschmidt
9c7dea8e2f cache render engines for consistent renderings
* one render engine per topology
* improves switching back and forth between topos
* might increase memory use
* roughly fixes #160
2015-08-24 18:19:14 +02:00
David Kaltschmidt
dfd158cceb close details when changing topologies
fixes #297
2015-07-14 16:16:09 +02:00
David Kaltschmidt
ea2d3f51de fixed tests after removing group state 2015-06-17 10:18:45 +02:00
David Kaltschmidt
3728682878 Removed unused grouping and explorer code 2015-06-16 18:28:19 +02:00
David
6281eff85a Merge pull request #241 from weaveworks/client-coverage
Add JS test coverage reporting to client/
2015-06-16 16:07:10 +02:00
David Kaltschmidt
3dcd3e527f start with closed websocket, so that icon loads 2015-06-16 15:49:36 +02:00
David Kaltschmidt
24bd8d1908 use karma-coverage and istanbul 2015-06-16 15:41:27 +02:00
David Kaltschmidt
35e5335359 keep nodes cache intact while websocket is closed 2015-06-16 15:15:46 +02:00
David Kaltschmidt
c87cc872ee clear nodes cache when websocket closes connection
* also show reconnection status

fixes #162
2015-06-15 18:10:02 +02:00
David Kaltschmidt
816e1e9e99 layout of sub-topologies
* uses injected static topology, see web-api-utils.js
2015-06-12 11:37:49 +02:00
David Kaltschmidt
49c1493c79 replaced console.log with debug package 2015-06-11 20:57:13 +02:00
David Kaltschmidt
03da5afb6b only clear nodes on topo or grouping change
fixes #133
2015-06-11 13:18:06 +02:00
David Kaltschmidt
e69d7ff98c test to show back browsing is broken
after selecting a node
2015-06-11 12:44:28 +02:00
Tom Wilkie
96abd00918 Plumb through the application version in the UI. 2015-06-03 13:22:15 +00:00
Tom Wilkie
19657acf04 Make containers the default topology. 2015-06-02 10:14:32 +00:00
David Kaltschmidt
d259be72c2 removed console.log 2015-05-29 18:08:03 +02:00
David Kaltschmidt
9c3db34d49 highlight edges and connected nodes on edge hover 2015-05-29 18:00:35 +02:00
David Kaltschmidt
e6f4a8ce71 highlight connected nodes on hover 2015-05-29 16:53:05 +02:00
David Kaltschmidt
7d1ee40a2b Fixed lint errors in all js files
- Also added linter configuration, and make linter fail on error
- fixing ES6 errors and added ES6 transformer
- gulp target to try local build
- linted gulpfile
- cant hook into gulp lint yet, because gulp does currently not support
  ES6 which some rules demand, since gulp cant transpile itself, we have a
  chicken and egg problem.
- ES6 transpiler for test runner
- removed old linter config
- adapted editorconfig to reflect linter config
2015-05-28 15:07:13 +00:00
David Kaltschmidt
42a3f57e11 Added linter for js
- use global stricts
- use airbnb linter rules
- gulp lint target
- make target client-lint
2015-05-28 15:06:46 +00:00
David Kaltschmidt
99c76dc4c8 fix indentation to 2 spaces in js/less/html 2015-05-28 15:05:01 +00:00
David Kaltschmidt
66d66a4d01 Fix grouping bar for topologies that don't support grouping
- fixes #61
- dont clear nodes cache if topo is the same
- combined stores that were interdependent
- dont show topology grouping menu if unsupported
- also harmonized some variable names
- removed old grouping switcher
- moved topo actions to app actions, removed search
- get correct topology url
- first JS test using Jest
- make tests run on circle using the build container.
- replaced jest test runner with karma/jasmine
- Use debian for UI build and test container.
- updated karma-browserify
2015-05-22 16:41:48 +00:00
David Kaltschmidt
0040b25f69 show disconnection state 2015-05-19 10:05:39 +00:00
David Kaltschmidt
cda51ef696 grouping switch for topologies
fixes #24
2015-05-19 10:05:06 +00:00
Tom Wilkie
d50e827fd5 Intial commit 2015-05-19 10:02:02 +00:00