Skip to content

Commit

Permalink
Merge pull request #77 from sfeir-open-source/feat/61-handle-input-ge…
Browse files Browse the repository at this point in the history
…nerators-as-plugins

feat: #61 - Handle input generators as plugins
  • Loading branch information
GildasMorel committed Aug 11, 2020
2 parents 47514af + d304a52 commit d31fc3a
Show file tree
Hide file tree
Showing 75 changed files with 1,496 additions and 635 deletions.
5 changes: 3 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@
"alias": {
"@src": "./src",
"@event-bus": "./src/common/event-bus",
"@helpers": "./src/common/helpers",
"@services": "./src/common/services",
"@client": "./src/client",
"@server": "./src/server",
"@config": "./config"
"@config": "./config",
"@plugins": "./src/plugins"
}
}
]
Expand Down
4 changes: 3 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
],
"globals": {
},
"parser": "babel-eslint",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2018
"ecmaVersion": 2018,
"allowImportExportEverywhere": true
},
"rules": {
"no-console": "off",
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ dist
Thumbs.db

# Slide show example
showcase/resources/slave/
showcase/resources/tc-component/

# Parcel
.cache
Expand Down
6 changes: 3 additions & 3 deletions .huskyrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ const task = arr => arr.join(' && ');

module.exports = {
hooks: {
'pre-commit': task(['eslint .', 'pretty-quick --staged']),
'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS',
'pre-push': 'npm test'
//'pre-commit': task(['eslint .', 'pretty-quick --staged']),
//'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS'
//'pre-push': 'npm test'
}
};
8 changes: 6 additions & 2 deletions config/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"port": 3001
},
"tcMaster": {
"tcController": {
"urls": {
"external": "",
"local": "http://localhost:3000"
Expand All @@ -23,13 +23,17 @@
},
"port": 3002
},
"tcSlave": {
"tcComponent": {
"keysBlocked": [
"ArrowDown",
"ArrowUp",
"ArrowLeft",
"ArrowRight",
"Space"
]
},
"logger": {
"redux": false,
"eventBusEvents": false
}
}
17 changes: 17 additions & 0 deletions jsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es2020",
"baseUrl": ".",
"paths": {
"@src/*": ["src/*"],
"@event-bus/*": ["src/common/event-bus/*"],
"@services/*": ["src/common/services/*"],
"@client/*": ["src/client/*"],
"@server/*": ["src/server/*"],
"@config/*": ["config/*"],
"@plugins/*": ["src/plugins/*"]
}
},
"exclude": ["node_modules"]
}
41 changes: 34 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 11 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
"scripts": {
"create-tunnels": "node src/environment/create-tunnels",
"get-started": "node src/environment/get-started",
"start": "npx npm-run-all --parallel create-tunnels tc-server tc-slave tc-showcase start-master-after-server when-master-is-started",
"start-master-after-server": "wait-on tcp:3001 && wait-on tcp:3002 && npm run tc-master",
"when-master-is-started": "wait-on tcp:3000 && npm run get-started",
"start": "npx npm-run-all --parallel create-tunnels tc-server tc-component tc-showcase start-controller-after-server when-controller-is-started",
"start-controller-after-server": "wait-on tcp:3001 && wait-on tcp:3002 && npm run tc-controller",
"when-controller-is-started": "wait-on tcp:3000 && npm run get-started",
"build": "npx npm-run-all --parallel build-*",
"test": "npx mocha",
"coverage": "npx nyc npm test",
"lint": "eslint --fix . && echo 'Lint complete.'",
"commit": "npx git-cz",
"tc-showcase": "npx http-server showcase -s -p 3002",
"tc-master": "npx parcel src/client/talk-control-master/index.html --out-dir ./dist/client/master --port 3000",
"tc-slave": "npx parcel watch src/client/talk-control-slave/index.js --out-dir showcase/resources/slave",
"tc-controller": "npx parcel src/client/tc-controller/index.html --out-dir ./dist/client/tc-controller --port 3000",
"tc-component": "npx parcel watch src/client/tc-component/index.js --out-dir showcase/resources/tc-component",
"tc-server": "npx nodemon --exec babel-node src/server/index.js",
"build-slave": "npx parcel build src/client/talk-control-slave/index.js --no-source-maps --out-dir ./dist/client/slave --target browser",
"build-master": "npx parcel build src/client/talk-control-master/index.html --no-source-maps --out-dir ./dist/client/master --target browser",
"build-component": "npx parcel build src/client/tc-component/index.js --no-source-maps --out-dir ./dist/client/tc-component --target browser",
"build-controller": "npx parcel build src/client/tc-controller/index.html --no-source-maps --out-dir ./dist/client/tc-controller --target browser",
"build-server": "npx parcel build src/server/index.js --no-source-maps --out-dir ./dist/server --target node",
"docs:dev": "vuepress dev docs-sources",
"docs:build": "npm run jsdoc:build && vuepress build docs-sources --dest docs-dist",
Expand Down Expand Up @@ -97,7 +97,7 @@
"dependencies": {
"@fortawesome/fontawesome-free": "^5.13.1",
"@webcomponents/webcomponentsjs": "^2.4.3",
"bulma": "^0.8.2",
"bulma": "^0.9.0",
"colors": "^1.4.0",
"express": "^4.17.1",
"http-server": "^0.12.3",
Expand All @@ -116,10 +116,11 @@
"_moduleAliases": {
"@src": "src",
"@event-bus": "src/common/event-bus",
"@helpers": "src/common/helpers",
"@services": "src/common/services",
"@client": "src/client",
"@server": "src/server",
"@config": "config"
"@config": "config",
"@plugins": "src/plugins"
},
"browserslist": [
"Chrome > 50"
Expand Down
2 changes: 1 addition & 1 deletion showcase/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ <h1>THE END</h1>
</div>

<script src="resources/reveal/js/reveal.js"></script>
<script type="text/javascript" src="resources/slave/index.js" ></script>
<script type="text/javascript" src="resources/tc-component/index.js" ></script>

<script>

Expand Down
10 changes: 5 additions & 5 deletions src/client/engines/generic-client-engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
* @class
*/
export class GenericEngine {
/**
* Init engine
*/
init () {}

/**
* Switch to the given slide
*
Expand All @@ -29,9 +34,4 @@ export class GenericEngine {
* @param {number} delta - number of movements to make from$ the current slide
*/
changeSlide(delta) {}

/**
* Tell if the active element in DOM is an editable one
*/
isActiveElementEditable() {}
}
7 changes: 0 additions & 7 deletions src/client/engines/revealjs-client-engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,4 @@ export class RevealEngine extends GenericEngine {
getSlideNotes() {
return this.Reveal.getSlideNotes();
}

/**
* @returns {boolean} True if the active element is editable
*/
isActiveElementEditable() {
return document.activeElement && document.activeElement.contentEditable !== 'inherit';
}
}
6 changes: 3 additions & 3 deletions src/client/layouts/on-stage/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';

import { TalkControlMaster } from '../../talk-control-master/talk-control-master.js';
import { TCController } from '@client/tc-controller/tc-controller.js';
import config from '@config/config.json';

window.addEventListener('DOMContentLoaded', function() {
const isRemote = window.location.href.indexOf('://localhost:') === -1;

const talkControlMaster = new TalkControlMaster(isRemote ? config.tcServer.urls.external : config.tcServer.urls.local);
talkControlMaster.init();
const tcController = new TCController(isRemote ? config.tcServer.urls.external : config.tcServer.urls.local);
tcController.init();

const url = sessionStorage.getItem('presentationUrl');
if (url) {
Expand Down
5 changes: 2 additions & 3 deletions src/client/layouts/on-stage/on-stage.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
<link rel="stylesheet" href="index.css" />
<script defer src="../../../../node_modules/@fortawesome/fontawesome-free/js/all.min.js"></script>
<!-- type="module" not needed because we work with parcel bundler -->
<script defer src="../common/slide-view/slide-view.js"></script>
<script defer src="../common/url-form/url-form.js"></script>
<script defer src="../common/menu-dropdown/menu-dropdown.js"></script>
<script defer src="../../web-components/slide-view/slide-view.js"></script>
<script defer src="../../web-components/menu-dropdown/menu-dropdown.js"></script>
<title>On stage</title>
</head>
<body>
Expand Down
10 changes: 0 additions & 10 deletions src/client/layouts/presenter/components/notes/notes-slave.js

This file was deleted.

7 changes: 0 additions & 7 deletions src/client/layouts/presenter/components/timer/timer-slave.js

This file was deleted.

6 changes: 3 additions & 3 deletions src/client/layouts/presenter/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';

import { TalkControlMaster } from '../../talk-control-master/talk-control-master.js';
import { TCController } from '@client/tc-controller/tc-controller.js';
import config from '@config/config.json';

window.addEventListener('DOMContentLoaded', function() {
const isRemote = window.location.href.indexOf('://localhost:') === -1;

const talkControlMaster = new TalkControlMaster(isRemote ? config.tcServer.urls.external : config.tcServer.urls.local);
talkControlMaster.init();
const tcController = new TCController(isRemote ? config.tcServer.urls.external : config.tcServer.urls.local);
tcController.init();

const url = sessionStorage.getItem('presentationUrl');
if (url) {
Expand Down
10 changes: 5 additions & 5 deletions src/client/layouts/presenter/presenter-mobile.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
<link rel="stylesheet" href="index.css" />
<script defer src="../../../../node_modules/@fortawesome/fontawesome-free/js/all.min.js"></script>
<!-- type="module" not needed because we work with parcel bundler -->
<script src="../common/slide-view/slide-view.js"></script>
<script src="../common/url-form/url-form.js"></script>
<script src="./components/timer/timer.js"></script>
<script src="./components/notes/notes.js"></script>
<script type="module" src="../common/menu-dropdown/menu-dropdown.js"></script>
<script src="../../web-components/slide-view/slide-view.js"></script>
<script src="../../web-components/url-form/url-form.js"></script>
<script src="../../web-components/timer/timer.js"></script>
<script src="../../web-components/notes/notes.js"></script>
<script src="../../web-components/menu-dropdown/menu-dropdown.js"></script>
<title>Presenter view</title>
</head>
<body>
Expand Down
10 changes: 5 additions & 5 deletions src/client/layouts/presenter/presenter.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
<link rel="stylesheet" href="index.css" />
<script defer src="../../../../node_modules/@fortawesome/fontawesome-free/js/all.min.js"></script>
<!-- type="module" not needed because we work with parcel bundler -->
<script defer src="../common/slide-view/slide-view.js"></script>
<script defer src="../common/url-form/url-form.js"></script>
<script defer src="./components/timer/timer.js"></script>
<script defer src="./components/notes/notes.js"></script>
<script defer src="../common/menu-dropdown/menu-dropdown.js"></script>
<script defer src="../../web-components/slide-view/slide-view.js"></script>
<script defer src="../../web-components/url-form/url-form.js"></script>
<script defer src="../../web-components/timer/timer.js"></script>
<script defer src="../../web-components/notes/notes.js"></script>
<script defer src="../../web-components/menu-dropdown/menu-dropdown.js"></script>
<title>Presenter view</title>
</head>
<body>
Expand Down
3 changes: 3 additions & 0 deletions src/client/layouts/remote-pointer/index.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
section {
max-width: 800px
}
11 changes: 11 additions & 0 deletions src/client/layouts/remote-pointer/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

import { TCController } from '@client/tc-controller/tc-controller.js';
import config from '@config/config.json';

window.addEventListener('DOMContentLoaded', function() {
const isRemote = window.location.href.indexOf('://localhost:') === -1;

const tcController = new TCController(isRemote ? config.tcServer.urls.external : config.tcServer.urls.local);
tcController.init();
});
20 changes: 20 additions & 0 deletions src/client/layouts/remote-pointer/remote-pointer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="stylesheet" href="../../../../node_modules/bulma/css/bulma.min.css" />
<link rel="stylesheet" href="index.css" />
<script defer src="../../../../node_modules/@fortawesome/fontawesome-free/js/all.min.js"></script>
<!-- type="module" not needed because we work with parcel bundler -->
<script defer src="../../../plugins/input/touch-pointer/component/touch-pointer.js"></script>
<title>Remote pointer</title>
</head>
<body>
<section>
<tc-touch-pointer></tc-touch-pointer>
</section>
<script src="./index.js"></script>
</body>
</html>
Empty file.
Loading

0 comments on commit d31fc3a

Please sign in to comment.