Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Unified Diff: ui/webui/resources/cr_elements/network/cr_network_list_network_item.js

Issue 2069323002: Add support for custom entries in <cr_network_select/>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@604119--Implement-Chrome-OS-out-of-box-flow-in-Material-Design--ImplementNetworkSelectionScreen
Patch Set: Split cr-network-list into two dom-repeat objects/. Removed list_item_base. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/webui/resources/cr_elements/network/cr_network_list_network_item.js
diff --git a/ui/webui/resources/cr_elements/network/cr_network_list_item.js b/ui/webui/resources/cr_elements/network/cr_network_list_network_item.js
similarity index 78%
rename from ui/webui/resources/cr_elements/network/cr_network_list_item.js
rename to ui/webui/resources/cr_elements/network/cr_network_list_network_item.js
index b922df8e63ac67e95353137151b75b079d990ec0..5a59631e10fecad1edb2e780b8ecd258aced7356 100644
--- a/ui/webui/resources/cr_elements/network/cr_network_list_item.js
+++ b/ui/webui/resources/cr_elements/network/cr_network_list_network_item.js
@@ -1,4 +1,4 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
+// 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.
@@ -65,10 +65,10 @@ function getNetworkName(network) {
}
/**
- * Polymer class definition for 'cr-network-list-item'.
+ * Polymer class definition for 'cr-network-list-network-item'.
*/
Polymer({
- is: 'cr-network-list-item',
+ is: 'cr-network-list-network-item',
properties: {
/**
@@ -96,6 +96,43 @@ Polymer({
value: 'none',
observer: 'networkStateChanged_'
},
+
+ /**
+ * Permission to show buttons.
stevenjb 2016/06/24 22:33:08 nit: 'Whether to show buttons.' sounds a bit more
Alexander Alekseev 2016/06/25 06:04:43 Done.
+ */
+ showButtons: {
+ type: Boolean,
+ value: false,
+ observer: 'showButtonsChanged_'
+ },
+
+ /**
+ * This event is fired on each NetworkStateProperties object when it has
+ * state 'Connected'.
+ *
+ * @type {String}
+ */
+ networkConnectedEvent: {
stevenjb 2016/06/24 22:33:08 I don't think we need/want this, see comment below
+ type: String,
+ value: null,
+ },
+ },
+
+ /**
+ * Determines visibility of the "Settings" button.
stevenjb 2016/06/24 22:33:08 * @private {boolean}
+ */
+ showSettingsButton_ : false,
+
+ /**
+ * Determines visibility of "known buttons" block.
stevenjb 2016/06/24 22:33:08 * @private {boolean}
+ */
+ showKnownButtons_: false,
+
+ /**
+ * Polymer |showButtons| changed observer.
+ */
+ showButtonsChanged_: function() {
+ this.updateButtonsState_()
},
/**
@@ -105,26 +142,33 @@ Polymer({
networkStateChanged_: function() {
if (!this.networkState)
return;
-
var network = this.networkState;
var isDisconnected =
network.ConnectionState == CrOnc.ConnectionState.NOT_CONNECTED;
+
+ if (this.networkConnectedEvent &&
+ network.ConnectionState == CrOnc.ConnectionState.CONNECTED) {
+ this.fire(this.networkConnectedEvent, this.networkState);
stevenjb 2016/06/24 22:33:08 Rather than provide a custom property for this eve
+ }
+
+ this.updateButtonsState_();
+
var name = getNetworkName(network);
if (this.isListItem_(this.listItemType)) {
- this.$.networkName.textContent = name;
- this.$.networkName.classList.toggle('connected', !isDisconnected);
+ this.$.itemName.textContent = name;
+ this.$.itemName.classList.toggle('connected', !isDisconnected);
return;
}
if (network.Name && network.ConnectionState) {
- this.$.networkName.textContent = getText('OncType' + network.Type);
- this.$.networkName.classList.toggle('connected', false);
+ this.$.itemName.textContent = getText('OncType' + network.Type);
+ this.$.itemName.classList.toggle('connected', false);
this.$.networkStateText.textContent =
getConnectionStateText(network.ConnectionState, name);
this.$.networkStateText.classList.toggle('connected', !isDisconnected);
return;
}
- this.$.networkName.textContent = getText('OncType' + network.Type);
- this.$.networkName.classList.toggle('connected', false);
+ this.$.itemName.textContent = getText('OncType' + network.Type);
+ this.$.itemName.classList.toggle('connected', false);
this.$.networkStateText.textContent = getText('networkDisabled');
this.$.networkStateText.classList.toggle('connected', false);
@@ -216,5 +260,12 @@ Polymer({
isListItemType_: function(listItemType, type) {
return listItemType == type;
},
+
+ updateButtonsState_: function() {
+ this.showSettingsButton = this.showButtons &&
+ this.isListItemType_(this.listItemType, 'visible');
+ this.showKnownButtons_ = this.showButtons &&
+ this.isListItemType_(this.listItemType, 'known');
+ },
});
})();

Powered by Google App Engine
This is Rietveld 408576698