Skip to content

Commit f664bac

Browse files
lucyqfrederickjansen
authored andcommitted
Add RequireJS (#73)
* session page working with requirejs * track page working * handsontable loading * track page working with bootstrap * all pages working with requirejs * code cleanup and reorganizing dependencies * cleaning up code * reorganized to separate views and controllers * added local copy of bootstrap * removed extraneous folder '.idea' * resolved all eslint errors, warnings still exist * removed unnecessary commented out code * Update ESLint rules, fix formatting and move files
1 parent e64e017 commit f664bac

52 files changed

Lines changed: 6665 additions & 3997 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
shared/dist/*
2-
client/script/sheetjsw.js
3-
client/script/ResizeSensor.js
1+
client/app/helper/sheetjsw.js
2+
3+
4+
client/app/vendor/*

.eslintrc.json

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,35 @@
88
"eqeqeq": 2,
99
"brace-style": 2,
1010
"curly": 2,
11-
"quotes": [2, "single", { "avoidEscape": true }]
11+
"quotes": [2, "single", { "avoidEscape": true }],
12+
"no-trailing-spaces": 2,
13+
"space-before-function-paren": [2, {
14+
"anonymous": "always",
15+
"named": "never",
16+
"asyncArrow": "always"
17+
}],
18+
"space-before-blocks": [2, "always"],
19+
"requirejs/no-invalid-define": 2,
20+
"requirejs/no-multiple-define": 2,
21+
"requirejs/no-named-define": 2,
22+
"requirejs/no-commonjs-wrapper": 2,
23+
"requirejs/no-object-define": 1
1224
},
1325
"env": {
1426
"browser": true,
15-
"jquery": true
16-
}
27+
"jquery": true,
28+
"node": true,
29+
"amd":true,
30+
"es6": true
31+
},
32+
33+
"parserOptions":{
34+
"ecmaVersion": 6,
35+
"ecmaFeatures": {
36+
"experimentalObjectRestSpread": true
37+
}
38+
},
39+
"plugins": [
40+
"requirejs"
41+
]
1742
}

client/app/common.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
require.config({
2+
paths: {
3+
jquery: 'vendor/jquery',
4+
bootstrap: 'vendor/bootstrap.min',
5+
Handsontable: 'vendor/handsontable',
6+
filesaver: 'vendor/filesaver',
7+
XLSX: 'vendor/xlsx',
8+
spin: 'vendor/spin',
9+
forge: 'vendor/forge',
10+
Ladda: 'vendor/ladda',
11+
qtip: 'vendor/jquery_qtip',
12+
alertify: 'vendor/alertify',
13+
alertify_defaults: 'helper/alertify_defaults',
14+
DropSheet: 'helper/drop_sheet',
15+
mpc: 'helper/mpc',
16+
ResizeSensor: 'vendor/ResizeSensor'
17+
},
18+
shim: {
19+
bootstrap: {
20+
deps: ['jquery']
21+
},
22+
spin: {
23+
exports: 'spin'
24+
},
25+
Ladda: {
26+
deps: ['spin'],
27+
exports: 'Ladda'
28+
}
29+
}
30+
});

client/scripts/analyst.js renamed to client/app/controllers/analystController.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
/* global saveAs, Uint8Array */
2-
3-
'use strict';
4-
51
/***************************************************************
62
*
73
* Interface for generating session key and initiating a new
84
* session.
95
*
106
*/
7+
/* global saveAs, Uint8Array */
8+
9+
define(['filesaver'], function (filesaver) {
10+
11+
'use strict';
1112

12-
var analyst = (function () {
1313

1414
function checkStatus(session, password) {
1515
if (!session || session.trim() === '' || !password) {
@@ -139,10 +139,11 @@ var analyst = (function () {
139139
// TODO clean up how this workflow
140140
document.getElementById(linkID).innerHTML = 'tracking page';
141141
document.getElementById(linkID).href = '/track?session=' + rndSess;
142-
saveAs(priBlob, 'Session_' + rndSess + '_private_key.pem');
142+
143+
filesaver.saveAs(priBlob, 'Session_' + rndSess + '_private_key.pem');
143144

144145
var text = 'Session Key:\n' + rndSess + '\nPassword:\n' + password;
145-
saveAs(new Blob([text], {type: 'text/plain;charset=utf-8'}), 'Session_' + rndSess + '_password.txt');
146+
filesaver.saveAs(new Blob([text], {type: 'text/plain;charset=utf-8'}), 'Session_' + rndSess + '_password.txt');
146147
})
147148
.catch(function () {
148149
var errmsg = 'ERROR!!!: failed to load public key to server, please try again';
@@ -223,6 +224,7 @@ var analyst = (function () {
223224
}, 10000);
224225
},
225226
error: function (err) {
227+
/* global errmsg */
226228
var errmsg = 'Error Connecting: Reconnect Attempt #' + counter.toString();
227229
if (err && err.hasOwnProperty('responseText') && err.responseText !== undefined) {
228230
errmsg = err.responseText;
@@ -244,6 +246,7 @@ var analyst = (function () {
244246
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
245247
}
246248

249+
247250
return {
248251
checkStatus: checkStatus,
249252
changeStatus: changeStatus,
@@ -255,6 +258,7 @@ var analyst = (function () {
255258
START: 'START',
256259
PAUSE: 'PAUSE',
257260
STOP: 'STOP'
258-
};
259-
})();
260261

262+
}
263+
264+
});

0 commit comments

Comments
 (0)