diff options
author | zeripath <art27@cantab.net> | 2022-02-09 20:28:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-09 20:28:55 +0000 |
commit | eb748f5f3c93e8e347309fc75ea8273c06a5489b (patch) | |
tree | fceec474a21fa35437bcf3e90bd549c11976b72e /web_src/js/features | |
parent | 439ad34c71b8777a9dac369c643560b18bc41bab (diff) | |
download | gitea-eb748f5f3c93e8e347309fc75ea8273c06a5489b.tar.gz gitea-eb748f5f3c93e8e347309fc75ea8273c06a5489b.zip |
Add apply-patch, basic revert and cherry-pick functionality (#17902)
This code adds a simple endpoint to apply patches to repositories and
branches on gitea. This is then used along with the conflicting checking
code in #18004 to provide a basic implementation of cherry-pick revert.
Now because the buttons necessary for cherry-pick and revert have
required us to create a dropdown next to the Browse Source button
I've also implemented Create Branch and Create Tag operations.
Fix #3880
Fix #17986
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'web_src/js/features')
-rw-r--r-- | web_src/js/features/common-global.js | 23 | ||||
-rw-r--r-- | web_src/js/features/repo-branch.js | 17 | ||||
-rw-r--r-- | web_src/js/features/repo-legacy.js | 2 |
3 files changed, 32 insertions, 10 deletions
diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js index 84b67a68e1..45bb96c26e 100644 --- a/web_src/js/features/common-global.js +++ b/web_src/js/features/common-global.js @@ -313,9 +313,22 @@ export function initGlobalButtons() { alert('Nothing to hide'); }); - $('.show-modal.button').on('click', function () { - $($(this).data('modal')).modal('show'); - const colorPickers = $($(this).data('modal')).find('.color-picker'); + $('.show-modal').on('click', function () { + const modalDiv = $($(this).attr('data-modal')); + for (const attrib of this.attributes) { + if (!attrib.name.startsWith('data-modal-')) { + continue; + } + const id = attrib.name.substring(11); + const target = modalDiv.find(`#${id}`); + if (target.is('input')) { + target.val(attrib.value); + } else { + target.text(attrib.value); + } + } + modalDiv.modal('show'); + const colorPickers = $($(this).attr('data-modal')).find('.color-picker'); if (colorPickers.length > 0) { initCompColorPicker(); } @@ -323,10 +336,10 @@ export function initGlobalButtons() { $('.delete-post.button').on('click', function () { const $this = $(this); - $.post($this.data('request-url'), { + $.post($this.attr('data-request-url'), { _csrf: csrfToken }).done(() => { - window.location.href = $this.data('done-url'); + window.location.href = $this.attr('data-done-url'); }); }); } diff --git a/web_src/js/features/repo-branch.js b/web_src/js/features/repo-branch.js index bc713a7397..946f7f90a4 100644 --- a/web_src/js/features/repo-branch.js +++ b/web_src/js/features/repo-branch.js @@ -1,9 +1,18 @@ import $ from 'jquery'; export function initRepoBranchButton() { - $('.show-create-branch-modal.button').on('click', function () { - $('#create-branch-form')[0].action = $('#create-branch-form').data('base-action') + $(this).data('branch-from-urlcomponent'); - $('#modal-create-branch-from-span').text($(this).data('branch-from')); - $($(this).data('modal')).modal('show'); + $('.show-create-branch-modal').on('click', function () { + let modalFormName = $(this).attr('data-modal-form'); + if (!modalFormName) { + modalFormName = '#create-branch-form'; + } + $(modalFormName)[0].action = $(modalFormName).attr('data-base-action') + $(this).attr('data-branch-from-urlcomponent'); + let fromSpanName = $(this).attr('data-modal-from-span'); + if (!fromSpanName) { + fromSpanName = '#modal-create-branch-from-span'; + } + + $(fromSpanName).text($(this).attr('data-branch-from')); + $($(this).attr('data-modal')).modal('show'); }); } diff --git a/web_src/js/features/repo-legacy.js b/web_src/js/features/repo-legacy.js index d92a0539d0..d51dfe185c 100644 --- a/web_src/js/features/repo-legacy.js +++ b/web_src/js/features/repo-legacy.js @@ -436,7 +436,7 @@ export function initRepository() { }); // File list and commits - if ($('.repository.file.list').length > 0 || + if ($('.repository.file.list').length > 0 || $('.branch-dropdown').length > 0 || $('.repository.commits').length > 0 || $('.repository.release').length > 0) { initRepoBranchTagDropdown('.choose.reference .dropdown'); } |