diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-03-27 19:37:26 +0300 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-03-28 16:10:31 +0300 |
commit | adec9194ef9b825a3a79dc262975987012639f23 (patch) | |
tree | 5f6fdbb87e3baadeff1b24931dcfcbae69402569 /app/assets/javascripts/environments/stores | |
parent | f6f56dddfcfed352dfba8dc32dad554096552a7d (diff) |
Adds expandable folder back.
Makes request to get environments
Diffstat (limited to 'app/assets/javascripts/environments/stores')
-rw-r--r-- | app/assets/javascripts/environments/stores/environments_store.js | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/app/assets/javascripts/environments/stores/environments_store.js b/app/assets/javascripts/environments/stores/environments_store.js index f05fe6e60ae..a1c0988f1f5 100644 --- a/app/assets/javascripts/environments/stores/environments_store.js +++ b/app/assets/javascripts/environments/stores/environments_store.js @@ -38,7 +38,12 @@ export default class EnvironmentsStore { let filtered = {}; if (env.size > 1) { - filtered = Object.assign({}, env, { isFolder: true, folderName: env.name }); + filtered = Object.assign({}, env, { + isFolder: true, + folderName: env.name, + isOpen: false, + children: [], + }); } if (env.latest) { @@ -86,7 +91,36 @@ export default class EnvironmentsStore { return count; } - toggleRow(name) { + /** + * Toggles folder open property given the given folder. + * + * @param {String} envType + * @return {Array} + */ + toggleFolder(folder) { + return this.updateFolder(folder, 'isOpen', !folder.isOpen); + } + folderContent(folder, environments) { + debugger; + return this.updateFolder(folder, 'children', environments); } + + 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) { + updateEnv[prop] = newValue; + } + + return updateEnv; + }); + debugger; + + console.log(updatedEnvironments); + this.state.environments = updatedEnvironments; + } + } |