blob: 142237e4a05a2e47d762e7c16f79c7a1c09804a8 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Polymer element for displaying material design reset screen.
*/
Polymer({
is: 'oobe-reset-md',
behaviors: [OobeDialogHostBehavior],
properties: {
/**
* State of the screen corresponding to the css style set by
* oobe_screen_reset.js.
*/
uiState_: String,
/**
* Flag that determines whether help link is shown.
*/
isOfficial_: Boolean,
/**
* Whether to show the TPM firmware update checkbox.
*/
tpmFirmwareUpdateAvailable_: Boolean,
/**
* If the checkbox to request a TPM firmware update is checked.
*/
tpmFirmwareUpdateChecked_: Boolean,
/**
* If the checkbox to request a TPM firmware update is editable.
*/
tpmFirmwareUpdateEditable_: Boolean,
/**
* Reference to OOBE screen object.
* @type {!OobeTypes.Screen}
*/
screen: {
type: Object,
},
},
focus: function() {
this.$.resetDialog.focus();
},
/** @private */
isState_: function(uiState_, state_) {
return uiState_ == state_;
},
/** @private */
isCancelHidden_: function(uiState_) {
return uiState_ == 'revert-promise-view';
},
/** @private */
isHelpLinkHidden_: function(uiState_, isOfficial_) {
return !isOfficial_ || (uiState_ == 'revert-promise-view');
},
/** @private */
isTPMFirmwareUpdateHidden_: function(uiState_, tpmFirmwareUpdateAvailable_) {
var inProposalView = [
'powerwash-proposal-view', 'rollback-proposal-view'
].includes(uiState_);
return !(tpmFirmwareUpdateAvailable_ && inProposalView);
},
/**
* On-tap event handler for cancel button.
*
* @private
*/
onCancelTap_: function() {
chrome.send('login.ResetScreen.userActed', ['cancel-reset']);
},
/**
* On-tap event handler for restart button.
*
* @private
*/
onRestartTap_: function() {
chrome.send('login.ResetScreen.userActed', ['restart-pressed']);
},
/**
* On-tap event handler for powerwash button.
*
* @private
*/
onPowerwashTap_: function() {
chrome.send('login.ResetScreen.userActed', ['show-confirmation']);
},
/**
* On-tap event handler for learn more link.
*
* @private
*/
onLearnMoreTap_: function() {
chrome.send('login.ResetScreen.userActed', ['learn-more-link']);
},
/**
* Change handler for TPM firmware update checkbox.
*
* @private
*/
onTPMFirmwareUpdateChanged_: function() {
this.screen.onTPMFirmwareUpdateChanged_(
this.$.tpmFirmwareUpdateCheckbox.checked);
},
/**
* On-tap event handler for the TPM firmware update learn more link.
*
* @param {!Event} event
* @private
*/
onTPMFirmwareUpdateLearnMore_: function(event) {
chrome.send(
'login.ResetScreen.userActed', ['tpm-firmware-update-learn-more-link']);
event.stopPropagation();
},
});