From 0b5c5552c3e69ab4dab32d3e03bc911c7a1a1c9a Mon Sep 17 00:00:00 2001 From: Chaoyue Zhao Date: Fri, 22 Nov 2024 18:48:52 -0500 Subject: [PATCH 01/18] Add additional fields and optional slot to commit changes modal Changelog: added --- .../javascripts/repository/components/commit_changes_modal.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/assets/javascripts/repository/components/commit_changes_modal.vue b/app/assets/javascripts/repository/components/commit_changes_modal.vue index 90535115a0e7e1..c7abb73ae32073 100644 --- a/app/assets/javascripts/repository/components/commit_changes_modal.vue +++ b/app/assets/javascripts/repository/components/commit_changes_modal.vue @@ -144,6 +144,7 @@ export default { variant: 'confirm', loading: this.loading, disabled: this.loading || !this.form.state, + 'data-testid': 'commit-change-modal-commit-button', }, }; @@ -260,6 +261,7 @@ export default { v-bind="$attrs" :modal-id="modalId" :title="title" + data-testid="commit-change-modal" :action-primary="primaryOptions" :action-cancel="cancelOptions" @primary="handlePrimaryAction" -- GitLab From ad73b405905bfa3493af887997216d3fda3d4953 Mon Sep 17 00:00:00 2001 From: Chaoyue Zhao Date: Tue, 26 Nov 2024 12:32:00 -0500 Subject: [PATCH 02/18] Use commit changes modal for upload/replace blob Changelog: changed --- .../projects/details/upload_button.vue | 5 + .../javascripts/projects/upload_file.js | 3 +- .../components/blob_button_group.vue | 12 +- .../components/commit_changes_modal.vue | 13 +- .../components/header_area/breadcrumbs.vue | 7 + .../components/upload_blob_modal.vue | 158 +++++------------- app/assets/javascripts/repository/index.js | 2 + app/helpers/tree_helper.rb | 1 + app/presenters/project_presenter.rb | 1 + locale/gitlab.pot | 9 +- scripts/frontend/quarantined_vue3_specs.txt | 1 - .../files/user_replaces_files_spec.rb | 13 +- spec/fixtures/sample.pdf | Bin 420 -> 18810 bytes .../components/blob_button_group_spec.js | 2 - .../header_area/breadcrumbs_spec.js | 4 +- .../components/upload_blob_modal_spec.js | 133 ++++----------- spec/helpers/tree_helper_spec.rb | 33 ++++ spec/presenters/project_presenter_spec.rb | 1 + .../project_upload_files_shared_examples.rb | 24 +-- 19 files changed, 157 insertions(+), 265 deletions(-) diff --git a/app/assets/javascripts/projects/details/upload_button.vue b/app/assets/javascripts/projects/details/upload_button.vue index d2158c6d9d4b37..8baa64547a361d 100644 --- a/app/assets/javascripts/projects/details/upload_button.vue +++ b/app/assets/javascripts/projects/details/upload_button.vue @@ -22,6 +22,9 @@ export default { canPushCode: { default: false, }, + canPushToBranch: { + default: false, + }, path: { default: '', }, @@ -44,11 +47,13 @@ export default { >{{ __('Upload File') }} diff --git a/app/assets/javascripts/projects/upload_file.js b/app/assets/javascripts/projects/upload_file.js index a1b19abee6bed7..e25c30de3a23a0 100644 --- a/app/assets/javascripts/projects/upload_file.js +++ b/app/assets/javascripts/projects/upload_file.js @@ -8,7 +8,7 @@ export const initUploadFileTrigger = () => { if (!uploadFileTriggerEl) return false; - const { targetBranch, originalBranch, canPushCode, path, projectPath } = + const { targetBranch, originalBranch, canPushCode, canPushToBranch, path, projectPath } = uploadFileTriggerEl.dataset; return new Vue({ @@ -18,6 +18,7 @@ export const initUploadFileTrigger = () => { targetBranch, originalBranch, canPushCode: parseBoolean(canPushCode), + canPushToBranch: parseBoolean(canPushToBranch), path, projectPath, }, diff --git a/app/assets/javascripts/repository/components/blob_button_group.vue b/app/assets/javascripts/repository/components/blob_button_group.vue index 0a9df26306cc28..b4b68e4d3cc00c 100644 --- a/app/assets/javascripts/repository/components/blob_button_group.vue +++ b/app/assets/javascripts/repository/components/blob_button_group.vue @@ -14,7 +14,6 @@ const REPLACE_BLOB_MODAL_ID = 'modal-replace-blob'; export default { i18n: { replace: __('Replace'), - replacePrimaryBtnText: __('Replace file'), delete: __('Delete'), }, components: { @@ -85,12 +84,12 @@ export default { }, }, computed: { - replaceModalTitle() { - return sprintf(__('Replace %{name}'), { name: this.name }); - }, deleteModalId() { return uniqueId('delete-modal'); }, + replaceCommitMessage() { + return sprintf(__('Replace %{name}'), { name: this.name }); + }, deleteModalCommitMessage() { return sprintf(__('Delete %{name}'), { name: this.name }); }, @@ -143,14 +142,13 @@ export default {

-

diff --git a/app/assets/javascripts/projects/upload_file.js b/app/assets/javascripts/projects/upload_file.js index e25c30de3a23a0..794bf1dfd653be 100644 --- a/app/assets/javascripts/projects/upload_file.js +++ b/app/assets/javascripts/projects/upload_file.js @@ -21,6 +21,7 @@ export const initUploadFileTrigger = () => { canPushToBranch: parseBoolean(canPushToBranch), path, projectPath, + emptyRepo: true, }, render(h) { return h(UploadButton); diff --git a/app/assets/javascripts/repository/components/commit_changes_modal.vue b/app/assets/javascripts/repository/components/commit_changes_modal.vue index 8a09ad21d9452f..094491faf60cd3 100644 --- a/app/assets/javascripts/repository/components/commit_changes_modal.vue +++ b/app/assets/javascripts/repository/components/commit_changes_modal.vue @@ -48,6 +48,9 @@ export default { COMMIT_IN_BRANCH_MESSAGE: __( 'Your changes can be committed to %{branchName} because a merge request is open.', ), + COMMIT_IN_DEFAULT_BRANCH: __( + 'GitLab will create %{branchName} branch and commit your changes to it.', + ), COMMIT_LABEL, COMMIT_MESSAGE_HINT: __( 'Try to keep the first line under 52 characters and the others under 72.', @@ -291,33 +294,40 @@ export default { + + +

+ {{ $options.i18n.COMMIT_MESSAGE_HINT }} +

+ -