From d18a20b7b08190b2b1b4b310ca7bcf4a678da096 Mon Sep 17 00:00:00 2001 From: Lucy Qin Date: Fri, 5 Jan 2018 15:26:55 -0500 Subject: [PATCH 01/35] updated README w/ current routes --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77522f88..4d911871 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ Instructions on how to operate the web-mpc application. All steps below are perf #### Generate session key -* Navigate to `localhost:8080/session`. +* Navigate to `localhost:8080/create`. * Click on **Generate Session** and copy and share the session key with all participants. #### Fill out data @@ -93,7 +93,7 @@ Instructions on how to operate the web-mpc application. All steps below are perf #### Manage session -* Navigate to `localhost:8080/track`. +* Navigate to `localhost:8080/manage`. * Input your session key and password. * Generate participation links. * Start the session. From 1e8a1ce05a518a6177eef5d5631ab181cfceb43e Mon Sep 17 00:00:00 2001 From: Frederick Jansen Date: Tue, 6 Feb 2018 22:16:58 -0500 Subject: [PATCH 02/35] Fix Zenodo name --- .zenodo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zenodo.json b/.zenodo.json index 9324946e..77bb900e 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -11,7 +11,7 @@ }, { "affiliation": "Boston University", - "name": "Kinan Bab" + "name": "Kinan Dak Albab" }, { "affiliation": "Boston University", From 92f8347df49cd8bec0a732432652e1dbf05c5897 Mon Sep 17 00:00:00 2001 From: Frederick Jansen Date: Thu, 8 Mar 2018 16:09:50 -0500 Subject: [PATCH 03/35] Remove unused dependencies Add additional license information --- README.md | 3 +++ client/app/vendor/papaparse.js | 7 ------- package.json | 6 ------ 3 files changed, 3 insertions(+), 13 deletions(-) delete mode 100644 client/app/vendor/papaparse.js diff --git a/README.md b/README.md index 4d911871..f985121a 100644 --- a/README.md +++ b/README.md @@ -105,3 +105,6 @@ Instructions on how to operate the web-mpc application. All steps below are perf * Paste the session key and password in its designated fields. * Click **Browse** and upload the private key file that was downloaded when generating the session key. * Click **Unmask Data** and view the result. + +## License +Web-mpc is freely distributable under the terms of the [MIT license](https://github.com/multiparty/web-mpc/blob/master/LICENSE). This release supports Handsontable's "[Nested headers](https://docs.handsontable.com/pro/1.17.0/demo-nested-headers.html)", a Pro feature. A [valid license](https://handsontable.com/pricing) must be obtained when using this feature. \ No newline at end of file diff --git a/client/app/vendor/papaparse.js b/client/app/vendor/papaparse.js deleted file mode 100644 index f03246ee..00000000 --- a/client/app/vendor/papaparse.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - Papa Parse - v4.3.6 - https://github.com/mholt/PapaParse - License: MIT -*/ -!function(a,b){"function"==typeof define&&define.amd?define([],b):"object"==typeof module&&"undefined"!=typeof exports?module.exports=b():a.Papa=b()}(this,function(){"use strict";function a(a,b){b=b||{};var c=b.dynamicTyping||!1;if(r(c)&&(b.dynamicTypingFunction=c,c={}),b.dynamicTyping=c,b.worker&&z.WORKERS_SUPPORTED){var h=k();return h.userStep=b.step,h.userChunk=b.chunk,h.userComplete=b.complete,h.userError=b.error,b.step=r(b.step),b.chunk=r(b.chunk),b.complete=r(b.complete),b.error=r(b.error),delete b.worker,void h.postMessage({input:a,config:b,workerId:h.id})}var i=null;return"string"==typeof a?i=b.download?new d(b):new f(b):a.readable===!0&&r(a.read)&&r(a.on)?i=new g(b):(t.File&&a instanceof File||a instanceof Object)&&(i=new e(b)),i.stream(a)}function b(a,b){function c(){"object"==typeof b&&("string"==typeof b.delimiter&&1===b.delimiter.length&&z.BAD_DELIMITERS.indexOf(b.delimiter)===-1&&(j=b.delimiter),("boolean"==typeof b.quotes||b.quotes instanceof Array)&&(h=b.quotes),"string"==typeof b.newline&&(k=b.newline),"string"==typeof b.quoteChar&&(l=b.quoteChar),"boolean"==typeof b.header&&(i=b.header))}function d(a){if("object"!=typeof a)return[];var b=[];for(var c in a)b.push(c);return b}function e(a,b){var c="";"string"==typeof a&&(a=JSON.parse(a)),"string"==typeof b&&(b=JSON.parse(b));var d=a instanceof Array&&a.length>0,e=!(b[0]instanceof Array);if(d&&i){for(var g=0;g0&&(c+=j),c+=f(a[g],g);b.length>0&&(c+=k)}for(var h=0;h0&&(c+=j);var n=d&&e?a[m]:m;c+=f(b[h][n],m)}h-1||" "===a.charAt(0)||" "===a.charAt(a.length-1);return c?l+a+l:a}function g(a,b){for(var c=0;c-1)return!0;return!1}var h=!1,i=!0,j=",",k="\r\n",l='"';c();var m=new RegExp(l,"g");if("string"==typeof a&&(a=JSON.parse(a)),a instanceof Array){if(!a.length||a[0]instanceof Array)return e(null,a);if("object"==typeof a[0])return e(d(a[0]),a)}else if("object"==typeof a)return"string"==typeof a.data&&(a.data=JSON.parse(a.data)),a.data instanceof Array&&(a.fields||(a.fields=a.meta&&a.meta.fields),a.fields||(a.fields=a.data[0]instanceof Array?a.fields:d(a.data[0])),a.data[0]instanceof Array||"object"==typeof a.data[0]||(a.data=[a.data])),e(a.fields||[],a.data||[]);throw"exception: Unable to serialize unrecognized input"}function c(a){function b(a){var b=p(a);b.chunkSize=parseInt(b.chunkSize),a.step||a.chunk||(b.chunkSize=null),this._handle=new h(b),this._handle.streamer=this,this._config=b}this._handle=null,this._paused=!1,this._finished=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},b.call(this,a),this.parseChunk=function(a){if(this.isFirstChunk&&r(this._config.beforeFirstChunk)){var b=this._config.beforeFirstChunk(a);void 0!==b&&(a=b)}this.isFirstChunk=!1;var c=this._partialLine+a;this._partialLine="";var d=this._handle.parse(c,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var e=d.meta.cursor;this._finished||(this._partialLine=c.substring(e-this._baseIndex),this._baseIndex=e),d&&d.data&&(this._rowCount+=d.data.length);var f=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(v)t.postMessage({results:d,workerId:z.WORKER_ID,finished:f});else if(r(this._config.chunk)){if(this._config.chunk(d,this._handle),this._paused)return;d=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(d.data),this._completeResults.errors=this._completeResults.errors.concat(d.errors),this._completeResults.meta=d.meta),!f||!r(this._config.complete)||d&&d.meta.aborted||this._config.complete(this._completeResults,this._input),f||d&&d.meta.paused||this._nextChunk(),d}},this._sendError=function(a){r(this._config.error)?this._config.error(a):v&&this._config.error&&t.postMessage({workerId:z.WORKER_ID,error:a,finished:!1})}}function d(a){function b(a){var b=a.getResponseHeader("Content-Range");return null===b?-1:parseInt(b.substr(b.lastIndexOf("/")+1))}a=a||{},a.chunkSize||(a.chunkSize=z.RemoteChunkSize),c.call(this,a);var d;u?this._nextChunk=function(){this._readChunk(),this._chunkLoaded()}:this._nextChunk=function(){this._readChunk()},this.stream=function(a){this._input=a,this._nextChunk()},this._readChunk=function(){if(this._finished)return void this._chunkLoaded();if(d=new XMLHttpRequest,this._config.withCredentials&&(d.withCredentials=this._config.withCredentials),u||(d.onload=q(this._chunkLoaded,this),d.onerror=q(this._chunkError,this)),d.open("GET",this._input,!u),this._config.downloadRequestHeaders){var a=this._config.downloadRequestHeaders;for(var b in a)d.setRequestHeader(b,a[b])}if(this._config.chunkSize){var c=this._start+this._config.chunkSize-1;d.setRequestHeader("Range","bytes="+this._start+"-"+c),d.setRequestHeader("If-None-Match","webkit-no-cache")}try{d.send()}catch(a){this._chunkError(a.message)}u&&0===d.status?this._chunkError():this._start+=this._config.chunkSize},this._chunkLoaded=function(){if(4==d.readyState){if(d.status<200||d.status>=400)return void this._chunkError();this._finished=!this._config.chunkSize||this._start>b(d),this.parseChunk(d.responseText)}},this._chunkError=function(a){var b=d.statusText||a;this._sendError(b)}}function e(a){a=a||{},a.chunkSize||(a.chunkSize=z.LocalChunkSize),c.call(this,a);var b,d,e="undefined"!=typeof FileReader;this.stream=function(a){this._input=a,d=a.slice||a.webkitSlice||a.mozSlice,e?(b=new FileReader,b.onload=q(this._chunkLoaded,this),b.onerror=q(this._chunkError,this)):b=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(a.target.result)},this._chunkError=function(){this._sendError(b.error)}}function f(a){a=a||{},c.call(this,a);var b,d;this.stream=function(a){return b=a,d=a,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var a=this._config.chunkSize,b=a?d.substr(0,a):d;return d=a?d.substr(a):"",this._finished=!d,this.parseChunk(b)}}}function g(a){a=a||{},c.call(this,a);var b=[],d=!0;this.stream=function(a){this._input=a,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._nextChunk=function(){b.length?this.parseChunk(b.shift()):d=!0},this._streamData=q(function(a){try{b.push("string"==typeof a?a:a.toString(this._config.encoding)),d&&(d=!1,this.parseChunk(b.shift()))}catch(a){this._streamError(a)}},this),this._streamError=q(function(a){this._streamCleanUp(),this._sendError(a.message)},this),this._streamEnd=q(function(){this._streamCleanUp(),this._finished=!0,this._streamData("")},this),this._streamCleanUp=q(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function h(a){function b(){if(x&&o&&(l("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+z.DefaultDelimiter+"'"),o=!1),a.skipEmptyLines)for(var b=0;b=w.length?"__parsed_extra":w[d]),g=f(e,g),"__parsed_extra"===e?(c[e]=c[e]||[],c[e].push(g)):c[e]=g}x.data[b]=c,a.header&&(d>w.length?l("FieldMismatch","TooManyFields","Too many fields: expected "+w.length+" fields but parsed "+d,b):d1&&(l+=Math.abs(q-g),g=q):g=q}o.data.length>0&&(m/=o.data.length-n),("undefined"==typeof f||l1.99&&(f=l,e=k)}return a.delimiter=e,{successful:!!e,bestDelimiter:e}}function j(a){a=a.substr(0,1048576);var b=a.split("\r"),c=a.split("\n"),d=c.length>1&&c[0].length=b.length/2?"\r\n":"\r"}function k(a){var b=q.test(a);return b?parseFloat(a):a}function l(a,b,c,d){x.errors.push({type:a,code:b,message:c,row:d})}var m,n,o,q=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,s=this,t=0,u=!1,v=!1,w=[],x={data:[],errors:[],meta:{}};if(r(a.step)){var y=a.step;a.step=function(d){if(x=d,c())b();else{if(b(),0===x.data.length)return;t+=d.data.length,a.preview&&t>a.preview?n.abort():y(x,s)}}}this.parse=function(c,d,e){if(a.newline||(a.newline=j(c)),o=!1,a.delimiter)r(a.delimiter)&&(a.delimiter=a.delimiter(c),x.meta.delimiter=a.delimiter);else{var f=h(c,a.newline,a.skipEmptyLines);f.successful?a.delimiter=f.bestDelimiter:(o=!0,a.delimiter=z.DefaultDelimiter),x.meta.delimiter=a.delimiter}var g=p(a);return a.preview&&a.header&&g.preview++,m=c,n=new i(g),x=n.parse(m,d,e),b(),u?{meta:{paused:!0}}:x||{meta:{paused:!1}}},this.paused=function(){return u},this.pause=function(){u=!0,n.abort(),m=m.substr(n.getCharIndex())},this.resume=function(){u=!1,s.streamer.parseChunk(m)},this.aborted=function(){return v},this.abort=function(){v=!0,n.abort(),x.meta.aborted=!0,r(a.complete)&&a.complete(x),m=""}}function i(a){a=a||{};var b=a.delimiter,c=a.newline,d=a.comments,e=a.step,f=a.preview,g=a.fastMode,h=a.quoteChar||'"';if(("string"!=typeof b||z.BAD_DELIMITERS.indexOf(b)>-1)&&(b=","),d===b)throw"Comment character same as delimiter";d===!0?d="#":("string"!=typeof d||z.BAD_DELIMITERS.indexOf(d)>-1)&&(d=!1),"\n"!=c&&"\r"!=c&&"\r\n"!=c&&(c="\n");var i=0,j=!1;this.parse=function(a,k,l){function m(a){x.push(a),A=i}function n(b){return l?p():("undefined"==typeof b&&(b=a.substr(i)),z.push(b),i=s,m(z),w&&q(),p())}function o(b){i=b,m(z),z=[],E=a.indexOf(c,i)}function p(a){return{data:x,errors:y,meta:{delimiter:b,linebreak:c,aborted:j,truncated:!!a,cursor:A+(k||0)}}}function q(){e(p()),x=[],y=[]}if("string"!=typeof a)throw"Input must be a string";var s=a.length,t=b.length,u=c.length,v=d.length,w=r(e);i=0;var x=[],y=[],z=[],A=0;if(!a)return p();if(g||g!==!1&&a.indexOf(h)===-1){for(var B=a.split(c),C=0;C=f)return x=x.slice(0,f),p(!0)}}return p()}for(var D=a.indexOf(b,i),E=a.indexOf(c,i),F=new RegExp(h+h,"g");;)if(a[i]!==h)if(d&&0===z.length&&a.substr(i,v)===d){if(E===-1)return p();i=E+u,E=a.indexOf(c,i),D=a.indexOf(b,i)}else if(D!==-1&&(D=f)return p(!0)}else{var G=i;for(i++;;){var G=a.indexOf(h,G+1);if(G===-1)return l||y.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:x.length,index:i}),n();if(G===s-1){var H=a.substring(i,G).replace(F,h);return n(H)}if(a[G+1]!==h){if(a[G+1]===b){z.push(a.substring(i,G).replace(F,h)),i=G+1+t,D=a.indexOf(b,i),E=a.indexOf(c,i);break}if(a.substr(G+1,u)===c){if(z.push(a.substring(i,G).replace(F,h)),o(G+1+u),D=a.indexOf(b,i),w&&(q(),j))return p();if(f&&x.length>=f)return p(!0);break}y.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:x.length,index:i}),G++}else G++}}return n()},this.abort=function(){j=!0},this.getCharIndex=function(){return i}}function j(){var a=document.getElementsByTagName("script");return a.length?a[a.length-1].src:""}function k(){if(!z.WORKERS_SUPPORTED)return!1;if(!w&&null===z.SCRIPT_PATH)throw new Error("Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.");var a=z.SCRIPT_PATH||s;a+=(a.indexOf("?")!==-1?"&":"?")+"papaworker";var b=new t.Worker(a);return b.onmessage=l,b.id=y++,x[b.id]=b,b}function l(a){var b=a.data,c=x[b.workerId],d=!1;if(b.error)c.userError(b.error,b.file);else if(b.results&&b.results.data){var e=function(){d=!0,m(b.workerId,{data:[],errors:[],meta:{aborted:!0}})},f={abort:e,pause:n,resume:n};if(r(c.userStep)){for(var g=0;g Date: Thu, 8 Mar 2018 16:11:19 -0500 Subject: [PATCH 04/35] Update package-lock.json --- package-lock.json | 616 ++++------------------------------------------ package.json | 3 +- 2 files changed, 44 insertions(+), 575 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1b61b7b4..da6dc208 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,11 +33,6 @@ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", "dev": true }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -80,11 +75,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" - }, "babel-code-frame": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", @@ -99,17 +89,14 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base62": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz", - "integrity": "sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -155,15 +142,6 @@ "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", "dev": true }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "requires": { - "exit": "0.1.2", - "glob": "7.1.2" - } - }, "cli-width": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", @@ -182,45 +160,11 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - }, - "commoner": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", - "requires": { - "commander": "2.11.0", - "detective": "4.5.0", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.19", - "mkdirp": "0.5.1", - "private": "0.1.7", - "q": "1.5.0", - "recast": "0.11.23" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - } - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.0", @@ -233,14 +177,6 @@ "typedarray": "0.0.6" } }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "0.1.4" - } - }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -250,7 +186,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "d": { "version": "1.0.0", @@ -261,11 +198,6 @@ "es5-ext": "0.10.24" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", @@ -278,12 +210,8 @@ "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "del": { "version": "2.2.2", @@ -300,22 +228,6 @@ "rimraf": "2.6.1" } }, - "detective": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", - "requires": { - "acorn": "4.0.13", - "defined": "1.0.0" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } - } - }, "doctrine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", @@ -326,54 +238,6 @@ "isarray": "1.0.0" } }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", @@ -459,25 +323,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - } - } - }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -757,115 +602,12 @@ } } }, - "eslint-plugin-require": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-require/-/eslint-plugin-require-0.0.1.tgz", - "integrity": "sha1-/L/XYwbCEi19DYRzXPL71/fjmFk=" - }, "eslint-plugin-requirejs": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-requirejs/-/eslint-plugin-requirejs-3.1.1.tgz", "integrity": "sha1-qzYJ1kcvN+pgmVNkcjEAq93E6WM=", "dev": true }, - "esmangle": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz", - "integrity": "sha1-2bs3uPjq+/Tm1O1reqKVarvTxMI=", - "requires": { - "escodegen": "1.3.3", - "escope": "1.0.3", - "esprima": "1.1.1", - "esshorten": "1.1.1", - "estraverse": "1.5.1", - "esutils": "1.0.0", - "optionator": "0.3.0", - "source-map": "0.1.43" - }, - "dependencies": { - "escodegen": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", - "requires": { - "esprima": "1.1.1", - "estraverse": "1.5.1", - "esutils": "1.0.0", - "source-map": "0.1.43" - } - }, - "escope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz", - "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=", - "requires": { - "estraverse": "2.0.0" - }, - "dependencies": { - "estraverse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz", - "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE=" - } - } - }, - "esprima": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" - }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" - }, - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" - }, - "fast-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", - "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=" - }, - "levn": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", - "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "optionator": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz", - "integrity": "sha1-lxWotfXnWGz/BsgkngOc1zZNP1Q=", - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "1.0.7", - "levn": "0.2.5", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "0.0.3" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": "1.0.1" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - } - } - }, "espree": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", @@ -879,7 +621,8 @@ "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true }, "esquery": { "version": "1.0.0", @@ -900,47 +643,17 @@ "object-assign": "4.1.1" } }, - "esshorten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz", - "integrity": "sha1-F0+Wt8wmfkaHLYFOfbfCkL3/Yak=", - "requires": { - "escope": "1.0.3", - "estraverse": "4.1.1", - "esutils": "2.0.2" - }, - "dependencies": { - "escope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz", - "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=", - "requires": { - "estraverse": "2.0.0" - }, - "dependencies": { - "estraverse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz", - "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE=" - } - } - }, - "estraverse": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", - "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=" - } - } - }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "event-emitter": { "version": "0.3.5", @@ -952,11 +665,6 @@ "es5-ext": "0.10.24" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -966,7 +674,8 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "file-entry-cache": { "version": "2.0.0", @@ -1000,27 +709,11 @@ "write": "0.2.1" } }, - "forge": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/forge/-/forge-2.3.0.tgz", - "integrity": "sha1-2GnkPAe2lX4PoQI+Ye04GAKKV28=", - "requires": { - "fu": "0.1.0", - "jshintify": "0.1.0", - "mangleify": "0.1.0", - "reactify": "1.1.1", - "subarg": "1.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fu": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fu/-/fu-0.1.0.tgz", - "integrity": "sha1-lOAdtBfMw7hrSaPMA8MZv10qyzo=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "function-bind": { "version": "1.1.0", @@ -1047,6 +740,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -1079,27 +773,8 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "handsontable": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/handsontable/-/handsontable-0.34.1.tgz", - "integrity": "sha512-l53NOw9BRoSNcAZ8H+Zr0hPF5VYIHB8eOhunIjfXVOLWUumhYGpqH5rmcYqhD7tRDsVDVUroADkmKkFUASwicQ==", - "requires": { - "moment": "2.18.1", - "numbro": "1.11.0", - "pikaday": "1.5.1" - }, - "dependencies": { - "pikaday": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pikaday/-/pikaday-1.5.1.tgz", - "integrity": "sha1-CkhUm8GhTqHQjEQHTXYbwvK/z9M=", - "requires": { - "moment": "2.18.1" - } - } - } + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true }, "has": { "version": "1.0.1", @@ -1125,46 +800,6 @@ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, "ignore": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", @@ -1181,6 +816,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -1189,7 +825,8 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "interpret": { "version": "1.0.3", @@ -1285,47 +922,6 @@ "esprima": "4.0.0" } }, - "jshint": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", - "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", - "requires": { - "cli": "1.0.1", - "console-browserify": "1.1.0", - "exit": "0.1.2", - "htmlparser2": "3.8.3", - "lodash": "3.7.0", - "minimatch": "3.0.4", - "shelljs": "0.3.0", - "strip-json-comments": "1.0.4" - }, - "dependencies": { - "lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=" - }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=" - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" - } - } - }, - "jshintify": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/jshintify/-/jshintify-0.1.0.tgz", - "integrity": "sha1-i1GPMhzoIuvi0jrGvJF77C1J6yU=", - "requires": { - "jshint": "2.9.5", - "through": "2.3.8" - } - }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -1347,43 +943,11 @@ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", "dev": true }, - "jstransform": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-10.1.0.tgz", - "integrity": "sha1-tMSb9j8WLBCLA0g5moc3xxOwqDo=", - "requires": { - "base62": "0.1.1", - "esprima-fb": "13001.1001.0-dev-harmony-fb", - "source-map": "0.1.31" - }, - "dependencies": { - "esprima-fb": { - "version": "13001.1001.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-13001.1001.0-dev-harmony-fb.tgz", - "integrity": "sha1-YzrNtA2b1NuKHB1owGqUKVn60rA=" - }, - "source-map": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz", - "integrity": "sha1-n3BNDWnZ4TioG63267T94z0VHGE=", - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "ladda": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ladda/-/ladda-1.0.4.tgz", - "integrity": "sha512-wVeMDpGSI8iclffLRRtSJQBMIs50tjuHtryXuq4ZFPuGBuVRrL+kQdv7HF9GCG+BaqATTwsUoqJnVRdlyHzEow==", - "requires": { - "spin.js": "2.3.2" - } - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "requires": { "prelude-ls": "1.1.2", "type-check": "0.3.2" @@ -1431,21 +995,11 @@ "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", "dev": true }, - "mangleify": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/mangleify/-/mangleify-0.1.0.tgz", - "integrity": "sha1-xLlPuNJs5PpG+/XvURQSmy1tKDo=", - "requires": { - "escodegen": "1.9.0", - "esmangle": "1.0.1", - "esprima": "4.0.0", - "through": "2.3.8" - } - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -1453,21 +1007,18 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } }, - "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -1498,11 +1049,6 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, - "numbro": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/numbro/-/numbro-1.11.0.tgz", - "integrity": "sha1-OaoXs1i0aCrsjKDVdV81xdnOj54=" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -1513,6 +1059,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1.0.2" } @@ -1521,6 +1068,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, "requires": { "deep-is": "0.1.3", "fast-levenshtein": "2.0.6", @@ -1572,7 +1120,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -1601,14 +1150,6 @@ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, - "pikaday": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/pikaday/-/pikaday-1.6.1.tgz", - "integrity": "sha512-B+pxVcSGuzLblMe4dnhCF3dnI2zkyj5GAqanGX9cVcOk90fp2ULo1OZFUPRXQXUE5tmcimnk1tPOFs8tUHQetQ==", - "requires": { - "moment": "2.18.1" - } - }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -1636,12 +1177,8 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, "process-nextick-args": { "version": "1.0.7", @@ -1649,29 +1186,6 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, - "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=" - }, - "react-tools": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/react-tools/-/react-tools-0.13.3.tgz", - "integrity": "sha1-2mrH1Nd3elml6VHPRucv1La0Ciw=", - "requires": { - "commoner": "0.10.8", - "jstransform": "10.1.0" - } - }, - "reactify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/reactify/-/reactify-1.1.1.tgz", - "integrity": "sha1-qPEZWWJzwNS/savqDBTCYB6gO7o=", - "requires": { - "react-tools": "0.13.3", - "through": "2.3.8" - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -1747,24 +1261,6 @@ } } }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "requires": { - "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.7", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - } - } - }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -1837,11 +1333,6 @@ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", @@ -1863,11 +1354,6 @@ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, - "spin.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/spin.js/-/spin.js-2.3.2.tgz", - "integrity": "sha1-bKpW1SBnNFD9XPvGlx5tB3LDeho=" - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -1904,21 +1390,6 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "requires": { - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -1934,7 +1405,8 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, "tryit": { "version": "1.0.3", @@ -1946,6 +1418,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, "requires": { "prelude-ls": "1.1.2" } @@ -1984,12 +1457,14 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write": { "version": "0.2.1", @@ -2005,11 +1480,6 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true - }, - "zeroclipboard": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/zeroclipboard/-/zeroclipboard-2.3.0.tgz", - "integrity": "sha1-WS69gzpDCGiLBzlpfT2/mJACya8=" } } } diff --git a/package.json b/package.json index 4c8dd9e6..ddda118b 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,7 @@ "directories": { "test": "test" }, - "dependencies": { - }, + "dependencies": {}, "devDependencies": { "eslint": "^3.19.0", "eslint-config-airbnb-base": "^11.2.0", From d3fff630475e0d77815f9ccf502d1cd3499d287a Mon Sep 17 00:00:00 2001 From: lucyq Date: Thu, 17 May 2018 15:32:58 -0400 Subject: [PATCH 05/35] deleting table --- client/app/data/tables.js | 203 +------------------------------------- 1 file changed, 1 insertion(+), 202 deletions(-) diff --git a/client/app/data/tables.js b/client/app/data/tables.js index 0b4fec7e..a37c7140 100644 --- a/client/app/data/tables.js +++ b/client/app/data/tables.js @@ -4,207 +4,6 @@ if (typeof define !== 'function') { define([], function () { return { - tables: [ - { - "name": "Amount spent with MBEs", - "element": "pacesetter-measure-hot", - "hot_parameters": { - "rowHeaderWidth": 480, - "height": 230, - "colWidths": [190], - "stretchH": "last" - }, - "rows": [ - { - "key": "DollarAmtLocal", - "label": "Dollar Amount Spent with Local MBEs" - }, { - "key": "DollarAmtState", - "label": "Dollar Amount Spent with State MBEs" - }, { - "key": "DollarAmtNational", - "label": "Dollar Amount Spent with National MBEs" - } - ], - "cols": [ - [ - { - "label": "Value for FY17 in Thousands of Dollars", - "key": "value" - } - ] - ], - "types": [ - { - "range": { - "row": "0:2", - "col": "*" - }, - "type": "currency", - "min": 0, - "max_warning": 50000000, - "empty": false, - "validators": [ - "discrepancies" - ] - } - ], - "excel": [ - { - "sheet": "Pacesetters", - "start": "B7", - "end": "Q16", - "firstrow": "Dollar Amount Spent with Local MBEs" - } - ], - "tooltips": [ - { - "range": { - "row": "*", - "col": "*" - }, - "tooltip": { - "errorTitle": "Invalid Data Entry", - "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", - "warningTitle": "Warning: Data is too big", - "warning": "Are you sure this value is correct?" - } - } - ] - }, { - "name": "Addressable spend", - "element": "pacesetter-measure-hot-2", - "hot_parameters": { - "rowHeaderWidth": 480, - "height": 230, - "colWidths": [190], - "stretchH": "last" - }, - "rows": [ - { - "key": "TotalAmtLocal", - "label": "Total Dollar Amount Spent Procuring All Goods and Services Locally" - }, { - "key": "TotalAmtState", - "label": "Total Dollar Amount Spent Procuring All Goods and Services at the State Level" - }, { - "key": "TotalAmtNational", - "label": "Total Dollar Amount Spent Procuring All Goods and Services in the United States" - } - ], - "cols": [ - [ - { - "label": "Value for FY17 in Thousands of Dollars", - "key": "value" - } - ] - ], - "types": [ - { - "range": { - "row": "0:2", - "col": "*" - }, - "type": "currency", - "min": 0, - "max_warning": 50000000, - "empty": false, - "validators": [ - "discrepancies" - ] - } - ], - "excel": [ - { - "sheet": "Pacesetters", - "start": "B7", - "end": "Q16", - "firstrow": "Dollar Amount Spent with Local MBEs" - } - ], - "tooltips": [ - { - "range": { - "row": "*", - "col": "*" - }, - "tooltip": { - "errorTitle": "Invalid Data Entry", - "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", - "warningTitle": "Warning: Data is too big", - "warning": "Are you sure this value is correct?" - } - } - ] - }, { - "name": "Number of MBEs", - "element": "pacesetter-measure-hot-3", - "hot_parameters": { - "rowHeaderWidth": 480, - "height": 230, - "colWidths": [190], - "stretchH": "last" - }, - "rows": [ - { - "key": "NumContractedLocal", - "label": "Number of Local MBEs With Whom You Have Done Business" - }, { - "key": "NumContractedState", - "label": "Number of State MBEs With Whom You Have Done Business" - }, { - "key": "NumContractedNational", - "label": "Number of National MBEs With Whom You Have Done Business" - } - ], - "cols": [ - [ - { - "label": "Value for FY17", - "key": "value" - } - ] - ], - "types": [ - { - "range": { - "row": "0:2", - "col": "*" - }, - "type": "int", - "min": 0, - "max_warning": 50000, - "empty": false, - "validators": [ - "discrepancies" - ] - } - ], - "excel": [ - { - "sheet": "Pacesetters", - "start": "B7", - "end": "Q16", - "firstrow": "Dollar Amount Spent with Local MBEs" - } - ], - "tooltips": [ - { - "range": { - "row": "*", - "col": "*" - }, - "tooltip": { - "errorTitle": "Invalid Data Entry", - "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", - "warningTitle": "Warning: Data is too big", - "warning": "Are you sure this value is correct?" - } - } - ] - } - ] - + } }); From 8850d0dd58341864c039a2416b5485bb276ab351 Mon Sep 17 00:00:00 2001 From: lucyq Date: Fri, 18 May 2018 12:13:23 -0400 Subject: [PATCH 06/35] rendering questions dynamically --- client/app/data/tables.js | 1009 +++++++++++++++++++++++++++++++- client/app/views/clientView.js | 50 ++ client/index.html | 19 + 3 files changed, 1077 insertions(+), 1 deletion(-) diff --git a/client/app/data/tables.js b/client/app/data/tables.js index a37c7140..807fdf69 100644 --- a/client/app/data/tables.js +++ b/client/app/data/tables.js @@ -4,6 +4,1013 @@ if (typeof define !== 'function') { define([], function () { return { - + "tables": [ + { + "name": "Number Of Employees", + "element": "number-employees-hot", + "hot_parameters": { + "rowHeaderWidth": 200, + "height": 425 + }, + "rows": [ + { + "key": "Ex/Sen", + "label": "Executive/Senior Level
Officials and Managers" + }, + { + "key": "F/M", + "label": "First/Mid-Level Officials
and Managers" + }, + { + "key": "Profs", + "label": "Professionals" + }, + { + "key": "Techs", + "label": "Technicians" + }, + { + "key": "Sales", + "label": "Sales Workers" + }, + { + "key": "Adminis", + "label": "Administrative Support Workers" + }, + { + "key": "Craft", + "label": "Craft Workers" + }, + { + "key": "Operatives", + "label": "Operatives" + }, + { + "key": "Laborers", + "label": "Laborers and Helpers" + }, + { + "key": "Service", + "label": "Service Workers" + } + ], + "cols": [ + [ + { + "label": "Hispanic or Latinx", + "colspan": 2 + }, + { + "label": "White", + "colspan": 2 + }, + { + "label": "Black/African American", + "colspan": 2 + }, + { + "label": "Native Hawaiian or
Pacific Islander", + "colspan": 2 + }, + { + "label": "Asian", + "colspan": 2 + }, + { + "label": "American Indian/Alaska
Native", + "colspan": 2 + }, + { + "label": "Two or More Races
(Not Hispanic or Latinx)", + "colspan": 2 + }, + { + "label": "Unreported", + "colspan": 2 + } + ], + [ + { + "label": "Female", + "key": "hispF" + }, + { + "label": "Male", + "key": "hispM" + }, + { + "label": "Female", + "key": "whiteF" + }, + { + "label": "Male", + "key": "whiteM" + }, + { + "label": "Female", + "key": "afrF" + }, + { + "label": "Male", + "key": "afrM" + }, + { + "label": "Female", + "key": "hawaiiF" + }, + { + "label": "Male", + "key": "hawaiiM" + }, + { + "label": "Female", + "key": "asianF" + }, + { + "label": "Male", + "key": "asianM" + }, + { + "label": "Female", + "key": "indF" + }, + { + "label": "Male", + "key": "indM" + }, + { + "label": "Female", + "key": "twoF" + }, + { + "label": "Male", + "key": "twoM" + }, + { + "label": "Female", + "key": "unrF" + }, + { + "label": "Male", + "key": "unrM" + } + ] + ], + "types": [ + { + "range": { + "row": "*", + "col": "*" + }, + "type": "int", + "min": 0, + "max_warning": 10000, + "empty": false, + "validators": [ + "discrepancies" + ] + } + ], + "excel": [ + { + "sheet": "1.Number of Employees", + "start": "B7", + "end": "Q16", + "firstrow": "Executive/Senior Level Officials and Managers" + } + ], + "tooltips": [ + { + "range": { + "row": "*", + "col": "0-2-4-6-8-10-12-14" + }, + "tooltip": { + "//promptTitle": "Number of Female Employees", + "//prompt": "Please input the total number of female employees in this race/ethnicity and job category.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + }, + { + "range": { + "row": "*", + "col": "1-3-5-7-9-11-13-15" + }, + "tooltip": { + "//promptTitle": "Number of Male Employees", + "//prompt": "Please input the total number of male employees in this race/ethnicity and job category.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + } + ] + }, + { + "name": "Total Annual Compensation (Dollars)", + "element": "compensation-hot", + "hot_parameters": { + "rowHeaderWidth": 200, + "height": 425 + }, + "rows": [ + { + "key": "Ex/Sen", + "label": "Executive/Senior Level
Officials and Managers" + }, + { + "key": "F/M", + "label": "First/Mid-Level Officials
and Managers" + }, + { + "key": "Profs", + "label": "Professionals" + }, + { + "key": "Techs", + "label": "Technicians" + }, + { + "key": "Sales", + "label": "Sales Workers" + }, + { + "key": "Adminis", + "label": "Administrative Support Workers" + }, + { + "key": "Craft", + "label": "Craft Workers" + }, + { + "key": "Operatives", + "label": "Operatives" + }, + { + "key": "Laborers", + "label": "Laborers and Helpers" + }, + { + "key": "Service", + "label": "Service Workers" + } + ], + "cols": [ + [ + { + "label": "Hispanic or Latinx", + "colspan": 2 + }, + { + "label": "White", + "colspan": 2 + }, + { + "label": "Black/African American", + "colspan": 2 + }, + { + "label": "Native Hawaiian or
Pacific Islander", + "colspan": 2 + }, + { + "label": "Asian", + "colspan": 2 + }, + { + "label": "American Indian/Alaska
Native", + "colspan": 2 + }, + { + "label": "Two or More Races
(Not Hispanic or Latinx)", + "colspan": 2 + }, + { + "label": "Unreported", + "colspan": 2 + } + ], + [ + { + "label": "Female", + "key": "hispF" + }, + { + "label": "Male", + "key": "hispM" + }, + { + "label": "Female", + "key": "whiteF" + }, + { + "label": "Male", + "key": "whiteM" + }, + { + "label": "Female", + "key": "afrF" + }, + { + "label": "Male", + "key": "afrM" + }, + { + "label": "Female", + "key": "hawaiiF" + }, + { + "label": "Male", + "key": "hawaiiM" + }, + { + "label": "Female", + "key": "asianF" + }, + { + "label": "Male", + "key": "asianM" + }, + { + "label": "Female", + "key": "indF" + }, + { + "label": "Male", + "key": "indM" + }, + { + "label": "Female", + "key": "twoF" + }, + { + "label": "Male", + "key": "twoM" + }, + { + "label": "Female", + "key": "unrF" + }, + { + "label": "Male", + "key": "unrM" + } + ] + ], + "types": [ + { + "range": { + "row": "*", + "col": "*" + }, + "type": "currency", + "min": 0, + "empty": false, + "validators": [ + "discrepancies" + ] + } + ], + "excel": [ + { + "sheet": "2.Compensation", + "start": "B6", + "end": "Q15", + "firstrow": "Executive/Senior Level Officials and Managers" + } + ], + "tooltips": [ + { + "range": { + "row": "*", + "col": "0-2-4-6-8-10-12-14" + }, + "tooltip": { + "//promptTitle": "Total Annual Compensation", + "//prompt": "Please input the total annual compensation of female employees in this race/ethnicity and job category in dollars.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + }, + { + "range": { + "row": "*", + "col": "1-3-5-7-9-11-13-15" + }, + "tooltip": { + "//promptTitle": "Total Annual Compensation", + "//prompt": "Please input the total annual compensation of male employees in this race/ethnicity and job category in dollars.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + } + ] + }, + { + "name": "Total Annual Cash Performance Pay (Dollars)", + "element": "performance-pay-hot", + "hot_parameters": { + "rowHeaderWidth": 200, + "height": 425 + }, + "rows": [ + { + "key": "Ex/Sen", + "label": "Executive/Senior Level
Officials and Managers" + }, + { + "key": "F/M", + "label": "First/Mid-Level Officials
and Managers" + }, + { + "key": "Profs", + "label": "Professionals" + }, + { + "key": "Techs", + "label": "Technicians" + }, + { + "key": "Sales", + "label": "Sales Workers" + }, + { + "key": "Adminis", + "label": "Administrative Support Workers" + }, + { + "key": "Craft", + "label": "Craft Workers" + }, + { + "key": "Operatives", + "label": "Operatives" + }, + { + "key": "Laborers", + "label": "Laborers and Helpers" + }, + { + "key": "Service", + "label": "Service Workers" + } + ], + "cols": [ + [ + { + "label": "Hispanic or Latinx", + "colspan": 2 + }, + { + "label": "White", + "colspan": 2 + }, + { + "label": "Black/African American", + "colspan": 2 + }, + { + "label": "Native Hawaiian or
Pacific Islander", + "colspan": 2 + }, + { + "label": "Asian", + "colspan": 2 + }, + { + "label": "American Indian/Alaska
Native", + "colspan": 2 + }, + { + "label": "Two or More Races
(Not Hispanic or Latinx)", + "colspan": 2 + }, + { + "label": "Unreported", + "colspan": 2 + } + ], + [ + { + "label": "Female", + "key": "hispF" + }, + { + "label": "Male", + "key": "hispM" + }, + { + "label": "Female", + "key": "whiteF" + }, + { + "label": "Male", + "key": "whiteM" + }, + { + "label": "Female", + "key": "afrF" + }, + { + "label": "Male", + "key": "afrM" + }, + { + "label": "Female", + "key": "hawaiiF" + }, + { + "label": "Male", + "key": "hawaiiM" + }, + { + "label": "Female", + "key": "asianF" + }, + { + "label": "Male", + "key": "asianM" + }, + { + "label": "Female", + "key": "indF" + }, + { + "label": "Male", + "key": "indM" + }, + { + "label": "Female", + "key": "twoF" + }, + { + "label": "Male", + "key": "twoM" + }, + { + "label": "Female", + "key": "unrF" + }, + { + "label": "Male", + "key": "unrM" + } + ] + ], + "types": [ + { + "range": { + "row": "*", + "col": "*" + }, + "type": "currency", + "min": 0, + "empty": false, + "validators": [ + "discrepancies" + ] + } + ], + "excel": [ + { + "sheet": "3.Performance Pay", + "start": "B6", + "end": "Q15", + "firstrow": "Executive/Senior Level Officials and Managers" + } + ], + "tooltips": [ + { + "range": { + "row": "*", + "col": "0-2-4-6-8-10-12-14" + }, + "tooltip": { + "//promptTitle": "Total Annual Performance Pay", + "//prompt": "Please input the total annual cash performance pay of female employees in this race/ethnicity and job category in dollars.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + }, + { + "range": { + "row": "*", + "col": "1-3-5-7-9-11-13-15" + }, + "tooltip": { + "//promptTitle": "Total Annual Performance Pay", + "//prompt": "Please input the total annual cash performance pay of male employees in this race/ethnicity and job category in dollars.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + } + ] + }, + { + "name": "Total Length of Service (Months)", + "element": "service-length-hot", + "hot_parameters": { + "rowHeaderWidth": 200, + "height": 425 + }, + "rows": [ + { + "key": "Ex/Sen", + "label": "Executive/Senior Level
Officials and Managers" + }, + { + "key": "F/M", + "label": "First/Mid-Level Officials
and Managers" + }, + { + "key": "Profs", + "label": "Professionals" + }, + { + "key": "Techs", + "label": "Technicians" + }, + { + "key": "Sales", + "label": "Sales Workers" + }, + { + "key": "Adminis", + "label": "Administrative Support Workers" + }, + { + "key": "Craft", + "label": "Craft Workers" + }, + { + "key": "Operatives", + "label": "Operatives" + }, + { + "key": "Laborers", + "label": "Laborers and Helpers" + }, + { + "key": "Service", + "label": "Service Workers" + } + ], + "cols": [ + [ + { + "label": "Hispanic or Latinx", + "colspan": 2 + }, + { + "label": "White", + "colspan": 2 + }, + { + "label": "Black/African American", + "colspan": 2 + }, + { + "label": "Native Hawaiian or
Pacific Islander", + "colspan": 2 + }, + { + "label": "Asian", + "colspan": 2 + }, + { + "label": "American Indian/Alaska
Native", + "colspan": 2 + }, + { + "label": "Two or More Races
(Not Hispanic or Latinx)", + "colspan": 2 + }, + { + "label": "Unreported", + "colspan": 2 + } + ], + [ + { + "label": "Female", + "key": "hispF" + }, + { + "label": "Male", + "key": "hispM" + }, + { + "label": "Female", + "key": "whiteF" + }, + { + "label": "Male", + "key": "whiteM" + }, + { + "label": "Female", + "key": "afrF" + }, + { + "label": "Male", + "key": "afrM" + }, + { + "label": "Female", + "key": "hawaiiF" + }, + { + "label": "Male", + "key": "hawaiiM" + }, + { + "label": "Female", + "key": "asianF" + }, + { + "label": "Male", + "key": "asianM" + }, + { + "label": "Female", + "key": "indF" + }, + { + "label": "Male", + "key": "indM" + }, + { + "label": "Female", + "key": "twoF" + }, + { + "label": "Male", + "key": "twoM" + }, + { + "label": "Female", + "key": "unrF" + }, + { + "label": "Male", + "key": "unrM" + } + ] + ], + "types": [ + { + "range": { + "row": "*", + "col": "*" + }, + "type": "int", + "min": 0, + "empty": false, + "validators": [ + "discrepancies" + ] + } + ], + "excel": [ + { + "sheet": "4.Tenure", + "start": "B6", + "end": "Q15", + "firstrow": "Executive/Senior Level Officials and Managers" + } + ], + "tooltips": [ + { + "range": { + "row": "*", + "col": "0-2-4-6-8-10-12-14" + }, + "tooltip": { + "//promptTitle": "Total Length of Service", + "//prompt": "Please input the total length of service of female employees in this race/ethnicity and job category in months.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + }, + { + "range": { + "row": "*", + "col": "1-3-5-7-9-11-13-15" + }, + "tooltip": { + "//promptTitle": "Total Length of Service", + "//prompt": "Please input the total length of service of male employees in this race/ethnicity and job category in months.", + "errorTitle": "Invalid Data Entry", + "error": "Please do not input any text or leave any cells blank. If the value is zero, please input zero.", + "warningTitle": "Warning: Data is too big", + "warning": "Are you sure this value is correct?" + } + } + ] + }, + { + "name": "Totals Check", + "element": "totals-hot", + "submit": false, + "hot_parameters": { + "rowHeaderWidth": 100 + }, + "rows": [ + { + "label": "Total" + } + ], + "cols": [ + [ + { + "label": "Total Number of Employees", + "colspan": 3 + } + ], + [ + { + "label": "Female", + "key": "" + }, + { + "label": "Male", + "key": "" + }, + { + "label": "All", + "key": "" + } + ] + ], + "types": [ + { + "range": { + "row": "*", + "col": "*" + }, + "type": "int", + "read_only": true + } + ] + } + ], + "survey": { + "header": "Answer Additional Questions", + "directions": "We have included these questions to get instant feedback as to how this process went in order to improve the process in future years. Please know that the answers to these questions will be anonymous, and they will be considered separately from the encrypted and aggregated data above.", + "questions": [ + { + "question_text": "Which department are you in?", + "input_type": "radio", + "inputs": [ + { + "label": "Human Resources (e.g. HR Manager, HRIS Manager, Compensation Manager, Talent & Development)", + "value": "1" + }, + { + "label": "Operations (e.g. Director of Operations)", + "value": "2" + }, + { + "label": "Diversity (e.g. Chief Diversity Officer)", + "value": "3" + }, + { + "label": "Upper Management (e.g. COO, CEO, Executive Director)", + "value": "4" + }, + { + "label": "Human Resources (e.g. HR Manager, HRIS Manager, Compensation Manager, Talent & Development)", + "value": "5" + } + ] + }, + { + "question_text": "What kind of HRIS or organizational system does your company/organization use?", + "input_type": "radio", + "inputs": [ + { + "label": "Large-scale traditional HRIS/HRMS software (e.g. ADP, Workday, PeopleSoft, etc.)", + "value": "1" + }, + { + "label": "Microsoft Office or similar (e.g. Excel, Microsoft Word, Google Docs)", + "value": "2" + }, + { + "label": "Other", + "value": "3" + } + ] + }, + { + "question_text": "How easy was it to understand what data was required given the template and instructions?", + "input_type": "radio", + "inputs": [ + { + "label": "Extremely easy", + "value": "1" + }, + { + "label": "Moderately easy", + "value": "2" + }, + { + "label": "Slightly easy", + "value": "3" + }, + { + "label": "Neither easy nor difficult", + "value": "4" + }, + { + "label": "Slightly difficult", + "value": "5" + }, + { + "label": "Moderately difficult", + "value": "6" + }, + { + "label": "Extremely difficult", + "value": "7" + } + ] + }, + { + "question_text": "How easy was it to prepare the data for submission given your organizational system?", + "input_type": "radio", + "inputs": [ + { + "label": "Extremely easy", + "value": "1" + }, + { + "label": "Moderately easy", + "value": "2" + }, + { + "label": "Slightly easy", + "value": "3" + }, + { + "label": "Neither easy nor difficult", + "value": "4" + }, + { + "label": "Slightly difficult", + "value": "5" + }, + { + "label": "Moderately difficult", + "value": "6" + }, + { + "label": "Extremely difficult", + "value": "7" + } + ] + }, + { + "question_text": "How long did it take to prepare the data for submission given your organizational system?", + "input_type": "radio", + "inputs": [ + { + "label": "Less than 1 business day", + "value": "1" + }, + { + "label": "1-3 business days", + "value": "2" + }, + { + "label": "4-7 business days", + "value": "3" + }, + { + "label": "7-10 business days", + "value": "4" + }, + { + "label": "Greater than 10 business days", + "value": "5" + } + ] + } + ] + } } }); diff --git a/client/app/views/clientView.js b/client/app/views/clientView.js index cb861ed1..3457f777 100644 --- a/client/app/views/clientView.js +++ b/client/app/views/clientView.js @@ -1,10 +1,60 @@ define(['jquery', 'controllers/clientController', 'controllers/tableController', 'helper/drop_sheet', 'spin', 'Ladda', 'ResizeSensor', 'alertify', 'table_template', 'bootstrap'], function ($, clientController, tableController, DropSheet, Spinner, Ladda, ResizeSensor, alertify, table_template) { + function createQuestionText(text) { + var p = document.createElement('p'); + p.classList.add('question-text'); + p.classList.add('help-block') + p.innerHTML = text; + return p; + } + + function createQuestionElements(question, form) { + + var input_type = question.input_type; + + for (var i = 0; i < question.inputs.length; i++) { + var div = document.createElement('div'); + div.classList.add(input_type); + + + var label = $('