| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkManageCustomHeadersView.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkManageCustomHeadersView.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkManageCustomHeadersView.js
|
| index d66373711ee51b2a2fe27c147c57d6b860f13ad1..3c0aa0f4717f789e3b52bd6f8dc7660ec49cf8e2 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkManageCustomHeadersView.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkManageCustomHeadersView.js
|
| @@ -3,33 +3,34 @@
|
| * Use of this source code is governed by a BSD-style license that can be
|
| * found in the LICENSE file.
|
| */
|
| -
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.VBox}
|
| * @implements {WebInspector.ListWidget.Delegate}
|
| - * @param {!Array.<!{title: string, editable: boolean}>} columnData
|
| - * @param {function(string) : boolean} addHeaderColumnCallback
|
| - * @param {function(string, string) : boolean} changeHeaderColumnCallback
|
| - * @param {function(string) : boolean} removeHeaderColumnCallback
|
| + * @unrestricted
|
| */
|
| -WebInspector.NetworkManageCustomHeadersView = function(columnData, addHeaderColumnCallback, changeHeaderColumnCallback, removeHeaderColumnCallback)
|
| -{
|
| - WebInspector.VBox.call(this, true);
|
| - this.registerRequiredCSS("network/networkManageCustomHeadersView.css");
|
| -
|
| - this.contentElement.classList.add("custom-headers-wrapper");
|
| - this.contentElement.createChild("div", "header").textContent = WebInspector.UIString("Manage Header Columns");
|
| +WebInspector.NetworkManageCustomHeadersView = class extends WebInspector.VBox {
|
| + /**
|
| + * @param {!Array.<!{title: string, editable: boolean}>} columnData
|
| + * @param {function(string) : boolean} addHeaderColumnCallback
|
| + * @param {function(string, string) : boolean} changeHeaderColumnCallback
|
| + * @param {function(string) : boolean} removeHeaderColumnCallback
|
| + */
|
| + constructor(columnData, addHeaderColumnCallback, changeHeaderColumnCallback, removeHeaderColumnCallback) {
|
| + super(true);
|
| + this.registerRequiredCSS('network/networkManageCustomHeadersView.css');
|
| +
|
| + this.contentElement.classList.add('custom-headers-wrapper');
|
| + this.contentElement.createChild('div', 'header').textContent = WebInspector.UIString('Manage Header Columns');
|
|
|
| this._list = new WebInspector.ListWidget(this);
|
| - this._list.element.classList.add("custom-headers-list");
|
| - this._list.registerRequiredCSS("network/networkManageCustomHeadersView.css");
|
| + this._list.element.classList.add('custom-headers-list');
|
| + this._list.registerRequiredCSS('network/networkManageCustomHeadersView.css');
|
|
|
| - var placeholder = createElementWithClass("div", "custom-headers-list-list-empty");
|
| - placeholder.textContent = WebInspector.UIString("No custom headers");
|
| + var placeholder = createElementWithClass('div', 'custom-headers-list-list-empty');
|
| + placeholder.textContent = WebInspector.UIString('No custom headers');
|
| this._list.setEmptyPlaceholder(placeholder);
|
| this._list.show(this.contentElement);
|
| - this.contentElement.appendChild(createTextButton(WebInspector.UIString("Add custom header\u2026"), this._addButtonClicked.bind(this), "add-button"));
|
| + this.contentElement.appendChild(createTextButton(
|
| + WebInspector.UIString('Add custom header\u2026'), this._addButtonClicked.bind(this), 'add-button'));
|
|
|
| /** @type {!Map.<string, !{title: string, editable: boolean}>} */
|
| this._columnConfigs = new Map();
|
| @@ -40,125 +41,114 @@ WebInspector.NetworkManageCustomHeadersView = function(columnData, addHeaderColu
|
| this._removeHeaderColumnCallback = removeHeaderColumnCallback;
|
|
|
| this.contentElement.tabIndex = 0;
|
| -};
|
| -
|
| -WebInspector.NetworkManageCustomHeadersView.prototype = {
|
| - /**
|
| - * @override
|
| - */
|
| - wasShown: function()
|
| - {
|
| - this._headersUpdated();
|
| - },
|
| -
|
| - _headersUpdated: function()
|
| - {
|
| - this._list.clear();
|
| - this._columnConfigs.forEach(headerData => this._list.appendItem({header: headerData.title}, headerData.editable));
|
| - },
|
| -
|
| - _addButtonClicked: function()
|
| - {
|
| - this._list.addNewItem(this._columnConfigs.size, {header: ""});
|
| - },
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + wasShown() {
|
| + this._headersUpdated();
|
| + }
|
| +
|
| + _headersUpdated() {
|
| + this._list.clear();
|
| + this._columnConfigs.forEach(headerData => this._list.appendItem({header: headerData.title}, headerData.editable));
|
| + }
|
| +
|
| + _addButtonClicked() {
|
| + this._list.addNewItem(this._columnConfigs.size, {header: ''});
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {*} item
|
| + * @param {boolean} editable
|
| + * @return {!Element}
|
| + */
|
| + renderItem(item, editable) {
|
| + var element = createElementWithClass('div', 'custom-headers-list-item');
|
| + var header = element.createChild('div', 'custom-header-name');
|
| + header.textContent = item.header;
|
| + header.title = item.header;
|
| + return element;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {*} item
|
| + * @param {number} index
|
| + */
|
| + removeItemRequested(item, index) {
|
| + this._removeHeaderColumnCallback(item.header);
|
| + this._columnConfigs.delete(item.header.toLowerCase());
|
| + this._headersUpdated();
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {*} item
|
| + * @param {!WebInspector.ListWidget.Editor} editor
|
| + * @param {boolean} isNew
|
| + */
|
| + commitEdit(item, editor, isNew) {
|
| + var headerId = editor.control('header').value.trim();
|
| + var success;
|
| + if (isNew)
|
| + success = this._addHeaderColumnCallback(headerId);
|
| + else
|
| + success = this._changeHeaderColumnCallback(item.header, headerId);
|
| +
|
| + if (success && !isNew)
|
| + this._columnConfigs.delete(item.header.toLowerCase());
|
| + if (success)
|
| + this._columnConfigs.set(headerId.toLowerCase(), {title: headerId, editable: true});
|
| +
|
| + this._headersUpdated();
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {*} item
|
| + * @return {!WebInspector.ListWidget.Editor}
|
| + */
|
| + beginEdit(item) {
|
| + var editor = this._createEditor();
|
| + editor.control('header').value = item.header;
|
| + return editor;
|
| + }
|
| +
|
| + /**
|
| + * @return {!WebInspector.ListWidget.Editor}
|
| + */
|
| + _createEditor() {
|
| + if (this._editor)
|
| + return this._editor;
|
| +
|
| + var editor = new WebInspector.ListWidget.Editor();
|
| + this._editor = editor;
|
| + var content = editor.contentElement();
|
| +
|
| + var titles = content.createChild('div', 'custom-headers-edit-row');
|
| + titles.createChild('div', 'custom-headers-header').textContent = WebInspector.UIString('Header Name');
|
| +
|
| + var fields = content.createChild('div', 'custom-headers-edit-row');
|
| + fields.createChild('div', 'custom-headers-header')
|
| + .appendChild(editor.createInput('header', 'text', 'x-custom-header', validateHeader.bind(this)));
|
| +
|
| + return editor;
|
|
|
| /**
|
| - * @override
|
| - * @param {*} item
|
| - * @param {boolean} editable
|
| - * @return {!Element}
|
| - */
|
| - renderItem: function(item, editable)
|
| - {
|
| - var element = createElementWithClass("div", "custom-headers-list-item");
|
| - var header = element.createChild("div", "custom-header-name");
|
| - header.textContent = item.header;
|
| - header.title = item.header;
|
| - return element;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| * @param {*} item
|
| * @param {number} index
|
| + * @param {!HTMLInputElement|!HTMLSelectElement} input
|
| + * @this {WebInspector.NetworkManageCustomHeadersView}
|
| + * @return {boolean}
|
| */
|
| - removeItemRequested: function(item, index)
|
| - {
|
| - this._removeHeaderColumnCallback(item.header);
|
| - this._columnConfigs.delete(item.header.toLowerCase());
|
| - this._headersUpdated();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {*} item
|
| - * @param {!WebInspector.ListWidget.Editor} editor
|
| - * @param {boolean} isNew
|
| - */
|
| - commitEdit: function(item, editor, isNew)
|
| - {
|
| - var headerId = editor.control("header").value.trim();
|
| - var success;
|
| - if (isNew)
|
| - success = this._addHeaderColumnCallback(headerId);
|
| - else
|
| - success = this._changeHeaderColumnCallback(item.header, headerId);
|
| -
|
| - if (success && !isNew)
|
| - this._columnConfigs.delete(item.header.toLowerCase());
|
| - if (success)
|
| - this._columnConfigs.set(headerId.toLowerCase(), {title: headerId, editable: true});
|
| -
|
| - this._headersUpdated();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {*} item
|
| - * @return {!WebInspector.ListWidget.Editor}
|
| - */
|
| - beginEdit: function(item)
|
| - {
|
| - var editor = this._createEditor();
|
| - editor.control("header").value = item.header;
|
| - return editor;
|
| - },
|
| -
|
| - /**
|
| - * @return {!WebInspector.ListWidget.Editor}
|
| - */
|
| - _createEditor: function()
|
| - {
|
| - if (this._editor)
|
| - return this._editor;
|
| -
|
| - var editor = new WebInspector.ListWidget.Editor();
|
| - this._editor = editor;
|
| - var content = editor.contentElement();
|
| -
|
| - var titles = content.createChild("div", "custom-headers-edit-row");
|
| - titles.createChild("div", "custom-headers-header").textContent = WebInspector.UIString("Header Name");
|
| -
|
| - var fields = content.createChild("div", "custom-headers-edit-row");
|
| - fields.createChild("div", "custom-headers-header").appendChild(editor.createInput("header", "text", "x-custom-header", validateHeader.bind(this)));
|
| -
|
| - return editor;
|
| -
|
| - /**
|
| - * @param {*} item
|
| - * @param {number} index
|
| - * @param {!HTMLInputElement|!HTMLSelectElement} input
|
| - * @this {WebInspector.NetworkManageCustomHeadersView}
|
| - * @return {boolean}
|
| - */
|
| - function validateHeader(item, index, input)
|
| - {
|
| - var headerId = editor.control("header").value.trim().toLowerCase();
|
| - if (this._columnConfigs.has(headerId) && item.header !== headerId)
|
| - return false;
|
| - return true;
|
| - }
|
| - },
|
| -
|
| - __proto__: WebInspector.VBox.prototype
|
| + function validateHeader(item, index, input) {
|
| + var headerId = editor.control('header').value.trim().toLowerCase();
|
| + if (this._columnConfigs.has(headerId) && item.header !== headerId)
|
| + return false;
|
| + return true;
|
| + }
|
| + }
|
| };
|
|
|