grnsight 5.1.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.travis.yml +2 -0
- package/README.md +2 -2
- package/database/README.md +1 -0
- package/database/network-database/README.md +44 -0
- package/database/network-database/schema.sql +24 -0
- package/database/network-database/scripts/filter_genes.py +76 -0
- package/database/network-database/scripts/generate_network.py +199 -0
- package/database/network-database/scripts/generate_sgd_network_from_yeastract_network.py +120 -0
- package/database/network-database/scripts/loader.py +78 -0
- package/package.json +12 -12
- package/server/app.js +3 -1
- package/server/controllers/custom-workbook-controller.js +66 -0
- package/server/controllers/expression-database-controller.js +19 -0
- package/server/controllers/network-database-controller.js +18 -0
- package/server/{controllers/database-controller.js → dals/expression-dal.js} +27 -34
- package/server/dals/network-dal.js +96 -0
- package/test/api-tests.js +2 -5
- package/web-client/public/gene/api.js +1 -1
- package/web-client/public/js/api/grnsight-api.js +124 -0
- package/web-client/public/js/constants.js +7 -4
- package/web-client/public/js/createNetwork.js +195 -0
- package/web-client/public/js/grnsight.js +2 -0
- package/web-client/public/js/grnsight.min.js +33 -9
- package/web-client/public/js/grnstate.js +2 -1
- package/web-client/public/js/setup-load-and-import-handlers.js +32 -12
- package/web-client/public/js/update-app.js +38 -92
- package/web-client/public/js/upload.js +12 -8
- package/web-client/public/stylesheets/grnsight.styl +151 -3
- package/web-client/views/components/demo.pug +10 -0
- package/web-client/views/info.pug +1 -1
- package/web-client/views/upload.pug +125 -132
|
@@ -2213,15 +2213,39 @@ eval("var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\tr
|
|
|
2213
2213
|
|
|
2214
2214
|
/***/ }),
|
|
2215
2215
|
|
|
2216
|
+
/***/ "./web-client/public/js/api/grnsight-api.js":
|
|
2217
|
+
/*!**************************************************!*\
|
|
2218
|
+
!*** ./web-client/public/js/api/grnsight-api.js ***!
|
|
2219
|
+
\**************************************************/
|
|
2220
|
+
/*! exports provided: queryExpressionDatabase, queryNetworkDatabase, uploadCustomWorkbook */
|
|
2221
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2222
|
+
|
|
2223
|
+
"use strict";
|
|
2224
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"queryExpressionDatabase\", function() { return queryExpressionDatabase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"queryNetworkDatabase\", function() { return queryNetworkDatabase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uploadCustomWorkbook\", function() { return uploadCustomWorkbook; });\n/* harmony import */ var _setup_load_and_import_handlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../setup-load-and-import-handlers */ \"./web-client/public/js/setup-load-and-import-handlers.js\");\n\n\n// Expression DB Access Functions\nconst buildExpressionTimepointsString = function (selection) {\n let timepoints = \"\";\n selection.timepoints.forEach(x => timepoints += (x + \",\"));\n return timepoints.substring(0, timepoints.length - 1);\n};\nconst buildExpressionGeneQuery = function (workbookGenes) {\n let genes = \"\";\n workbookGenes.forEach(x => genes += (x.name + \",\"));\n return genes.substring(0, genes.length - 1);\n};\n\nconst buildExpressionURL = function (selection, genes) {\n const baseQuery = `expressiondb?dataset=${selection.dataset}&genes=${buildExpressionGeneQuery(genes)}`;\n return selection.timepoints ?\n `${baseQuery}&timepoints=${buildExpressionTimepointsString(selection)}` :\n baseQuery;\n};\n\nconst responseExpressionData = (formData, queryURL) => {\n return new Promise(function (resolve) {\n const uploadRoute = queryURL;\n const fullUrl = [ $(\".service-root\").val(), uploadRoute ].join(\"/\");\n (formData ?\n $.ajax({\n url: fullUrl,\n data: formData,\n processData: false,\n contentType: false,\n type: \"GET\",\n crossDomain: true\n }) :\n $.getJSON(fullUrl)\n ).done((expressionData) => {\n resolve(expressionData);\n }).error(console.log(\"Error in accessing expression database. Result may just be loading.\"));\n });\n};\n\nconst queryExpressionDatabase = (query) => {\n let queryURL = buildExpressionURL({dataset: query.dataset}, query.genes);\n return responseExpressionData(\"\", queryURL);\n};\n\n// Network DB Access Functions\n\nconst buildNetworkGenesQuery = (genes) => {\n let result = \"\";\n for (let gene in genes) {\n result += `${gene},`;\n }\n return result.substring(0, result.length - 1);\n};\n\nconst buildNetworkURL = function (queryType, queryInfo) {\n let baseQuery = `networkdb?type=${queryType}`;\n if (queryInfo !== null) {\n for (let header in queryInfo) {\n if (header === \"genes\") {\n baseQuery += `&${header}=${buildNetworkGenesQuery(queryInfo[header])}`;\n } else {\n baseQuery += `&${header}=${queryInfo[header]}`;\n }\n }\n }\n return baseQuery;\n};\n\nconst responseNetworkData = (formData, queryURL) => {\n return new Promise(function (resolve) {\n const uploadRoute = queryURL;\n const fullUrl = [ $(\".service-root\").val(), uploadRoute ].join(\"/\");\n (formData ?\n $.ajax({\n url: fullUrl,\n data: formData,\n processData: false,\n contentType: false,\n type: \"GET\",\n crossDomain: true\n }) :\n $.getJSON(fullUrl)\n ).done((networkData) => {\n resolve(networkData);\n }).error(console.log(\"Error in accessing network database. Result may just be loading.\"));\n });\n};\n\nconst queryNetworkDatabase = (query) => {\n let queryURL = buildNetworkURL(query.type, query.info);\n return responseNetworkData(\"\", queryURL);\n};\n\n// Upload Custom Workbook Functions\nconst buildCustomWorkbookURL = (name, genes, links) => {\n let baseQuery = `upload-custom-workbook?name=${name}`;\n let genesString = \"\";\n let linksString = \"\";\n let genesByIndex = {};\n let i = 0;\n for (let gene in genes) {\n genesString += `${genes[gene]},`;\n genesByIndex[gene] = i;\n i++;\n }\n for (let regulator in links) {\n for (let target of links[regulator]) {\n linksString += `${genesByIndex[regulator]}->${genesByIndex[target]},`;\n }\n }\n baseQuery += `&genes=${genesString.substring(0, genesString.length - 1)}`;\n baseQuery += `&links=${linksString.substring(0, linksString.length - 1)}`;\n return baseQuery;\n};\n\nconst uploadCustomWorkbook = (workbook, grnState) => {\n let queryURL = buildCustomWorkbookURL(workbook.name, workbook.genes, workbook.links);\n return Object(_setup_load_and_import_handlers__WEBPACK_IMPORTED_MODULE_0__[\"responseCustomWorkbookData\"])(grnState, queryURL, workbook.name);\n};\n\n\n\n\n//# sourceURL=webpack:///./web-client/public/js/api/grnsight-api.js?");
|
|
2225
|
+
|
|
2226
|
+
/***/ }),
|
|
2227
|
+
|
|
2216
2228
|
/***/ "./web-client/public/js/constants.js":
|
|
2217
2229
|
/*!*******************************************!*\
|
|
2218
2230
|
!*** ./web-client/public/js/constants.js ***!
|
|
2219
2231
|
\*******************************************/
|
|
2220
|
-
/*! exports provided: HOST_SITE, GREY_EDGES_DASHED_MENU, GREY_EDGES_DASHED_SIDEBAR, UNWEIGHTED_DEMO_ID, UNWEIGHTED_DEMO_PATH, UNWEIGHTED_DEMO_NAME, WEIGHTED_DEMO_ID, WEIGHTED_DEMO_PATH, WEIGHTED_DEMO_NAME, SCHADE_INPUT_ID, SCHADE_INPUT_PATH, SCHADE_INPUT_NAME, SCHADE_OUTPUT_ID, SCHADE_OUTPUT_PATH, SCHADE_OUTPUT_NAME, EXPORT_TO_EXCEL, EXPORT_TO_UNWEIGHTED_SIF, EXPORT_TO_WEIGHTED_SIF, EXPORT_TO_UNWEIGHTED_GML, EXPORT_TO_WEIGHTED_GML, EXPORT_TO_PNG, EXPORT_TO_SVG, EXPORT_TO_PDF, EXPORT_WEIGHTED_CLASS, DEMO_INFORMATION, MIN_EDGE_WEIGHT_NORMALIZATION, MAX_EDGE_WEIGHT_NORMALIZATION, DEFAULT_ZOOM_VALUE, GREY_EDGE_THRESHOLD_MENU, GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR, GREY_EDGE_THRESHOLD_TEXT_SIDEBAR, SET_NORMALIZATION_MENU, SET_NORMALIZATION_SIDEBAR, SET_NORMALIZATION_SIDEBAR_VALUE, RESET_NORMALIZATION_MENU, RESET_NORMALIZATION_SIDEBAR, WEIGHTS_SHOW_MOUSE_OVER_MENU, WEIGHTS_SHOW_ALWAYS_MENU, WEIGHTS_HIDE_MENU, WEIGHTS_SHOW_MOUSE_OVER_SIDE, WEIGHTS_SHOW_ALWAYS_SIDE, WEIGHTS_HIDE_SIDE, WEIGHTS_SHOW_MOUSE_OVER_CLASS, WEIGHTS_SHOW_ALWAYS_CLASS, WEIGHTS_HIDE_CLASS, SHOW_WEIGHTS_MOUSEOVER, SHOW_ALL_WEIGHTS, HIDE_ALL_WEIGHTS, COLOR_EDGES, ACTIVE_COLOR_OPTION, COLOR_EDGES_MENU, COLOR_EDGES_SIDEBAR, GRAVITY_LENGTH_WITHOUT_ZERO, LOCK_SLIDERS_CLASS, LOCK_SLIDERS_BUTTON, LOCK_SLIDERS_MENU, RESET_SLIDERS_CLASS, RESET_SLIDERS_SIDEBAR, RESET_SLIDERS_MENU, UNDO_SLIDERS_RESET_CLASS, UNDO_SLIDERS_RESET_ID, UNDO_SLIDERS_RESET_MENU, UNDO_SLIDERS_RESET_SIDEBAR, LINK_DIST_CLASS, LINK_DIST_SLIDER_SIDEBAR, LINK_DIST_VALUE, LINK_DIST_MENU, LINK_DIST_DEFAULT_VALUE, CHARGE_CLASS, CHARGE_SLIDER_SIDEBAR, CHARGE_VALUE, CHARGE_MENU, CHARGE_DEFAULT_VALUE, GRID_LAYOUT, FORCE_GRAPH, FORCE_GRAPH_BUTTON, GRID_LAYOUT_BUTTON, FORCE_GRAPH_MENU, GRID_LAYOUT_MENU, MINIMUM_MAX_LOG_FOLD_CHANGE, MAXIMUM_MAX_LOG_FOLD_CHANGE, DEFAULT_MAX_LOG_FOLD_CHANGE, MAX_NUM_CHARACTERS_DROPDOWN, LAYOUT_SIDEBAR_PANEL, EDGE_WEIGHT_MENU_CLASS, EDGE_WEIGHT_SIDEBAR, EDGE_WEIGHT_SIDEBAR_HEADER_LINK, EXPRESSION_DB_MENU, EXPRESSION_DB_MENU_HEADER_LINK, EXPRESSION_DB_SIDEBAR_PANEL, EXPRESSION_DB_LOADER, EXPRESSION_DB_LOADER_TEXT, DATA_SET_SELECT, NODE_COLORING_MENU, NODE_COLORING_MENU_CLASS, NODE_COLORING_SIDEBAR_PANEL, NODE_COLORING_SIDEBAR_HEADER_LINK, NODE_COLORING_SIDEBAR_BODY, DATA_SIDEBAR_BODY, NODE_COLORING_SIDEBAR_HEADER, NODE_COLORING_TOGGLE_SIDEBAR, AVG_REPLICATE_VALS_BOTTOM_SIDEBAR, AVG_REPLICATE_VALS_TOP_SIDEBAR, AVG_REPLICATE_VALS_TOP_MENU, AVG_REPLICATE_VALS_BOTTOM_MENU, NODE_COLORING_TOGGLE_MENU, NODE_COLORING_TOGGLE_CLASS, LOG_FOLD_CHANGE_MAX_VALUE_CLASS, LOG_FOLD_CHANGE_MAX_VALUE_HEADER, LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT, LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON, LOG_FOLD_CHANGE_MAX_VALUE_MENU, ENDS_IN_EXPRESSION_REGEXP, TOP_DATASET_SELECTION_MENU, TOP_DATASET_SELECTION_SIDEBAR, BOTTOM_DATASET_SELECTION_MENU, BOTTOM_DATASET_SELECTION_SIDEBAR, SPECIES_IDENTIFIED_NAME, SPECIES_DISPLAY, SPECIES_BUTTON_YEAST, SPECIES_BUTTON_HUMAN, SPECIES_BUTTON_FLY, SPECIES_BUTTON_NEMATODE, SPECIES_BUTTON_MOUSE, SPECIES_BUTTON_CRESS, NODE_COLORING_USING_EXPRESSION_DATA, ZOOM_CONTROL, ZOOM_DISPLAY_MAXIMUM_SELECTOR, ZOOM_DISPLAY_MAXIMUM_VALUE, ZOOM_DISPLAY_MINIMUM_SELECTOR, ZOOM_DISPLAY_MINIMUM_VALUE, ZOOM_DISPLAY_MIDDLE, ZOOM_ADAPTIVE_MAX_SCALE, ZOOM_SLIDER, ZOOM_INPUT, ZOOM_PERCENT, VIEWPORT_INIT, VIEWPORT_FIT, VIEWPORT_S, VIEWPORT_M, VIEWPORT_L, VIEWPORT_SIZE_S_DROPDOWN, VIEWPORT_SIZE_M_DROPDOWN, VIEWPORT_SIZE_L_DROPDOWN, VIEWPORT_SIZE_FIT_DROPDOWN, VIEWPORT_SIZE_S_SIDEBAR, VIEWPORT_SIZE_M_SIDEBAR, VIEWPORT_SIZE_L_SIDEBAR, VIEWPORT_SIZE_FIT_SIDEBAR, VIEWPORT_OPTION_CLASS, VIEWPORT_OPTION_CLASS_SIDEBAR */
|
|
2232
|
+
/*! exports provided: HOST_SITE, FILE_NAME, GREY_EDGES_DASHED_MENU, GREY_EDGES_DASHED_SIDEBAR, CREATE_NETWORK_CLASS, CREATE_NETWORK_MODAL, UNWEIGHTED_DEMO_ID, UNWEIGHTED_DEMO_PATH, UNWEIGHTED_DEMO_NAME, WEIGHTED_DEMO_ID, WEIGHTED_DEMO_PATH, WEIGHTED_DEMO_NAME, SCHADE_INPUT_ID, SCHADE_INPUT_PATH, SCHADE_INPUT_NAME, SCHADE_OUTPUT_ID, SCHADE_OUTPUT_PATH, SCHADE_OUTPUT_NAME, EXPORT_TO_EXCEL, EXPORT_TO_UNWEIGHTED_SIF, EXPORT_TO_WEIGHTED_SIF, EXPORT_TO_UNWEIGHTED_GML, EXPORT_TO_WEIGHTED_GML, EXPORT_TO_PNG, EXPORT_TO_SVG, EXPORT_TO_PDF, EXPORT_WEIGHTED_CLASS, EXPRESSION_SOURCE, DEMO_INFORMATION, MIN_EDGE_WEIGHT_NORMALIZATION, MAX_EDGE_WEIGHT_NORMALIZATION, DEFAULT_ZOOM_VALUE, GREY_EDGE_THRESHOLD_MENU, GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR, GREY_EDGE_THRESHOLD_TEXT_SIDEBAR, SET_NORMALIZATION_MENU, SET_NORMALIZATION_SIDEBAR, SET_NORMALIZATION_SIDEBAR_VALUE, RESET_NORMALIZATION_MENU, RESET_NORMALIZATION_SIDEBAR, WEIGHTS_SHOW_MOUSE_OVER_MENU, WEIGHTS_SHOW_ALWAYS_MENU, WEIGHTS_HIDE_MENU, WEIGHTS_SHOW_MOUSE_OVER_SIDE, WEIGHTS_SHOW_ALWAYS_SIDE, WEIGHTS_HIDE_SIDE, WEIGHTS_SHOW_MOUSE_OVER_CLASS, WEIGHTS_SHOW_ALWAYS_CLASS, WEIGHTS_HIDE_CLASS, SHOW_WEIGHTS_MOUSEOVER, SHOW_ALL_WEIGHTS, HIDE_ALL_WEIGHTS, COLOR_EDGES, ACTIVE_COLOR_OPTION, COLOR_EDGES_MENU, COLOR_EDGES_SIDEBAR, GRAVITY_LENGTH_WITHOUT_ZERO, LOCK_SLIDERS_CLASS, LOCK_SLIDERS_BUTTON, LOCK_SLIDERS_MENU, RESET_SLIDERS_CLASS, RESET_SLIDERS_SIDEBAR, RESET_SLIDERS_MENU, UNDO_SLIDERS_RESET_CLASS, UNDO_SLIDERS_RESET_ID, UNDO_SLIDERS_RESET_MENU, UNDO_SLIDERS_RESET_SIDEBAR, LINK_DIST_CLASS, LINK_DIST_SLIDER_SIDEBAR, LINK_DIST_VALUE, LINK_DIST_MENU, LINK_DIST_DEFAULT_VALUE, CHARGE_CLASS, CHARGE_SLIDER_SIDEBAR, CHARGE_VALUE, CHARGE_MENU, CHARGE_DEFAULT_VALUE, GRID_LAYOUT, FORCE_GRAPH, FORCE_GRAPH_BUTTON, GRID_LAYOUT_BUTTON, FORCE_GRAPH_MENU, GRID_LAYOUT_MENU, MINIMUM_MAX_LOG_FOLD_CHANGE, MAXIMUM_MAX_LOG_FOLD_CHANGE, DEFAULT_MAX_LOG_FOLD_CHANGE, MAX_NUM_CHARACTERS_DROPDOWN, LAYOUT_SIDEBAR_PANEL, EDGE_WEIGHT_MENU_CLASS, EDGE_WEIGHT_SIDEBAR, EDGE_WEIGHT_SIDEBAR_HEADER_LINK, EXPRESSION_DB_MENU, EXPRESSION_DB_MENU_HEADER_LINK, EXPRESSION_DB_SIDEBAR_PANEL, EXPRESSION_DB_LOADER, EXPRESSION_DB_LOADER_TEXT, DATA_SET_SELECT, NODE_COLORING_MENU, NODE_COLORING_MENU_CLASS, NODE_COLORING_SIDEBAR_PANEL, NODE_COLORING_SIDEBAR_HEADER_LINK, NODE_COLORING_SIDEBAR_BODY, DATA_SIDEBAR_BODY, NODE_COLORING_SIDEBAR_HEADER, NODE_COLORING_TOGGLE_SIDEBAR, AVG_REPLICATE_VALS_BOTTOM_SIDEBAR, AVG_REPLICATE_VALS_TOP_SIDEBAR, AVG_REPLICATE_VALS_TOP_MENU, AVG_REPLICATE_VALS_BOTTOM_MENU, NODE_COLORING_TOGGLE_MENU, NODE_COLORING_TOGGLE_CLASS, LOG_FOLD_CHANGE_MAX_VALUE_CLASS, LOG_FOLD_CHANGE_MAX_VALUE_HEADER, LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT, LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON, LOG_FOLD_CHANGE_MAX_VALUE_MENU, ENDS_IN_EXPRESSION_REGEXP, TOP_DATASET_SELECTION_MENU, TOP_DATASET_SELECTION_SIDEBAR, BOTTOM_DATASET_SELECTION_MENU, BOTTOM_DATASET_SELECTION_SIDEBAR, SPECIES_IDENTIFIED_NAME, SPECIES_DISPLAY, SPECIES_BUTTON_YEAST, SPECIES_BUTTON_HUMAN, SPECIES_BUTTON_FLY, SPECIES_BUTTON_NEMATODE, SPECIES_BUTTON_MOUSE, SPECIES_BUTTON_CRESS, NODE_COLORING_USING_EXPRESSION_DATA, ZOOM_CONTROL, ZOOM_DISPLAY_MAXIMUM_SELECTOR, ZOOM_DISPLAY_MAXIMUM_VALUE, ZOOM_DISPLAY_MINIMUM_SELECTOR, ZOOM_DISPLAY_MINIMUM_VALUE, ZOOM_DISPLAY_MIDDLE, ZOOM_ADAPTIVE_MAX_SCALE, ZOOM_SLIDER, ZOOM_INPUT, ZOOM_PERCENT, VIEWPORT_INIT, VIEWPORT_FIT, VIEWPORT_S, VIEWPORT_M, VIEWPORT_L, VIEWPORT_SIZE_S_DROPDOWN, VIEWPORT_SIZE_M_DROPDOWN, VIEWPORT_SIZE_L_DROPDOWN, VIEWPORT_SIZE_FIT_DROPDOWN, VIEWPORT_SIZE_S_SIDEBAR, VIEWPORT_SIZE_M_SIDEBAR, VIEWPORT_SIZE_L_SIDEBAR, VIEWPORT_SIZE_FIT_SIDEBAR, VIEWPORT_OPTION_CLASS, VIEWPORT_OPTION_CLASS_SIDEBAR */
|
|
2233
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2234
|
+
|
|
2235
|
+
"use strict";
|
|
2236
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HOST_SITE\", function() { return HOST_SITE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FILE_NAME\", function() { return FILE_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGES_DASHED_MENU\", function() { return GREY_EDGES_DASHED_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGES_DASHED_SIDEBAR\", function() { return GREY_EDGES_DASHED_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CREATE_NETWORK_CLASS\", function() { return CREATE_NETWORK_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CREATE_NETWORK_MODAL\", function() { return CREATE_NETWORK_MODAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_ID\", function() { return UNWEIGHTED_DEMO_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_PATH\", function() { return UNWEIGHTED_DEMO_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_NAME\", function() { return UNWEIGHTED_DEMO_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_ID\", function() { return WEIGHTED_DEMO_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_PATH\", function() { return WEIGHTED_DEMO_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_NAME\", function() { return WEIGHTED_DEMO_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_ID\", function() { return SCHADE_INPUT_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_PATH\", function() { return SCHADE_INPUT_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_NAME\", function() { return SCHADE_INPUT_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_ID\", function() { return SCHADE_OUTPUT_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_PATH\", function() { return SCHADE_OUTPUT_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_NAME\", function() { return SCHADE_OUTPUT_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_EXCEL\", function() { return EXPORT_TO_EXCEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_UNWEIGHTED_SIF\", function() { return EXPORT_TO_UNWEIGHTED_SIF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_WEIGHTED_SIF\", function() { return EXPORT_TO_WEIGHTED_SIF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_UNWEIGHTED_GML\", function() { return EXPORT_TO_UNWEIGHTED_GML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_WEIGHTED_GML\", function() { return EXPORT_TO_WEIGHTED_GML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_PNG\", function() { return EXPORT_TO_PNG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_SVG\", function() { return EXPORT_TO_SVG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_PDF\", function() { return EXPORT_TO_PDF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_WEIGHTED_CLASS\", function() { return EXPORT_WEIGHTED_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_SOURCE\", function() { return EXPRESSION_SOURCE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEMO_INFORMATION\", function() { return DEMO_INFORMATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MIN_EDGE_WEIGHT_NORMALIZATION\", function() { return MIN_EDGE_WEIGHT_NORMALIZATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_EDGE_WEIGHT_NORMALIZATION\", function() { return MAX_EDGE_WEIGHT_NORMALIZATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_ZOOM_VALUE\", function() { return DEFAULT_ZOOM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_MENU\", function() { return GREY_EDGE_THRESHOLD_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR\", function() { return GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_TEXT_SIDEBAR\", function() { return GREY_EDGE_THRESHOLD_TEXT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_MENU\", function() { return SET_NORMALIZATION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_SIDEBAR\", function() { return SET_NORMALIZATION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_SIDEBAR_VALUE\", function() { return SET_NORMALIZATION_SIDEBAR_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_NORMALIZATION_MENU\", function() { return RESET_NORMALIZATION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_NORMALIZATION_SIDEBAR\", function() { return RESET_NORMALIZATION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_MENU\", function() { return WEIGHTS_SHOW_MOUSE_OVER_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_MENU\", function() { return WEIGHTS_SHOW_ALWAYS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_MENU\", function() { return WEIGHTS_HIDE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_SIDE\", function() { return WEIGHTS_SHOW_MOUSE_OVER_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_SIDE\", function() { return WEIGHTS_SHOW_ALWAYS_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_SIDE\", function() { return WEIGHTS_HIDE_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_CLASS\", function() { return WEIGHTS_SHOW_MOUSE_OVER_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_CLASS\", function() { return WEIGHTS_SHOW_ALWAYS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_CLASS\", function() { return WEIGHTS_HIDE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHOW_WEIGHTS_MOUSEOVER\", function() { return SHOW_WEIGHTS_MOUSEOVER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHOW_ALL_WEIGHTS\", function() { return SHOW_ALL_WEIGHTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HIDE_ALL_WEIGHTS\", function() { return HIDE_ALL_WEIGHTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES\", function() { return COLOR_EDGES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ACTIVE_COLOR_OPTION\", function() { return ACTIVE_COLOR_OPTION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES_MENU\", function() { return COLOR_EDGES_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES_SIDEBAR\", function() { return COLOR_EDGES_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRAVITY_LENGTH_WITHOUT_ZERO\", function() { return GRAVITY_LENGTH_WITHOUT_ZERO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_CLASS\", function() { return LOCK_SLIDERS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_BUTTON\", function() { return LOCK_SLIDERS_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_MENU\", function() { return LOCK_SLIDERS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_CLASS\", function() { return RESET_SLIDERS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_SIDEBAR\", function() { return RESET_SLIDERS_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_MENU\", function() { return RESET_SLIDERS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_CLASS\", function() { return UNDO_SLIDERS_RESET_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_ID\", function() { return UNDO_SLIDERS_RESET_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_MENU\", function() { return UNDO_SLIDERS_RESET_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_SIDEBAR\", function() { return UNDO_SLIDERS_RESET_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_CLASS\", function() { return LINK_DIST_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_SLIDER_SIDEBAR\", function() { return LINK_DIST_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_VALUE\", function() { return LINK_DIST_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_MENU\", function() { return LINK_DIST_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_DEFAULT_VALUE\", function() { return LINK_DIST_DEFAULT_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_CLASS\", function() { return CHARGE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_SLIDER_SIDEBAR\", function() { return CHARGE_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_VALUE\", function() { return CHARGE_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_MENU\", function() { return CHARGE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_DEFAULT_VALUE\", function() { return CHARGE_DEFAULT_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT\", function() { return GRID_LAYOUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH\", function() { return FORCE_GRAPH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH_BUTTON\", function() { return FORCE_GRAPH_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT_BUTTON\", function() { return GRID_LAYOUT_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH_MENU\", function() { return FORCE_GRAPH_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT_MENU\", function() { return GRID_LAYOUT_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MINIMUM_MAX_LOG_FOLD_CHANGE\", function() { return MINIMUM_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAXIMUM_MAX_LOG_FOLD_CHANGE\", function() { return MAXIMUM_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_MAX_LOG_FOLD_CHANGE\", function() { return DEFAULT_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_NUM_CHARACTERS_DROPDOWN\", function() { return MAX_NUM_CHARACTERS_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LAYOUT_SIDEBAR_PANEL\", function() { return LAYOUT_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_MENU_CLASS\", function() { return EDGE_WEIGHT_MENU_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_SIDEBAR\", function() { return EDGE_WEIGHT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\", function() { return EDGE_WEIGHT_SIDEBAR_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_MENU\", function() { return EXPRESSION_DB_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_MENU_HEADER_LINK\", function() { return EXPRESSION_DB_MENU_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_SIDEBAR_PANEL\", function() { return EXPRESSION_DB_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_LOADER\", function() { return EXPRESSION_DB_LOADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_LOADER_TEXT\", function() { return EXPRESSION_DB_LOADER_TEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DATA_SET_SELECT\", function() { return DATA_SET_SELECT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_MENU\", function() { return NODE_COLORING_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_MENU_CLASS\", function() { return NODE_COLORING_MENU_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_PANEL\", function() { return NODE_COLORING_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_HEADER_LINK\", function() { return NODE_COLORING_SIDEBAR_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_BODY\", function() { return NODE_COLORING_SIDEBAR_BODY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DATA_SIDEBAR_BODY\", function() { return DATA_SIDEBAR_BODY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_HEADER\", function() { return NODE_COLORING_SIDEBAR_HEADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_SIDEBAR\", function() { return NODE_COLORING_TOGGLE_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\", function() { return AVG_REPLICATE_VALS_BOTTOM_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_TOP_SIDEBAR\", function() { return AVG_REPLICATE_VALS_TOP_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_TOP_MENU\", function() { return AVG_REPLICATE_VALS_TOP_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_BOTTOM_MENU\", function() { return AVG_REPLICATE_VALS_BOTTOM_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_MENU\", function() { return NODE_COLORING_TOGGLE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_CLASS\", function() { return NODE_COLORING_TOGGLE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_HEADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_MENU\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ENDS_IN_EXPRESSION_REGEXP\", function() { return ENDS_IN_EXPRESSION_REGEXP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOP_DATASET_SELECTION_MENU\", function() { return TOP_DATASET_SELECTION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOP_DATASET_SELECTION_SIDEBAR\", function() { return TOP_DATASET_SELECTION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BOTTOM_DATASET_SELECTION_MENU\", function() { return BOTTOM_DATASET_SELECTION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BOTTOM_DATASET_SELECTION_SIDEBAR\", function() { return BOTTOM_DATASET_SELECTION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_IDENTIFIED_NAME\", function() { return SPECIES_IDENTIFIED_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_DISPLAY\", function() { return SPECIES_DISPLAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_YEAST\", function() { return SPECIES_BUTTON_YEAST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_HUMAN\", function() { return SPECIES_BUTTON_HUMAN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_FLY\", function() { return SPECIES_BUTTON_FLY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_NEMATODE\", function() { return SPECIES_BUTTON_NEMATODE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_MOUSE\", function() { return SPECIES_BUTTON_MOUSE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_CRESS\", function() { return SPECIES_BUTTON_CRESS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_USING_EXPRESSION_DATA\", function() { return NODE_COLORING_USING_EXPRESSION_DATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_CONTROL\", function() { return ZOOM_CONTROL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MAXIMUM_SELECTOR\", function() { return ZOOM_DISPLAY_MAXIMUM_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MAXIMUM_VALUE\", function() { return ZOOM_DISPLAY_MAXIMUM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MINIMUM_SELECTOR\", function() { return ZOOM_DISPLAY_MINIMUM_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MINIMUM_VALUE\", function() { return ZOOM_DISPLAY_MINIMUM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MIDDLE\", function() { return ZOOM_DISPLAY_MIDDLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_ADAPTIVE_MAX_SCALE\", function() { return ZOOM_ADAPTIVE_MAX_SCALE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_SLIDER\", function() { return ZOOM_SLIDER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_INPUT\", function() { return ZOOM_INPUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_PERCENT\", function() { return ZOOM_PERCENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_INIT\", function() { return VIEWPORT_INIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_FIT\", function() { return VIEWPORT_FIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_S\", function() { return VIEWPORT_S; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_M\", function() { return VIEWPORT_M; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_L\", function() { return VIEWPORT_L; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_S_DROPDOWN\", function() { return VIEWPORT_SIZE_S_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_M_DROPDOWN\", function() { return VIEWPORT_SIZE_M_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_L_DROPDOWN\", function() { return VIEWPORT_SIZE_L_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_FIT_DROPDOWN\", function() { return VIEWPORT_SIZE_FIT_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_S_SIDEBAR\", function() { return VIEWPORT_SIZE_S_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_M_SIDEBAR\", function() { return VIEWPORT_SIZE_M_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_L_SIDEBAR\", function() { return VIEWPORT_SIZE_L_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_FIT_SIDEBAR\", function() { return VIEWPORT_SIZE_FIT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_OPTION_CLASS\", function() { return VIEWPORT_OPTION_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_OPTION_CLASS_SIDEBAR\", function() { return VIEWPORT_OPTION_CLASS_SIDEBAR; });\nconst HOST_SITE = \"https://dondi.github.io\";\n\nconst FILE_NAME = \"#fileName\";\n\nconst GREY_EDGES_DASHED_MENU = \"#grey-edges-dashed-menu\";\nconst GREY_EDGES_DASHED_SIDEBAR = \"#dashedGrayLineButton\";\n\nconst CREATE_NETWORK_CLASS = \".create-network\";\nconst CREATE_NETWORK_MODAL = \"#createNetworkModal\";\n\nconst UNWEIGHTED_DEMO_ID = \".unweighted\";\nconst UNWEIGHTED_DEMO_PATH = \"demo/unweighted\";\nconst UNWEIGHTED_DEMO_NAME = \"Demo #1: Unweighted GRN (15 genes, 28 edges)\";\nconst WEIGHTED_DEMO_ID = \".weighted\";\nconst WEIGHTED_DEMO_PATH = \"demo/weighted\";\nconst WEIGHTED_DEMO_NAME = \"Demo #2: Weighted GRN (15 genes, 28 edges, Dahlquist Lab unpublished data)\";\nconst SCHADE_INPUT_ID = \".schadeInput\";\nconst SCHADE_INPUT_PATH = \"demo/schadeInput\";\nconst SCHADE_INPUT_NAME = \"Demo #3: Unweighted GRN (21 genes, 31 edges)\";\nconst SCHADE_OUTPUT_ID = \".schadeOutput\";\nconst SCHADE_OUTPUT_PATH = \"demo/schadeOutput\";\nconst SCHADE_OUTPUT_NAME = \"Demo #4: Weighted GRN (21 genes, 31 edges, Schade et al. 2004 data)\";\n\nconst EXPORT_TO_EXCEL = \"#exportAsExcelWkbk\";\nconst EXPORT_TO_UNWEIGHTED_SIF = \"#exportAsUnweightedSif\";\nconst EXPORT_TO_WEIGHTED_SIF = \"#exportAsWeightedSif\";\nconst EXPORT_TO_UNWEIGHTED_GML = \"#exportAsUnweightedGraphMl\";\nconst EXPORT_TO_WEIGHTED_GML = \"#exportAsWeightedGraphMl\";\nconst EXPORT_TO_PNG = \"#exportAsPng\";\nconst EXPORT_TO_SVG = \"#exportAsSvg\";\nconst EXPORT_TO_PDF = \"#exportAsPdf\";\nconst EXPORT_WEIGHTED_CLASS = \".weighted.export\";\nconst EXPRESSION_SOURCE = \"#expressionSource\";\n\nconst DEMO_INFORMATION = [\n [ WEIGHTED_DEMO_ID, WEIGHTED_DEMO_PATH, WEIGHTED_DEMO_NAME ],\n [ UNWEIGHTED_DEMO_ID, UNWEIGHTED_DEMO_PATH, UNWEIGHTED_DEMO_NAME ],\n [ SCHADE_INPUT_ID, SCHADE_INPUT_PATH, SCHADE_INPUT_NAME ],\n [ SCHADE_OUTPUT_ID, SCHADE_OUTPUT_PATH, SCHADE_OUTPUT_NAME ]\n];\n\nconst MIN_EDGE_WEIGHT_NORMALIZATION = 0.0001;\nconst MAX_EDGE_WEIGHT_NORMALIZATION = 1000;\n\nconst DEFAULT_ZOOM_VALUE = 100;\n\nconst GREY_EDGE_THRESHOLD_MENU = \"#gray-edge-threshold-menu\";\nconst GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR = \"#grayThresholdInput\";\nconst GREY_EDGE_THRESHOLD_TEXT_SIDEBAR = \"#grayThresholdValue\";\n\nconst SET_NORMALIZATION_MENU = \"#edge-weight-normalization-factor-menu\";\nconst SET_NORMALIZATION_SIDEBAR = \"#normalization-button\";\nconst SET_NORMALIZATION_SIDEBAR_VALUE = \"#normalization-max\";\nconst RESET_NORMALIZATION_MENU = \"#reset-normalization-factor-menu\";\nconst RESET_NORMALIZATION_SIDEBAR = \"#resetNormalizationButton\";\n\nconst WEIGHTS_SHOW_MOUSE_OVER_MENU = \"#weightsMouseOverMenu\";\nconst WEIGHTS_SHOW_ALWAYS_MENU = \"#weightsAlwaysMenu\";\nconst WEIGHTS_HIDE_MENU = \"#weightsNeverMenu\";\nconst WEIGHTS_SHOW_MOUSE_OVER_SIDE = \"#weightsMouseOverSide\";\nconst WEIGHTS_SHOW_ALWAYS_SIDE = \"#weightsAlwaysSide\";\nconst WEIGHTS_HIDE_SIDE = \"#weightsNeverSide\";\nconst WEIGHTS_SHOW_MOUSE_OVER_CLASS = \".weightsMouseOver\";\nconst WEIGHTS_SHOW_ALWAYS_CLASS = \".weightsAlways\";\nconst WEIGHTS_HIDE_CLASS = \".weightsNever\";\n\nconst SHOW_WEIGHTS_MOUSEOVER = \"showWeightsMouseover\";\nconst SHOW_ALL_WEIGHTS = \"showAllWeights\";\nconst HIDE_ALL_WEIGHTS = \"hideAllWeights\";\n\nconst COLOR_EDGES = \".colorEdges\";\nconst ACTIVE_COLOR_OPTION = \"active\";\nconst COLOR_EDGES_MENU = \"#colorEdges\";\nconst COLOR_EDGES_SIDEBAR = \"#colorEdgesSidebar\";\n\nconst GRAVITY_LENGTH_WITHOUT_ZERO = 3;\nconst LOCK_SLIDERS_CLASS = \".lockSliders\";\nconst LOCK_SLIDERS_BUTTON = \"#lockSlidersButton\";\nconst LOCK_SLIDERS_MENU = \"#lockSlidersMenu\";\nconst RESET_SLIDERS_CLASS = \".resetSliders\";\nconst RESET_SLIDERS_SIDEBAR = \"#resetSlidersButton\";\nconst RESET_SLIDERS_MENU = \"#resetSlidersMenu\";\nconst UNDO_SLIDERS_RESET_CLASS = \".undoSliderReset\";\nconst UNDO_SLIDERS_RESET_ID = \"#undoReset\";\nconst UNDO_SLIDERS_RESET_MENU = \"#undoResetMenu\";\nconst UNDO_SLIDERS_RESET_SIDEBAR = \"#undoResetButton\";\n\nconst LINK_DIST_CLASS = \"#link-distance\";\nconst LINK_DIST_SLIDER_SIDEBAR = \"#linkDistInput\";\nconst LINK_DIST_VALUE = \"#linkDistVal\";\nconst LINK_DIST_MENU = \"#link-distance-menu\";\nconst LINK_DIST_DEFAULT_VALUE = 500;\nconst CHARGE_CLASS = \"#charge\";\nconst CHARGE_SLIDER_SIDEBAR = \"#chargeInput\";\nconst CHARGE_VALUE = \"#chargeVal\";\nconst CHARGE_MENU = \"#charge-menu\";\nconst CHARGE_DEFAULT_VALUE = -50;\n\nconst GRID_LAYOUT = \"GRID_LAYOUT\";\nconst FORCE_GRAPH = \"FORCE_GRAPH\";\nconst FORCE_GRAPH_BUTTON = \"#forceGraphButton\";\nconst GRID_LAYOUT_BUTTON = \"#gridLayoutButton\";\nconst FORCE_GRAPH_MENU = \"#forceGraph\";\nconst GRID_LAYOUT_MENU = \"#gridLayout\";\n\nconst MINIMUM_MAX_LOG_FOLD_CHANGE = 0;\nconst MAXIMUM_MAX_LOG_FOLD_CHANGE = 100;\nconst DEFAULT_MAX_LOG_FOLD_CHANGE = 3;\nconst MAX_NUM_CHARACTERS_DROPDOWN = 24;\nconst LAYOUT_SIDEBAR_PANEL = \"#layoutSidebarPanel\";\nconst EDGE_WEIGHT_MENU_CLASS = \".weightedGraphOptionsMenu\";\nconst EDGE_WEIGHT_SIDEBAR = \".edge-weight-sidebar\";\nconst EDGE_WEIGHT_SIDEBAR_HEADER_LINK = \"#edgeWeightHeaderLink\";\nconst EXPRESSION_DB_MENU = \".data-sidebar\";\nconst EXPRESSION_DB_MENU_HEADER_LINK = \"#dataSidebarLink\";\nconst EXPRESSION_DB_SIDEBAR_PANEL = \"#dataSidebarPanel\";\nconst EXPRESSION_DB_LOADER = \".expression-db-loader\";\nconst EXPRESSION_DB_LOADER_TEXT = \".expression-db-loader-text\";\nconst DATA_SET_SELECT = \"#data-set-select\";\nconst NODE_COLORING_MENU = \".node-coloring\";\nconst NODE_COLORING_MENU_CLASS = \".node-coloring-menu\";\nconst NODE_COLORING_SIDEBAR_PANEL = \"#nodeColoringSidebarPanel\";\nconst NODE_COLORING_SIDEBAR_HEADER_LINK = \"#nodeColoringHeaderLink\";\nconst NODE_COLORING_SIDEBAR_BODY = \".nodeColoringSidebarBody\";\nconst DATA_SIDEBAR_BODY = \".dataSidebarBody\";\nconst NODE_COLORING_SIDEBAR_HEADER = \"#sidebarPanelHeader\";\nconst NODE_COLORING_TOGGLE_SIDEBAR = \"#nodeColoringToggleSidebar\";\nconst AVG_REPLICATE_VALS_BOTTOM_SIDEBAR = \"#averageDataBottom\";\nconst AVG_REPLICATE_VALS_TOP_SIDEBAR = \"#averageDataTop\";\nconst AVG_REPLICATE_VALS_TOP_MENU = \"#averageDataTopMenu\";\nconst AVG_REPLICATE_VALS_BOTTOM_MENU = \"#averageDataBottomMenu\";\nconst NODE_COLORING_TOGGLE_MENU = \"#node-coloring-toggle-menu\";\nconst NODE_COLORING_TOGGLE_CLASS = \".nodeColoringToggle\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_CLASS = \".logFoldChangeMaxValue\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_HEADER = \"#logFoldChangeMaxValue\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT = \"#log-fold-change-max-value-sidebar\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON = \"#log-fold-change-button\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_MENU = \"#log-fold-change-max-value-menu\";\nconst ENDS_IN_EXPRESSION_REGEXP = /expression$/;\nconst TOP_DATASET_SELECTION_MENU = \"#topDatasetDropdownMenu\";\nconst TOP_DATASET_SELECTION_SIDEBAR = \"#dataset-top\";\nconst BOTTOM_DATASET_SELECTION_MENU = \"#bottomDatasetDropdownMenu\";\nconst BOTTOM_DATASET_SELECTION_SIDEBAR = \"#dataset-bottom\";\n\nconst SPECIES_IDENTIFIED_NAME = \"#speciesName\";\nconst SPECIES_DISPLAY = \"#speciesDropdown\";\nconst SPECIES_BUTTON_YEAST = \"#Saccharomyces_cerevisiae\";\nconst SPECIES_BUTTON_HUMAN = \"#Homo_sapiens\";\nconst SPECIES_BUTTON_FLY = \"#Drosophila_melanogaster\";\nconst SPECIES_BUTTON_NEMATODE = \"#Caenorhabditis_elegans\";\nconst SPECIES_BUTTON_MOUSE = \"#Mus_musculus\";\nconst SPECIES_BUTTON_CRESS = \"#Arabidopsis_thaliana\";\n\nconst NODE_COLORING_USING_EXPRESSION_DATA = \"#expressionDB\";\n\nconst ZOOM_CONTROL = \".zoom\";\nconst ZOOM_DISPLAY_MAXIMUM_SELECTOR = \".maximum-zoom-display\";\nconst ZOOM_DISPLAY_MAXIMUM_VALUE = 200;\nconst ZOOM_DISPLAY_MINIMUM_SELECTOR = \".minimum-zoom-display\";\nconst ZOOM_DISPLAY_MINIMUM_VALUE = 25;\nconst ZOOM_DISPLAY_MIDDLE = 100;\nconst ZOOM_ADAPTIVE_MAX_SCALE = 4;\nconst ZOOM_SLIDER = \"#zoomSlider\";\nconst ZOOM_INPUT = \"#zoomInput\";\nconst ZOOM_PERCENT = \"#zoomPercent\";\n\nconst VIEWPORT_INIT = \"containerInit\";\nconst VIEWPORT_FIT = \"containerFit\";\nconst VIEWPORT_S = \"containerS\";\nconst VIEWPORT_M = \"containerM\";\nconst VIEWPORT_L = \"containerL\";\n\nconst VIEWPORT_SIZE_S_DROPDOWN = \"#viewport-size-s\";\nconst VIEWPORT_SIZE_M_DROPDOWN = \"#viewport-size-m\";\nconst VIEWPORT_SIZE_L_DROPDOWN = \"#viewport-size-l\";\nconst VIEWPORT_SIZE_FIT_DROPDOWN = \"#viewport-size-fit\";\nconst VIEWPORT_SIZE_S_SIDEBAR = \"#boundBoxS\";\nconst VIEWPORT_SIZE_M_SIDEBAR = \"#boundBoxM\";\nconst VIEWPORT_SIZE_L_SIDEBAR = \"#boundBoxL\";\nconst VIEWPORT_SIZE_FIT_SIDEBAR = \"#boundBoxFit\";\nconst VIEWPORT_OPTION_CLASS = \".viewportOption\";\nconst VIEWPORT_OPTION_CLASS_SIDEBAR = \".boundBoxSize\";\n\n\n\n\n\n//# sourceURL=webpack:///./web-client/public/js/constants.js?");
|
|
2237
|
+
|
|
2238
|
+
/***/ }),
|
|
2239
|
+
|
|
2240
|
+
/***/ "./web-client/public/js/createNetwork.js":
|
|
2241
|
+
/*!***********************************************!*\
|
|
2242
|
+
!*** ./web-client/public/js/createNetwork.js ***!
|
|
2243
|
+
\***********************************************/
|
|
2244
|
+
/*! exports provided: createNetwork */
|
|
2221
2245
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2222
2246
|
|
|
2223
2247
|
"use strict";
|
|
2224
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HOST_SITE\", function() { return HOST_SITE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGES_DASHED_MENU\", function() { return GREY_EDGES_DASHED_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGES_DASHED_SIDEBAR\", function() { return GREY_EDGES_DASHED_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_ID\", function() { return UNWEIGHTED_DEMO_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_PATH\", function() { return UNWEIGHTED_DEMO_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNWEIGHTED_DEMO_NAME\", function() { return UNWEIGHTED_DEMO_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_ID\", function() { return WEIGHTED_DEMO_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_PATH\", function() { return WEIGHTED_DEMO_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTED_DEMO_NAME\", function() { return WEIGHTED_DEMO_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_ID\", function() { return SCHADE_INPUT_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_PATH\", function() { return SCHADE_INPUT_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_INPUT_NAME\", function() { return SCHADE_INPUT_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_ID\", function() { return SCHADE_OUTPUT_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_PATH\", function() { return SCHADE_OUTPUT_PATH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCHADE_OUTPUT_NAME\", function() { return SCHADE_OUTPUT_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_EXCEL\", function() { return EXPORT_TO_EXCEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_UNWEIGHTED_SIF\", function() { return EXPORT_TO_UNWEIGHTED_SIF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_WEIGHTED_SIF\", function() { return EXPORT_TO_WEIGHTED_SIF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_UNWEIGHTED_GML\", function() { return EXPORT_TO_UNWEIGHTED_GML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_WEIGHTED_GML\", function() { return EXPORT_TO_WEIGHTED_GML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_PNG\", function() { return EXPORT_TO_PNG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_SVG\", function() { return EXPORT_TO_SVG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_TO_PDF\", function() { return EXPORT_TO_PDF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPORT_WEIGHTED_CLASS\", function() { return EXPORT_WEIGHTED_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEMO_INFORMATION\", function() { return DEMO_INFORMATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MIN_EDGE_WEIGHT_NORMALIZATION\", function() { return MIN_EDGE_WEIGHT_NORMALIZATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_EDGE_WEIGHT_NORMALIZATION\", function() { return MAX_EDGE_WEIGHT_NORMALIZATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_ZOOM_VALUE\", function() { return DEFAULT_ZOOM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_MENU\", function() { return GREY_EDGE_THRESHOLD_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR\", function() { return GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GREY_EDGE_THRESHOLD_TEXT_SIDEBAR\", function() { return GREY_EDGE_THRESHOLD_TEXT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_MENU\", function() { return SET_NORMALIZATION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_SIDEBAR\", function() { return SET_NORMALIZATION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SET_NORMALIZATION_SIDEBAR_VALUE\", function() { return SET_NORMALIZATION_SIDEBAR_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_NORMALIZATION_MENU\", function() { return RESET_NORMALIZATION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_NORMALIZATION_SIDEBAR\", function() { return RESET_NORMALIZATION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_MENU\", function() { return WEIGHTS_SHOW_MOUSE_OVER_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_MENU\", function() { return WEIGHTS_SHOW_ALWAYS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_MENU\", function() { return WEIGHTS_HIDE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_SIDE\", function() { return WEIGHTS_SHOW_MOUSE_OVER_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_SIDE\", function() { return WEIGHTS_SHOW_ALWAYS_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_SIDE\", function() { return WEIGHTS_HIDE_SIDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_MOUSE_OVER_CLASS\", function() { return WEIGHTS_SHOW_MOUSE_OVER_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_SHOW_ALWAYS_CLASS\", function() { return WEIGHTS_SHOW_ALWAYS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WEIGHTS_HIDE_CLASS\", function() { return WEIGHTS_HIDE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHOW_WEIGHTS_MOUSEOVER\", function() { return SHOW_WEIGHTS_MOUSEOVER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHOW_ALL_WEIGHTS\", function() { return SHOW_ALL_WEIGHTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HIDE_ALL_WEIGHTS\", function() { return HIDE_ALL_WEIGHTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES\", function() { return COLOR_EDGES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ACTIVE_COLOR_OPTION\", function() { return ACTIVE_COLOR_OPTION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES_MENU\", function() { return COLOR_EDGES_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR_EDGES_SIDEBAR\", function() { return COLOR_EDGES_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRAVITY_LENGTH_WITHOUT_ZERO\", function() { return GRAVITY_LENGTH_WITHOUT_ZERO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_CLASS\", function() { return LOCK_SLIDERS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_BUTTON\", function() { return LOCK_SLIDERS_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOCK_SLIDERS_MENU\", function() { return LOCK_SLIDERS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_CLASS\", function() { return RESET_SLIDERS_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_SIDEBAR\", function() { return RESET_SLIDERS_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RESET_SLIDERS_MENU\", function() { return RESET_SLIDERS_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_CLASS\", function() { return UNDO_SLIDERS_RESET_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_ID\", function() { return UNDO_SLIDERS_RESET_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_MENU\", function() { return UNDO_SLIDERS_RESET_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNDO_SLIDERS_RESET_SIDEBAR\", function() { return UNDO_SLIDERS_RESET_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_CLASS\", function() { return LINK_DIST_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_SLIDER_SIDEBAR\", function() { return LINK_DIST_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_VALUE\", function() { return LINK_DIST_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_MENU\", function() { return LINK_DIST_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINK_DIST_DEFAULT_VALUE\", function() { return LINK_DIST_DEFAULT_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_CLASS\", function() { return CHARGE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_SLIDER_SIDEBAR\", function() { return CHARGE_SLIDER_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_VALUE\", function() { return CHARGE_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_MENU\", function() { return CHARGE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHARGE_DEFAULT_VALUE\", function() { return CHARGE_DEFAULT_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT\", function() { return GRID_LAYOUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH\", function() { return FORCE_GRAPH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH_BUTTON\", function() { return FORCE_GRAPH_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT_BUTTON\", function() { return GRID_LAYOUT_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORCE_GRAPH_MENU\", function() { return FORCE_GRAPH_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GRID_LAYOUT_MENU\", function() { return GRID_LAYOUT_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MINIMUM_MAX_LOG_FOLD_CHANGE\", function() { return MINIMUM_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAXIMUM_MAX_LOG_FOLD_CHANGE\", function() { return MAXIMUM_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_MAX_LOG_FOLD_CHANGE\", function() { return DEFAULT_MAX_LOG_FOLD_CHANGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAX_NUM_CHARACTERS_DROPDOWN\", function() { return MAX_NUM_CHARACTERS_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LAYOUT_SIDEBAR_PANEL\", function() { return LAYOUT_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_MENU_CLASS\", function() { return EDGE_WEIGHT_MENU_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_SIDEBAR\", function() { return EDGE_WEIGHT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\", function() { return EDGE_WEIGHT_SIDEBAR_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_MENU\", function() { return EXPRESSION_DB_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_MENU_HEADER_LINK\", function() { return EXPRESSION_DB_MENU_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_SIDEBAR_PANEL\", function() { return EXPRESSION_DB_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_LOADER\", function() { return EXPRESSION_DB_LOADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXPRESSION_DB_LOADER_TEXT\", function() { return EXPRESSION_DB_LOADER_TEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DATA_SET_SELECT\", function() { return DATA_SET_SELECT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_MENU\", function() { return NODE_COLORING_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_MENU_CLASS\", function() { return NODE_COLORING_MENU_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_PANEL\", function() { return NODE_COLORING_SIDEBAR_PANEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_HEADER_LINK\", function() { return NODE_COLORING_SIDEBAR_HEADER_LINK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_BODY\", function() { return NODE_COLORING_SIDEBAR_BODY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DATA_SIDEBAR_BODY\", function() { return DATA_SIDEBAR_BODY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_SIDEBAR_HEADER\", function() { return NODE_COLORING_SIDEBAR_HEADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_SIDEBAR\", function() { return NODE_COLORING_TOGGLE_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\", function() { return AVG_REPLICATE_VALS_BOTTOM_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_TOP_SIDEBAR\", function() { return AVG_REPLICATE_VALS_TOP_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_TOP_MENU\", function() { return AVG_REPLICATE_VALS_TOP_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVG_REPLICATE_VALS_BOTTOM_MENU\", function() { return AVG_REPLICATE_VALS_BOTTOM_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_MENU\", function() { return NODE_COLORING_TOGGLE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_TOGGLE_CLASS\", function() { return NODE_COLORING_TOGGLE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_HEADER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOG_FOLD_CHANGE_MAX_VALUE_MENU\", function() { return LOG_FOLD_CHANGE_MAX_VALUE_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ENDS_IN_EXPRESSION_REGEXP\", function() { return ENDS_IN_EXPRESSION_REGEXP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOP_DATASET_SELECTION_MENU\", function() { return TOP_DATASET_SELECTION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOP_DATASET_SELECTION_SIDEBAR\", function() { return TOP_DATASET_SELECTION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BOTTOM_DATASET_SELECTION_MENU\", function() { return BOTTOM_DATASET_SELECTION_MENU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BOTTOM_DATASET_SELECTION_SIDEBAR\", function() { return BOTTOM_DATASET_SELECTION_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_IDENTIFIED_NAME\", function() { return SPECIES_IDENTIFIED_NAME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_DISPLAY\", function() { return SPECIES_DISPLAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_YEAST\", function() { return SPECIES_BUTTON_YEAST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_HUMAN\", function() { return SPECIES_BUTTON_HUMAN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_FLY\", function() { return SPECIES_BUTTON_FLY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_NEMATODE\", function() { return SPECIES_BUTTON_NEMATODE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_MOUSE\", function() { return SPECIES_BUTTON_MOUSE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPECIES_BUTTON_CRESS\", function() { return SPECIES_BUTTON_CRESS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NODE_COLORING_USING_EXPRESSION_DATA\", function() { return NODE_COLORING_USING_EXPRESSION_DATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_CONTROL\", function() { return ZOOM_CONTROL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MAXIMUM_SELECTOR\", function() { return ZOOM_DISPLAY_MAXIMUM_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MAXIMUM_VALUE\", function() { return ZOOM_DISPLAY_MAXIMUM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MINIMUM_SELECTOR\", function() { return ZOOM_DISPLAY_MINIMUM_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MINIMUM_VALUE\", function() { return ZOOM_DISPLAY_MINIMUM_VALUE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_DISPLAY_MIDDLE\", function() { return ZOOM_DISPLAY_MIDDLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_ADAPTIVE_MAX_SCALE\", function() { return ZOOM_ADAPTIVE_MAX_SCALE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_SLIDER\", function() { return ZOOM_SLIDER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_INPUT\", function() { return ZOOM_INPUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZOOM_PERCENT\", function() { return ZOOM_PERCENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_INIT\", function() { return VIEWPORT_INIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_FIT\", function() { return VIEWPORT_FIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_S\", function() { return VIEWPORT_S; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_M\", function() { return VIEWPORT_M; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_L\", function() { return VIEWPORT_L; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_S_DROPDOWN\", function() { return VIEWPORT_SIZE_S_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_M_DROPDOWN\", function() { return VIEWPORT_SIZE_M_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_L_DROPDOWN\", function() { return VIEWPORT_SIZE_L_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_FIT_DROPDOWN\", function() { return VIEWPORT_SIZE_FIT_DROPDOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_S_SIDEBAR\", function() { return VIEWPORT_SIZE_S_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_M_SIDEBAR\", function() { return VIEWPORT_SIZE_M_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_L_SIDEBAR\", function() { return VIEWPORT_SIZE_L_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_SIZE_FIT_SIDEBAR\", function() { return VIEWPORT_SIZE_FIT_SIDEBAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_OPTION_CLASS\", function() { return VIEWPORT_OPTION_CLASS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VIEWPORT_OPTION_CLASS_SIDEBAR\", function() { return VIEWPORT_OPTION_CLASS_SIDEBAR; });\nconst HOST_SITE = \"https://dondi.github.io\";\n\nconst GREY_EDGES_DASHED_MENU = \"#grey-edges-dashed-menu\";\nconst GREY_EDGES_DASHED_SIDEBAR = \"#dashedGrayLineButton\";\n\nconst UNWEIGHTED_DEMO_ID = \"#unweighted\";\nconst UNWEIGHTED_DEMO_PATH = \"demo/unweighted\";\nconst UNWEIGHTED_DEMO_NAME = \"Demo #1: Unweighted GRN (15 genes, 28 edges)\";\nconst WEIGHTED_DEMO_ID = \"#weighted\";\nconst WEIGHTED_DEMO_PATH = \"demo/weighted\";\nconst WEIGHTED_DEMO_NAME = \"Demo #2: Weighted GRN (15 genes, 28 edges, Dahlquist Lab unpublished data)\";\nconst SCHADE_INPUT_ID = \"#schadeInput\";\nconst SCHADE_INPUT_PATH = \"demo/schadeInput\";\nconst SCHADE_INPUT_NAME = \"Demo #3: Unweighted GRN (21 genes, 31 edges)\";\nconst SCHADE_OUTPUT_ID = \"#schadeOutput\";\nconst SCHADE_OUTPUT_PATH = \"demo/schadeOutput\";\nconst SCHADE_OUTPUT_NAME = \"Demo #4: Weighted GRN (21 genes, 31 edges, Schade et al. 2004 data)\";\n\nconst EXPORT_TO_EXCEL = \"#exportAsExcelWkbk\";\nconst EXPORT_TO_UNWEIGHTED_SIF = \"#exportAsUnweightedSif\";\nconst EXPORT_TO_WEIGHTED_SIF = \"#exportAsWeightedSif\";\nconst EXPORT_TO_UNWEIGHTED_GML = \"#exportAsUnweightedGraphMl\";\nconst EXPORT_TO_WEIGHTED_GML = \"#exportAsWeightedGraphMl\";\nconst EXPORT_TO_PNG = \"#exportAsPng\";\nconst EXPORT_TO_SVG = \"#exportAsSvg\";\nconst EXPORT_TO_PDF = \"#exportAsPdf\";\nconst EXPORT_WEIGHTED_CLASS = \".weighted.export\";\n\nconst DEMO_INFORMATION = [\n [ WEIGHTED_DEMO_ID, WEIGHTED_DEMO_PATH, WEIGHTED_DEMO_NAME ],\n [ UNWEIGHTED_DEMO_ID, UNWEIGHTED_DEMO_PATH, UNWEIGHTED_DEMO_NAME ],\n [ SCHADE_INPUT_ID, SCHADE_INPUT_PATH, SCHADE_INPUT_NAME ],\n [ SCHADE_OUTPUT_ID, SCHADE_OUTPUT_PATH, SCHADE_OUTPUT_NAME ]\n];\n\nconst MIN_EDGE_WEIGHT_NORMALIZATION = 0.0001;\nconst MAX_EDGE_WEIGHT_NORMALIZATION = 1000;\n\nconst DEFAULT_ZOOM_VALUE = 100;\n\nconst GREY_EDGE_THRESHOLD_MENU = \"#gray-edge-threshold-menu\";\nconst GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR = \"#grayThresholdInput\";\nconst GREY_EDGE_THRESHOLD_TEXT_SIDEBAR = \"#grayThresholdValue\";\n\nconst SET_NORMALIZATION_MENU = \"#edge-weight-normalization-factor-menu\";\nconst SET_NORMALIZATION_SIDEBAR = \"#normalization-button\";\nconst SET_NORMALIZATION_SIDEBAR_VALUE = \"#normalization-max\";\nconst RESET_NORMALIZATION_MENU = \"#reset-normalization-factor-menu\";\nconst RESET_NORMALIZATION_SIDEBAR = \"#resetNormalizationButton\";\n\nconst WEIGHTS_SHOW_MOUSE_OVER_MENU = \"#weightsMouseOverMenu\";\nconst WEIGHTS_SHOW_ALWAYS_MENU = \"#weightsAlwaysMenu\";\nconst WEIGHTS_HIDE_MENU = \"#weightsNeverMenu\";\nconst WEIGHTS_SHOW_MOUSE_OVER_SIDE = \"#weightsMouseOverSide\";\nconst WEIGHTS_SHOW_ALWAYS_SIDE = \"#weightsAlwaysSide\";\nconst WEIGHTS_HIDE_SIDE = \"#weightsNeverSide\";\nconst WEIGHTS_SHOW_MOUSE_OVER_CLASS = \".weightsMouseOver\";\nconst WEIGHTS_SHOW_ALWAYS_CLASS = \".weightsAlways\";\nconst WEIGHTS_HIDE_CLASS = \".weightsNever\";\n\nconst SHOW_WEIGHTS_MOUSEOVER = \"showWeightsMouseover\";\nconst SHOW_ALL_WEIGHTS = \"showAllWeights\";\nconst HIDE_ALL_WEIGHTS = \"hideAllWeights\";\n\nconst COLOR_EDGES = \".colorEdges\";\nconst ACTIVE_COLOR_OPTION = \"active\";\nconst COLOR_EDGES_MENU = \"#colorEdges\";\nconst COLOR_EDGES_SIDEBAR = \"#colorEdgesSidebar\";\n\nconst GRAVITY_LENGTH_WITHOUT_ZERO = 3;\nconst LOCK_SLIDERS_CLASS = \".lockSliders\";\nconst LOCK_SLIDERS_BUTTON = \"#lockSlidersButton\";\nconst LOCK_SLIDERS_MENU = \"#lockSlidersMenu\";\nconst RESET_SLIDERS_CLASS = \".resetSliders\";\nconst RESET_SLIDERS_SIDEBAR = \"#resetSlidersButton\";\nconst RESET_SLIDERS_MENU = \"#resetSlidersMenu\";\nconst UNDO_SLIDERS_RESET_CLASS = \".undoSliderReset\";\nconst UNDO_SLIDERS_RESET_ID = \"#undoReset\";\nconst UNDO_SLIDERS_RESET_MENU = \"#undoResetMenu\";\nconst UNDO_SLIDERS_RESET_SIDEBAR = \"#undoResetButton\";\n\nconst LINK_DIST_CLASS = \"#link-distance\";\nconst LINK_DIST_SLIDER_SIDEBAR = \"#linkDistInput\";\nconst LINK_DIST_VALUE = \"#linkDistVal\";\nconst LINK_DIST_MENU = \"#link-distance-menu\";\nconst LINK_DIST_DEFAULT_VALUE = 500;\nconst CHARGE_CLASS = \"#charge\";\nconst CHARGE_SLIDER_SIDEBAR = \"#chargeInput\";\nconst CHARGE_VALUE = \"#chargeVal\";\nconst CHARGE_MENU = \"#charge-menu\";\nconst CHARGE_DEFAULT_VALUE = -50;\n\nconst GRID_LAYOUT = \"GRID_LAYOUT\";\nconst FORCE_GRAPH = \"FORCE_GRAPH\";\nconst FORCE_GRAPH_BUTTON = \"#forceGraphButton\";\nconst GRID_LAYOUT_BUTTON = \"#gridLayoutButton\";\nconst FORCE_GRAPH_MENU = \"#forceGraph\";\nconst GRID_LAYOUT_MENU = \"#gridLayout\";\n\nconst MINIMUM_MAX_LOG_FOLD_CHANGE = 0;\nconst MAXIMUM_MAX_LOG_FOLD_CHANGE = 100;\nconst DEFAULT_MAX_LOG_FOLD_CHANGE = 3;\nconst MAX_NUM_CHARACTERS_DROPDOWN = 24;\nconst LAYOUT_SIDEBAR_PANEL = \"#layoutSidebarPanel\";\nconst EDGE_WEIGHT_MENU_CLASS = \".weightedGraphOptionsMenu\";\nconst EDGE_WEIGHT_SIDEBAR = \".edge-weight-sidebar\";\nconst EDGE_WEIGHT_SIDEBAR_HEADER_LINK = \"#edgeWeightHeaderLink\";\nconst EXPRESSION_DB_MENU = \".data-sidebar\";\nconst EXPRESSION_DB_MENU_HEADER_LINK = \"#dataSidebarLink\";\nconst EXPRESSION_DB_SIDEBAR_PANEL = \"#dataSidebarPanel\";\nconst EXPRESSION_DB_LOADER = \".expression-db-loader\";\nconst EXPRESSION_DB_LOADER_TEXT = \".expression-db-loader-text\";\nconst DATA_SET_SELECT = \"#data-set-select\";\nconst NODE_COLORING_MENU = \".node-coloring\";\nconst NODE_COLORING_MENU_CLASS = \".node-coloring-menu\";\nconst NODE_COLORING_SIDEBAR_PANEL = \"#nodeColoringSidebarPanel\";\nconst NODE_COLORING_SIDEBAR_HEADER_LINK = \"#nodeColoringHeaderLink\";\nconst NODE_COLORING_SIDEBAR_BODY = \".nodeColoringSidebarBody\";\nconst DATA_SIDEBAR_BODY = \".dataSidebarBody\";\nconst NODE_COLORING_SIDEBAR_HEADER = \"#sidebarPanelHeader\";\nconst NODE_COLORING_TOGGLE_SIDEBAR = \"#nodeColoringToggleSidebar\";\nconst AVG_REPLICATE_VALS_BOTTOM_SIDEBAR = \"#averageDataBottom\";\nconst AVG_REPLICATE_VALS_TOP_SIDEBAR = \"#averageDataTop\";\nconst AVG_REPLICATE_VALS_TOP_MENU = \"#averageDataTopMenu\";\nconst AVG_REPLICATE_VALS_BOTTOM_MENU = \"#averageDataBottomMenu\";\nconst NODE_COLORING_TOGGLE_MENU = \"#node-coloring-toggle-menu\";\nconst NODE_COLORING_TOGGLE_CLASS = \".nodeColoringToggle\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_CLASS = \".logFoldChangeMaxValue\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_HEADER = \"#logFoldChangeMaxValue\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT = \"#log-fold-change-max-value-sidebar\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON = \"#log-fold-change-button\";\nconst LOG_FOLD_CHANGE_MAX_VALUE_MENU = \"#log-fold-change-max-value-menu\";\nconst ENDS_IN_EXPRESSION_REGEXP = /expression$/;\nconst TOP_DATASET_SELECTION_MENU = \"#topDatasetDropdownMenu\";\nconst TOP_DATASET_SELECTION_SIDEBAR = \"#dataset-top\";\nconst BOTTOM_DATASET_SELECTION_MENU = \"#bottomDatasetDropdownMenu\";\nconst BOTTOM_DATASET_SELECTION_SIDEBAR = \"#dataset-bottom\";\n\nconst SPECIES_IDENTIFIED_NAME = \"#speciesName\";\nconst SPECIES_DISPLAY = \"#speciesDropdown\";\nconst SPECIES_BUTTON_YEAST = \"#Saccharomyces_cerevisiae\";\nconst SPECIES_BUTTON_HUMAN = \"#Homo_sapiens\";\nconst SPECIES_BUTTON_FLY = \"#Drosophila_melanogaster\";\nconst SPECIES_BUTTON_NEMATODE = \"#Caenorhabditis_elegans\";\nconst SPECIES_BUTTON_MOUSE = \"#Mus_musculus\";\nconst SPECIES_BUTTON_CRESS = \"#Arabidopsis_thaliana\";\n\nconst NODE_COLORING_USING_EXPRESSION_DATA = \"#expressionDB\";\n\nconst ZOOM_CONTROL = \".zoom\";\nconst ZOOM_DISPLAY_MAXIMUM_SELECTOR = \".maximum-zoom-display\";\nconst ZOOM_DISPLAY_MAXIMUM_VALUE = 200;\nconst ZOOM_DISPLAY_MINIMUM_SELECTOR = \".minimum-zoom-display\";\nconst ZOOM_DISPLAY_MINIMUM_VALUE = 25;\nconst ZOOM_DISPLAY_MIDDLE = 100;\nconst ZOOM_ADAPTIVE_MAX_SCALE = 4;\nconst ZOOM_SLIDER = \"#zoomSlider\";\nconst ZOOM_INPUT = \"#zoomInput\";\nconst ZOOM_PERCENT = \"#zoomPercent\";\n\nconst VIEWPORT_INIT = \"containerInit\";\nconst VIEWPORT_FIT = \"containerFit\";\nconst VIEWPORT_S = \"containerS\";\nconst VIEWPORT_M = \"containerM\";\nconst VIEWPORT_L = \"containerL\";\n\nconst VIEWPORT_SIZE_S_DROPDOWN = \"#viewport-size-s\";\nconst VIEWPORT_SIZE_M_DROPDOWN = \"#viewport-size-m\";\nconst VIEWPORT_SIZE_L_DROPDOWN = \"#viewport-size-l\";\nconst VIEWPORT_SIZE_FIT_DROPDOWN = \"#viewport-size-fit\";\nconst VIEWPORT_SIZE_S_SIDEBAR = \"#boundBoxS\";\nconst VIEWPORT_SIZE_M_SIDEBAR = \"#boundBoxM\";\nconst VIEWPORT_SIZE_L_SIDEBAR = \"#boundBoxL\";\nconst VIEWPORT_SIZE_FIT_SIDEBAR = \"#boundBoxFit\";\nconst VIEWPORT_OPTION_CLASS = \".viewportOption\";\nconst VIEWPORT_OPTION_CLASS_SIDEBAR = \".boundBoxSize\";\n\n\n\n\n\n//# sourceURL=webpack:///./web-client/public/js/constants.js?");
|
|
2248
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createNetwork\", function() { return createNetwork; });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n/* harmony import */ var _api_grnsight_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./api/grnsight-api */ \"./web-client/public/js/api/grnsight-api.js\");\n/* harmony import */ var _grnstate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./grnstate */ \"./web-client/public/js/grnstate.js\");\n\n\n\n\nconst createNetwork = function () {\n const createHTMLforForm = (sources) => {\n let result = `\n <div id=\\'createNetworkFormContainer\\' '>\n <h2 id=\\'createNetwork\\'>Create Network</h2>\n <div class=\\'form-group\\'>\n <label for=\\'network-source\\' id=\\'network-source-label\\'>Network Source</label>\n <select class=\\'network-dropdown btn btn-default\\' id=\\'network-source\\'>\n `;\n if (sources.length !== 1) {\n result += \"<option value=\\'none\\' selected=\\'true\\' disabled>Select Network Source</option>\";\n for (let source in sources) {\n result += `\n <option value=\\'${sources[source]}\\'>${sources[source]}</option>\n `;\n }\n } else {\n result += `\n <option value=\\'${sources[0]}\\' selected=\\'true\\' disabled hidden>${sources[0]}</option>\n `;\n }\n result += `</select>\n <p>Warning: changing network source will remove all current genes in network</p>\n </div>\n <div class=\\'form-group\\' id=\\'getNetworkGenesForm\\'>\n <form id=\\'getNetworkGenesForm\\'>\n <label for=\\'network-search-bar\\' id=\\'network-source-label\\'>Select genes</label>\n <input type=\\'text\\' id=\\'network-search-bar\\' name=\\'network-search-bar\\'></input>\n <button id=\\'enter-search\\' type=\\'submit\\' class=\\'search-button btn btn-default\\'>\n <span class=\\'glyphicon glyphicon-search\\'></span>\n </button>\n </form>\n </div>\n <div id=\\'selected-genes-container\\'>\n <div id=\\'selected-genes\\'>\n <p>Added genes go here! Click on a gene to remove it</p>\n </div>\n </div>\n <button id=\\'submit-network\\' class=\\'btn btn-default\\'>Create Network</input>\n </div>\n `;\n return result;\n };\n const createGeneButtons = function () {\n let result = `<div id=\\'selected-genes\\'>\n <p>Added genes go below! Click on a gene to remove it.</p>\n <div id=\\'custom-network-genes-container\\'>\n `;\n for (let gene in _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes) {\n result += `\n <div class=\\'custom-network-gene\\' id=${gene}>\n <p class=\\'custom-network-gene-display-id\\'>\n ${_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes[gene]}\n </p>\n <p class=\\'custom-network-gene-id\\'>\n (${gene})\n </p>\n </div>\n `;\n }\n\n result += \"</div></div>\";\n return result;\n };\n const displayCurrentGenes = function () {\n $(\"#selected-genes\").remove();\n $(\"#selected-genes-container\").append(createGeneButtons());\n for (let gene in _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes) {\n $(`#${gene}`).on(\"click\", (ev) => {\n ev.stopPropagation();\n $(`#${gene}`).remove();\n delete _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes[gene];\n });\n }\n };\n\n const addGene = function () {\n let gene = `${$(\"#network-search-bar\").val()}`.toUpperCase();\n $(\"#network-search-bar\").val(\"\");\n if (!(/^[A-Z0-9_-]{1,12}$/.test(gene))) {\n alert(`Gene: ${gene} is not to GRNsight specifications. Genes must be 12 characters or less,\ncontaining \"-\", \"_\", and alpha-numeric characters only`);\n } else {\n let source = _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.source;\n let headers = {\n type:\"NetworkGeneFromSource\",\n info: {\n gene: gene,\n source:_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.sources[source].source,\n timestamp:_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.sources[source].timestamp.substring(0, 19).replace(\"T\", \" \")\n }\n };\n Object(_api_grnsight_api__WEBPACK_IMPORTED_MODULE_1__[\"queryNetworkDatabase\"])(headers).then(function (response) {\n if (response.geneId !== null && response.displayGeneId !== null) {\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes[response.geneId] = response.displayGeneId;\n displayCurrentGenes();\n } else {\n alert(`Gene: ${gene} was not found in this database. Please check for any typos and try again.`);\n }\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n\n }\n };\n\n const displayCreateNetworkModal = function () {\n $(\"#createNetworkFormContainer\").remove();\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook = {\n genes : {},\n source : null\n };\n // get sources from database\n Object(_api_grnsight_api__WEBPACK_IMPORTED_MODULE_1__[\"queryNetworkDatabase\"])({type:\"NetworkSource\", info:null}).then(function (response) {\n $(\"#createNetworkQuestions-container\").append(createHTMLforForm(Object.keys(response.sources)));\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.sources = response.sources;\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.source = Object.keys(response.sources).length === 1 ?\n Object.keys(response.sources)[0] : null;\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n $(_constants__WEBPACK_IMPORTED_MODULE_0__[\"CREATE_NETWORK_MODAL\"]).modal(\"show\");\n };\n\n $(\"body\").on(\"click\", _constants__WEBPACK_IMPORTED_MODULE_0__[\"CREATE_NETWORK_CLASS\"], function (event) {\n event.preventDefault();\n event.stopPropagation();\n displayCreateNetworkModal();\n });\n\n $(\"body\").on(\"change\", \"#network-source\", function (event) {\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.source = $(\"#network-source\").val();\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes = {};\n event.stopPropagation();\n displayCurrentGenes();\n });\n $(\"body\").on(\"click\", \"#submit-network\", function () {\n let genesAmount = Object.keys(_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes).length;\n if (genesAmount === 0 ) {\n alert(\"Network must have at least 1 gene\");\n } else if (genesAmount > 75) {\n alert(`GRNsight is only capable of handling 75 genes at most. Your proposed network contains\n ${genesAmount} genes. Please remove some genes from your proposed network.`);\n } else {\n\n let source = _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.source;\n let headers = {\n type:\"CreateNetwork\",\n info: {\n genes: _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes,\n source:_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.sources[source].source,\n timestamp:_grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.sources[source].timestamp.substring(0, 19).replace(\"T\", \" \")\n }\n };\n Object(_api_grnsight_api__WEBPACK_IMPORTED_MODULE_1__[\"queryNetworkDatabase\"])(headers).then(function (response) {\n _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.links = response.links;\n let genes = _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.genes;\n let links = _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"].customWorkbook.links;\n let genesAmount = Object.keys(genes).length;\n let edgesAmount = Object.keys(links).length;\n if (edgesAmount > 100) {\n alert(`GRNsight is only capable of handling 100 edges at most. Your proposed network contains\n ${edgesAmount} regulatory connections. Please remove some genes from your proposed network.`);\n } else {\n let name = `Custom Workbook: UnweightedGRN(${genesAmount} genes, ${edgesAmount} edges)`;\n let workbook = {name, genes, links};\n Object(_api_grnsight_api__WEBPACK_IMPORTED_MODULE_1__[\"uploadCustomWorkbook\"])(workbook, _grnstate__WEBPACK_IMPORTED_MODULE_2__[\"grnState\"]);\n $(_constants__WEBPACK_IMPORTED_MODULE_0__[\"CREATE_NETWORK_MODAL\"]).modal(\"hide\");\n }\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n }\n });\n\n $(\"body\").on(\"click\", \"#enter-search\", function (event) {\n try {\n event.preventDefault();\n event.stopPropagation();\n addGene();\n } catch (error) {\n console.log(error);\n }\n });\n};\n\n\n//# sourceURL=webpack:///./web-client/public/js/createNetwork.js?");
|
|
2225
2249
|
|
|
2226
2250
|
/***/ }),
|
|
2227
2251
|
|
|
@@ -2256,7 +2280,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
|
|
|
2256
2280
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2257
2281
|
|
|
2258
2282
|
"use strict";
|
|
2259
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _graph_statistics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graph-statistics */ \"./web-client/public/js/graph-statistics.js\");\n/* harmony import */ var _graph_statistics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_graph_statistics__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _upload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload */ \"./web-client/public/js/upload.js\");\n/* harmony import */ var
|
|
2283
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _graph_statistics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graph-statistics */ \"./web-client/public/js/graph-statistics.js\");\n/* harmony import */ var _graph_statistics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_graph_statistics__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _upload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload */ \"./web-client/public/js/upload.js\");\n/* harmony import */ var _createNetwork__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createNetwork */ \"./web-client/public/js/createNetwork.js\");\n/* harmony import */ var _grnstate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./grnstate */ \"./web-client/public/js/grnstate.js\");\n/* harmony import */ var _update_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./update-app */ \"./web-client/public/js/update-app.js\");\n/* harmony import */ var _setup_handlers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./setup-handlers */ \"./web-client/public/js/setup-handlers.js\");\n // eslint-disable-line no-unused-vars\n\n\n\n\n\n\n\nObject(_setup_handlers__WEBPACK_IMPORTED_MODULE_5__[\"setupHandlers\"])(_grnstate__WEBPACK_IMPORTED_MODULE_3__[\"grnState\"]);\nObject(_update_app__WEBPACK_IMPORTED_MODULE_4__[\"updateApp\"])(_grnstate__WEBPACK_IMPORTED_MODULE_3__[\"grnState\"]);\n\nObject(_upload__WEBPACK_IMPORTED_MODULE_1__[\"upload\"])();\nObject(_createNetwork__WEBPACK_IMPORTED_MODULE_2__[\"createNetwork\"])();\n\n\n//# sourceURL=webpack:///./web-client/public/js/grnsight.js?");
|
|
2260
2284
|
|
|
2261
2285
|
/***/ }),
|
|
2262
2286
|
|
|
@@ -2268,7 +2292,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gra
|
|
|
2268
2292
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2269
2293
|
|
|
2270
2294
|
"use strict";
|
|
2271
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"grnState\", function() { return grnState; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/src/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n\n\nlet currentWorkbook = null;\n\nconst annotateLinks = workbook => {\n // TODO This duplicates logic that is done on the server side for an .xlsx spreadsheet.\n // Think of a way to consolidate it. Having discovered this, it seems like this should\n // be done on the client side because it rearranges data redundantly, for ease of display.\n workbook.positiveWeights = [];\n workbook.negativeWeights = [];\n\n workbook.links.forEach(link => {\n if (workbook.sheetType === \"unweighted\" && !link.value) {\n link.value = 1;\n }\n\n if (link.value > 0) {\n link.type = \"arrowhead\";\n // link.stroke = \"MediumVioletRed\"; // GRNsight v1 magenta edge color\n link.stroke = \"rgb(195, 61, 61)\"; // Node coloring-consistent red edge color\n workbook.positiveWeights.push(link.value);\n } else {\n link.type = \"repressor\";\n // link.stroke = \"DarkTurquoise\"; // GRNsight v1 cyan edge color\n link.stroke = \"rgb(51, 124, 183)\"; // Node coloring-consistent blue edge color\n workbook.negativeWeights.push(link.value);\n }\n });\n};\n\nconst grnState = {\n name: null,\n simulation: undefined,\n newWorkbook: false,\n\n get workbook () {\n return currentWorkbook;\n },\n\n set workbook (workbook) {\n currentWorkbook = workbook;\n // TODO: add colorOptimal so that the rest of the normalization code can get added\n this.resetNormalizationMax = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(workbook.positiveWeights.concat(workbook.negativeWeights));\n this.newWorkbook = true;\n },\n\n// Edge Display Parameters\n normalizationMax: null,\n resetNormalizationMax: null,\n edgeWeightDisplayOption: _constants__WEBPACK_IMPORTED_MODULE_1__[\"SHOW_WEIGHTS_MOUSEOVER\"],\n colorOptimal: true,\n grayEdgeThreshold: 5,\n dashedLine: false,\n\n annotateLinks: () => annotateLinks(currentWorkbook),\n\n// Zoom Parameter\n zoomValue: _constants__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_ZOOM_VALUE\"],\n\n// Node Coloring\n nodeColoring: {\n showMenu: false,\n nodeColoringEnabled:
|
|
2295
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"grnState\", function() { return grnState; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/src/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n\n\nlet currentWorkbook = null;\n\nconst annotateLinks = workbook => {\n // TODO This duplicates logic that is done on the server side for an .xlsx spreadsheet.\n // Think of a way to consolidate it. Having discovered this, it seems like this should\n // be done on the client side because it rearranges data redundantly, for ease of display.\n workbook.positiveWeights = [];\n workbook.negativeWeights = [];\n\n workbook.links.forEach(link => {\n if (workbook.sheetType === \"unweighted\" && !link.value) {\n link.value = 1;\n }\n\n if (link.value > 0) {\n link.type = \"arrowhead\";\n // link.stroke = \"MediumVioletRed\"; // GRNsight v1 magenta edge color\n link.stroke = \"rgb(195, 61, 61)\"; // Node coloring-consistent red edge color\n workbook.positiveWeights.push(link.value);\n } else {\n link.type = \"repressor\";\n // link.stroke = \"DarkTurquoise\"; // GRNsight v1 cyan edge color\n link.stroke = \"rgb(51, 124, 183)\"; // Node coloring-consistent blue edge color\n workbook.negativeWeights.push(link.value);\n }\n });\n};\n\nconst grnState = {\n name: null,\n simulation: undefined,\n newWorkbook: false,\n\n get workbook () {\n return currentWorkbook;\n },\n\n set workbook (workbook) {\n // console.dir(workbook);\n currentWorkbook = workbook;\n // TODO: add colorOptimal so that the rest of the normalization code can get added\n this.resetNormalizationMax = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(workbook.positiveWeights.concat(workbook.negativeWeights));\n this.newWorkbook = true;\n },\n\n// Edge Display Parameters\n normalizationMax: null,\n resetNormalizationMax: null,\n edgeWeightDisplayOption: _constants__WEBPACK_IMPORTED_MODULE_1__[\"SHOW_WEIGHTS_MOUSEOVER\"],\n colorOptimal: true,\n grayEdgeThreshold: 5,\n dashedLine: false,\n\n annotateLinks: () => annotateLinks(currentWorkbook),\n\n// Zoom Parameter\n zoomValue: _constants__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_ZOOM_VALUE\"],\n\n// Node Coloring\n nodeColoring: {\n showMenu: false,\n nodeColoringEnabled: undefined,\n logFoldChangeMaxValue: _constants__WEBPACK_IMPORTED_MODULE_1__[\"DEFAULT_MAX_LOG_FOLD_CHANGE\"],\n logFoldChangeUpdateTriggered: false,\n averageTopDataset: true,\n averageBottomDataset: true,\n topDataset: undefined,\n bottomDataset: undefined,\n lastDataset: null,\n bottomDataSameAsTop: true,\n nodeColoringOptions: [],\n },\n\n\n// Gene Page data\n// left defaulting to yeast for tests, until a better solution is found\n// Setting base case to yeast\n genePageData: {\n commonName: \"Yeast\",\n species: \"Saccharomyces_cerevisiae\",\n taxonUniprot: \"559292\",\n taxonJaspar: \"4932\",\n identified: false,\n ensembl: \"reg\",\n mine: \"yeast\"\n },\n\n nameToTaxon: {\n // Treating like a dictionary with keys being the english name\n // and values being a dictionary of (latin name, Uniprot, Jaspar)\n // some taxon ids are different between the two\n // changed spec names for common english and will have them formatted before calling an api\n \"Arabidopsis thaliana\": { spec: \"Arabidopsis_thaliana\", jaspar: 3702, uniprot: 3702,\n ensembl: \"plant\", mine: \"thale\"},\n \"Caenorhabditis elegans\": { spec: \"Caenorhabditis_elegans\", jaspar: 6293, uniprot: 6293,\n ensembl: \"reg\", mine: \"worm\"},\n \"Drosophila melanogaster\": { spec: \"Drosophila_melanogaster\", jaspar: 7227, uniprot: 7227,\n ensembl: \"reg\", mine: \"fly\"},\n \"Homo sapiens\": { spec: \"Homo_sapiens\", jaspar: 9606, uniprot: 9606, ensembl: \"reg\",\n mine: \"fly\"},\n \"Mus musculus\": { spec: \"Mus_musculus\", jaspar: 10090, uniprot: 10090, ensembl: \"reg\",\n mine: \"mouse\"},\n \"Saccharomyces cerevisiae\": { spec: \"Saccharomyces_cerevisiae\", jaspar: 4932, uniprot: 559292,\n ensembl: \"reg\", mine: \"yeast\"}\n },\n\n// Slider Parameters\n slidersLocked: false,\n showUndoReset: false,\n linkDistanceSlider: {\n sliderId: _constants__WEBPACK_IMPORTED_MODULE_1__[\"LINK_DIST_SLIDER_SIDEBAR\"],\n valueId: _constants__WEBPACK_IMPORTED_MODULE_1__[\"LINK_DIST_VALUE\"],\n defaultVal: _constants__WEBPACK_IMPORTED_MODULE_1__[\"LINK_DIST_DEFAULT_VALUE\"],\n currentVal: _constants__WEBPACK_IMPORTED_MODULE_1__[\"LINK_DIST_DEFAULT_VALUE\"],\n backup: _constants__WEBPACK_IMPORTED_MODULE_1__[\"LINK_DIST_DEFAULT_VALUE\"],\n needsAppendedZeros: false,\n forceChanged: false,\n },\n chargeSlider: {\n sliderId: _constants__WEBPACK_IMPORTED_MODULE_1__[\"CHARGE_SLIDER_SIDEBAR\"],\n valueId: _constants__WEBPACK_IMPORTED_MODULE_1__[\"CHARGE_VALUE\"],\n defaultVal: _constants__WEBPACK_IMPORTED_MODULE_1__[\"CHARGE_DEFAULT_VALUE\"],\n currentVal: _constants__WEBPACK_IMPORTED_MODULE_1__[\"CHARGE_DEFAULT_VALUE\"],\n backup: _constants__WEBPACK_IMPORTED_MODULE_1__[\"CHARGE_DEFAULT_VALUE\"],\n needsAppendedZeros: false,\n forceChanged: false,\n },\n\n// Graph Layout Parameter\n graphLayout: _constants__WEBPACK_IMPORTED_MODULE_1__[\"FORCE_GRAPH\"],\n\n// Viewport Size Parameter\n viewportSize: _constants__WEBPACK_IMPORTED_MODULE_1__[\"VIEWPORT_INIT\"],\n};\n\n\n//# sourceURL=webpack:///./web-client/public/js/grnstate.js?");
|
|
2272
2296
|
|
|
2273
2297
|
/***/ }),
|
|
2274
2298
|
|
|
@@ -2288,11 +2312,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
|
|
|
2288
2312
|
/*!****************************************************************!*\
|
|
2289
2313
|
!*** ./web-client/public/js/setup-load-and-import-handlers.js ***!
|
|
2290
2314
|
\****************************************************************/
|
|
2291
|
-
/*! exports provided: setupLoadAndImportHandlers */
|
|
2315
|
+
/*! exports provided: setupLoadAndImportHandlers, responseCustomWorkbookData */
|
|
2292
2316
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2293
2317
|
|
|
2294
2318
|
"use strict";
|
|
2295
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setupLoadAndImportHandlers\", function() { return setupLoadAndImportHandlers; });\n/* harmony import */ var _update_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./update-app */ \"./web-client/public/js/update-app.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n\n\n\n\nconst demoFiles = [_constants__WEBPACK_IMPORTED_MODULE_1__[\"UNWEIGHTED_DEMO_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"WEIGHTED_DEMO_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_INPUT_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_OUTPUT_PATH\"]];\n\nconst submittedFilename = $upload => {\n let path = $upload.val();\n let fakePathCheck = path.search(\"\\\\\\\\\") + 1;\n\n while (fakePathCheck) {\n path = path.substring(fakePathCheck);\n fakePathCheck = path.search(\"\\\\\\\\\") + 1;\n }\n\n return path;\n};\n\nconst createFileForm = $upload => {\n const formData = new FormData();\n formData.append(\"file\", $upload[0].files[0]);\n return formData;\n};\n\nconst uploadEpilogue = event => {\n if (window.ga) {\n window.ga(\"send\", \"pageview\", {\n page: \"/GRNsight/upload\",\n sessionControl: \"start\"\n });\n }\n\n $(\"a.upload > input[type=file]\").val(\"\");\n event.preventDefault();\n};\nconst disableUpload = state => {\n $(\"
|
|
2319
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setupLoadAndImportHandlers\", function() { return setupLoadAndImportHandlers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"responseCustomWorkbookData\", function() { return responseCustomWorkbookData; });\n/* harmony import */ var _update_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./update-app */ \"./web-client/public/js/update-app.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n\n\n\n\nconst demoFiles = [_constants__WEBPACK_IMPORTED_MODULE_1__[\"UNWEIGHTED_DEMO_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"WEIGHTED_DEMO_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_INPUT_PATH\"], _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_OUTPUT_PATH\"]];\n\nconst submittedFilename = $upload => {\n let path = $upload.val();\n let fakePathCheck = path.search(\"\\\\\\\\\") + 1;\n\n while (fakePathCheck) {\n path = path.substring(fakePathCheck);\n fakePathCheck = path.search(\"\\\\\\\\\") + 1;\n }\n\n return path;\n};\n\nconst createFileForm = $upload => {\n const formData = new FormData();\n formData.append(\"file\", $upload[0].files[0]);\n return formData;\n};\n\nconst uploadEpilogue = event => {\n if (window.ga) {\n window.ga(\"send\", \"pageview\", {\n page: \"/GRNsight/upload\",\n sessionControl: \"start\"\n });\n }\n\n $(\"a.upload > input[type=file]\").val(\"\");\n event.preventDefault();\n};\nconst disableUpload = state => {\n $(\".upload\").attr(\"disabled\", state);\n $(\".upload-sif\").attr(\"disabled\", state);\n $(\".upload-graphml\").attr(\"disabled\", state);\n};\n\nconst uploadHandler = (uploader) => {\n return function (event) { // Must be `function` due to use of `this`.\n const $upload = $(this);\n const filename = submittedFilename($upload); // TODO: remove before master release (beta@4.0.6)\n if ($upload[0].files[0].size < 2000000) {\n // disable upload button to prevent multiple uploads\n disableUpload(true);\n const formData = createFileForm($upload);\n uploader(filename, formData);\n uploadEpilogue(event);\n } else {\n let errorString = \"The file uploaded is too large. Please try again with a file smaller than 1 MB.\";\n $(\"#error\").html(errorString);\n $(\"#errorModal\").modal(\"show\");\n }\n };\n};\n\nconst workbookErrorDisplayer = xhr => {\n // re-enable upload button\n disableUpload(false);\n // Deleted status, error for argument because it was never used\n const err = JSON.parse(xhr.responseText);\n let errorString = \"Your graph failed to load.<br><br>\";\n\n if (!err.errors) { // will be falsy if an error was thrown before the workbook was generated\n errorString += err;\n } else {\n errorString = err.errors.reduce(\n (currentErrorString, currentError) =>\n `${currentErrorString}${currentError.possibleCause} ${currentError.suggestedFix}<br><br>`,\n\n errorString\n );\n }\n\n $(\"#error\").html(errorString);\n $(\"#errorModal\").modal(\"show\");\n};\n\nlet reloader = () => { };\n\n\nconst returnUploadRoute = filename => {\n if (demoFiles.indexOf(filename) !== -1) {\n return filename;\n } else if (filename.includes(\".xlsx\")) {\n return \"upload\";\n } else if (filename.includes(\".sif\")) {\n return \"upload-sif\";\n } else if (filename.includes(\".graphml\")) {\n return \"upload-graphml\";\n }\n};\n\nconst setupLoadAndImportHandlers = grnState => {\n const loadGrn = (name, formData) => {\n const uploadRoute = returnUploadRoute(name);\n const fullUrl = [ $(\".service-root\").val(), uploadRoute ].join(\"/\");\n // The presence of formData is taken to indicate a POST.\n (formData ?\n $.ajax({\n url: fullUrl,\n data: formData,\n processData: false,\n contentType: false,\n type: \"POST\",\n crossDomain: true\n }) :\n $.getJSON(fullUrl)\n ).done((workbook, textStatus, jqXhr) => {\n grnState.name = name || jqXhr.getResponseHeader(\"X-GRNsight-Filename\");\n if (demoFiles.indexOf(name) > -1) {\n switch (name) {\n case _constants__WEBPACK_IMPORTED_MODULE_1__[\"WEIGHTED_DEMO_PATH\"]:\n grnState.name = _constants__WEBPACK_IMPORTED_MODULE_1__[\"WEIGHTED_DEMO_NAME\"];\n break;\n case _constants__WEBPACK_IMPORTED_MODULE_1__[\"UNWEIGHTED_DEMO_PATH\"]:\n grnState.name = _constants__WEBPACK_IMPORTED_MODULE_1__[\"UNWEIGHTED_DEMO_NAME\"];\n break;\n case _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_INPUT_PATH\"]:\n grnState.name = _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_INPUT_NAME\"];\n break;\n case _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_OUTPUT_PATH\"]:\n grnState.name = _constants__WEBPACK_IMPORTED_MODULE_1__[\"SCHADE_OUTPUT_NAME\"];\n }\n }\n grnState.workbook = workbook;\n if (uploadRoute !== \"upload\") {\n grnState.annotateLinks();\n }\n reloader = () => loadGrn(name, formData);\n // re-enable upload button\n disableUpload(false);\n Object(_update_app__WEBPACK_IMPORTED_MODULE_0__[\"updateApp\"])(grnState);\n // displayStatistics(workbook);\n }).error(workbookErrorDisplayer);\n };\n /*\n * Thanks to http://stackoverflow.com/questions/6974684/how-to-send-formdata-objects-with-ajax-requests-in-jquery\n * for helping to resolve this.\n */\n\n // $(\".upload\").change(uploadHandler(loadGrn));\n $(\"body\").on(\"change\", \".upload\", uploadHandler(loadGrn));\n const loadDemo = (url, value) => {\n $(\"#demoSourceDropdown option[value='\" + value.substring(1) + \"']\").prop(\"selected\", true);\n loadGrn(url);\n reloader = () => loadGrn(url);\n\n $(\"a.upload > input[type=file]\").val(\"\");\n };\n\n const initializeDemoFile = (demoClass, demoPath, demoName) => {\n // Deleted parameter `event`\n $(demoClass).on(\"click\", () => {\n loadDemo(demoPath, demoClass, demoName);\n });\n\n $(\"#demoSourceDropdown\").on(\"change\", () => {\n loadDemo(demoPath, demoClass, demoName);\n });\n };\n\n _constants__WEBPACK_IMPORTED_MODULE_1__[\"DEMO_INFORMATION\"].forEach(demoInfo => initializeDemoFile.apply(null, demoInfo));\n\n $(\"body\").on(\"click\", \".reload\", function () {\n // Deleted `event` parameter but need `function` because of `this`.\n if (!$(this).parent().hasClass(\"disabled\")) {\n if ($.isFunction(reloader)) {\n reloader();\n }\n }\n });\n};\n\nconst responseCustomWorkbookData = (grnState, queryURL, name) => {\n const uploadRoute = queryURL;\n const fullUrl = [ $(\".service-root\").val(), uploadRoute ].join(\"/\");\n $.getJSON(fullUrl).done((workbook) => {\n grnState.name = name;\n grnState.workbook = workbook;\n grnState.annotateLinks();\n disableUpload(false);\n Object(_update_app__WEBPACK_IMPORTED_MODULE_0__[\"updateApp\"])(grnState);\n reloader = () => responseCustomWorkbookData(grnState, queryURL, name);\n });\n};\n\n\n\n//# sourceURL=webpack:///./web-client/public/js/setup-load-and-import-handlers.js?");
|
|
2296
2320
|
|
|
2297
2321
|
/***/ }),
|
|
2298
2322
|
|
|
@@ -2300,11 +2324,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
|
|
|
2300
2324
|
/*!********************************************!*\
|
|
2301
2325
|
!*** ./web-client/public/js/update-app.js ***!
|
|
2302
2326
|
\********************************************/
|
|
2303
|
-
/*! exports provided: valueValidator, modifyChargeParameter, modifyLinkDistanceParameter, identifySpeciesMenu, updateApp */
|
|
2327
|
+
/*! exports provided: valueValidator, modifyChargeParameter, modifyLinkDistanceParameter, identifySpeciesMenu, updateApp, stopLoadingIcon, startLoadingIcon */
|
|
2304
2328
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2305
2329
|
|
|
2306
2330
|
"use strict";
|
|
2307
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"valueValidator\", function() { return valueValidator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyChargeParameter\", function() { return modifyChargeParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyLinkDistanceParameter\", function() { return modifyLinkDistanceParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"identifySpeciesMenu\", function() { return identifySpeciesMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateApp\", function() { return updateApp; });\n/* harmony import */ var _graph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graph */ \"./web-client/public/js/graph.js\");\n/* harmony import */ var _upload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload */ \"./web-client/public/js/upload.js\");\n/* harmony import */ var _warnings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./warnings */ \"./web-client/public/js/warnings.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/src/index.js\");\n/* harmony import */ var _grnstate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./grnstate */ \"./web-client/public/js/grnstate.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n\n\n\n\n\n\n\n\n// In this transitory state, updateApp might get called before things are completely set up, so for now\n// we define this wrapper function that guards against uninitialized values.\nconst refreshApp = () => {\n if (_upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"] && _upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook) {\n Object(_graph__WEBPACK_IMPORTED_MODULE_0__[\"drawGraph\"])(_upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook);\n }\n};\n\nconst displayworkbook = (workbook, name) => {\n _upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook = workbook;\n // console.log(\"workbook: \", workbook); // Display the workbook in the console\n $(\"#graph-metadata\").html(workbook.genes.length + \" nodes<br>\" + workbook.links.length + \" edges\");\n\n if (workbook.warnings.length > 0) {\n Object(_warnings__WEBPACK_IMPORTED_MODULE_2__[\"displayWarnings\"])(workbook.warnings);\n }\n\n $(\"#fileName\").text(name); // Set the name of the file to display in the top bar\n $(\"input[type='range']\").off(\"input\"); // I have no idea why I do this. Investigate later.\n};\n\n// Value Validators\nconst valueValidator = (min, max, value) => {\n return Math.min(max, Math.max(min, value));\n};\n\nconst edgeWeightNormalizationInputValidation = value => {\n return value ===\n \"\" ? \"\" : valueValidator(_constants__WEBPACK_IMPORTED_MODULE_5__[\"MIN_EDGE_WEIGHT_NORMALIZATION\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_EDGE_WEIGHT_NORMALIZATION\"], value);\n};\n\nconst synchronizeNormalizationValues = value => {\n var validated = edgeWeightNormalizationInputValidation(value);\n $(\"#normalization-max\").val(validated);\n $(\"#edge-weight-normalization-factor-menu\").val(validated);\n};\n\nconst grayEdgeInputValidator = value => {\n return valueValidator(0, 100, value);\n};\n\nconst logFoldChangeMaxValueInputValidation = value => {\n if (value === \"\" || value === \"0\") {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"DEFAULT_MAX_LOG_FOLD_CHANGE\"];\n } else if (value < _constants__WEBPACK_IMPORTED_MODULE_5__[\"MINIMUM_MAX_LOG_FOLD_CHANGE\"]) {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"MINIMUM_MAX_LOG_FOLD_CHANGE\"];\n } else if (value > _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAXIMUM_MAX_LOG_FOLD_CHANGE\"]) {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAXIMUM_MAX_LOG_FOLD_CHANGE\"];\n } else {\n return value;\n }\n};\n\n// Weight Visualization Function\nconst showEdgeWeightOptions = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_MENU_CLASS\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPORT_WEIGHTED_CLASS\"]).removeClass(\"startDisabled\").removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"collapse\");\n};\n\nconst hideEdgeWeightOptions = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_MENU_CLASS\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPORT_WEIGHTED_CLASS\"]).removeClass(\"startDisabled\").addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"\");\n};\n\nconst synchronizeGrayEdgeValues = value => {\n var validatedInput = grayEdgeInputValidator(value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_MENU\"]).val(validatedInput);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_TEXT_SIDEBAR\"]).text(validatedInput + \"%\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR\"]).val(validatedInput / 100);\n};\n\nconst synchronizeShowWeightsMouseover = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).addClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).removeClass(\"selected\");\n};\n\nconst synchronizeShowAllWeights = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).addClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).removeClass(\"selected\");\n};\n\nconst synchronizeHideAllWeights = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).prop(\"checked\", \"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).addClass(\"selected\");\n};\n\n// Viewport\nconst synchronizeViewportSizeSmall = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeMedium = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeLarge = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeFit = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst updateViewportSize = (currentValue) => {\n // These values are bound to the layout dimensions of the GRNsight website.\n const WIDTH_OFFSET = 250;\n const HEIGHT_OFFSET = 53;\n\n let container = $(\".grnsight-container\");\n\n // from jquery\n const fitContainer = dimensions => {\n if (!dimensions) {\n return; // First call; the next one should have dimensions filled in.\n }\n\n const fitWidth = dimensions.width - WIDTH_OFFSET;\n const fitHeight = dimensions.height - dimensions.top - HEIGHT_OFFSET;\n if (fitWidth !== container.width() || fitHeight !== container.height()) {\n container.css({\n width: fitWidth,\n height: fitHeight\n });\n }\n };\n\n const fitContainerToWindow = () => {\n fitContainer({\n width: $(window).width(),\n height: $(window).height(),\n top: 0\n });\n };\n\n const requestWindowDimensions = () => {\n // We send a message if we are in an iframe, and manipulate directly if we aren’t.\n if (window === window.top) {\n fitContainerToWindow();\n } else {\n window.top.postMessage(\"dimensions\", _constants__WEBPACK_IMPORTED_MODULE_5__[\"HOST_SITE\"]);\n }\n };\n\n let grnsightContainerClass = `grnsight-container ${currentValue}`;\n if (!container.hasClass(currentValue)) {\n container.attr(\"class\", grnsightContainerClass);\n if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_FIT\"]) {\n requestWindowDimensions();\n } else {\n container.css({ width: \"\", height: \"\" });\n }\n }\n\n // Added synchronization\n if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_S\"]) {\n synchronizeViewportSizeSmall();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_M\"]) {\n synchronizeViewportSizeMedium();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_L\"]) {\n synchronizeViewportSizeLarge();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_FIT\"]) {\n fitContainer(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].dimensions);\n synchronizeViewportSizeFit();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_INIT\"]) {\n // First time around: initialize.\n requestWindowDimensions();\n }\n};\n\n// Expression DB Access Functions\nconst buildTimepointsString = function (selection) {\n let timepoints = \"\";\n selection.timepoints.forEach(x => timepoints += (x + \",\"));\n return timepoints.substring(0, timepoints.length - 1);\n};\nconst buildGeneQuery = function () {\n let genes = \"\";\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook.genes.forEach(x => genes += (x.name + \",\"));\n return genes.substring(0, genes.length - 1);\n};\n\nconst buildURL = function (selection) {\n const baseQuery = `expressiondb?dataset=${selection.dataset}&genes=${buildGeneQuery()}`;\n return selection.timepoints ?\n `${baseQuery}&timepoints=${buildTimepointsString(selection)}` :\n baseQuery;\n};\n\nconst startLoadingIcon = function () {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER\"]).css(\"display\", \"block\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER_TEXT\"]).css(\"display\", \"block\");\n};\n\nconst responseData = (formData, queryURL) => {\n return new Promise(function (resolve) {\n const uploadRoute = queryURL;\n const fullUrl = [ $(\"#service-root\").val(), uploadRoute ].join(\"/\");\n startLoadingIcon();\n (formData ?\n $.ajax({\n url: fullUrl,\n data: formData,\n processData: false,\n contentType: false,\n type: \"GET\",\n crossDomain: true\n }) :\n $.getJSON(fullUrl)\n ).done((expressionData) => {\n resolve(expressionData);\n }).error(console.log(\"Error in accessing expression database. Result may just be loading.\"));\n });\n};\n\nconst stopLoadingIcon = function () {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER\"]).css(\"display\", \"none\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER_TEXT\"]).css(\"display\", \"none\");\n};\n\nconst enableNodeColoringUI = function () {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringEnabled = true;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).removeClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\"]).removeClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\"]).removeClass(\"hidden\");\n};\n\n// Sliders Functions\nconst updateSliderState = slidersLocked => {\n const forceGraphDisabled = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT\"] || slidersLocked;\n if (forceGraphDisabled) {\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_MENU\"]} span`).removeClass(\"invisible\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_MENU\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_CLASS\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_CLASS\"]).parent().addClass(\"disabled\");\n } else {\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_MENU\"]} span`).removeClass(\"glyphicon-ok\").addClass(\"invisible\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_MENU\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_CLASS\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_CLASS\"]).parent().removeClass(\"disabled\");\n }\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).prop(\"checked\", slidersLocked);\n\n if (!_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].showUndoReset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", true);\n }\n};\n\nconst modifyChargeParameter = (value) => {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.force(\"charge\").strength(value);\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.alpha(1);\n};\n\nconst modifyLinkDistanceParameter = (value) => {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.force(\"link\").distance(value);\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.alpha(1);\n};\n\nconst updateChargeSliderValues = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook !== null) {\n modifyChargeParameter(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n }\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_VALUE\"]).text(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_MENU\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).html(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal +\n ((_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.needsAppendedZeros &&\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal.toString().length === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRAVITY_LENGTH_WITHOUT_ZERO\"]) ? \"0\" : \"\"));\n};\n\nconst updateLinkDistanceSliderValues = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook !== null) {\n modifyLinkDistanceParameter(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n }\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_VALUE\"]).text(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_MENU\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).html(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal +\n ((_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.needsAppendedZeros &&\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal.toString().length === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRAVITY_LENGTH_WITHOUT_ZERO\"]) ? \"0\" : \"\"));\n};\n\n// Grid Layout Functions\nconst expandLayoutSidebar = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LAYOUT_SIDEBAR_PANEL\"]).addClass(\"in\");\n};\n\nconst toggleLayout = (on, off) => {\n if (!$(on).prop(\"checked\")) {\n $(on).prop(\"checked\", true);\n $(off).prop(\"checked\", false);\n $(`${off} span`).removeClass(\"glyphicon-ok\");\n $(`${on} span`).addClass(\"glyphicon-ok\");\n }\n};\n\nconst updatetoForceGraph = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).removeAttr(\"disabled\");\n toggleLayout(_constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH_MENU\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT_MENU\"]);\n};\n\nconst updatetoGridLayout = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).attr(\"disabled\", true);\n toggleLayout(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT_MENU\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH_MENU\"]);\n};\n\n// Node Coloring Functions\nconst showNodeColoringMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).addClass(\"in\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU_CLASS\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"collapse\");\n};\n\nconst disableNodeColoringMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).removeClass(\"in\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU_CLASS\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"\");\n};\n\nconst isNewWorkbook = (name) => {\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.lastDataset === null || _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.lastDataset !== name;\n};\n\nconst shortenExpressionSheetName = (name) => {\n return (name.length > _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_NUM_CHARACTERS_DROPDOWN\"]) ?\n (name.slice(0, _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_NUM_CHARACTERS_DROPDOWN\"]) + \"...\") : name;\n};\n\nconst hasExpressionData = (sheets) => {\n for (var property in sheets) {\n if (property.match(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ENDS_IN_EXPRESSION_REGEXP\"])) {\n return true;\n }\n }\n return false;\n};\n\nconst updateSpeciesMenu = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_CRESS\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_FLY\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_HUMAN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_YEAST\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_NEMATODE\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_MOUSE\"] + \" span\").removeClass(\"glyphicon-ok\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Arabidopsis_thaliana\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_CRESS\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Drosophila_melanogaster\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_FLY\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Caenorhabditis_elegans\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_NEMATODE\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Homo_sapiens\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_HUMAN\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Mus_musculus\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_MOUSE\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Saccharomyces_cerevisiae\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_YEAST\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n};\n\n// helper method to check if the given data, a taxon id or a species name\n// is contained within the identified species, if it exists at all.\nconst identifySpeciesMenu = (data) => {\n var nameTax = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nameToTaxon;\n for (var n in nameTax) {\n if (Object.values(nameTax[n]).includes(data.toString())) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n }\n return false;\n};\n\nconst identifySpeciesOrTaxon = (data) => {\n var nameTax = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nameToTaxon;\n for (var n in nameTax) {\n if (n === data) { // <-- change if to work\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified = true;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n for (var t in Object.values(nameTax[n])) {\n if (Object.values(nameTax[n])[t] === data) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified = true;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n }\n }\n return false;\n};\n\n // renderNodeColoring: function () { }, // defined in graph.js\n\nconst clearDropdownMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).html(\"\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).html(\"\");\n};\n\nconst expressionDBDatasets = [\"Barreto_2012_wt\", \"Dahlquist_2018_dcin5\",\n \"Dahlquist_2018_dgln3\", \"Dahlquist_2018_dhap4\", \"Dahlquist_2018_dzap1\",\n \"Dahlquist_2018_wt\", \"Kitagawa_2002_wt\", \"Thorsen_2007_wt\"];\n\nconst resetDatasetDropdownMenus = (workbook) => {\n clearDropdownMenus();\n $(\".dataset-option\").remove(); // clear all menu dataset options\n\n var createHTMLforDataset = function (name) {\n return `\n <li class=\\\"dataset-option node-coloring-menu\\\" value=\\\"${name}\\\">\n <a>\n <span class=\\\"glyphicon\\\"></span>\n ${name}\n </a>\n </li>`;\n };\n\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions = [];\n for (var property in workbook.expression) {\n if (property.match(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ENDS_IN_EXPRESSION_REGEXP\"])) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.push({value: property});\n }\n }\n\n // Add expression database options\n expressionDBDatasets.forEach(option => _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.push({value: [option]}));\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .attr(\"value\", \"Same as Top Dataset\").text(\"Same as Top Dataset\"));\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]).append(createHTMLforDataset(\"Same as Top Dataset\"));\n\n // $(DATA_SET_SELECT).append($(\"<option>\").attr(\"value\", \"Dahlquist\").text(\"Dahlquist\"));\n\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.forEach(function (option) {\n var shortenedSheetName = shortenExpressionSheetName(option.value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .addClass(\"dataset-option\")\n .attr(\"value\", option.value).text(shortenedSheetName));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"])\n .append(createHTMLforDataset(option.value));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .addClass(\"dataset-option\")\n .attr(\"value\", option.value).text(shortenedSheetName));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"])\n .append(createHTMLforDataset(option.value));\n });\n\n $(\"#topDatasetDropdownMenu li a span\").first().addClass(\"glyphicon-ok\");\n $(\"#bottomDatasetDropdownMenu li a span\").first().addClass(\"glyphicon-ok\");\n};\n\nconst updateLogFoldChangeMaxValue = () => {\n var value = logFoldChangeMaxValueInputValidation(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.logFoldChangeMaxValue);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT\"]).val(value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_MENU\"]).val(value);\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nconst removeAllChecksFromMenuDatasetOptions = (id) => {\n $(`${id} li a span`).each(\n function () {\n $(this).removeClass(\"glyphicon-ok\");\n }\n );\n};\n\nconst updateTopDataset = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset);\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"]} li[value='${_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset}'] a span`).addClass(\"glyphicon-ok\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nconst updateBottomDataset = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataSameAsTop) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).val(\"Same as Top Dataset\");\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]} li[value='${\"Same as Top Dataset\"}'] a span`).addClass(\"glyphicon-ok\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset);\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]);\n /* eslint-disable max-len */\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]} li[value='${_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset}'] a span`)\n .addClass(\"glyphicon-ok\");\n /* eslint-enable max-len */\n }\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nif (!_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n}\n\nconst updateApp = grnState => {\n if (grnState.newWorkbook) {\n grnState.normalizationMax = Object(d3_array__WEBPACK_IMPORTED_MODULE_3__[\"max\"])(grnState.workbook.positiveWeights.concat(grnState.workbook.negativeWeights));\n displayworkbook(grnState.workbook, grnState.name);\n expandLayoutSidebar();\n clearDropdownMenus();\n // check if the species has been identified yet, if not try to identify it\n // also checks if the areas have been populated at all\n var workbookSpecies = grnState.workbook.meta.species;\n var workbookTaxon = grnState.workbook.meta.taxon_id;\n if (identifySpeciesOrTaxon(workbookSpecies) || identifySpeciesOrTaxon(workbookTaxon)) {\n identifySpeciesOrTaxon(workbookSpecies);\n identifySpeciesOrTaxon(workbookTaxon);\n }\n if (hasExpressionData(grnState.workbook.expression)) {\n resetDatasetDropdownMenus(grnState.workbook);\n\n grnState.nodeColoring.nodeColoringEnabled = true;\n if (isNewWorkbook(name)) {\n grnState.nodeColoring.showMenu = true;\n grnState.nodeColoring.lastDataset = name;\n showNodeColoringMenus();\n }\n grnState.nodeColoring.topDataset = $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\") === \"Same as Top Dataset\") {\n grnState.nodeColoring.bottomDataset = grnState.nodeColoring.topDataset;\n grnState.nodeColoring.bottomDataSameAsTop = true;\n } else {\n grnState.nodeColoring.bottomDataset =\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\");\n grnState.nodeColoring.bottomDataSameAsTop = false;\n }\n } else {\n grnState.nodeColoringEnabled = false;\n }\n refreshApp();\n\n // Rare exception to the MVC cycle: right now we have no way of knowing whether the workbook has changed\n // (which is what necessitates displayworkbook), so we mark the model here.\n grnState.newWorkbook = false;\n }\n\n synchronizeNormalizationValues(grnState.normalizationMax);\n synchronizeGrayEdgeValues(grnState.grayEdgeThreshold);\n\n// Dashed Line Synchronization\n if (grnState.dashedLine) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_SIDEBAR\"]).prop(\"checked\", \"checked\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_SIDEBAR\"]).removeProp(\"checked\");\n }\n\n// Weights functions\n if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"SHOW_WEIGHTS_MOUSEOVER\"]) {\n synchronizeShowWeightsMouseover();\n } else if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"SHOW_ALL_WEIGHTS\"]) {\n synchronizeShowAllWeights();\n } else if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"HIDE_ALL_WEIGHTS\"]) {\n synchronizeHideAllWeights();\n }\n\n// Enable/Disable Colored edges\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_SIDEBAR\"]).prop(\"checked\", grnState.colorOptimal);\n const classFunction = `${grnState.colorOptimal ? \"add\" : \"remove\"}Class`;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_MENU\"])[classFunction](_constants__WEBPACK_IMPORTED_MODULE_5__[\"ACTIVE_COLOR_OPTION\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_MENU\"]}>span`)[classFunction](\"glyphicon-ok\");\n\n// Graph Layout\n if (grnState.graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH\"]) {\n updatetoForceGraph();\n } else if (grnState.graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT\"]) {\n updatetoGridLayout();\n }\n\n// Viewport\n updateViewportSize(grnState.viewportSize);\n\n // Node Coloring\n if (grnState.workbook !== null && grnState.nodeColoring.nodeColoringEnabled\n && hasExpressionData(grnState.workbook.expression)) {\n grnState.nodeColoring.showMenu = true;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).prop(\"checked\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).prop(\"checked\", true);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_MENU\"]} span`).addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"DEFAULT_MAX_LOG_FOLD_CHANGE\"]);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_BODY\"]).removeClass(\"hidden\");\n if (expressionDBDatasets.includes(grnState.nodeColoring.topDataset) &&\n grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) {\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\")) {\n let queryURLTop = buildURL({dataset: grnState.nodeColoring.topDataset});\n\n responseData(\"\", queryURLTop).then(function (response) {\n grnState.workbook.expression[grnState.nodeColoring.topDataset] = response;\n enableNodeColoringUI();\n\n if (grnState.nodeColoring.bottomDataSameAsTop ||\n !expressionDBDatasets.includes(grnState.nodeColoring.bottomDataset)) {\n stopLoadingIcon();\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n }\n } else if (expressionDBDatasets.includes(grnState.nodeColoring.bottomDataset) &&\n !grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined) {\n if (!grnState.nodeColoring.bottomDataSameAsTop) {\n let queryURLBottom = buildURL({dataset: grnState.nodeColoring.bottomDataset});\n responseData(\"\", queryURLBottom).then(function (response) {\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] = response;\n enableNodeColoringUI();\n stopLoadingIcon();\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n }\n } else {\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n } else if (grnState.workbook !== null && !hasExpressionData(grnState.workbook.expression)\n && grnState.nodeColoring.nodeColoringEnabled) {\n if ((grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) ||\n (!grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined)) {\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].removeNodeColoring();\n resetDatasetDropdownMenus(grnState.workbook);\n }\n grnState.nodeColoring.showMenu = true;\n grnState.nodeColoring.topDataset = grnState.nodeColoring.topDataset ?\n grnState.nodeColoring.topDataset : \"Barreto_2012_wt\";\n grnState.nodeColoring.bottomDataset = grnState.nodeColoring.bottomDataset ?\n grnState.nodeColoring.bottomDataset : \"Barreto_2012_wt\";\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).addClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\"]).addClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\"]).addClass(\"hidden\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\")) {\n if (grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) {\n let queryURLTop = buildURL({dataset: grnState.nodeColoring.topDataset});\n\n responseData(\"\", queryURLTop).then(function (response) {\n grnState.workbook.expression[grnState.nodeColoring.topDataset] = response;\n enableNodeColoringUI();\n\n if (grnState.nodeColoring.bottomDataSameAsTop) {\n stopLoadingIcon();\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n } else if (!grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined) {\n let queryURLBottom = buildURL({dataset: grnState.nodeColoring.bottomDataset});\n responseData(\"\", queryURLBottom).then(function (response) {\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] = response;\n enableNodeColoringUI();\n\n stopLoadingIcon();\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n } else {\n enableNodeColoringUI();\n // There is as problem here! When a dataset from the database is used to do node coloring,\n // but then the layout of the graph is changed (force graph to grid layout, for instance),\n // node coloring goes away, seemingly inexplicably.\n // !!!!! TEMPORARY WORKAROUND:\n // Calling `updaters.renderNodeColoring()` inline does not succeed; instead, a delay\n // has to take place, done here via `setTimeout`.\n //\n // The delay is built-in to the cases where a query has to happen first.\n //\n // For some reason, calling updates.renderNodeColoring() _synchronously_ does not\n // actually perform the node coloring.\n //\n // Investigate why a timeout is required in order for node coloring to take place\n // successfully in this case.\n setTimeout(() => _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring(), 250);\n\n }\n }\n } else if (grnState.workbook !== null && !grnState.nodeColoring.nodeColoringEnabled) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_BODY\"]).addClass(\"hidden\");\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_MENU\"]} span`).removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\", false);\n }\n\n if (grnState.workbook !== null && grnState.workbook.sheetType === \"weighted\") {\n showEdgeWeightOptions();\n } else if (grnState.workbook !== null && grnState.workbook.sheetType === \"unweighted\") {\n hideEdgeWeightOptions();\n } else {\n hideEdgeWeightOptions();\n }\n\n if (grnState.nodeColoring.averageTopDataset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).prop(\"checked\", \"checked\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).removeProp(\"checked\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n\n if (grnState.nodeColoring.averageBottomDataset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).prop(\"checked\", \"checked\");\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).removeProp(\"checked\");\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n\n if (grnState.nodeColoring.showMenu) {\n showNodeColoringMenus();\n } else {\n disableNodeColoringMenus();\n }\n\n updateLogFoldChangeMaxValue();\n updateTopDataset();\n updateBottomDataset();\n updateSliderState(grnState.slidersLocked);\n\n if (grnState.showUndoReset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", false);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().removeClass(\"disabled\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().addClass(\"disabled\");\n }\n\n updateChargeSliderValues();\n updateLinkDistanceSliderValues();\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_CONTROL\"]).prop({ disabled: !grnState.workbook });\n if (!grnState.workbook) {\n // Set initial values when there is no workbook: this is necessarily explicit because Firefox\n // preserves these values even upon a browser reload.\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_INPUT\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_DISPLAY_MIDDLE\"]);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_SLIDER\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_ADAPTIVE_MAX_SCALE\"]);\n }\n refreshApp();\n\n};\n\n\n//# sourceURL=webpack:///./web-client/public/js/update-app.js?");
|
|
2331
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"valueValidator\", function() { return valueValidator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyChargeParameter\", function() { return modifyChargeParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifyLinkDistanceParameter\", function() { return modifyLinkDistanceParameter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"identifySpeciesMenu\", function() { return identifySpeciesMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateApp\", function() { return updateApp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stopLoadingIcon\", function() { return stopLoadingIcon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startLoadingIcon\", function() { return startLoadingIcon; });\n/* harmony import */ var _graph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graph */ \"./web-client/public/js/graph.js\");\n/* harmony import */ var _upload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload */ \"./web-client/public/js/upload.js\");\n/* harmony import */ var _warnings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./warnings */ \"./web-client/public/js/warnings.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/src/index.js\");\n/* harmony import */ var _grnstate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./grnstate */ \"./web-client/public/js/grnstate.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants */ \"./web-client/public/js/constants.js\");\n/* harmony import */ var _api_grnsight_api_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./api/grnsight-api.js */ \"./web-client/public/js/api/grnsight-api.js\");\n\n\n\n\n\n\n\n\n\n\n// In this transitory state, updateApp might get called before things are completely set up, so for now\n// we define this wrapper function that guards against uninitialized values.\nconst refreshApp = () => {\n if (_upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"] && _upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook) {\n Object(_graph__WEBPACK_IMPORTED_MODULE_0__[\"drawGraph\"])(_upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook);\n }\n};\n\nconst displayworkbook = (workbook, name) => {\n _upload__WEBPACK_IMPORTED_MODULE_1__[\"uploadState\"].currentWorkbook = workbook;\n // console.log(\"workbook: \", workbook); // Display the workbook in the console\n $(\"#graph-metadata\").html(workbook.genes.length + \" nodes<br>\" + workbook.links.length + \" edges\");\n\n if (workbook.warnings.length > 0) {\n Object(_warnings__WEBPACK_IMPORTED_MODULE_2__[\"displayWarnings\"])(workbook.warnings);\n }\n\n $(\"#fileName\").text(name); // Set the name of the file to display in the top bar\n $(\"input[type='range']\").off(\"input\"); // I have no idea why I do this. Investigate later.\n};\n\n// Value Validators\nconst valueValidator = (min, max, value) => {\n return Math.min(max, Math.max(min, value));\n};\n\nconst edgeWeightNormalizationInputValidation = value => {\n return value ===\n \"\" ? \"\" : valueValidator(_constants__WEBPACK_IMPORTED_MODULE_5__[\"MIN_EDGE_WEIGHT_NORMALIZATION\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_EDGE_WEIGHT_NORMALIZATION\"], value);\n};\n\nconst synchronizeNormalizationValues = value => {\n var validated = edgeWeightNormalizationInputValidation(value);\n $(\"#normalization-max\").val(validated);\n $(\"#edge-weight-normalization-factor-menu\").val(validated);\n};\n\nconst grayEdgeInputValidator = value => {\n return valueValidator(0, 100, value);\n};\n\nconst logFoldChangeMaxValueInputValidation = value => {\n if (value === \"\" || value === \"0\") {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"DEFAULT_MAX_LOG_FOLD_CHANGE\"];\n } else if (value < _constants__WEBPACK_IMPORTED_MODULE_5__[\"MINIMUM_MAX_LOG_FOLD_CHANGE\"]) {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"MINIMUM_MAX_LOG_FOLD_CHANGE\"];\n } else if (value > _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAXIMUM_MAX_LOG_FOLD_CHANGE\"]) {\n return _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAXIMUM_MAX_LOG_FOLD_CHANGE\"];\n } else {\n return value;\n }\n};\n\n// Weight Visualization Function\nconst showEdgeWeightOptions = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_MENU_CLASS\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPORT_WEIGHTED_CLASS\"]).removeClass(\"startDisabled\").removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"collapse\");\n};\n\nconst hideEdgeWeightOptions = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_MENU_CLASS\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPORT_WEIGHTED_CLASS\"]).removeClass(\"startDisabled\").addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EDGE_WEIGHT_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"\");\n};\n\nconst synchronizeGrayEdgeValues = value => {\n var validatedInput = grayEdgeInputValidator(value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_MENU\"]).val(validatedInput);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_TEXT_SIDEBAR\"]).text(validatedInput + \"%\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR\"]).val(validatedInput / 100);\n};\n\nconst synchronizeShowWeightsMouseover = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).addClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).removeClass(\"selected\");\n};\n\nconst synchronizeShowAllWeights = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).addClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).removeClass(\"selected\");\n};\n\nconst synchronizeHideAllWeights = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_SIDE\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_SIDE\"]).prop(\"checked\", \"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_MOUSE_OVER_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_SHOW_ALWAYS_CLASS\"]).removeClass(\"selected\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"WEIGHTS_HIDE_CLASS\"]).addClass(\"selected\");\n};\n\n// Viewport\nconst synchronizeViewportSizeSmall = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeMedium = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeLarge = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst synchronizeViewportSizeFit = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").removeClass(\"glyphicon-ok\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_S_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_M_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_L_SIDEBAR\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).removeProp(\"checked\");\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_SIDEBAR\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_SIZE_FIT_DROPDOWN\"] + \" span\").addClass(\"glyphicon-ok\");\n};\n\nconst updateViewportSize = (currentValue) => {\n // These values are bound to the layout dimensions of the GRNsight website.\n const WIDTH_OFFSET = 250;\n const HEIGHT_OFFSET = 53;\n\n let container = $(\".grnsight-container\");\n\n // from jquery\n const fitContainer = dimensions => {\n if (!dimensions) {\n return; // First call; the next one should have dimensions filled in.\n }\n\n const fitWidth = dimensions.width - WIDTH_OFFSET;\n const fitHeight = dimensions.height - dimensions.top - HEIGHT_OFFSET;\n if (fitWidth !== container.width() || fitHeight !== container.height()) {\n container.css({\n width: fitWidth,\n height: fitHeight\n });\n }\n };\n\n const fitContainerToWindow = () => {\n fitContainer({\n width: $(window).width(),\n height: $(window).height(),\n top: 0\n });\n };\n\n const requestWindowDimensions = () => {\n // We send a message if we are in an iframe, and manipulate directly if we aren’t.\n if (window === window.top) {\n fitContainerToWindow();\n } else {\n window.top.postMessage(\"dimensions\", _constants__WEBPACK_IMPORTED_MODULE_5__[\"HOST_SITE\"]);\n }\n };\n\n let grnsightContainerClass = `grnsight-container ${currentValue}`;\n if (!container.hasClass(currentValue)) {\n container.attr(\"class\", grnsightContainerClass);\n if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_FIT\"]) {\n requestWindowDimensions();\n } else {\n container.css({ width: \"\", height: \"\" });\n }\n }\n\n // Added synchronization\n if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_S\"]) {\n synchronizeViewportSizeSmall();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_M\"]) {\n synchronizeViewportSizeMedium();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_L\"]) {\n synchronizeViewportSizeLarge();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_FIT\"]) {\n fitContainer(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].dimensions);\n synchronizeViewportSizeFit();\n } else if (currentValue === _constants__WEBPACK_IMPORTED_MODULE_5__[\"VIEWPORT_INIT\"]) {\n // First time around: initialize.\n requestWindowDimensions();\n }\n};\n\n\n// Expression DB Functions\nconst startLoadingIcon = function () {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER\"]).css(\"display\", \"block\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER_TEXT\"]).css(\"display\", \"block\");\n};\nconst stopLoadingIcon = function () {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER\"]).css(\"display\", \"none\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"EXPRESSION_DB_LOADER_TEXT\"]).css(\"display\", \"none\");\n};\nconst enableNodeColoringUI = function () {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringEnabled = true;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).removeClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\"]).removeClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\"]).removeClass(\"hidden\");\n};\nconst loadExpressionDatabase = function (isTopDataset) {\n startLoadingIcon();\n Object(_api_grnsight_api_js__WEBPACK_IMPORTED_MODULE_6__[\"queryExpressionDatabase\"])({\n dataset: isTopDataset ? _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset : _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset,\n genes : _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook.genes\n }).then(function (response) {\n if (isTopDataset) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook.expression[_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset] = response;\n } else {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook.expression[_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset] = response;\n }\n enableNodeColoringUI();\n stopLoadingIcon();\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n};\n\n\n// Sliders Functions\nconst updateSliderState = slidersLocked => {\n const forceGraphDisabled = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT\"] || slidersLocked;\n if (forceGraphDisabled) {\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_MENU\"]} span`).removeClass(\"invisible\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_MENU\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_CLASS\"]).parent().addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_CLASS\"]).parent().addClass(\"disabled\");\n } else {\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_MENU\"]} span`).removeClass(\"glyphicon-ok\").addClass(\"invisible\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_MENU\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_CLASS\"]).parent().removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_CLASS\"]).parent().removeClass(\"disabled\");\n }\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"RESET_SLIDERS_SIDEBAR\"]).prop(\"disabled\", forceGraphDisabled);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).prop(\"checked\", slidersLocked);\n\n if (!_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].showUndoReset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", true);\n }\n};\n\nconst modifyChargeParameter = (value) => {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.force(\"charge\").strength(value);\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.alpha(1);\n};\n\nconst modifyLinkDistanceParameter = (value) => {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.force(\"link\").distance(value);\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].simulation.alpha(1);\n};\n\nconst updateChargeSliderValues = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook !== null) {\n modifyChargeParameter(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n }\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_VALUE\"]).text(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_MENU\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"CHARGE_SLIDER_SIDEBAR\"]).html(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal +\n ((_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.needsAppendedZeros &&\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].chargeSlider.currentVal.toString().length === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRAVITY_LENGTH_WITHOUT_ZERO\"]) ? \"0\" : \"\"));\n};\n\nconst updateLinkDistanceSliderValues = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].workbook !== null) {\n modifyLinkDistanceParameter(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n }\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_VALUE\"]).text(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_MENU\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LINK_DIST_SLIDER_SIDEBAR\"]).html(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal +\n ((_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.needsAppendedZeros &&\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].linkDistanceSlider.currentVal.toString().length === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRAVITY_LENGTH_WITHOUT_ZERO\"]) ? \"0\" : \"\"));\n};\n\n// Grid Layout Functions\nconst expandLayoutSidebar = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LAYOUT_SIDEBAR_PANEL\"]).addClass(\"in\");\n};\n\nconst toggleLayout = (on, off) => {\n if (!$(on).prop(\"checked\")) {\n $(on).prop(\"checked\", true);\n $(off).prop(\"checked\", false);\n $(`${off} span`).removeClass(\"glyphicon-ok\");\n $(`${on} span`).addClass(\"glyphicon-ok\");\n }\n};\n\nconst updatetoForceGraph = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).removeAttr(\"disabled\");\n toggleLayout(_constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH_MENU\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT_MENU\"]);\n};\n\nconst updatetoGridLayout = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOCK_SLIDERS_BUTTON\"]).attr(\"disabled\", true);\n toggleLayout(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT_MENU\"], _constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH_MENU\"]);\n};\n\n// Node Coloring Functions\nconst showNodeColoringMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).addClass(\"in\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU_CLASS\"]).removeClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"collapse\");\n};\n\nconst disableNodeColoringMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_PANEL\"]).removeClass(\"in\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_MENU_CLASS\"]).addClass(\"disabled\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_HEADER_LINK\"]).attr(\"data-toggle\", \"\");\n};\n\nconst isNewWorkbook = (name) => {\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.lastDataset === null || _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.lastDataset !== name;\n};\n\nconst shortenExpressionSheetName = (name) => {\n return (name.length > _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_NUM_CHARACTERS_DROPDOWN\"]) ?\n (name.slice(0, _constants__WEBPACK_IMPORTED_MODULE_5__[\"MAX_NUM_CHARACTERS_DROPDOWN\"]) + \"...\") : name;\n};\n\nconst hasExpressionData = (sheets) => {\n for (var property in sheets) {\n if (property.match(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ENDS_IN_EXPRESSION_REGEXP\"])) {\n return true;\n }\n }\n return false;\n};\n\nconst updateSpeciesMenu = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_CRESS\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_FLY\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_HUMAN\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_YEAST\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_NEMATODE\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_MOUSE\"] + \" span\").removeClass(\"glyphicon-ok\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Arabidopsis_thaliana\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_CRESS\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Drosophila_melanogaster\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_FLY\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Caenorhabditis_elegans\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_NEMATODE\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Homo_sapiens\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_HUMAN\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Mus_musculus\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_MOUSE\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val() === \"Saccharomyces_cerevisiae\") {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_BUTTON_YEAST\"] + \" span\").addClass(\"glyphicon-ok\");\n }\n};\n\n// helper method to check if the given data, a taxon id or a species name\n// is contained within the identified species, if it exists at all.\nconst identifySpeciesMenu = (data) => {\n var nameTax = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nameToTaxon;\n for (var n in nameTax) {\n if (Object.values(nameTax[n]).includes(data.toString())) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n }\n return false;\n};\n\nconst identifySpeciesOrTaxon = (data) => {\n var nameTax = _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nameToTaxon;\n for (var n in nameTax) {\n if (n === data) { // <-- change if to work\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified = true;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n for (var t in Object.values(nameTax[n])) {\n if (Object.values(nameTax[n])[t] === data) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.commonName = n;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species = nameTax[n].spec;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonJaspar = nameTax[n].jaspar.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.taxonUniprot = nameTax[n].uniprot.toString();\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified = true;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.ensembl = nameTax[n].ensembl;\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.mine = nameTax[n].mine;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n updateSpeciesMenu();\n return _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified;\n }\n }\n }\n return false;\n};\n\n // renderNodeColoring: function () { }, // defined in graph.js\n\nconst clearDropdownMenus = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).html(\"\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).html(\"\");\n};\n\nconst expressionDBDatasets = [\"Barreto_2012_wt\", \"Dahlquist_2018_dcin5\",\n \"Dahlquist_2018_dgln3\", \"Dahlquist_2018_dhap4\", \"Dahlquist_2018_dzap1\",\n \"Dahlquist_2018_wt\", \"Kitagawa_2002_wt\", \"Thorsen_2007_wt\"];\n\nconst resetDatasetDropdownMenus = (workbook) => {\n clearDropdownMenus();\n $(\".dataset-option\").remove(); // clear all menu dataset options\n\n var createHTMLforDataset = function (name) {\n return `\n <li class=\\\"dataset-option node-coloring-menu\\\" value=\\\"${name}\\\">\n <a>\n <span class=\\\"glyphicon\\\"></span>\n ${name}\n </a>\n </li>`;\n };\n\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions = [];\n for (var property in workbook.expression) {\n if (property.match(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ENDS_IN_EXPRESSION_REGEXP\"])) {\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.push({value: property});\n }\n }\n\n // Add expression database options\n expressionDBDatasets.forEach(option => _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.push({value: [option]}));\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .attr(\"value\", \"Same as Top Dataset\").text(\"Same as Top Dataset\"));\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]).append(createHTMLforDataset(\"Same as Top Dataset\"));\n\n // $(DATA_SET_SELECT).append($(\"<option>\").attr(\"value\", \"Dahlquist\").text(\"Dahlquist\"));\n\n _grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.nodeColoringOptions.forEach(function (option) {\n var shortenedSheetName = shortenExpressionSheetName(option.value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .addClass(\"dataset-option\")\n .attr(\"value\", option.value).text(shortenedSheetName));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"])\n .append(createHTMLforDataset(option.value));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).append($(\"<option>\")\n .addClass(\"dataset-option\")\n .attr(\"value\", option.value).text(shortenedSheetName));\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"])\n .append(createHTMLforDataset(option.value));\n });\n\n $(\"#topDatasetDropdownMenu li a span\").first().addClass(\"glyphicon-ok\");\n $(\"#bottomDatasetDropdownMenu li a span\").first().addClass(\"glyphicon-ok\");\n};\n\nconst updateLogFoldChangeMaxValue = () => {\n var value = logFoldChangeMaxValueInputValidation(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.logFoldChangeMaxValue);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT\"]).val(value);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_MENU\"]).val(value);\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nconst removeAllChecksFromMenuDatasetOptions = (id) => {\n $(`${id} li a span`).each(\n function () {\n $(this).removeClass(\"glyphicon-ok\");\n }\n );\n};\n\nconst updateTopDataset = () => {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset);\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_MENU\"]} li[value='${_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.topDataset}'] a span`).addClass(\"glyphicon-ok\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nconst updateBottomDataset = () => {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataSameAsTop) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).val(\"Same as Top Dataset\");\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]} li[value='${\"Same as Top Dataset\"}'] a span`).addClass(\"glyphicon-ok\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset);\n removeAllChecksFromMenuDatasetOptions(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]);\n /* eslint-disable max-len */\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_MENU\"]} li[value='${_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].nodeColoring.bottomDataset}'] a span`)\n .addClass(\"glyphicon-ok\");\n /* eslint-enable max-len */\n }\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n};\n\nif (!_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.identified) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"SPECIES_DISPLAY\"]).val(_grnstate__WEBPACK_IMPORTED_MODULE_4__[\"grnState\"].genePageData.species);\n}\n\nconst updateApp = grnState => {\n if (grnState.newWorkbook) {\n grnState.normalizationMax = Object(d3_array__WEBPACK_IMPORTED_MODULE_3__[\"max\"])(grnState.workbook.positiveWeights.concat(grnState.workbook.negativeWeights));\n displayworkbook(grnState.workbook, grnState.name);\n expandLayoutSidebar();\n clearDropdownMenus();\n // check if the species has been identified yet, if not try to identify it\n // also checks if the areas have been populated at all\n var workbookSpecies = grnState.workbook.meta.species;\n var workbookTaxon = grnState.workbook.meta.taxon_id;\n if (identifySpeciesOrTaxon(workbookSpecies) || identifySpeciesOrTaxon(workbookTaxon)) {\n identifySpeciesOrTaxon(workbookSpecies);\n identifySpeciesOrTaxon(workbookTaxon);\n }\n\n // nodeColoringEnabled will only be set the very first time; because otherwise the user will have\n // made a choice and we will let the choice stick.\n if (hasExpressionData(grnState.workbook.expression)) {\n resetDatasetDropdownMenus(grnState.workbook);\n if (grnState.nodeColoring.nodeColoringEnabled === undefined) {\n grnState.nodeColoring.nodeColoringEnabled = true;\n }\n\n if (isNewWorkbook(name)) {\n grnState.nodeColoring.showMenu = true;\n grnState.nodeColoring.lastDataset = name;\n showNodeColoringMenus();\n }\n grnState.nodeColoring.topDataset = $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"TOP_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\") === \"Same as Top Dataset\") {\n grnState.nodeColoring.bottomDataset = grnState.nodeColoring.topDataset;\n grnState.nodeColoring.bottomDataSameAsTop = true;\n } else {\n grnState.nodeColoring.bottomDataset =\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"BOTTOM_DATASET_SELECTION_SIDEBAR\"]).find(\":selected\").attr(\"value\");\n grnState.nodeColoring.bottomDataSameAsTop = false;\n }\n } else {\n if (grnState.nodeColoring.nodeColoringEnabled === undefined) {\n grnState.nodeColoringEnabled = false;\n }\n }\n refreshApp();\n\n // Rare exception to the MVC cycle: right now we have no way of knowing whether the workbook has changed\n // (which is what necessitates displayworkbook), so we mark the model here.\n grnState.newWorkbook = false;\n }\n\n synchronizeNormalizationValues(grnState.normalizationMax);\n synchronizeGrayEdgeValues(grnState.grayEdgeThreshold);\n\n// Dashed Line Synchronization\n if (grnState.dashedLine) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_SIDEBAR\"]).prop(\"checked\", \"checked\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"GREY_EDGES_DASHED_SIDEBAR\"]).removeProp(\"checked\");\n }\n\n// Weights functions\n if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"SHOW_WEIGHTS_MOUSEOVER\"]) {\n synchronizeShowWeightsMouseover();\n } else if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"SHOW_ALL_WEIGHTS\"]) {\n synchronizeShowAllWeights();\n } else if (grnState.edgeWeightDisplayOption === _constants__WEBPACK_IMPORTED_MODULE_5__[\"HIDE_ALL_WEIGHTS\"]) {\n synchronizeHideAllWeights();\n }\n\n// Enable/Disable Colored edges\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_SIDEBAR\"]).prop(\"checked\", grnState.colorOptimal);\n const classFunction = `${grnState.colorOptimal ? \"add\" : \"remove\"}Class`;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_MENU\"])[classFunction](_constants__WEBPACK_IMPORTED_MODULE_5__[\"ACTIVE_COLOR_OPTION\"]);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"COLOR_EDGES_MENU\"]}>span`)[classFunction](\"glyphicon-ok\");\n\n// Graph Layout\n if (grnState.graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"FORCE_GRAPH\"]) {\n updatetoForceGraph();\n } else if (grnState.graphLayout === _constants__WEBPACK_IMPORTED_MODULE_5__[\"GRID_LAYOUT\"]) {\n updatetoGridLayout();\n }\n\n// Viewport\n updateViewportSize(grnState.viewportSize);\n\n // Node Coloring\n if (grnState.workbook !== null && grnState.nodeColoring.nodeColoringEnabled\n && hasExpressionData(grnState.workbook.expression)) {\n grnState.nodeColoring.showMenu = true;\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).prop(\"checked\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).prop(\"checked\", true);\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_MENU\"]} span`).addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"DEFAULT_MAX_LOG_FOLD_CHANGE\"]);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_BODY\"]).removeClass(\"hidden\");\n if (expressionDBDatasets.includes(grnState.nodeColoring.topDataset) &&\n grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) {\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\")) {\n loadExpressionDatabase(true);\n }\n } else if (expressionDBDatasets.includes(grnState.nodeColoring.bottomDataset) &&\n !grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined) {\n if (!grnState.nodeColoring.bottomDataSameAsTop) {\n loadExpressionDatabase(false);\n }\n } else {\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n } else if (grnState.workbook !== null && !hasExpressionData(grnState.workbook.expression)\n && grnState.nodeColoring.nodeColoringEnabled) {\n if ((grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) ||\n (!grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined)) {\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].removeNodeColoring();\n resetDatasetDropdownMenus(grnState.workbook);\n }\n grnState.nodeColoring.showMenu = true;\n grnState.nodeColoring.topDataset = grnState.nodeColoring.topDataset ?\n grnState.nodeColoring.topDataset : \"Barreto_2012_wt\";\n grnState.nodeColoring.bottomDataset = grnState.nodeColoring.bottomDataset ?\n grnState.nodeColoring.bottomDataset : \"Barreto_2012_wt\";\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_CLASS\"]).addClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON\"]).addClass(\"hidden\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"LOG_FOLD_CHANGE_MAX_VALUE_HEADER\"]).addClass(\"hidden\");\n if ($(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\")) {\n if (grnState.workbook.expression[grnState.nodeColoring.topDataset] === undefined) {\n loadExpressionDatabase(true);\n } else if (!grnState.nodeColoring.bottomDataSameAsTop &&\n grnState.workbook.expression[grnState.nodeColoring.bottomDataset] === undefined) {\n loadExpressionDatabase(false);\n } else {\n enableNodeColoringUI();\n // There is as problem here! When a dataset from the database is used to do node coloring,\n // but then the layout of the graph is changed (force graph to grid layout, for instance),\n // node coloring goes away, seemingly inexplicably.\n // !!!!! TEMPORARY WORKAROUND:\n // Calling `updaters.renderNodeColoring()` inline does not succeed; instead, a delay\n // has to take place, done here via `setTimeout`.\n //\n // The delay is built-in to the cases where a query has to happen first.\n //\n // For some reason, calling updates.renderNodeColoring() _synchronously_ does not\n // actually perform the node coloring.\n //\n // Investigate why a timeout is required in order for node coloring to take place\n // successfully in this case.\n setTimeout(() => _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring(), 250);\n\n }\n }\n } else if (grnState.workbook !== null && !grnState.nodeColoring.nodeColoringEnabled) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_SIDEBAR_BODY\"]).addClass(\"hidden\");\n $(`${_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_MENU\"]} span`).removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"NODE_COLORING_TOGGLE_SIDEBAR\"]).prop(\"checked\", false);\n }\n\n if (grnState.workbook !== null && grnState.workbook.sheetType === \"weighted\") {\n showEdgeWeightOptions();\n } else if (grnState.workbook !== null && grnState.workbook.sheetType === \"unweighted\") {\n hideEdgeWeightOptions();\n } else {\n hideEdgeWeightOptions();\n }\n\n if (grnState.nodeColoring.averageTopDataset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).prop(\"checked\", \"checked\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_TOP_SIDEBAR\"]).removeProp(\"checked\");\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n\n if (grnState.nodeColoring.averageBottomDataset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"] + \" span\").addClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"]).prop(\"checked\", \"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).prop(\"checked\", \"checked\");\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"] + \" span\").removeClass(\"glyphicon-ok\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_MENU\"]).removeProp(\"checked\");\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"AVG_REPLICATE_VALS_BOTTOM_SIDEBAR\"]).removeProp(\"checked\");\n\n _graph__WEBPACK_IMPORTED_MODULE_0__[\"updaters\"].renderNodeColoring();\n }\n\n if (grnState.nodeColoring.showMenu) {\n showNodeColoringMenus();\n } else {\n disableNodeColoringMenus();\n }\n\n updateLogFoldChangeMaxValue();\n updateTopDataset();\n updateBottomDataset();\n updateSliderState(grnState.slidersLocked);\n\n if (grnState.showUndoReset) {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", false);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().removeClass(\"disabled\");\n } else {\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_SIDEBAR\"]).prop(\"disabled\", true);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"UNDO_SLIDERS_RESET_MENU\"]).parent().addClass(\"disabled\");\n }\n\n updateChargeSliderValues();\n updateLinkDistanceSliderValues();\n\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_CONTROL\"]).prop({ disabled: !grnState.workbook });\n if (!grnState.workbook) {\n // Set initial values when there is no workbook: this is necessarily explicit because Firefox\n // preserves these values even upon a browser reload.\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_INPUT\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_DISPLAY_MIDDLE\"]);\n $(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_SLIDER\"]).val(_constants__WEBPACK_IMPORTED_MODULE_5__[\"ZOOM_ADAPTIVE_MAX_SCALE\"]);\n }\n refreshApp();\n\n};\n\n\n\n\n//# sourceURL=webpack:///./web-client/public/js/update-app.js?");
|
|
2308
2332
|
|
|
2309
2333
|
/***/ }),
|
|
2310
2334
|
|
|
@@ -2316,7 +2340,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
|
|
|
2316
2340
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2317
2341
|
|
|
2318
2342
|
"use strict";
|
|
2319
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uploadState\", function() { return uploadState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"upload\", function() { return upload; });\n// TODO Likely a temporary location, while things are being moved to their \"true\" homes.\n// But placed here for now so that the true MVC cycle of grnState, updateApp, and the\n// controller code installed by setupHandlers can access them.\n\nconst uploadState = {\n currentWorkbook: null,\n};\n\nconst upload = function () {\n\n // Values\n var TOOLTIP_SHOW_DELAY = 700;\n var TOOLTIP_HIDE_DELAY = 100;\n\n // Settings Stuff\n var styleLabelTooltips = function () {\n $(\".info\").tooltip({\n placement: \"top\",\n delay: { show: TOOLTIP_SHOW_DELAY, hide: TOOLTIP_HIDE_DELAY }\n });\n };\n\n styleLabelTooltips();\n\n $(\"#printGraph\").click( function () {\n if (!$(\".startDisabled\").hasClass(\"disabled\")) {\n window.print();\n }\n });\n\n // Style of the tooltips when the user mouses over the label names\n $(\".info\").tooltip({\n placement: \"top\",\n delay: { show: 700, hide: 100 }\n });\n\n $(\"#warningsModal\").on(\"hidden.bs.modal\", function () {\n if ($(\"#warningsInfo\").hasClass(\"in\")) {\n $(\"#warningsInfo\").removeClass(\"in\");\n }\n });\n\n var flattenWorkbook = function (workbook, sheetType) {\n var result = $.extend(true, { }, workbook, { sheetType: sheetType });\n result.links.forEach(function (link) {\n link.source = link.source.index;\n link.target = link.target.index;\n delete link.weightElement;\n });\n return result;\n };\n\n var filenameWithExtension = function (suffix, extension) {\n var filename = $(\"#fileName\").text();\n var currentExtension = filename.match(/\\.[^\\.]+$/);\n if (currentExtension && currentExtension.length) {\n filename = filename.substr(0, filename.length - currentExtension[0].length);\n }\n\n if (suffix) {\n filename = filename + \"_\" + suffix;\n }\n\n return filename + \".\" + extension;\n };\n\n var performExport = function (route, extension, sheetType) {\n return function () {\n // Deleted event parameter\n if (!$(this).parent().hasClass(\"disabled\")) {\n var workbookToExport = flattenWorkbook(uploadState.currentWorkbook, sheetType);\n var workbookFilename = filenameWithExtension(sheetType !== uploadState.currentWorkbook.sheetType ?\n sheetType : \"\", extension);\n workbookToExport.filename = workbookFilename;\n\n var exportForm = $(\"<form></form>\").attr({\n method: \"POST\",\n action: $(\"#service-root\").val() + \"/\" + route\n }).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"filename\",\n value: workbookFilename\n })).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"workbook\",\n value: JSON.stringify(workbookToExport)\n }));\n $(\"body\").append(exportForm);\n exportForm.submit();\n exportForm.remove();\n }\n };\n };\n\n $(\"#exportAsExcelWkbk\").click(performExport(\"export-to-excel\", \"xlsx\", \"unweighted\"));\n $(\"#exportAsUnweightedSif\").click(performExport(\"export-to-sif\", \"sif\", \"unweighted\"));\n $(\"#exportAsWeightedSif\").click(performExport(\"export-to-sif\", \"sif\", \"weighted\"));\n $(\"#exportAsUnweightedGraphMl\").click(performExport(\"export-to-graphml\", \"graphml\", \"unweighted\"));\n $(\"#exportAsWeightedGraphMl\").click(performExport(\"export-to-graphml\", \"graphml\", \"weighted\"));\n $(\"#exportAsUnweightedExcel\").click(performExport(\"export-to-excel\", \"xlsx\", \"unweighted\"));\n $(\"#exportAsWeightedExcel\").click(performExport(\"export-to-excel\", \"xlsx\", \"weighted\"));\n\n};\n\n\n//# sourceURL=webpack:///./web-client/public/js/upload.js?");
|
|
2343
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uploadState\", function() { return uploadState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"upload\", function() { return upload; });\n/* harmony import */ var _grnstate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./grnstate */ \"./web-client/public/js/grnstate.js\");\n/* harmony import */ var _update_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./update-app */ \"./web-client/public/js/update-app.js\");\n/* harmony import */ var _api_grnsight_api_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./api/grnsight-api.js */ \"./web-client/public/js/api/grnsight-api.js\");\n// TODO Likely a temporary location, while things are being moved to their \"true\" homes.\n// But placed here for now so that the true MVC cycle of grnState, updateApp, and the\n// controller code installed by setupHandlers can access them.\n\n/* eslint-disable max-len */\n\n\n\n\n\n\nconst uploadState = {\n currentWorkbook: null,\n};\n\nconst upload = function () {\n\n // Values\n var TOOLTIP_SHOW_DELAY = 700;\n var TOOLTIP_HIDE_DELAY = 100;\n\n // Settings Stuff\n var styleLabelTooltips = function () {\n $(\".info\").tooltip({\n placement: \"top\",\n delay: { show: TOOLTIP_SHOW_DELAY, hide: TOOLTIP_HIDE_DELAY }\n });\n };\n\n styleLabelTooltips();\n\n $(\"#printGraph\").click( function () {\n if (!$(\".startDisabled\").hasClass(\"disabled\")) {\n window.print();\n }\n });\n\n // Style of the tooltips when the user mouses over the label names\n $(\".info\").tooltip({\n placement: \"top\",\n delay: { show: 700, hide: 100 }\n });\n\n $(\"#warningsModal\").on(\"hidden.bs.modal\", function () {\n if ($(\"#warningsInfo\").hasClass(\"in\")) {\n $(\"#warningsInfo\").removeClass(\"in\");\n }\n });\n\n var flattenWorkbook = function (workbook, sheetType) {\n var result = $.extend(true, { }, workbook, { sheetType: sheetType });\n result.links.forEach(function (link) {\n link.source = link.source.index;\n link.target = link.target.index;\n delete link.weightElement;\n });\n return result;\n };\n\n var filenameWithExtension = function (suffix, extension) {\n var filename = $(\"#fileName\").text();\n var currentExtension = filename.match(/\\.[^\\.]+$/);\n if (currentExtension && currentExtension.length) {\n filename = filename.substr(0, filename.length - currentExtension[0].length);\n }\n if (suffix) {\n filename = filename + \"_\" + suffix;\n }\n\n return filename + \".\" + extension;\n };\n\n const handleExportExcelButtonExport = (route, extension, sheetType, source) => {\n _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.exportNetworkType = sheetType;\n const expressionSheets = $(\"input[name=expressionSheets]:checked\");\n var chosenSheets = [];\n for (const [key, value] of Object.entries(expressionSheets)) {\n if (!isNaN(parseInt(key, 10))) {\n if (value.value === \"select all\") {\n const allExpressionSheets = $(\"input[name=expressionSheets]\");\n chosenSheets = [];\n for (const [k, v] of Object.entries(allExpressionSheets)) {\n if (!isNaN(parseInt(k, 10))) {\n if (v.value !== \"select all\") {\n chosenSheets.push(v.value);\n }\n }\n }\n break;\n } else {\n chosenSheets.push(value.value);\n }\n }\n }\n const exportSheets = {};\n\n if (source === \"userInput\" && _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.expression) {\n // source is from user speadsheet\n // parse through grnState expression sheets and collect the sheets to be exported\n for (let sheet of chosenSheets) {\n if (_grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.expression[sheet]) {\n exportSheets[sheet] = _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.expression[sheet];\n }\n }\n _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.exportExpression = exportSheets;\n if (!$(this).parent().hasClass(\"disabled\")) {\n var workbookToExport = flattenWorkbook(uploadState.currentWorkbook, sheetType);\n var workbookFilename = filenameWithExtension(sheetType !== uploadState.currentWorkbook.sheetType ?\n sheetType : \"\", extension);\n workbookToExport.filename = workbookFilename;\n\n var exportForm = $(\"<form></form>\").attr({\n method: \"POST\",\n action: $(\".service-root\").val() + \"/\" + route\n }).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"filename\",\n value: workbookFilename\n })).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"workbook\",\n value: JSON.stringify(workbookToExport)\n }));\n $(\"body\").append(exportForm);\n exportForm.submit();\n exportForm.remove();\n }\n $(\"#exportExcelModal\").modal(\"hide\");\n } else {\n // source is from database so lets query her up\n for (let sheet of chosenSheets) {\n Object(_update_app__WEBPACK_IMPORTED_MODULE_1__[\"startLoadingIcon\"])();\n Object(_api_grnsight_api_js__WEBPACK_IMPORTED_MODULE_2__[\"queryExpressionDatabase\"])({\n dataset: sheet,\n genes : _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.genes\n }).then(function (response) {\n exportSheets[sheet] = response;\n if (exportSheets[sheet]) {\n Object(_update_app__WEBPACK_IMPORTED_MODULE_1__[\"stopLoadingIcon\"])();\n if (Object.keys(exportSheets).length === chosenSheets.length) {\n // we have all of the sheets so lets initilize the export process\n const finalExportSheets = {};\n Object.keys(exportSheets).forEach((sheet) => {\n // make sure that the sheets we queried are populated with the correct data\n if (exportSheets[sheet].data && exportSheets[sheet].timePoints) {\n // if the resulting query contains both the timePoint data and\n // the gene data then export it. If not don't :)\n finalExportSheets[sheet] = exportSheets[sheet];\n }\n });\n _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.exportExpression = finalExportSheets;\n if (!$(this).parent().hasClass(\"disabled\")) {\n var workbookToExport = flattenWorkbook(uploadState.currentWorkbook, sheetType);\n var workbookFilename = filenameWithExtension(sheetType !== uploadState.currentWorkbook.sheetType ?\n sheetType : \"\", extension);\n workbookToExport.filename = workbookFilename;\n var exportForm = $(\"<form></form>\").attr({\n method: \"POST\",\n action: $(\".service-root\").val() + \"/\" + route\n }).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"filename\",\n value: workbookFilename\n })).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"workbook\",\n value: JSON.stringify(workbookToExport)\n }));\n $(\"body\").append(exportForm);\n exportForm.submit();\n exportForm.remove();\n }\n $(\"#exportExcelModal\").modal(\"hide\");\n }\n }\n }).catch(function (error) {\n console.log(error.stack);\n console.log(error.name);\n console.log(error.message);\n });\n }\n }\n };\n\n var performExport = function (route, extension, sheetType, source) {\n return function () {\n // Deleted event parameter\n if (route === \"export-to-excel\" && source) {\n handleExportExcelButtonExport(route, extension, sheetType, source);\n } else {\n if (!$(this).parent().hasClass(\"disabled\")) {\n var workbookToExport = flattenWorkbook(uploadState.currentWorkbook, sheetType);\n var workbookFilename = filenameWithExtension(sheetType !== uploadState.currentWorkbook.sheetType ?\n sheetType : \"\", extension);\n workbookToExport.filename = workbookFilename;\n\n var exportForm = $(\"<form></form>\").attr({\n method: \"POST\",\n action: $(\".service-root\").val() + \"/\" + route\n }).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"filename\",\n value: workbookFilename\n })).append($(\"<input></input>\").attr({\n type: \"hidden\",\n name: \"workbook\",\n value: JSON.stringify(workbookToExport)\n }));\n $(\"body\").append(exportForm);\n exportForm.submit();\n exportForm.remove();\n }\n\n }\n };\n };\n\n const createHTMLforForm1 = () => {\n return `\n <form id=\\'exportExcelForm1\\'>\n <div class=\\'form-group\\'>\n <p id=\\'exportExcelNetwork\\'></p>\n <ul class=\\'export-radio-group\\' id=\\'export-excel-weights-list\\' style=\\\"list-style-type:none;\\\"> </ul>\n </div>\n <div class=\\'form-group\\'>\n <p id=\\'exportExcelExpressionSources\\'> </p>\n <ul class=\\'export-radio-group\\' id=\\'export-excel-expression-source-list\\' style=\\\"list-style-type:none;\\\">\n <li>\n <input type=\\'radio\\' name=\\'expressionSource\\' checked=\\\"true\\\" value=\\\"userInput\\\" id=\\'exportExcelExpressionSource-userInputRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelExpressionSource-userInputRadio\\' id=\\'exportExcelExpressionSource-userInput\\' class=\\'export-radio-label\\'> </label>\n </li>\n <li>\n <input type=\\'radio\\' name=\\'expressionSource\\' value=\\\"Dahlquist_2018\\\" id=\\'exportExcelExpressionSource-DahlquistRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelExpressionSource-DahlquistRadio\\' id=\\'exportExcelExpressionSource-Dahlquist\\' class=\\'export-radio-label\\'> </label>\n </li>\n <li>\n <input type=\\'radio\\' name=\\'expressionSource\\' value=\\\"Kitagawa_2002\\\" id=\\'exportExcelExpressionSource-KitagawaRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelExpressionSource-KitagawaRadio\\' id=\\'exportExcelExpressionSource-Kitagawa\\' class=\\'export-radio-label\\'> </label>\n </li>\n <li>\n <input type=\\'radio\\' name=\\'expressionSource\\' value=\\\"Thorsen_2007\\\" id=\\'exportExcelExpressionSource-ThorsenRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelExpressionSource-ThorsenRadio\\' id=\\'exportExcelExpressionSource-Thorsen\\' class=\\'export-radio-label\\'> </label>\n </li>\n <li>\n <input type=\\'radio\\' name=\\'expressionSource\\' value=\\\"Barreto_2012\\\" id=\\'exportExcelExpressionSource-BarretoRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelExpressionSource-BarretoRadio\\' id=\\'exportExcelExpressionSource-Barreto\\' class=\\'export-radio-label\\'> </label>\n </li>\n </ul>\n </div>\n <button type=\\'submit\\' class=\\'btn btn-default\\' id=\\'exportExcelContinueButton\\'> Continue </button>\n </form>\n `;\n };\n\n const createHTMLforForm2 = () => {\n return `\n <form id=\\'exportExcelForm2\\'>\n <div class=\\'form-group\\'>\n <p id=\\'exportExcelExpressionSheets\\'></p>\n <ul class=\\'exportExcelExpressionSheets\\' id=\\'export-excel-expression-sheet-list\\' style=\\\"list-style-type:none;\\\"> </ul>\n </div>\n <input type=\\'button\\' class=\\'btn btn-default\\' id=\\'exportExcelButton\\' value=\\'Export Workbook\\' />\n </form>\n `;\n };\n const createHTMLforWeights = () => {\n $(\".export-excel-weighted-option\").remove();\n if (_grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.sheetType !== \"weighted\") {\n return `\n <li class=\\'export-excel-weighted-option\\'>\n <input type=\\'radio\\' checked=\\\"true\\\" name=\\'network-weights\\' value=\\\"unweighted\\\" id=\\'exportExcelUnweightedRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelUnweightedRadio\\' id=\\'exportExcelUnweighted\\' class=\\'export-radio-label\\' >\n Unweighted\n </label>\n </li>`;\n } else {\n return `\n <li class=\\'export-excel-weighted-option\\'>\n <input type=\\'radio\\' checked=\\\"true\\\" name=\\'network-weights\\' value=\\\"weighted\\\" id=\\'exportExcelWeightedRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelWeightedRadio\\' id=\\'exportExcelWeighted\\' class=\\'export-radio-label\\' >\n Weighted\n </label>\n </li>\n <li class=\\'export-excel-weighted-option\\'>\n <input type=\\'radio\\' name=\\'network-weights\\' value=\\\"unweighted\\\" id=\\'exportExcelUnweightedRadio\\' class=\\'export-radio\\' />\n <label for=\\'exportExcelUnweightedRadio\\' id=\\'exportExcelUnweighted\\' class=\\'export-radio-label\\' >\n Unweighted\n </label>\n </li>\n `;\n }\n };\n\n const createHTMLforExpressionSheets = (source) => {\n $(\".export-excel-expression-sheet-option\").remove();\n // check if user updated data is selected\n let result = `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' name=\\'expressionSheets\\' checked=\\\"true\\\" value=\\\"select all\\\" id=\\'exportExcelExpression-All\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-All\\' id=\\'exportExcelExpression-All-label\\' class=\\'export-checkbox-label\\' >\n All Expression Sheets\n </label>\n </li>\n `;\n if (source === \"userInput\") {\n for (let expression in _grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].workbook.expression) {\n result = result + `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' name=\\'expressionSheets\\' checked=\\\"true\\\" value=\\\"${expression}\\\" id=\\'exportExcelExpression-${expression}\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-${expression}\\' id=\\'exportExcelExpression-${expression}-label\\' class=\\'export-checkbox-label\\' >\n ${expression}\n </label>\n </li>\n `;\n }\n } else if (source === \"Dahlquist_2018\") {\n // if the source is from a database\n result = result + `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' name=\\'expressionSheets\\' checked=\\\"true\\\" value=\\\"Dahlquist_2018_dcin5\\\" id=\\'exportExcelExpression-Dahlquist_2018_dcin5\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Dahlquist_2018_dcin5\\' id=\\'exportExcelExpression-Dahlquist_2018_dcin5-label\\' class=\\'export-checkbox-label\\' >\n Dahlquist_2018_dcin5\n </label>\n </li>\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Dahlquist_2018_dgln3\\\" id=\\'exportExcelExpression-Dahlquist_2018_dgln3\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Dahlquist_2018_dgln3\\' id=\\'exportExcelExpression-Dahlquist_2018_dgln3-label\\' class=\\'export-checkbox-label\\' >\n Dahlquist_2018_dgln3\n </label>\n </li>\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Dahlquist_2018_dhap4\\\" id=\\'exportExcelExpression-Dahlquist_2018_dhap4\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Dahlquist_2018_dhap4\\' id=\\'exportExcelExpression-Dahlquist_2018_dhap4-label\\' class=\\'export-checkbox-label\\' >\n Dahlquist_2018_dhap4\n </label>\n </li>\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Dahlquist_2018_dzap1\\\" id=\\'exportExcelExpression-Dahlquist_2018_dzap1\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Dahlquist_2018_dzap1\\' id=\\'exportExcelExpression-Dahlquist_2018_dzap1-label\\' class=\\'export-checkbox-label\\' >\n Dahlquist_2018_dzap1\n </label>\n </li>\n <div class=\\'expression-db-loader\\'></div>\n <div class=\\'expression-db-loader-text\\'>Expression Database is Loading</div>\n `;\n } else if (source === \"Kitagawa_2002\") {\n // if the source is from a database\n result = result + `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Kitagawa_2002_wt\\\" id=\\'exportExcelExpression-Kitagawa_2002_wt\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Kitagawa_2002_wt\\' id=\\'exportExcelExpression-Kitagawa_2002_wt-label\\' class=\\'export-checkbox-label\\' >\n Kitagawa_2002_wt\n </label>\n </li>\n <div class=\\'expression-db-loader\\'></div>\n <div class=\\'expression-db-loader-text\\'>Expression Database is Loading</div>\n `;\n } else if (source === \"Thorsen_2007\") {\n // if the source is from a database\n result = result + `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Thorsen_2007_wt\\\" id=\\'exportExcelExpression-Thorsen_2007_wt\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Thorsen_2007_wt\\' id=\\'exportExcelExpression-Thorsen_2007_wt-label\\' class=\\'export-checkbox-label\\' >\n Thorsen_2007_wt\n </label>\n </li>\n <div class=\\'expression-db-loader\\'></div>\n <div class=\\'expression-db-loader-text\\'>Expression Database is Loading</div>\n `;\n } else if (source === \"Barreto_2012\") {\n // if the source is from a database\n result = result + `\n <li class=\\'export-excel-expression-sheet-option\\'>\n <input type=\\'checkbox\\' checked=\\\"true\\\" name=\\'expressionSheets\\' value=\\\"Barreto_2012_wt\\\" id=\\'exportExcelExpression-Barreto_2012_wt\\' class=\\'export-checkbox\\' />\n <label for=\\'exportExcelExpression-Barreto_2012_wt\\' id=\\'exportExcelExpression-Barreto_2012_wt-label\\' class=\\'export-checkbox-label\\' >\n Barreto_2012_wt\n </label>\n </li>\n <div class=\\'expression-db-loader\\'></div>\n <div class=\\'expression-db-loader-text\\'>Expression Database is Loading</div>\n `;\n }\n return result;\n };\n\n const handleExportExcelButtonContinue = () => {\n const weight = $(\"input[name=network-weights]:checked\")[0].value;\n const source = $(\"input[name=expressionSource]:checked\")[0].value;\n $(\"#exportExcelForm1\").remove();\n // $(\"#exportExcelForm1\")[0].style = \"display:none;\";\n $(\"#exportExcelQuestions-containter\").append(createHTMLforForm2);\n $(\"#exportExcelExpressionSheets\").html(\"Select Expression Sheets:\");\n $(\"#export-excel-expression-sheet-list\").append(createHTMLforExpressionSheets(source));\n $(\"#exportExcelButton\").on(\"click\", performExport(\"export-to-excel\", \"xlsx\", weight, source));\n };\n\n var displayExportExcelModal = function () {\n $(\"#exportExcelForm2\").remove();\n $(\"#exportExcelQuestions-containter\").append(createHTMLforForm1);\n $(\"#exportExcelNetwork\").html(\"Select the workbooks export type:\");\n $(\"#export-excel-weights-list\").append(createHTMLforWeights());\n\n $(\"#exportExcelExpressionSources\").html(\"Select the Expression Data Source:\");\n $(\"#exportExcelExpressionSource-userInput\").html(_grnstate__WEBPACK_IMPORTED_MODULE_0__[\"grnState\"].name);\n $(\"#exportExcelExpressionSource-Dahlquist\").html(\"Dahlquist_2018\");\n $(\"#exportExcelExpressionSource-Kitagawa\").html(\"Kitagawa_2002\");\n $(\"#exportExcelExpressionSource-Thorsen\").html(\"Thorsen_2007\");\n $(\"#exportExcelExpressionSource-Barreto\").html(\"Barreto_2012\");\n $(\"#exportExcelContinueButton\").on(\"click\", () => handleExportExcelButtonContinue());\n $(\"#exportExcelModal\").modal(\"show\");\n };\n\n var performExcelExport = function () {\n return function () {\n if (!$(this).parent().hasClass(\"disabled\")) {\n displayExportExcelModal();\n }\n };\n };\n\n // $(\"#exportAsExcelWkbk\").click(performExport(\"export-to-excel\", \"xlsx\", \"unweighted\"));\n $(\"#exportAsUnweightedSif\").on(\"click\", performExport(\"export-to-sif\", \"sif\", \"unweighted\"));\n $(\"#exportAsWeightedSif\").on(\"click\", performExport(\"export-to-sif\", \"sif\", \"weighted\"));\n $(\"#exportAsUnweightedGraphMl\").on(\"click\", performExport(\"export-to-graphml\", \"graphml\", \"unweighted\"));\n $(\"#exportAsWeightedGraphMl\").on(\"click\", performExport(\"export-to-graphml\", \"graphml\", \"weighted\"));\n // $(\"#exportAsUnweightedExcel\").on(\"click\", performExport(\"export-to-excel\", \"xlsx\", \"unweighted\"));\n // $(\"#exportAsWeightedExcel\").on(\"click\", performExport(\"export-to-excel\", \"xlsx\", \"weighted\"));\n $(\"#exportAsExcel\").on(\"click\", performExcelExport());\n\n};\n\n\n//# sourceURL=webpack:///./web-client/public/js/upload.js?");
|
|
2320
2344
|
|
|
2321
2345
|
/***/ }),
|
|
2322
2346
|
|