d2b1698c0d
1. If the modal gets bigger than 80% of the viewport height a scrollbar will be shown. Currently there isn't anywhere it can get this big, but future work involves possible larger modals 2. Usually its difficult to figure out which was the 'unchecked' radio button using an onchange event. Luckily ember/handlebars changes its properties after the onchange event, so knowing that and using an extra data-checked attribute set via ember, we can figure out which radio button has been 'unchecked'. This means the logic for opening an closing modals becomes slightly easier |
||
---|---|---|
.. | ||
app | ||
config | ||
lib | ||
public | ||
tests | ||
.dev.eslintrc.js | ||
.editorconfig | ||
.ember-cli | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.nvmrc | ||
.prettierrc | ||
.watchmanconfig | ||
GNUmakefile | ||
README.md | ||
ember-cli-build.js | ||
package.json | ||
testem.js | ||
yarn.lock |
README.md
consul-ui
Prerequisites
You will need the following things properly installed on your computer.
- Git
- Node.js (with npm)
- yarn
- Ember CLI
- Google Chrome
Installation
git clone https://github.com/hashicorp/consul.git
this repositorycd ui-v2
yarn install
Running / Development
The source code comes with a small server that runs enough of the consul API as a set of mocks/fixtures to be able to run the UI without having to run consul.
make start-api
oryarn start:api
(this starts a Consul API double running on http://localhost:3000)make start
oryarn start
to start the ember app that connects to the above API double- Visit your app at http://localhost:4200.
To enable ACLs using the mock API, use Web Inspector to set a cookie as follows:
CONSUL_ACLS_ENABLE=1
This will enable the ACLs login page, to which you can login with any ACL token/secret.
You can also use a number of other cookie key/values to set various things whilst developing the UI, such as (but not limited to):
CONSUL_SERVICE_COUNT=1000
CONSUL_NODE_CODE=1000
// etc etc
See ./node_modules/@hashicorp/consul-api-double
for more details.
Code Generators
Make use of the many generators for code, try ember help generate
for more details
Running Tests
Please note: You do not need to run make start-api
/yarn run start:api
to run the tests, but the same mock consul API is used.
make test
oryarn run test
make test-view
oryarn run test:view
to view the tests running in Chrome
Running Tests in Parallel
Alternatively, ember-exam
can be used to split the tests across multiple browser instances for faster results. Most options are the same as ember test
. To see a full list of options, run ember exam --help
.
Note: The EMBER_EXAM_PARALLEL
environment variable must be set to override the default parallel
value of 1
browser instance in testem.js.
To quickly run the tests across 4 parallel browser instances:
yarn test-parallel
To run manually:
$ EMBER_EXAM_PARALLEL=true ember exam --split <num> --parallel
More ways to split tests can be found in the ember-exam README.md.