├── .gitignore ├── src ├── server │ ├── vars.styl │ ├── index.js │ ├── router.js │ ├── components │ │ ├── agents │ │ │ ├── index.js │ │ │ ├── range.vue │ │ │ ├── number.vue │ │ │ ├── boolean.vue │ │ │ ├── enum.vue │ │ │ ├── text.vue │ │ │ ├── trigger.vue │ │ │ └── agent.vue │ │ ├── search.vue │ │ └── group.vue │ ├── modules │ │ ├── settings.vue │ │ ├── devices.vue │ │ ├── frame.vue │ │ ├── scale.vue │ │ ├── rotate.vue │ │ ├── log.vue │ │ ├── navigation.vue │ │ ├── headline.vue │ │ ├── layout.vue │ │ ├── agents.vue │ │ └── panel.vue │ ├── transitions │ │ └── expand.vue │ ├── app.vue │ └── store.js ├── client │ ├── layouts │ │ ├── index.js │ │ ├── simple.vue │ │ ├── centered.vue │ │ └── fluid.vue │ ├── index.js │ ├── api.js │ ├── types.js │ ├── app.vue │ └── store.js └── connector.js ├── www ├── microscope.html └── index.html ├── bin └── whiteroom ├── index.js ├── logo.svg ├── package.json ├── LICENSE ├── api └── index.js ├── webpack.config.js └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | -------------------------------------------------------------------------------- /src/server/vars.styl: -------------------------------------------------------------------------------- 1 | $fg=#00c300 2 | $fg=#2dd28d 3 | $bg=#ffffff 4 | $vp=#f6f6f6 5 | $bd=darken($vp, 5%) 6 | -------------------------------------------------------------------------------- /src/client/layouts/index.js: -------------------------------------------------------------------------------- 1 | import simple from './simple.vue' 2 | import centered from './centered.vue' 3 | import fluid from './fluid.vue' 4 | 5 | export default { 6 | centered, fluid, simple 7 | } 8 | -------------------------------------------------------------------------------- /src/client/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import store from './store' 3 | 4 | import App from './app.vue' 5 | 6 | new Vue({ 7 | store, 8 | render: h => h(App) 9 | }).$mount("#microscope") 10 | -------------------------------------------------------------------------------- /src/server/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import store from './store' 3 | import router from './router' 4 | 5 | new Vue({ 6 | store, 7 | router, 8 | render: h => h(Vue.component('RouterView')) 9 | }).$mount("#whiteroom") 10 | -------------------------------------------------------------------------------- /src/server/router.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import Router from "vue-router"; 3 | 4 | import App from "./app.vue"; 5 | 6 | Vue.use(Router); 7 | 8 | export default new Router({ 9 | routes: [{ 10 | path: "*", 11 | component: App 12 | }] 13 | }); 14 | -------------------------------------------------------------------------------- /src/client/layouts/simple.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /src/server/components/agents/index.js: -------------------------------------------------------------------------------- 1 | import boolean from './boolean.vue' 2 | import number from './number.vue' 3 | import range from './range.vue' 4 | import text from './text.vue' 5 | 6 | import _enum from './enum.vue' 7 | 8 | export default { 9 | boolean, 10 | number, 11 | range, 12 | text, 13 | 'enum': _enum 14 | } 15 | -------------------------------------------------------------------------------- /src/server/components/agents/range.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | -------------------------------------------------------------------------------- /src/server/components/agents/number.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | -------------------------------------------------------------------------------- /src/client/api.js: -------------------------------------------------------------------------------- 1 | export default api => { 2 | // execute message cue 3 | if (Array.isArray(window.__whiteroom__)) { 4 | window.__whiteroom__ 5 | .filter(({ command }) => command in api) 6 | .forEach(({ command, parameters }) => api[command](parameters)) 7 | } 8 | 9 | // deliver api to userland 10 | window.__whiteroom__ = api 11 | } 12 | -------------------------------------------------------------------------------- /www/microscope.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | microscope 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /src/server/components/agents/boolean.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | 16 | 21 | -------------------------------------------------------------------------------- /src/server/components/agents/enum.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 22 | -------------------------------------------------------------------------------- /src/client/layouts/centered.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | -------------------------------------------------------------------------------- /bin/whiteroom: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const { existsSync } = require('fs') 3 | const { resolve } = require('path') 4 | 5 | // convenient argv 6 | let options = require('minimist')(process.argv.slice(2)) 7 | 8 | // ignore argv if config file is here or provided 9 | if (existsSync(resolve(process.env.PWD, '.whiteroomrc'))) 10 | options = require(resolve(process.env.PWD, '.whiteroomrc')) 11 | else if (!!options.config) 12 | options = require(resolve(process.env.PWD, options.config)) 13 | 14 | const { entrypoint, host, port } = options 15 | 16 | require('../index')({ entrypoint, host, port }) 17 | 18 | -------------------------------------------------------------------------------- /src/server/modules/settings.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | 19 | 29 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | whiteroom 7 | 8 | 20 | 21 | 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /src/server/components/agents/text.vue: -------------------------------------------------------------------------------- 1 |