diff options
author | Hester Gong <hestergong@gmail.com> | 2023-04-23 17:24:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-23 17:24:19 +0800 |
commit | 476a043a5fb2b472e2aaced450ac2a0c9102854e (patch) | |
tree | fcbc301d7fca09eee292cdd039a6980a88aefa63 /web_src | |
parent | 5e389228f61844c0d59d5bc5974483dae0aa1b8b (diff) | |
download | gitea-476a043a5fb2b472e2aaced450ac2a0c9102854e.tar.gz gitea-476a043a5fb2b472e2aaced450ac2a0c9102854e.zip |
Refactor delete_modal_actions template and use it for project column related actions (#24097)
Co-Author: @wxiaoguang
This PR is to fix
https://github.com/go-gitea/gitea/issues/23318#issuecomment-1506275446 .
The way to fix this in this PR is to use `delete_modal_actions.tmpl`
here both to fix this issue and keep ui consistency (as suggested by
[TODO
here](https://github.com/go-gitea/gitea/blob/4299c3b7db61f8741eca0ba3d663bb65745a4acc/templates/projects/view.tmpl#L161))
And this PR also refactors `delete_modal_actions.tmpl` and its related
styles, and use the template for more modal actions:
1. Added template attributes:
* locale
* ModalButtonStyle: "yes" (default) or "confirm"
* ModalButtonCancelText
* ModalButtonOkText
2. Rename `delete_modal_actions.tmpl` template to
`modal_actions_confirm.tmpl` because it is not only used for action
modals deletion now.
3. Refactored css related to modals into `web_src/css/modules/modal.css`
and improved the styles.
4. Also use the template for PR deletion modal and remove issue
dependency modal.
5. Some modals should also use the template, but not sure how to open
them, so mark these modal actions by `{{/* TODO: Convert to
base/modal_actions_confirm */}}`
After (Also tested on arc green):
Hovering on the left buttons
<img width="711" alt="Screen Shot 2023-04-23 at 15 17 12"
src="https://user-images.githubusercontent.com/17645053/233825650-76307e65-9255-44bb-80e8-7062f58ead1b.png">
<img width="786" alt="Screen Shot 2023-04-23 at 15 17 21"
src="https://user-images.githubusercontent.com/17645053/233825652-4dc6f7d1-a180-49fb-a468-d60950eaee0d.png">
Test for functionalities:
https://user-images.githubusercontent.com/17645053/233826857-76376fda-022c-42d0-b0f3-339c17ca4e59.mov
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src')
-rw-r--r-- | web_src/css/base.css | 26 | ||||
-rw-r--r-- | web_src/css/index.css | 1 | ||||
-rw-r--r-- | web_src/css/modules/modal.css | 47 | ||||
-rw-r--r-- | web_src/js/features/repo-projects.js | 17 |
4 files changed, 56 insertions, 35 deletions
diff --git a/web_src/css/base.css b/web_src/css/base.css index 7e510346b3..42263a974f 100644 --- a/web_src/css/base.css +++ b/web_src/css/base.css @@ -1140,32 +1140,6 @@ a.ui.card:hover { color: var(--color-text); } -.ui.modal { - background: var(--color-body); -} - -.ui.modal > .header { - color: var(--color-text-dark); - background: var(--color-secondary-bg); - border-color: var(--color-secondary); - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); -} - -.ui.modal > .content { - background: var(--color-body); - text-align: left !important; -} - -.ui.modal > .actions { - background: var(--color-secondary-bg); - border-color: var(--color-secondary); -} - -.ui.modal > .close.inside { - color: var(--color-text); -} - .ui.basic.table > tbody > tr { border-color: var(--color-secondary); } diff --git a/web_src/css/index.css b/web_src/css/index.css index 2530830338..8282511804 100644 --- a/web_src/css/index.css +++ b/web_src/css/index.css @@ -10,6 +10,7 @@ @import "./features/codeeditor.css"; @import "./features/projects.css"; @import "./modules/tippy.css"; +@import "./modules/modal.css"; @import "./code/linebutton.css"; @import "./markup/content.css"; @import "./markup/codecopy.css"; diff --git a/web_src/css/modules/modal.css b/web_src/css/modules/modal.css new file mode 100644 index 0000000000..60d096dfbf --- /dev/null +++ b/web_src/css/modules/modal.css @@ -0,0 +1,47 @@ +.ui.modal.gitea-confirm-modal { + max-width: min(800px, 90vw); + width: fit-content; +} + +.ui.modal > .header { + /* can't use display:flex, because some headers have space-separated elements, eg: delete branch modal */ + color: var(--color-text-dark); + background: var(--color-body); + border-color: var(--color-secondary); + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); + vertical-align: middle; +} + +.ui.modal > .header .svg { + vertical-align: middle; + display: inline-block; +} + +/* Gitea sometimes use a form in a modal dialog, then the "positive" button could submit the form directly */ + +.ui.modal > .content, +.ui.modal > form > .content { + background: var(--color-body); +} + +.ui.modal > .actions, +.ui.modal > form > .actions { + background: var(--color-secondary-bg); + border-color: var(--color-secondary); + + /* these styles are from Fomantic UI */ + padding: 1rem; + text-align: right; +} + +/* positive/negative action buttons */ +.ui.modal .actions > .ui.button { + display: inline-flex; + align-items: center; + padding: 10px 12px 10px 10px; +} + +.ui.modal .actions > .ui.button .svg { + margin-right: 5px; +} diff --git a/web_src/js/features/repo-projects.js b/web_src/js/features/repo-projects.js index 953671b41d..5d40096220 100644 --- a/web_src/js/features/repo-projects.js +++ b/web_src/js/features/repo-projects.js @@ -129,12 +129,7 @@ export function initRepoProject() { $('.default-project-board-modal').each(function () { const boardColumn = $(this).closest('.board-column'); const showButton = $(boardColumn).find('.default-project-board-show'); - const commitButton = $(this).find('.default-project-board-button'); - - if ($(showButton).data('type') === 'unset_default') { - $(commitButton).removeClass('primary'); - $(commitButton).addClass('red'); - } + const commitButton = $(this).find('.actions > .ok.button'); $(commitButton).on('click', (e) => { e.preventDefault(); @@ -152,12 +147,16 @@ export function initRepoProject() { }); }); - $('.delete-project-board').each(function () { - $(this).on('click', function (e) { + $('.show-delete-column-modal').each(function () { + const deleteColumnModal = $(`${$(this).attr('data-modal')}`); + const deleteColumnButton = deleteColumnModal.find('.actions > .ok.button'); + const deleteUrl = $(this).attr('data-url'); + + deleteColumnButton.on('click', (e) => { e.preventDefault(); $.ajax({ - url: $(this).data('url'), + url: deleteUrl, headers: { 'X-Csrf-Token': csrfToken, }, |