Commit Graph

65 Commits

Author SHA1 Message Date
fbarl
0cb48f6d71 Upgraded eslint, airbnb linting rules, and made trivial fixes 2016-12-12 10:55:45 +01:00
Filip Barl
4142474e46 Added babel-plugin-lodash library for automatic cherry-picking of the Lodash modules 2016-12-09 14:07:22 +01:00
fbarl
1bc27ee40f Fix all the npm library versions (resolve #2052) 2016-12-05 14:57:25 +01:00
fbarl
ec79c1ebb1 Switched to using webpack-dev-middleware instead of webpack-dev-server directly 2016-11-29 12:06:27 +01:00
fbarl
7442ff3f41 Switched to D3 version 4.4.0 2016-11-28 13:16:10 +01:00
fbarl
c110e32b2a Implemented a nicer and more responsive tooltip for plugin status (resolves #1905). 2016-11-25 17:40:52 +01:00
David
a1adbbbded Merge pull request #2014 from weaveworks/1941-consolidate-webpack
Combined external and prod webpack config files
2016-11-25 11:07:04 +01:00
David Kaltschmidt
90dbf12a7b Review feedback 2016-11-24 17:10:57 +01:00
David Kaltschmidt
afe177cdba Support for feature flags 2016-11-24 17:07:12 +01:00
Filip Barl
604661ca2a Update package.json (#2017) 2016-11-23 15:59:41 +01:00
jpellizzari
c776f35752 Combined external and prod webpack config files 2016-11-15 13:27:17 +00:00
Jordan Pellizzari
0d8152fb33 Merge pull request #1959 from weaveworks/1947-node6-client-deps
Update client deps to use Node v6.9.0
2016-10-28 07:54:38 -07:00
jpellizzari
2baf7d49b1 Changed client deps to work with Node v6.9 2016-10-27 17:10:08 -07:00
Jordan Pellizzari
ca49cfdfe6 Changed term.js lib to xterm.js 2016-10-27 15:23:02 -07:00
Mike Lang
2c9f6c197f Split prog/static.go into two versions, and have a shim choose between them
This allows us to have both normal and external resource versions of static content
in the same binary, and switch with a flag
2016-10-05 17:26:57 -07:00
Simon Howe
4b7471b1b0 things working again, on the way to reselect! 2016-09-15 11:55:25 +02:00
David Kaltschmidt
478a4a6d66 Remove common prefix from networks to increase color separation 2016-06-06 16:24:03 +02:00
David Kaltschmidt
eed779abfa Replaced pure-render-mixin with redux connect
* does the same shallowEqual optimization
2016-04-28 20:20:58 +02:00
David Kaltschmidt
df593b223a Upgrade to react 15.0.1 2016-04-28 11:55:07 +02:00
David Kaltschmidt
96aae9bc99 Migrate from Flux to Redux
* better state visibility
* pure state changes
* state debug panel (show: crtl-h, move: ctrl-w)
2016-04-27 17:21:46 +02:00
David Kaltschmidt
8c5638edb2 Asset fingerprinting
* adds `?hash` to JS and CSS bundle URLs against caching in production
* uses `html-webpack-plugin` to generate html dynamically
* html based on template in `app/html/index.html`
* per-app html files no longer needed
* `build/` dir is now completely deleteable, and fully gitignored
* top-level `make` now requires `client/app` to pick up on html and
  style changes
* cleaned up `server.js` code for production bundle testing
* added readme entry about testing production bundles
2016-04-20 12:33:22 +02:00
David Kaltschmidt
d520cffec7 Performance tweaks
Add debug.html to show toolbar

Perfjankie test runner

Playing w/ the pure mixin for perf. improvements

* Works well! Smoother zooming/panning when things have settled.
* Extract node movement to node-container, make nodes pure

Extracted node chart elements into own components

Keep control objects immutable while in components

Keep layout state objects alive

Made other components pure, removed mixin from stateless components

Remove font size adjustment from scaling

Fix zoomscale

Move node transform to node

* makes more sense there because the coords are rounded in the container

dynamic coords precision based on topology size

Make edge points immutable

Remove nodes maximum for layout engine

Dont send all canvas state down to next component

moving layout handling back to nodes-chart.js

Omit some props for edges/nodes, dont animate edges on low precision

Moved AppStore access out of lower components
2016-04-05 15:45:13 +02:00
Simon Howe
4ec8b97fef metrics-on-canvas review feedback updates.
- Refactor some things.
- Fixes heptagon moc rendering
- Experiment w/ duller colors.
2016-04-04 21:02:30 +02:00
Simon Howe
3fdd7809f7 Fixes a couple of MoC visual bugs
- Fixes metric font-size on selected nodes
- Round metric-height value to be the same as rounded displayed value.
- No red/green colors in the MoC! They have to much association w/ success/failure
2016-04-04 17:48:44 +02:00
Simon Howe
1ad7c2c7a3 Return to mock-metrics for now.
- Bring MoC under new linting rules
- adds support for immutable-console-renderer
- fixes up metrics actually displaying after bad fixes when rebasing.
- Mock all metrics client side for demoing
2016-04-04 17:48:43 +02:00
David Kaltschmidt
c517a6cf5d Downgrade react-motion
* caused lots of lag when dev tools were open
2016-03-17 18:11:53 +01:00
David Kaltschmidt
e4270f69b7 Upgraded dev deps and linted JS according to latest airbnb rules 2016-03-15 18:09:45 +01:00
David Kaltschmidt
658a38f40a Upgrade npm app dependencies 2016-03-15 13:45:57 +01:00
David Kaltschmidt
c7cd11bf1a Extracted footer into own component, moved pause into icon 2016-03-07 16:55:51 +01:00
Simon Howe
ac5d258378 Fixes scope working under a path
- Adds proxy server for easy testing of scope under a path.
2016-02-18 14:17:51 +01:00
David Kaltschmidt
d39fd847b7 Details Panel UI Redesign
Refactored nodedetails to support multiple data sets, probably broke some tests
  Allow api requests to out-of-view topologies
  Fix ESC behavior with details panel
  Stack details panel like cards
  Details pain side-by-side
  Details panel piles
  Fix node details table header styles
  Render load and not-found captions like relatives
  Fix topology click action
  Make node detail tables sortable
  Grouped metrics for details health
  Group metrics in same style
  Link node details children
  Fix scroll issues on double-details
  Fix DESC sort order for node details table
  Save selected node labels in state - allows rendering of node labels from other topologies before details are loaded
  Change detail card UX, newest one at top, pile at bottom
  Details panel one pile w/ animation
  Sort details table nodes by metadata too
  Animate sidepanel from children too
  Fix radial layout
  Dont set origin if a node was already selected, suppresses animation
  stack effect: shift top cards to the left, shrink lower cards vertically
  Clear details card stack if sibling is selected
  Check if node is still selected on API response
  Make detail table sorters robust against non-uniform metadata
  Dont show scrollbar all the time, fix sort icon issue
  Button to show topology for relative
  Overflow metrics for details panel health
  Fix JS error when no metrics are available for container image details
  Column-based rendering of node details table
  Fix JS tests
  Review feedback (UI)
2016-01-19 16:47:05 +01:00
David Kaltschmidt
57dfe4a4e8 Dont use -p on webpack when declaring uglifyjs plugin 2015-12-16 18:53:11 +01:00
Simon Howe
dbd789317d Also proxy WS to the BE while in dev mode.
WS weren't using the proxy.
2015-12-15 16:39:57 +01:00
Simon Howe
3b2af2ae6c Terminal UI for pipes
- term.js
- Add eslintignore
- Fix color and es2015 after rebase
- Fix JS test, probably deleted during conflict resolution
- Moves terminal close button to top-right of window
- Consitent w/ details window.
- Changes padding of details window close button so both close buttons
  are horizonally aligned.
- Terminal resizes w/ browser window.
- No longer can drag window around.
- Add tiny big of padding between term and node-details.
- Playing w/ terminal placement.  This one's more drawer-like.
- Send DELETE when we close a terminal window.
- Dont lint or bable JS vendor files
- Ignore ctags 'tags' files.
- Adds popping out terminal out into a new browser window.
- Simplify code as now we've just a single terminal window.
- ESC is back to close the terminal, then the details panel.
- Fixes bug w/ slow response to closing the details panel.
- Moving away from "drawer-style" for terminal size and position to a
  simple window.
- Just gotta handle the case for refreshing a popped out terminal.
- Stop terminal text being auto-deselected.
- window resizes will still deselect.
- Adds state.connected to react.scu check.
- Don't delete pipe when browser closes
- To allow for nicer refresh flows
- scope-app will time out pipe after a while.
- Keep terminal-open/closed state in the url.
- shouldComponentUpdate fix to prevent deselection of text has been
  rolled back so gotta come up w/ another way to handle that...
- Fixes terminal text-selection again.
- Make pipes work for non-raw terminals too.
- Move document.title updating somewhere more sensible.
- Pass rawTty prop along to all terminals.
- Don't render react root into doc.body
- Reconnect the websocket if we lose it.
- First, slightly rough, attempt at displaying if pipe has been deleted
- Refactor controlPipe structure in the AppStore/hash.
- Merge controlPipeId, controlPipeRaw, controlPipeStatus into a single object.
- Adds a status bar to the terminal window.
- Error handling in popout working again.
- Don't show terminal cursor when not connected.
- Simplify controlPipe status and error handling.
- Don't keep the status in the hash.
- Use special new action receiveControlPipeFromParams rather than
  adding lots of branching to receiveControlPipe.
- You can reload a terminal but it doesn't exist in history stack.
- Pull out terminal into its own entry point!
- Fixes prod webpack build
- Fixes terminal-app websocket path when running on prod.
- Fixes old terminals appearing when closing a terminal.
- History hacking wasn't working, this is a little simpler.
2015-12-10 12:52:44 +00:00
David Kaltschmidt
6b445466ef Move JS to ES2015
Refactored mixins into utils

ES2015 module exports

ES2015-style imports

WIP Fixing tests

Fixes tests after es2015 code migrations.

We we're require()ing an ES2015 module[1]. Have to make sure you account
for the .default in this case.

[1] We had to use ES5 `require` in Jest:
(https://github.com/babel/babel-jest/issues/16)
2015-12-01 14:35:22 +01:00
David Kaltschmidt
c723978ec5 Upgraded react to 0.14.3
also add production globals to webpack config to reduce bundle size
2015-11-19 18:19:39 +01:00
David Kaltschmidt
2eb80d79bc object-assign no longer needed under babel 6 2015-11-11 19:35:21 +01:00
David Kaltschmidt
6cb825f6f3 Disable coverage on jest, it's broken 2015-11-11 18:58:56 +01:00
David Kaltschmidt
59064e8a2d Upgrade to Babel 6 2015-11-11 18:42:48 +01:00
David Kaltschmidt
1019e45940 Upgrade node version to v4.2.2, and jest to 0.7.1
* the jest update will allow for jest --watch to keep jest running
2015-11-11 18:24:09 +01:00
David Kaltschmidt
e2553fd3fc Upgrade optional dev tools 2015-11-11 17:40:09 +01:00
David Kaltschmidt
c09ca3f6e3 Upgraded dev dependencies
cant do Babel 6 yet, while being on node 0.10
2015-11-11 17:36:31 +01:00
David Kaltschmidt
b56fd96a35 Updated app dependencies
* reduces bundle size by another 20%
2015-11-11 16:11:28 +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
3d08b15430 JS test framework for node layout 2015-11-05 10:58:13 +01:00
David Kaltschmidt
7722b2f1dc Fixing most npm deps versions 2015-11-03 13:22:01 +01:00
David Kaltschmidt
bc7ee66ed9 Fix npm install by fixing version of react-tap-event-plugin 2015-11-03 11:25:56 +01:00
David Kaltschmidt
92e56a492b Fix package.json syntax error 2015-10-26 17:49:21 +00:00
David Kaltschmidt
a2877102f1 remove old karma test config, make webpackdevserver optional
`npm install` continues to install everything, but `npm install
--no-optional` wont install the dev server.
2015-10-26 17:49:21 +00:00
David Kaltschmidt
cacc2e1bc3 Move testing to Jest 2015-10-26 17:49:21 +00:00