Files
gerrit/polygerrit-ui/app/elements/shared/gr-confirm-dialog/gr-confirm-dialog.js
Becky Siegel a5056224d1 Change rebase action behavior
Previously, if the server did not return enabled=true for the rebase
change action, the rebase button would be disabled on the UI. Really,
what disabled indicated in this case was that the rebase could not be
performed on the current branch, but could still perform a rebase on
a different parent revision.

This change updates revision actions in the change view always be
enabled, and introduces a new parameter to indicate whether or not
rebasing should be enabled on the current branch based on the initial
status of the enabled flag.

This change also disables the rebase button on the rebase dialog until
an option is explicitly chosen. Previously, if an option was not chosen,
if rebase was clicked, it would submit with a base branch of '', which
is the same thing checking the box accomplishes. Now, either the box
must be checked, or a base change must be entered, so it is more clear
what happens with the rebase and in the new scenario when you cannot
submit on the base branch, there won't be a possibility of a server
error.

Bug: Issue 5126
Change-Id: I47083ad328095aad4e04f2fc1586ad4d34412e4c
2017-01-10 15:35:11 -08:00

58 lines
1.3 KiB
JavaScript

// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
(function() {
'use strict';
Polymer({
is: 'gr-confirm-dialog',
/**
* Fired when the confirm button is pressed.
*
* @event confirm
*/
/**
* Fired when the cancel button is pressed.
*
* @event cancel
*/
properties: {
confirmLabel: {
type: String,
value: 'Confirm',
},
disabled: {
type: Boolean,
value: false,
},
},
hostAttributes: {
role: 'dialog',
},
_handleConfirmTap: function(e) {
e.preventDefault();
this.fire('confirm', null, {bubbles: false});
},
_handleCancelTap: function(e) {
e.preventDefault();
this.fire('cancel', null, {bubbles: false});
},
});
})();