Commit 56617b0d authored by Gordon Seto's avatar Gordon Seto Committed by Chromium LUCI CQ

[CrOS Settings] Add dynamic 'Forward' button label to button_bar.

Update 'Forward' button to have a dynamic label. Remove 'Done' and
'Skip Discovery' buttons and replace instances with 'Forward' button.

Bug: 1093185
Change-Id: I08259968c5d9ea16e8bad17be12c8cc4be88c198
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2631226
Commit-Queue: Gordon Seto <gordonseto@google.com>
Reviewed-by: default avatarAzeem Arshad <azeemarshad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844209}
parent 4a8451e4
...@@ -267,6 +267,9 @@ ...@@ -267,6 +267,9 @@
<message name="IDS_CELLULAR_SETUP_SKIP_DISCOVERY_LABEL" desc="Label for button that skips the multiple profile selection step and sets up a new profile during eSIM cellular setup"> <message name="IDS_CELLULAR_SETUP_SKIP_DISCOVERY_LABEL" desc="Label for button that skips the multiple profile selection step and sets up a new profile during eSIM cellular setup">
Skip &amp; Set up new profile Skip &amp; Set up new profile
</message> </message>
<message name="IDS_CELLULAR_SETUP_CONFIRM_LABEL" desc="Label for button that verifies the confirmation code entered during cellular setup">
Confirm
</message>
<message name="IDS_CELLULAR_SETUP_ESIM_PAGE_ACTIVATION_CODE" desc="Label for activation code input box"> <message name="IDS_CELLULAR_SETUP_ESIM_PAGE_ACTIVATION_CODE" desc="Label for activation code input box">
Activation code Activation code
</message> </message>
......
e233dccc6953231ac3359a0af5186962e5913311
\ No newline at end of file
...@@ -33,6 +33,7 @@ constexpr webui::LocalizedString kLocalizedStringsWithoutPlaceholders[] = { ...@@ -33,6 +33,7 @@ constexpr webui::LocalizedString kLocalizedStringsWithoutPlaceholders[] = {
{"next", IDS_CELLULAR_SETUP_NEXT_LABEL}, {"next", IDS_CELLULAR_SETUP_NEXT_LABEL},
{"tryAgain", IDS_CELLULAR_SETUP_TRY_AGAIN_LABEL}, {"tryAgain", IDS_CELLULAR_SETUP_TRY_AGAIN_LABEL},
{"skipDiscovery", IDS_CELLULAR_SETUP_SKIP_DISCOVERY_LABEL}, {"skipDiscovery", IDS_CELLULAR_SETUP_SKIP_DISCOVERY_LABEL},
{"confirm", IDS_CELLULAR_SETUP_CONFIRM_LABEL},
{"simDetectPageTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_TITLE}, {"simDetectPageTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_TITLE},
{"simDetectPageErrorTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_ERROR_TITLE}, {"simDetectPageErrorTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_ERROR_TITLE},
{"simDetectPageErrorMessage", {"simDetectPageErrorMessage",
......
...@@ -33,8 +33,6 @@ suite('CellularSetupButtonBarTest', function() { ...@@ -33,8 +33,6 @@ suite('CellularSetupButtonBarTest', function() {
cancel: state, cancel: state,
forward: state, forward: state,
tryAgain: state, tryAgain: state,
done: state,
skipDiscovery: state,
}; };
Polymer.dom.flush(); Polymer.dom.flush();
} }
...@@ -69,8 +67,6 @@ suite('CellularSetupButtonBarTest', function() { ...@@ -69,8 +67,6 @@ suite('CellularSetupButtonBarTest', function() {
assertTrue(isButtonShownAndEnabled(buttonBar.$$('#cancel'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#cancel')));
assertTrue(isButtonShownAndEnabled(buttonBar.$$('#tryAgain'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#tryAgain')));
assertTrue(isButtonShownAndEnabled(buttonBar.$$('#forward'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#forward')));
assertTrue(isButtonShownAndEnabled(buttonBar.$$('#done')));
assertTrue(isButtonShownAndEnabled(buttonBar.$$('#skipDiscovery')));
}); });
test('individual buttons appear but are diabled', function() { test('individual buttons appear but are diabled', function() {
...@@ -79,8 +75,6 @@ suite('CellularSetupButtonBarTest', function() { ...@@ -79,8 +75,6 @@ suite('CellularSetupButtonBarTest', function() {
assertTrue(isButtonShownAndDisabled(buttonBar.$$('#cancel'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#cancel')));
assertTrue(isButtonShownAndDisabled(buttonBar.$$('#tryAgain'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#tryAgain')));
assertTrue(isButtonShownAndDisabled(buttonBar.$$('#forward'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#forward')));
assertTrue(isButtonShownAndDisabled(buttonBar.$$('#done')));
assertTrue(isButtonShownAndDisabled(buttonBar.$$('#skipDiscovery')));
}); });
test('individual buttons are hidden', function() { test('individual buttons are hidden', function() {
...@@ -89,7 +83,5 @@ suite('CellularSetupButtonBarTest', function() { ...@@ -89,7 +83,5 @@ suite('CellularSetupButtonBarTest', function() {
assertTrue(isButtonHidden(buttonBar.$$('#cancel'))); assertTrue(isButtonHidden(buttonBar.$$('#cancel')));
assertTrue(isButtonHidden(buttonBar.$$('#tryAgain'))); assertTrue(isButtonHidden(buttonBar.$$('#tryAgain')));
assertTrue(isButtonHidden(buttonBar.$$('#forward'))); assertTrue(isButtonHidden(buttonBar.$$('#forward')));
assertTrue(isButtonHidden(buttonBar.$$('#done')));
assertTrue(isButtonHidden(buttonBar.$$('#skipDiscovery')));
}); });
}); });
...@@ -282,8 +282,7 @@ suite('CrComponentsEsimFlowUiTest', function() { ...@@ -282,8 +282,7 @@ suite('CrComponentsEsimFlowUiTest', function() {
test('Skip discovery flow', async function() { test('Skip discovery flow', async function() {
// Simulate pressing 'Skip'. // Simulate pressing 'Skip'.
assertTrue( assertTrue(
eSimPage.buttonState.skipDiscovery === eSimPage.buttonState.forward === cellularSetup.ButtonState.ENABLED);
cellularSetup.ButtonState.ENABLED);
eSimPage.navigateForward(); eSimPage.navigateForward();
Polymer.dom.flush(); Polymer.dom.flush();
...@@ -313,7 +312,6 @@ suite('CrComponentsEsimFlowUiTest', function() { ...@@ -313,7 +312,6 @@ suite('CrComponentsEsimFlowUiTest', function() {
// The 'Forward' button should now be enabled. // The 'Forward' button should now be enabled.
assertTrue( assertTrue(
eSimPage.buttonState.forward === cellularSetup.ButtonState.ENABLED); eSimPage.buttonState.forward === cellularSetup.ButtonState.ENABLED);
assertFalse(!!eSimPage.buttonState.skipDiscovery);
// Simulate pressing 'Forward'. // Simulate pressing 'Forward'.
eSimPage.navigateForward(); eSimPage.navigateForward();
...@@ -339,7 +337,6 @@ suite('CrComponentsEsimFlowUiTest', function() { ...@@ -339,7 +337,6 @@ suite('CrComponentsEsimFlowUiTest', function() {
// The 'Forward' button should now be enabled. // The 'Forward' button should now be enabled.
assertTrue( assertTrue(
eSimPage.buttonState.forward === cellularSetup.ButtonState.ENABLED); eSimPage.buttonState.forward === cellularSetup.ButtonState.ENABLED);
assertFalse(!!eSimPage.buttonState.skipDiscovery);
// Simulate pressing 'Forward'. // Simulate pressing 'Forward'.
eSimPage.navigateForward(); eSimPage.navigateForward();
......
...@@ -44,26 +44,12 @@ ...@@ -44,26 +44,12 @@
hidden$="[[isButtonHidden_(Button.TRY_AGAIN, buttonState.*)]]"> hidden$="[[isButtonHidden_(Button.TRY_AGAIN, buttonState.*)]]">
[[i18n('tryAgain')]] [[i18n('tryAgain')]]
</cr-button> </cr-button>
<cr-button id="done"
class="action-button"
on-click="onDoneButtonClicked_"
disabled="[[isButtonDisabled_(Button.DONE, buttonState.*)]]"
hidden$="[[isButtonHidden_(Button.DONE, buttonState.*)]]">
[[i18n('done')]]
</cr-button>
<cr-button id="skipDiscovery"
class="action-button"
on-click="onNextButtonClicked_"
disabled="[[isButtonDisabled_(Button.SKIP_DISCOVERY, buttonState.*)]]"
hidden$="[[isButtonHidden_(Button.SKIP_DISCOVERY, buttonState.*)]]">
[[i18n('skipDiscovery')]]
</cr-button>
<cr-button id="forward" <cr-button id="forward"
class="action-button" class="action-button"
on-click="onForwardButtonClicked_" on-click="onForwardButtonClicked_"
disabled="[[isButtonDisabled_(Button.FORWARD, buttonState.*)]]" disabled="[[isButtonDisabled_(Button.FORWARD, buttonState.*)]]"
hidden$="[[isButtonHidden_(Button.FORWARD, buttonState.*)]]"> hidden$="[[isButtonHidden_(Button.FORWARD, buttonState.*)]]">
[[i18n('next')]] [[forwardButtonLabel]]
</cr-button> </cr-button>
</template> </template>
<script src="button_bar.js"></script> <script src="button_bar.js"></script>
......
...@@ -24,6 +24,11 @@ Polymer({ ...@@ -24,6 +24,11 @@ Polymer({
type: Object, type: Object,
value: cellularSetup.Button, value: cellularSetup.Button,
}, },
forwardButtonLabel: {
type: String,
value: '',
}
}, },
/** /**
...@@ -60,11 +65,6 @@ Polymer({ ...@@ -60,11 +65,6 @@ Polymer({
this.fire('retry-requested'); this.fire('retry-requested');
}, },
/** @private */
onDoneButtonClicked_() {
this.fire('complete-flow-requested');
},
/** @private */ /** @private */
onForwardButtonClicked_() { onForwardButtonClicked_() {
this.fire('forward-nav-requested'); this.fire('forward-nav-requested');
...@@ -82,14 +82,10 @@ Polymer({ ...@@ -82,14 +82,10 @@ Polymer({
return this.buttonState.backward; return this.buttonState.backward;
case cellularSetup.Button.CANCEL: case cellularSetup.Button.CANCEL:
return this.buttonState.cancel; return this.buttonState.cancel;
case cellularSetup.Button.DONE:
return this.buttonState.done;
case cellularSetup.Button.FORWARD: case cellularSetup.Button.FORWARD:
return this.buttonState.forward; return this.buttonState.forward;
case cellularSetup.Button.TRY_AGAIN: case cellularSetup.Button.TRY_AGAIN:
return this.buttonState.tryAgain; return this.buttonState.tryAgain;
case cellularSetup.Button.SKIP_DISCOVERY:
return this.buttonState.skipDiscovery;
default: default:
assertNotReached(); assertNotReached();
return cellularSetup.ButtonState.ENABLED; return cellularSetup.ButtonState.ENABLED;
......
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
<setup-selection-flow <setup-selection-flow
selected-page="{{selectedFlow_}}" selected-page="{{selectedFlow_}}"
button-state="{{buttonState_}}" button-state="{{buttonState_}}"
id="setup-selection-flow"> id="setup-selection-flow"
forward-button-label="{{forwardButtonLabel_}}">
</setup-selection-flow> </setup-selection-flow>
<template is="dom-if" <template is="dom-if"
if="[[isPSimSelected_(currentPageName)]]" restamp> if="[[isPSimSelected_(currentPageName)]]" restamp>
...@@ -25,7 +26,8 @@ ...@@ -25,7 +26,8 @@
button-state="{{buttonState_}}" button-state="{{buttonState_}}"
name-of-carrier-pending-setup="{{flowTitle}}" name-of-carrier-pending-setup="{{flowTitle}}"
delegate="[[delegate]]" delegate="[[delegate]]"
id="psim-flow-ui"> id="psim-flow-ui"
forward-button-label="{{forwardButtonLabel_}}">
</psim-flow-ui> </psim-flow-ui>
</template> </template>
<template is="dom-if" <template is="dom-if"
...@@ -33,11 +35,14 @@ ...@@ -33,11 +35,14 @@
<esim-flow-ui <esim-flow-ui
button-state="{{buttonState_}}" button-state="{{buttonState_}}"
delegate="[[delegate]]" delegate="[[delegate]]"
id="esim-flow-ui"> id="esim-flow-ui"
forward-button-label="{{forwardButtonLabel_}}">
</esim-flow-ui> </esim-flow-ui>
</template> </template>
</iron-pages> </iron-pages>
<button-bar button-state="[[buttonState_]]"> <button-bar
button-state="[[buttonState_]]"
forward-button-label="[[forwardButtonLabel_]]">
</button-bar> </button-bar>
</template> </template>
<script src="cellular_setup.js"></script> <script src="cellular_setup.js"></script>
......
...@@ -57,12 +57,19 @@ Polymer({ ...@@ -57,12 +57,19 @@ Polymer({
type: Object, type: Object,
observer: 'onPageChange_', observer: 'onPageChange_',
}, },
/**
* Text for the button_bar's 'Forward' button.
* @private {string}
*/
forwardButtonLabel_: {
type: String,
}
}, },
listeners: { listeners: {
'backward-nav-requested': 'onBackwardNavRequested_', 'backward-nav-requested': 'onBackwardNavRequested_',
'retry-requested': 'onRetryRequested_', 'retry-requested': 'onRetryRequested_',
'complete-flow-requested': 'onCompleteFlowRequested_',
'forward-nav-requested': 'onForwardNavRequested_', 'forward-nav-requested': 'onForwardNavRequested_',
'cancel-requested': 'onCancelRequested_', 'cancel-requested': 'onCancelRequested_',
}, },
...@@ -97,11 +104,6 @@ Polymer({ ...@@ -97,11 +104,6 @@ Polymer({
// TODO(crbug.com/1093185): Add try again logic. // TODO(crbug.com/1093185): Add try again logic.
}, },
/** @private */
onCompleteFlowRequested_() {
// TODO(crbug.com/1093185): Add completion logic.
},
/** @private */ /** @private */
onForwardNavRequested_() { onForwardNavRequested_() {
// Switch current page to user selected flow when navigating forward from // Switch current page to user selected flow when navigating forward from
......
...@@ -23,20 +23,16 @@ cr.define('cellularSetup', function() { ...@@ -23,20 +23,16 @@ cr.define('cellularSetup', function() {
/* #export */ const Button = { /* #export */ const Button = {
BACKWARD: 1, BACKWARD: 1,
CANCEL: 2, CANCEL: 2,
DONE: 3, FORWARD: 3,
FORWARD: 4, TRY_AGAIN: 4,
TRY_AGAIN: 5,
SKIP_DISCOVERY: 6,
}; };
/** /**
* @typedef {{ * @typedef {{
* backward: (!cellularSetup.ButtonState|undefined), * backward: (!cellularSetup.ButtonState|undefined),
* cancel: (!cellularSetup.ButtonState|undefined), * cancel: (!cellularSetup.ButtonState|undefined),
* done: (!cellularSetup.ButtonState|undefined),
* forward: (!cellularSetup.ButtonState|undefined), * forward: (!cellularSetup.ButtonState|undefined),
* tryAgain: (!cellularSetup.ButtonState|undefined), * tryAgain: (!cellularSetup.ButtonState|undefined),
* skipDiscovery: (!cellularSetup.ButtonState|undefined),
* }} * }}
*/ */
/* #export */ let ButtonBarState; /* #export */ let ButtonBarState;
......
...@@ -37,6 +37,11 @@ cr.define('cellular_setup', function() { ...@@ -37,6 +37,11 @@ cr.define('cellular_setup', function() {
/** @type {!cellular_setup.CellularSetupDelegate} */ /** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object, delegate: Object,
forwardButtonLabel: {
type: String,
notify: true,
},
/** /**
* @type {!cellular_setup.ESimUiState} * @type {!cellular_setup.ESimUiState}
* @private * @private
...@@ -230,6 +235,7 @@ cr.define('cellular_setup', function() { ...@@ -230,6 +235,7 @@ cr.define('cellular_setup', function() {
switch (this.state_) { switch (this.state_) {
case ESimUiState.PROFILE_SEARCH: case ESimUiState.PROFILE_SEARCH:
case ESimUiState.ACTIVATION_CODE_ENTRY: case ESimUiState.ACTIVATION_CODE_ENTRY:
this.forwardButtonLabel = this.i18n('next');
buttonState = { buttonState = {
backward: cellularSetup.ButtonState.ENABLED, backward: cellularSetup.ButtonState.ENABLED,
cancel: this.delegate.shouldShowCancelButton() ? cancel: this.delegate.shouldShowCancelButton() ?
...@@ -239,26 +245,28 @@ cr.define('cellular_setup', function() { ...@@ -239,26 +245,28 @@ cr.define('cellular_setup', function() {
}; };
break; break;
case ESimUiState.CONFIRMATION_CODE_ENTRY: case ESimUiState.CONFIRMATION_CODE_ENTRY:
this.forwardButtonLabel = this.i18n('confirm');
buttonState = { buttonState = {
backward: cellularSetup.ButtonState.ENABLED, backward: cellularSetup.ButtonState.ENABLED,
cancel: this.delegate.shouldShowCancelButton() ? cancel: this.delegate.shouldShowCancelButton() ?
cellularSetup.ButtonState.ENABLED : cellularSetup.ButtonState.ENABLED :
undefined, undefined,
// TODO(crbug.com/1093185) Add a "Confirm" button state.
forward: cellularSetup.ButtonState.DISABLED, forward: cellularSetup.ButtonState.DISABLED,
}; };
break; break;
case ESimUiState.PROFILE_SELECTION: case ESimUiState.PROFILE_SELECTION:
this.forwardButtonLabel = this.i18n('skipDiscovery');
buttonState = { buttonState = {
cancel: this.delegate.shouldShowCancelButton() ? cancel: this.delegate.shouldShowCancelButton() ?
cellularSetup.ButtonState.ENABLED : cellularSetup.ButtonState.ENABLED :
undefined, undefined,
skipDiscovery: cellularSetup.ButtonState.ENABLED, forward: cellularSetup.ButtonState.ENABLED,
}; };
break; break;
case ESimUiState.SETUP_FINISH: case ESimUiState.SETUP_FINISH:
this.forwardButtonLabel = this.i18n('done');
buttonState = { buttonState = {
done: cellularSetup.ButtonState.ENABLED, forward: cellularSetup.ButtonState.ENABLED,
}; };
break; break;
default: default:
...@@ -270,34 +278,25 @@ cr.define('cellular_setup', function() { ...@@ -270,34 +278,25 @@ cr.define('cellular_setup', function() {
/** @private */ /** @private */
onActivationCodeUpdated_(event) { onActivationCodeUpdated_(event) {
if (event.detail.activationCode) { this.set(
this.set('buttonState.forward', cellularSetup.ButtonState.ENABLED); 'buttonState.forward',
} else { event.detail.activationCode ? cellularSetup.ButtonState.ENABLED :
this.set('buttonState.forward', cellularSetup.ButtonState.DISABLED); cellularSetup.ButtonState.DISABLED);
}
}, },
/** @private */ /** @private */
onSelectedProfileChanged_() { onSelectedProfileChanged_() {
if (this.selectedProfile_) { this.forwardButtonLabel = this.selectedProfile_ ?
this.set('buttonState.skipDiscovery', undefined); this.i18n('next') :
this.set('buttonState.forward', cellularSetup.ButtonState.ENABLED); this.i18n('skipDiscovery');
} else {
this.set('buttonState.forward', undefined);
this.set(
'buttonState.skipDiscovery', cellularSetup.ButtonState.ENABLED);
}
}, },
/** @private */ /** @private */
onConfirmationCodeUpdated_() { onConfirmationCodeUpdated_() {
// TODO(crbug.com/1093185) Change this to updating a "Confirm" button's this.set(
// state. 'buttonState.forward',
if (this.confirmationCode_) { this.confirmationCode_ ? cellularSetup.ButtonState.ENABLED :
this.set('buttonState.forward', cellularSetup.ButtonState.ENABLED); cellularSetup.ButtonState.DISABLED);
} else {
this.set('buttonState.forward', cellularSetup.ButtonState.DISABLED);
}
}, },
/** SubflowBehavior override */ /** SubflowBehavior override */
......
...@@ -82,6 +82,11 @@ cr.define('cellularSetup', function() { ...@@ -82,6 +82,11 @@ cr.define('cellularSetup', function() {
'selectedPSimPageName_, cellularMetadata_.*)', 'selectedPSimPageName_, cellularMetadata_.*)',
}, },
forwardButtonLabel: {
type: String,
notify: true,
},
/** /**
* @type {!cellularSetup.PSimUIState} * @type {!cellularSetup.PSimUIState}
* @private * @private
...@@ -223,8 +228,9 @@ cr.define('cellularSetup', function() { ...@@ -223,8 +228,9 @@ cr.define('cellularSetup', function() {
break; break;
case PSimUIState.WAITING_FOR_ACTIVATION_TO_FINISH: case PSimUIState.WAITING_FOR_ACTIVATION_TO_FINISH:
case PSimUIState.TIMEOUT_FINISH_ACTIVATION: case PSimUIState.TIMEOUT_FINISH_ACTIVATION:
this.forwardButtonLabel = this.i18n('done');
buttonState = { buttonState = {
done: cellularSetup.ButtonState.ENABLED, forward: cellularSetup.ButtonState.ENABLED,
}; };
break; break;
default: default:
......
...@@ -17,11 +17,16 @@ Polymer({ ...@@ -17,11 +17,16 @@ Polymer({
properties: { properties: {
/** /**
* Element name of the current selected sub-page. * Element name of the current selected sub-page.
* @private {!cellularSetup.CellularSetupPageName} * @type {!cellularSetup.CellularSetupPageName}
*/ */
selectedPage: { selectedPage: {
type: String, type: String,
notify: true, notify: true,
},
forwardButtonLabel: {
type: String,
notify: true,
} }
}, },
...@@ -43,6 +48,7 @@ Polymer({ ...@@ -43,6 +48,7 @@ Polymer({
* @private * @private
*/ */
updateButtonState_(selectedPage) { updateButtonState_(selectedPage) {
this.forwardButtonLabel = this.i18n('next');
this.buttonState = { this.buttonState = {
cancel: cellularSetup.ButtonState.ENABLED, cancel: cellularSetup.ButtonState.ENABLED,
}; };
......
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