diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2017-09-14 16:16:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-14 16:16:22 +0800 |
commit | 1739e84ac02c0384c04576a00abab9348293f9c7 (patch) | |
tree | 1015e68f36421f274d2e883ff3ddb0cb29b6af71 /public | |
parent | be3319b3d545289b772d7a92b4b62205863954d9 (diff) | |
download | gitea-1739e84ac02c0384c04576a00abab9348293f9c7.tar.gz gitea-1739e84ac02c0384c04576a00abab9348293f9c7.zip |
improve protected branch to add whitelist support (#2451)
* improve protected branch to add whitelist support
* fix lint
* fix style check
* fix tests
* fix description on UI and import
* fix test
* bug fixed
* fix tests and languages
* move isSliceInt64Eq to util pkg; improve function names & typo
Diffstat (limited to 'public')
-rw-r--r-- | public/css/index.css | 24 | ||||
-rw-r--r-- | public/js/index.js | 45 | ||||
-rw-r--r-- | public/less/_repository.less | 33 |
3 files changed, 67 insertions, 35 deletions
diff --git a/public/css/index.css b/public/css/index.css index ffc7fe1a19..d09490adbe 100644 --- a/public/css/index.css +++ b/public/css/index.css @@ -2344,6 +2344,30 @@ footer .ui.language .menu { margin-left: 5px; margin-top: -3px; } +.repository.settings.branches .protected-branches .selection.dropdown { + width: 300px; +} +.repository.settings.branches .protected-branches .item { + border: 1px solid #eaeaea; + padding: 10px 15px; +} +.repository.settings.branches .protected-branches .item:not(:last-child) { + border-bottom: 0; +} +.repository.settings.branches .branch-protection .help { + margin-left: 26px; + padding-top: 0; +} +.repository.settings.branches .branch-protection .fields { + margin-left: 20px; + display: block; +} +.repository.settings.branches .branch-protection .whitelist { + margin-left: 26px; +} +.repository.settings.branches .branch-protection .whitelist .dropdown img { + display: inline-block; +} .repository.settings.webhook .events .column { padding-bottom: 0; } diff --git a/public/js/index.js b/public/js/index.js index dc2a09c9ed..cded5e2a1a 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -639,42 +639,18 @@ function initRepository() { if ($('.repository.compare.pull').length > 0) { initFilterSearchDropdown('.choose.branch .dropdown'); } -} - -function initProtectedBranch() { - $('#protectedBranch').change(function () { - var $this = $(this); - $.post($this.data('url'), { - "_csrf": csrf, - "canPush": true, - "branchName": $this.val(), - }, - function (data) { - if (data.redirect) { - window.location.href = data.redirect; - } else { - location.reload(); - } - } - ); - }); - $('.rm').click(function () { - var $this = $(this); - $.post($this.data('url'), { - "_csrf": csrf, - "canPush": false, - "branchName": $this.data('val'), - }, - function (data) { - if (data.redirect) { - window.location.href = data.redirect; - } else { - location.reload(); - } + // Branches + if ($('.repository.settings.branches').length > 0) { + initFilterSearchDropdown('.protected-branches .dropdown'); + $('.enable-protection, .enable-whitelist').change(function () { + if (this.checked) { + $($(this).data('target')).removeClass('disabled'); + } else { + $($(this).data('target')).addClass('disabled'); } - ); - }); + }); + } } function initRepositoryCollaboration() { @@ -1598,7 +1574,6 @@ $(document).ready(function () { initEditForm(); initEditor(); initOrganization(); - initProtectedBranch(); initWebhook(); initAdmin(); initCodeView(); diff --git a/public/less/_repository.less b/public/less/_repository.less index 34fdc26092..d161cc65e5 100644 --- a/public/less/_repository.less +++ b/public/less/_repository.less @@ -1251,6 +1251,39 @@ } } + &.branches { + .protected-branches { + .selection.dropdown { + width: 300px; + } + .item { + border: 1px solid #eaeaea; + padding: 10px 15px; + + &:not(:last-child) { + border-bottom: 0; + } + } + } + .branch-protection { + .help { + margin-left: 26px; + padding-top: 0; + } + .fields { + margin-left: 20px; + display: block; + } + .whitelist { + margin-left: 26px; + + .dropdown img { + display: inline-block; + } + } + } + } + &.webhook { .events { .column { |