summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/environments/stores/environments_store.js
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2017-03-28 11:56:24 +0100
committerFilipa Lacerda <filipa@gitlab.com>2017-03-28 14:11:04 +0100
commitb64555d36a0b931dc087ddb48674c0fe36581e8c (patch)
treebd1fbd68b975728be0d086958ad955f80486f9f0 /app/assets/javascripts/environments/stores/environments_store.js
parentadec9194ef9b825a3a79dc262975987012639f23 (diff)
downloadgitlab-ce-b64555d36a0b931dc087ddb48674c0fe36581e8c.tar.gz
Adds show all button
Diffstat (limited to 'app/assets/javascripts/environments/stores/environments_store.js')
-rw-r--r--app/assets/javascripts/environments/stores/environments_store.js46
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;
}
}