├── static └── .gitkeep ├── .eslintignore ├── .travis.yml ├── .codecov.yml ├── screenshot.png ├── src ├── assets │ └── logo.png ├── store │ ├── caller-state.js │ ├── index.js │ ├── class.amiserver.js │ ├── class.caller.js │ ├── mutation-types.js │ ├── getters.js │ ├── class.queue.js │ ├── class.member.js │ ├── actions.js │ └── mutations.js ├── main.js ├── filters.js ├── websock │ └── index.js ├── components │ ├── AmiServers.vue │ ├── MenuPanel.vue │ ├── TopStats.vue │ ├── QueueData.vue │ └── QueuesList.vue └── App.vue ├── test ├── unit │ ├── .eslintrc │ ├── index.js │ ├── karma.conf.js │ └── specs │ │ ├── fixtures │ │ ├── AmiServers.js │ │ ├── MenuPanel.js │ │ ├── QueueData.js │ │ ├── QueueList.js │ │ └── TopStats.js │ │ ├── AmiServers.spec.js │ │ ├── MenuPanel.spec.js │ │ ├── TopStats.spec.js │ │ ├── QueuesList.spec.js │ │ └── QueueData.spec.js └── e2e │ ├── specs │ └── test.js │ ├── custom-assertions │ └── elementCount.js │ ├── runner.js │ └── nightwatch.conf.js ├── config ├── prod.env.js ├── test.env.js ├── dev.env.js └── index.js ├── .editorconfig ├── .postcssrc.js ├── .gitignore ├── index.html ├── .babelrc ├── .eslintrc.js ├── README.md ├── package.json └── COPYING /static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | -------------------------------------------------------------------------------- /.codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | token: 09971104-b84b-4d9a-b612-e3d00db8d549 3 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staskobzar/amiws_queue/HEAD/screenshot.png -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/staskobzar/amiws_queue/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /src/store/caller-state.js: -------------------------------------------------------------------------------- 1 | export const UNKNOWN = 0 2 | export const JOINED = 1 3 | export const ANSWERED = 2 4 | export const ABANDONED = 3 5 | -------------------------------------------------------------------------------- /test/unit/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | }, 5 | "globals": { 6 | "expect": true, 7 | "sinon": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"', 4 | VER: '"1.0.0"', 5 | WS_URL: process.env.WS_URL || '"ws://0.0.0.0:8000"', 6 | } 7 | -------------------------------------------------------------------------------- /config/test.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const devEnv = require('./dev.env') 4 | 5 | module.exports = merge(devEnv, { 6 | NODE_ENV: '"testing"' 7 | }) 8 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | 5 | module.exports = merge(prodEnv, { 6 | NODE_ENV: '"development"' 7 | }) 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | // to edit target browsers: use "browserslist" field in package.json 6 | "autoprefixer": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | test/unit/coverage 8 | test/e2e/reports 9 | selenium-debug.log 10 | 11 | # Editor directories and files 12 | .idea 13 | .vscode 14 | *.suo 15 | *.ntvs* 16 | *.njsproj 17 | *.sln 18 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Web-socket connection is lost.
53 |Trying to re-connect...
54 |