Giter Site home page Giter Site logo

mylittletony / ct-frontend Goto Github PK

View Code? Open in Web Editor NEW
20.0 7.0 23.0 13.15 MB

Frontend Demo for Cucumber Tony API

Home Page: https://www.cucumberwifi.io

License: MIT License

JavaScript 44.58% CSS 1.12% HTML 51.07% Shell 0.03% Roff 3.18% Dockerfile 0.02%
wifi openwrt saas

ct-frontend's Issues

Clients Listing - No Horizontal Scroll Bar

If the fields in the clients display screen is increased so that the screen width of browser is exceeded, no horizontal scroll bar is provided so that client 'Action' drop-down on right can be accessed. Screen shot below:

clients-no-scroll-bar

Triggers : Number of issues with triggers

Whist testing triggers for basic box up/box down alerts, found a number of issues with dynamic variables:

  1. The variable {{ First_Name }} suggested in the built-in example does not seem to substitute (blank seen in email where value should be)
  2. The variable {{ Username }} shown in the common tags does not seem to substitute (blank seen in email where value should be)
  3. When firing a test trigger, where the tag substitution would occur, just see the word 'meta' in the trigger message text. For example, {{ Description }} is shown as the word meta. Although no real value can be substituted (as it is a test trigger), might be better to show a pseudo value for each tag, e.g. for {{ Description }}.
  4. Carriage returns in a trigger definition in the body of an email are not reflected in the email sent.

Here is a screen shot of a trigger, email body definition & resulting email

box-down-trigger-definition

box-down-trigger-definition-email-body

box-down-trigger-email

Devices Page : Firmware Upgrade Not Showing for AP

The upgrade firmware icon is missing from the devices#show page, even though I can see an upgrade is available in the old interface.

Should appear at the top.

I just changed the development mode of the device in question from production to beta which may affect it since I've seen it before.

[Clients] Device Name Missing

In the list of clients, the device description / slug is missing.

Also, the device name is being overwritten by the pubsub request.

Events : Page Missing Filter

The events page should have a filter at the top, as per old CT.

"For general network management, I think splitting the audit & network events would be useful, as they are used for different work-flows typically"

Think we can seriously do better than a drop-down.

We could look at adding a event-level to them also which could help. And make sure they're tightly integrated with the triggers....

Device hits 90% CPU for n minutes --> fires trigger to IFTT --> IFTT texts your mom, asks her to stop watching illegal movies

screen_shot_2016-06-08_at_17_58_00

.

Built : grunt-node-inspector fails to build

And as such that is rather an issue with grunt-node-inspector.

On Mac OS X 10.11.5 El Capition, Node.JS 4.4.3, npm 2.15.2, Xcode 7.3.1, xcode-select version 2343, "npm install" fails with a compiler error (see below).

Workaround: npm uninstall --save-dev grunt-node-inspector
(ignore the error message, when uninstalling).

The problem occurs because npm tries to compile some debugging stuff because there is no prebuilt binary available.

The output of "npm install" is following below:

npm WARN package.json Dependency 'urijs' exists in both dependencies and devDependencies, using 'urijs@^1.17.1' from dependencies

[email protected] preinstall /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug

[email protected] preinstall /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-profiler

[email protected] install /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/ws
(node-gyp rebuild 2> builderror.log) || (exit 0)

CXX(target) Release/obj.target/bufferutil/src/bufferutil.o

[email protected] install /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug
node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download: https://node-inspector.s3.amazonaws.com/debug/v0.4.6/node-v46-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v46 ABI) (falling back to source compile with node-gyp)
CXX(target) Release/obj.target/debug/src/debug.o
In file included from ../src/debug.cc:2:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local NanEnsureLocal(v8::Local val) {
^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local NanEnsureLocal(v8::Handle val) {
^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace
'node'
, node::smalloc::FreeCallback callback
~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^~~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/node_buffer.h:31:40: note: candidate
function not viable: no known conversion from 'uint32_t'
(aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
/Users/guido/.node-gyp/4.4.3/include/node/node_buffer.h:43:40: note: candidate
function not viable: 2nd argument ('const char ') would lose const
qualifier
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate
isolate,
^
/Users/guido/.node-gyp/4.4.3/include/node/node_buffer.h:28:40: note: candidate
function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, size_t length);
^
/Users/guido/.node-gyp/4.4.3/include/node/node_buffer.h:36:40: note: candidate
function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
In file included from ../src/debug.cc:2:
../node_modules/nan/nan.h:676:12: error: no viable conversion from returned
value of type 'v8::MaybeLocalv8::Object' to function return type
'v8::Localv8::Object'
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:210:7: note: candidate
constructor (the implicit copy constructor) not viable: no known
conversion from 'v8::MaybeLocalv8::Object' to 'const
v8::Localv8::Object &' for 1st argument
class Local {
^
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:210:7: note: candidate
constructor (the implicit move constructor) not viable: no known
conversion from 'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object &&'
for 1st argument
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:214:13: note: candidate template
ignored: could not match 'Local' against 'MaybeLocal'
V8_INLINE Local(Local that)
^
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:326:13: note: candidate template
ignored: could not match 'S ' against 'v8::MaybeLocalv8::Object'
V8_INLINE Local(S
that)
^
In file included from ../src/debug.cc:2:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace
'node::Buffer'
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
~~~~~~~~~~~~~~^
../src/debug.cc:194:25: warning: ISO C++11 does not allow conversion from string
literal to 'char *' [-Wwritable-strings]
result_type = "";
^
In file included from ../src/debug.cc:2:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/guido/.node-gyp/4.4.3/include/node/node.h:42:
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:221:5: error: assigning to
'v8::Primitive *volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:180:37: note: expanded from macro
'TYPE_CHECK'
(static_cast<T volatile
>(0)) = static_cast<S
>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template
specialization 'v8::Localv8::Primitive::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/debug.cc:2:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/guido/.node-gyp/4.4.3/include/node/node.h:42:
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:221:5: error: assigning to
'v8::Boolean volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:180:37: note: expanded from macro
'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template
specialization 'v8::Localv8::Boolean::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/debug.cc:2:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/guido/.node-gyp/4.4.3/include/node/node.h:42:
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:221:5: error: assigning to
'v8::Function volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:180:37: note: expanded from macro
'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template
specialization 'v8::Localv8::Function::Localv8::Value' requested here
return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/debug.cc:2:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/guido/.node-gyp/4.4.3/include/node/node.h:42:
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:221:5: error: assigning to
'v8::Object volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:180:37: note: expanded from macro
'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template
specialization 'v8::Localv8::Object::Localv8::Value' requested here
return NanEscapeScope(handle->Get(NanNew(key)).Asv8::Object());
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/debug.cc:2:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/guido/.node-gyp/4.4.3/include/node/node.h:42:
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:221:5: error: assigning to
'v8::String volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/guido/.node-gyp/4.4.3/include/node/v8.h:180:37: note: expanded from macro
'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../src/debug.cc:168:18: note: in instantiation of function template
specialization 'v8::Localv8::String::Localv8::Value' requested here
return NanEscapeScope(value->ToString());
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

1 warning and 10 errors generated.
make: *** [Release/obj.target/debug/src/debug.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/opt/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/opt/local/bin/node" "/opt/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64/debug.node" "--module_name=debug" "--module_path=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64"
gyp ERR! cwd /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug
gyp ERR! node -v v4.4.3
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/opt/local/bin/node /opt/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64/debug.node --module_name=debug --module_path=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64' (1)
node-pre-gyp ERR! stack at ChildProcess. (/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:827:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Darwin 15.5.0
node-pre-gyp ERR! command "/opt/local/bin/node" "/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug
node-pre-gyp ERR! node -v v4.4.3
node-pre-gyp ERR! node-pre-gyp -v v0.6.28
node-pre-gyp ERR! not ok
Failed to execute '/opt/local/bin/node /opt/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64/debug.node --module_name=debug --module_path=/Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64' (1)

[email protected] install /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-profiler
node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download: https://node-inspector.s3.amazonaws.com/profiler/v5.2.12/node-v46-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v46 ABI) (falling back to source compile with node-gyp)
CXX(target) Release/obj.target/profiler/src/profiler.o
CXX(target) Release/obj.target/profiler/src/cpu_profiler.o
CXX(target) Release/obj.target/profiler/src/cpu_profile.o
CXX(target) Release/obj.target/profiler/src/cpu_profile_node.o
CXX(target) Release/obj.target/profiler/src/heap_profiler.o
CXX(target) Release/obj.target/profiler/src/heap_snapshot.o
CXX(target) Release/obj.target/profiler/src/heap_output_stream.o
CXX(target) Release/obj.target/profiler/src/heap_graph_node.o
CXX(target) Release/obj.target/profiler/src/heap_graph_edge.o
SOLINK_MODULE(target) Release/profiler.node
COPY /Users/guido/devolo/cucumber-frontend/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-profiler/build/profiler/v5.2.12/node-v46-darwin-x64/profiler.node
TOUCH Release/obj.target/action_after_build.stamp
npm ERR! Darwin 15.5.0
npm ERR! argv "/opt/local/bin/node" "/opt/local/bin/npm" "install"
npm ERR! node v4.4.3
npm ERR! npm v2.15.2
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the v8-debug package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs v8-debug
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls v8-debug
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/guido/devolo/cucumber-frontend/npm-debug.log
guido@macbook:/devolo/cucumber-frontend $ npm uninstall --save-dev grunt-node-inspector
npm WARN uninstall not installed in /Users/guido/devolo/cucumber-frontend/node_modules: "grunt-node-inspector"
guido@macbook:
/devolo/cucumber-frontend $ vi Gruntfile.js
guido@macbook:/devolo/cucumber-frontend $ vi package.json
guido@macbook:
/devolo/cucumber-frontend $ vi package.json
guido@macbook:/devolo/cucumber-frontend $ ls -l
total 144
-rw-r--r-- 1 guido staff 1444 Jun 8 08:11 CONTRIBUTING.md
-rw-r--r-- 1 guido staff 19024 Jun 8 08:12 Gruntfile.js
-rw-r--r-- 1 guido staff 19024 Jun 8 08:11 Gruntfile.js.default
-rw-r--r-- 1 guido staff 24 Jun 8 08:11 Procfile
-rw-r--r-- 1 guido staff 3396 Jun 8 08:11 README.md
-rw-r--r-- 1 guido staff 1130 Jun 8 08:11 bower.json
-rw-r--r-- 1 guido staff 531 Jun 8 08:11 circle.yml
drwxr-xr-x 11 guido staff 374 Jun 8 11:32 client
drwxr-xr-x 3 guido staff 102 Jun 8 08:18 css
drwxr-xr-x 3 guido staff 102 Jun 8 08:11 e2e
-rw-r--r-- 1 guido staff 3594 Jun 8 08:11 karma.conf.js
drwxr-xr-x 76 guido staff 2584 Jun 8 12:18 node_modules
-rw-r--r-- 1 guido staff 2853 Jun 8 12:19 package.json
-rw-r--r-- 1 guido staff 1598 Jun 8 08:11 protractor.conf.js
drwxr-xr-x 11 guido staff 374 Jun 8 08:19 server
drwxr-xr-x 3 guido staff 102 Jun 8 08:11 test
guido@macbook:
/devolo/cucumber-frontend $ git checkout npm-debug.log
guido@macbook:/devolo/cucumber-frontend $
guido@macbook:
/devolo/cucumber-frontend $
guido@macbook:/devolo/cucumber-frontend $ ls
CONTRIBUTING.md circle.yml npm-debug.log
Gruntfile.js client package.json
Gruntfile.js.default css protractor.conf.js
Procfile e2e server
README.md karma.conf.js test
bower.json node_modules
guido@macbook:
/devolo/cucumber-frontend $ cat npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink /usr/local/bin/node
5 verbose run-script [ 'prestart', 'start', 'poststart' ]
6 info prestart [email protected]
7 info start [email protected]
8 verbose unsafe-perm in lifecycle true
9 info [email protected] Failed to exec start script
10 verbose stack Error: [email protected] start: node server/app.js
10 verbose stack Exit status 1
10 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
10 verbose stack at EventEmitter.emit (events.js:110:17)
10 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
10 verbose stack at ChildProcess.emit (events.js:110:17)
10 verbose stack at maybeClose (child_process.js:1015:16)
10 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
11 verbose pkgid [email protected]
12 verbose cwd /Users/simonmorley/Documents/Code/nodejs/ct-angular
13 error Darwin 15.3.0
14 error argv "node" "/usr/local/bin/npm" "start"
15 error node v0.12.4
16 error npm v2.10.1
17 error code ELIFECYCLE
18 error [email protected] start: node server/app.js
18 error Exit status 1
19 error Failed at the [email protected] start script 'node server/app.js'.
19 error This is most likely a problem with the my-new-project package,
19 error not with npm itself.
19 error Tell the author that this fails on your system:
19 error node server/app.js
19 error You can get their info via:
19 error npm owner ls my-new-project
19 error There is likely additional logging output above.
20 verbose exit [ 1, true ]

Login process : Looping - Requires Cookies to be Reset

Very occasionally, I'm noticing the login is looping.

I'm sent to the auth servers > login > returned to CT with the token. And logged in.

Home page loads but there's 401 so my session is cleared. And I'm sent back to the beginning. The only way to clear is to wipe the cookies and all other associated data.

Events : Add numeric level to each event

Currently the events are categories into types and objects. For example, box && box.create.

We should implement a log level to each one so the EU can filter further. And, as per the suggestion for a new menu bar, they could appear in the top menu.

box.create - 1
box.online - 3
box.offline - 3

CLIENTS - Whitelists && Walled Gardens

The client whitelists AKA walled gardens section is currently missing.

Needs to be added to the networks / separate section.

Waiting decision internally re. same.

Network Zones - Can't Select Multiple

On the zones page, you should be able to select multiple checkboxes.

This used to be possible, looks like an update to the md-table library broke something.

Client : "Connected To" Column Should Show AP name?

In the client listing page, I think it would be more useful to show the AP name that a client is associated to in the "Connected To" column and have an additional "SSID" column for the SSID the client is using.

Screen shot below:

connected to column

Support Button Not Working

The support button, top right hand corner, should open the support widget. This stopped functioning recently.

Events : for busy APs (number clients)

An event indicating APs that have a high number of clients would be very useful to indicate APs that are in danger of becoming over-loaded.

Ideally this would be a configurable threshold per location.

The threshold would be a threshold of associated clients (e.g. event generated if an AP has more than 30 clients associated).

Navigation : Reports and Location Selection Issues

It's not easy to navigate through the reports at the moment.

In particular, the drop down select isn't useful. It only allows for a few locations.

screen shot 2016-06-07 at 20 25 41

The search button is OK but too subtle - when you search for a location, if it's not in the select list, the location is displayed incorrectly.

The tooltip has no formatting on the values.

screen shot 2016-06-07 at 20 25 32

Some of the cards fail to load.

screen shot 2016-06-07 at 20 25 57

screen shot 2016-06-07 at 20 25 53

Navigation : Bar Suggestion

This is a subjective opinion, but I like to use top-level nav buttons for common workflow launch points. It;s also useful to have a summary of minor/major/critical issues.

I've done a very bad mock-up of a suggested use of the top-bar (see image below). Feel free to completely ignore as appropriate :)

nav-suggestion

Navigation : Missing New Location Button on Home

The home page / dashboard currently has a banner at the top with a search bar.

Buttons to add a new location / add a box should be present in there. It would also be nice to have a link to the locations list, since we're relying on the user to find the link in the card.

Time interval is in 10 year periods

When navigating to a location summary age, the time period scale along the base of the client graph shows 10 year time intervals - see screen-shot below:

location-summary-years

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.