diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-03-28 13:56:24 +0300 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-03-28 16:11:04 +0300 |
commit | b64555d36a0b931dc087ddb48674c0fe36581e8c (patch) | |
tree | bd1fbd68b975728be0d086958ad955f80486f9f0 /app/assets/javascripts/environments/stores | |
parent | adec9194ef9b825a3a79dc262975987012639f23 (diff) |
Adds show all button
Diffstat (limited to 'app/assets/javascripts/environments/stores')
-rw-r--r-- | app/assets/javascripts/environments/stores/environments_store.js | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/app/assets/javascripts/environments/stores/environments_store.js b/app/assets/javascripts/environments/stores/environments_store.js index a1c0988f1f5..158e7922e3c 100644 --- a/app/assets/javascripts/environments/stores/environments_store.js +++ b/app/assets/javascripts/environments/stores/environments_store.js @@ -92,23 +92,53 @@ export default class EnvironmentsStore { } /** - * Toggles folder open property given the given folder. + * Toggles folder open property for the given folder. * - * @param {String} envType + * @param {Object} folder * @return {Array} */ toggleFolder(folder) { return this.updateFolder(folder, 'isOpen', !folder.isOpen); } - folderContent(folder, environments) { - debugger; - return this.updateFolder(folder, 'children', environments); + /** + * Updates the folder with the received environments. + * + * + * @param {Object} folder Folder to update + * @param {Array} environments Received environments + * @return {Object} + */ + setfolderContent(folder, environments) { + const updatedEnvironments = environments.map((env) => { + let updated = env; + + if (env.latest) { + updated = Object.assign({}, env, env.latest); + delete updated.latest; + } else { + updated = env; + } + + updated.isChildren = true; + + return updated; + }); + + return this.updateFolder(folder, 'children', updatedEnvironments); } + /** + * Given a folder a prop and a new value updates the correct folder. + * + * @param {Object} folder + * @param {String} prop + * @param {String|Boolean|Object|Array} newValue + * @return {Array} + */ updateFolder(folder, prop, newValue) { const environments = this.state.environments; - debugger; + const updatedEnvironments = environments.map((env) => { const updateEnv = Object.assign({}, env); if (env.isFolder && env.id === folder.id) { @@ -117,10 +147,10 @@ export default class EnvironmentsStore { return updateEnv; }); - debugger; - console.log(updatedEnvironments); this.state.environments = updatedEnvironments; + + return updatedEnvironments; } } |