diff options
author | RabsRincon <rubrinbla@gmail.com> | 2018-08-20 11:10:23 +0200 |
---|---|---|
committer | RabsRincon <rubrinbla@gmail.com> | 2018-08-20 11:10:23 +0200 |
commit | bdc447fe30a829a6d2537495e2bebf00a2f2e5ff (patch) | |
tree | 41dddf6bbb07b12970767863ba1c78dbe074e202 /lib/utils.js | |
parent | 08cd1edc69ba1c6707c35b1de85a30e700fae00c (diff) | |
download | compiler-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.js | 23 |
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; }; |