Commit 4e52305d authored by Michael Hansen's avatar Michael Hansen Committed by Commit Bot

[Nearby] Disable/enable logic for confirm button during onboarding.

Adds disable/enable logic for the confirm button when on the contact
visibility selection page during the onboarding process for Nearby
Share.

Screenshot:
  https://screenshot.googleplex.com/AKUymEEvWtvCTrU.png

Bug: b:168841167
Change-Id: Idf6d92f743c282262e410b2ec2a0045a0ad5d4b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2527892
Commit-Queue: Michael Hansen <hansenmichael@google.com>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826029}
parent f72000a1
......@@ -107,6 +107,12 @@ Polymer({
type: Array,
value: null,
},
isVisibilitySelected: {
type: Boolean,
computed: 'isVisibilitySelected_(selectedVisibility)',
notify: true,
},
},
/** @private {?nearbyShare.mojom.ContactManagerInterface} */
......
......@@ -23,12 +23,14 @@
sub-title="$i18n{nearbyShareVisibilityPageSubtitle}"
action-button-label="$i18n{nearbyShareActionsConfirm}"
action-button-event-name="next"
action-disabled="[[!isVisibilitySelected_]]"
cancel-button-label="$i18n{nearbyShareActionsCancel}"
cancel-button-event-name="close"
utility-button-label="$i18n{nearbyShareVisibilityPageManageContacts}"
utility-button-event-name="manage-contacts">
<div id=center-content slot="content">
<nearby-contact-visibility id="contactVisibility"
is-visibility-selected="{{isVisibilitySelected_}}"
settings="{{settings}}">
</nearby-contact-visibility>
</div>
......
......@@ -21,15 +21,17 @@ Polymer({
settings: {
type: Object,
notify: true,
}
},
listeners: {
'next': 'onNext_',
'manage-contacts': 'onManageContacts_'
/** @private */
isVisibilitySelected_: {
type: Boolean,
notify: true,
},
},
/** @private */
listeners: {'next': 'onNext_', 'manage-contacts': 'onManageContacts_'},
onNext_() {
this.set('settings.enabled', true);
this.fire('onboarding-complete');
......
......@@ -64,6 +64,13 @@ suite('NearbyShare', function() {
return dialog.$$(page).$$('nearby-page-template').$$(button);
}
function selectAllContacts() {
dialog.$$('nearby-visibility-page')
.$$('nearby-contact-visibility')
.$$('#allContacts')
.click();
}
suite('EnabledTests', function() {
setup(function() {
sharedSetup(true);
......@@ -163,6 +170,8 @@ suite('NearbyShare', function() {
assertTrue(isVisible('nearby-visibility-page'));
// Advance to the next page.
fakeContactManager.completeDownload();
selectAllContacts();
getButton('nearby-visibility-page', '#actionButton').click();
await test_util.waitAfterNextRender(dialog);
......@@ -183,6 +192,8 @@ suite('NearbyShare', function() {
assertTrue(isVisible('nearby-visibility-page'));
// This should close the dialog.
fakeContactManager.completeDownload();
selectAllContacts();
getButton('nearby-visibility-page', '#actionButton').click();
assertTrue(dialog.closing_);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment