blob: 6db1a35475ec2c59d0c5defb86dfba2a85eb314e [file] [log] [blame]
// Copyright 2016 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 'user-manager-dialog' is a modal dialog for the user manager.
*/
Polymer({
is: 'user-manager-dialog',
behaviors: [Polymer.PaperDialogBehavior],
properties: {
/** @override */
noCancelOnOutsideClick: {
type: Boolean,
value: true
},
/** @override */
withBackdrop: {
type: Boolean,
value: true
},
/**
* The first node that can receive focus.
* @type {!Node}
*/
firstFocusableNode: {
type: Object,
value: function() { return this.$.close; },
observer: 'firstFocusableNodeChanged_'
},
/**
* The last node that can receive focus.
* @type {!Node}
*/
lastFocusableNode: {
type: Object,
value: function() { return this.$.close; },
observer: 'lastFocusableNodeChanged_'
}
},
/**
* Returns the first and the last focusable elements in order to wrap the
* focus for the dialog in Polymer.PaperDialogBehavior.
* @override
* @type {!Array<!Node>}
*/
get _focusableNodes() {
return [this.firstFocusableNode, this.lastFocusableNode];
},
/**
* Observer for firstFocusableNode. Updates __firstFocusableNode in
* Polymer.PaperDialogBehavior.
*/
firstFocusableNodeChanged_: function(newValue) {
this.__firstFocusableNode = newValue;
},
/**
* Observer for lastFocusableNodeChanged_. Updates __lastFocusableNode in
* Polymer.PaperDialogBehavior.
*/
lastFocusableNodeChanged_: function(newValue) {
this.__lastFocusableNode = newValue;
}
});