Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/add_context_commits_modal/utils.js')
-rw-r--r--app/assets/javascripts/add_context_commits_modal/utils.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/assets/javascripts/add_context_commits_modal/utils.js b/app/assets/javascripts/add_context_commits_modal/utils.js
new file mode 100644
index 00000000000..3495ee17cd3
--- /dev/null
+++ b/app/assets/javascripts/add_context_commits_modal/utils.js
@@ -0,0 +1,32 @@
+export const findCommitIndex = (commits, commitShortId) => {
+ return commits.findIndex(commit => commit.short_id === commitShortId);
+};
+
+export const setCommitStatus = (commits, commitIndex, selected) => {
+ const tempCommits = [...commits];
+ tempCommits[commitIndex] = {
+ ...tempCommits[commitIndex],
+ isSelected: selected,
+ };
+ return tempCommits;
+};
+
+export const removeIfReadyToBeRemoved = (toRemoveCommits, commitShortId) => {
+ const tempToRemoveCommits = [...toRemoveCommits];
+ const isPresentInToRemove = tempToRemoveCommits.indexOf(commitShortId);
+ if (isPresentInToRemove !== -1) {
+ tempToRemoveCommits.splice(isPresentInToRemove, 1);
+ }
+
+ return tempToRemoveCommits;
+};
+
+export const removeIfPresent = (selectedCommits, commitShortId) => {
+ const tempSelectedCommits = [...selectedCommits];
+ const selectedCommitsIndex = findCommitIndex(tempSelectedCommits, commitShortId);
+ if (selectedCommitsIndex !== -1) {
+ tempSelectedCommits.splice(selectedCommitsIndex, 1);
+ }
+
+ return tempSelectedCommits;
+};