aboutsummaryrefslogtreecommitdiff
path: root/lib/utils.js
diff options
context:
space:
mode:
authorRabsRincon <rubrinbla@gmail.com>2018-08-20 11:10:23 +0200
committerRabsRincon <rubrinbla@gmail.com>2018-08-20 11:10:23 +0200
commitbdc447fe30a829a6d2537495e2bebf00a2f2e5ff (patch)
tree41dddf6bbb07b12970767863ba1c78dbe074e202 /lib/utils.js
parent08cd1edc69ba1c6707c35b1de85a30e700fae00c (diff)
downloadcompiler-explorer-bdc447fe30a829a6d2537495e2bebf00a2f2e5ff.tar.gz
compiler-explorer-bdc447fe30a829a6d2537495e2bebf00a2f2e5ff.zip
Fix local storage & add compiler name to unfurling
Diffstat (limited to 'lib/utils.js')
-rw-r--r--lib/utils.js23
1 files changed, 14 insertions, 9 deletions
diff --git a/lib/utils.js b/lib/utils.js
index c76d31500..ce5fa5f21 100644
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -144,21 +144,26 @@ exports.getHash = function getHash(object, HashVersion = DefaultHash) {
};
/***
- * Gets every pair of source, lang available
- * @param content {Array}
- * @returns {Array}
+ * Gets every (source, lang) & (compilerId) available
+ * @param content {Array} GoldenLayout config topmost content field
+ * @returns {Object} contents - Available Editors & Compilers
+ * @returns {Array} contents.editors - Available editors
+ * @returns {Array} contents.compilers - Available compilers
*/
-exports.glGetEditorSources = function glGetEditorSources(content) {
- let sources = [];
+exports.glGetMainContents = function glGetMainContents(content) {
+ let contents = {editors: [], compilers: []};
_.each(content, element => {
if (element.type === 'component') {
if (element.componentName === 'codeEditor') {
- sources.push({source: element.componentState.source, language: element.componentState.lang});
+ contents.editors.push({source: element.componentState.source, language: element.componentState.lang});
+ } else if (element.componentName === 'compiler') {
+ contents.compilers.push({compiler: element.componentState.compiler});
}
} else {
- sources = glGetEditorSources(element.content).concat(sources);
+ const subComponents = glGetMainContents(element.content);
+ contents.editors = contents.editors.concat(subComponents.editors);
+ contents.compilers = contents.compilers.concat(subComponents.compilers);
}
});
- return sources;
-
+ return contents;
};