| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview Polymer element for displaying a list of network properties | 6 * @fileoverview Polymer element for displaying a list of network properties |
| 7 * in a list in the format: | 7 * in a list in the format: |
| 8 * Key1.........Value1 | 8 * Key1.........Value1 |
| 9 * KeyTwo.......ValueTwo | 9 * KeyTwo.......ValueTwo |
| 10 * This also supports editing fields inline for fields listed in editFieldTypes: | 10 * This also supports editing fields inline for fields listed in editFieldTypes: |
| 11 * KeyThree....._________ | 11 * KeyThree....._________ |
| 12 * TODO(stevenjb): Translate the keys and (where appropriate) values. | 12 * TODO(stevenjb): Translate the keys and (where appropriate) values. |
| 13 */ | 13 */ |
| 14 Polymer({ | 14 Polymer({ |
| 15 is: 'network-property-list', | 15 is: 'network-property-list', |
| 16 | 16 |
| 17 behaviors: [CrPolicyNetworkBehavior], |
| 18 |
| 17 properties: { | 19 properties: { |
| 18 /** | 20 /** |
| 19 * The dictionary containing the properties to display. | 21 * The dictionary containing the properties to display. |
| 22 * @type {!Object|undefined} |
| 20 */ | 23 */ |
| 21 propertyDict: { | 24 propertyDict: { |
| 22 type: Object | 25 type: Object |
| 23 }, | 26 }, |
| 24 | 27 |
| 25 /** | 28 /** |
| 26 * Fields to display. | 29 * Fields to display. |
| 27 * @type {!Array<string>} | 30 * @type {!Array<string>} |
| 28 */ | 31 */ |
| 29 fields: { | 32 fields: { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 * @param {string} key The property key. | 76 * @param {string} key The property key. |
| 74 * @return {string} The text to display for the property label. | 77 * @return {string} The text to display for the property label. |
| 75 * @private | 78 * @private |
| 76 */ | 79 */ |
| 77 getPropertyLabel_: function(key) { | 80 getPropertyLabel_: function(key) { |
| 78 // TODO(stevenjb): Localize. | 81 // TODO(stevenjb): Localize. |
| 79 return key; | 82 return key; |
| 80 }, | 83 }, |
| 81 | 84 |
| 82 /** | 85 /** |
| 83 * @param {!Object|undefined} propertyDict | 86 * @param {!Object} propertyDict |
| 84 * @param {string} key The property key. | 87 * @param {string} key The property key. |
| 85 * @return {boolean} Whether or not the property exists in |propertyDict|. | 88 * @return {boolean} Whether or not the property exists in |propertyDict|. |
| 86 * @private | 89 * @private |
| 87 */ | 90 */ |
| 88 hasPropertyValue_: function(propertyDict, key) { | 91 hasPropertyValue_: function(propertyDict, key) { |
| 89 var value = (propertyDict && this.get(key, propertyDict)) || undefined; | 92 var value = this.get(key, propertyDict); |
| 90 return (value !== undefined && value !== ''); | 93 return (value !== undefined && value !== ''); |
| 91 }, | 94 }, |
| 92 | 95 |
| 93 /** | 96 /** |
| 94 * @param {!Object|undefined} propertyDict | 97 * @param {!Object} propertyDict |
| 95 * @param {!Object} editFieldTypes The editFieldTypes object. | 98 * @param {!Object} editFieldTypes The editFieldTypes object. |
| 96 * @param {string} key The property key. | 99 * @param {string} key The property key. |
| 97 * @return {boolean} Whether or not to show the property. Editable properties | 100 * @return {boolean} Whether or not to show the property. Editable properties |
| 98 * are always shown. | 101 * are always shown. |
| 99 * @private | 102 * @private |
| 100 */ | 103 */ |
| 101 showProperty_: function(propertyDict, editFieldTypes, key) { | 104 showProperty_: function(propertyDict, editFieldTypes, key) { |
| 102 if (editFieldTypes.hasOwnProperty(key)) | 105 if (editFieldTypes.hasOwnProperty(key)) |
| 103 return true; | 106 return true; |
| 104 return this.hasPropertyValue_(propertyDict, key); | 107 return this.hasPropertyValue_(propertyDict, key); |
| 105 }, | 108 }, |
| 106 | 109 |
| 107 /** | 110 /** |
| 108 * @param {!Object|undefined} propertyDict | 111 * @param {!Object} propertyDict |
| 109 * @param {!Object} editFieldTypes The editFieldTypes object. | 112 * @param {!Object} editFieldTypes The editFieldTypes object. |
| 110 * @param {string} key The property key. | 113 * @param {string} key The property key. |
| 111 * @return {boolean} True if |key| exists in |propertiesDict| and is not | 114 * @return {boolean} True if |key| exists in |propertiesDict| and is not |
| 112 * editable. | 115 * editable. |
| 113 * @private | 116 * @private |
| 114 */ | 117 */ |
| 115 showNoEdit_: function(propertyDict, editFieldTypes, key) { | 118 showNoEdit_: function(propertyDict, editFieldTypes, key) { |
| 116 if (!this.hasPropertyValue_(propertyDict, key)) | 119 if (!this.hasPropertyValue_(propertyDict, key)) |
| 117 return false; | 120 return false; |
| 118 var editType = editFieldTypes[key]; | 121 var property = /** @type {!CrOnc.NetworkProperty|undefined} */( |
| 119 return !editType; | 122 this.get(key, propertyDict)); |
| 123 if (this.isNetworkPolicyEnforced(property)) |
| 124 return true; |
| 125 return !editFieldTypes[key]; |
| 120 }, | 126 }, |
| 121 | 127 |
| 122 /** | 128 /** |
| 123 * @param {!Object|undefined} propertyDict | 129 * @param {!Object} propertyDict |
| 124 * @param {!Object} editFieldTypes The editFieldTypes object. | 130 * @param {!Object} editFieldTypes The editFieldTypes object. |
| 125 * @param {string} key The property key. | 131 * @param {string} key The property key. |
| 126 * @param {string} type The field type. | 132 * @param {string} type The field type. |
| 127 * @return {boolean} True if |key| exists in |propertyDict| and is of editable | 133 * @return {boolean} True if |key| exists in |propertyDict| and is of editable |
| 128 * type |type|. | 134 * type |type|. |
| 129 * @private | 135 * @private |
| 130 */ | 136 */ |
| 131 showEdit_: function(propertyDict, editFieldTypes, key, type) { | 137 showEdit_: function(propertyDict, editFieldTypes, key, type) { |
| 138 if (!this.hasPropertyValue_(propertyDict, key)) |
| 139 return false; |
| 140 var property = /** @type {!CrOnc.NetworkProperty|undefined} */( |
| 141 this.get(key, propertyDict)); |
| 142 if (this.isNetworkPolicyEnforced(property)) |
| 143 return false; |
| 132 return editFieldTypes[key] == type; | 144 return editFieldTypes[key] == type; |
| 133 }, | 145 }, |
| 134 | 146 |
| 135 /** | 147 /** |
| 136 * @param {!Object|undefined} propertyDict | 148 * @param {!Object} propertyDict |
| 137 * @param {string} key The property key. | 149 * @param {string} key The property key. |
| 138 * @return {string} The text to display for the property value. | 150 * @return {string} The text to display for the property value. |
| 139 * @private | 151 * @private |
| 140 */ | 152 */ |
| 141 getPropertyValue_: function(propertyDict, key) { | 153 getPropertyValue_: function(propertyDict, key) { |
| 142 if (!propertyDict) | |
| 143 return ''; | |
| 144 var value = this.get(key, propertyDict); | 154 var value = this.get(key, propertyDict); |
| 145 if (value === undefined) | 155 if (value === undefined) |
| 146 return ''; | 156 return ''; |
| 147 if (typeof value == 'object') { | 157 if (typeof value == 'object') { |
| 148 // Extract the property from an ONC managed dictionary | 158 // Extract the property from an ONC managed dictionary |
| 149 value = | 159 value = |
| 150 CrOnc.getActiveValue(/** @type {!CrOnc.ManagedProperty} */(value)); | 160 CrOnc.getActiveValue(/** @type {!CrOnc.ManagedProperty} */(value)); |
| 151 } | 161 } |
| 152 // TODO(stevenjb): Localize. | 162 // TODO(stevenjb): Localize. |
| 153 if (typeof value == 'number' || typeof value == 'boolean') | 163 if (typeof value == 'number' || typeof value == 'boolean') |
| 154 return value.toString(); | 164 return value.toString(); |
| 155 return /** @type {string} */(value); | 165 return /** @type {string} */(value); |
| 156 }, | 166 }, |
| 157 }); | 167 }); |
| OLD | NEW |