| // Copyright 2014 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. |
| |
| /** |
| * @constructor |
| * @extends {WebInspector.HBox} |
| * @param {function(string)} callback |
| */ |
| WebInspector.AddSourceMapURLDialog = function(callback) |
| { |
| WebInspector.HBox.call(this, true); |
| this.registerRequiredCSS("ui_lazy/dialog.css"); |
| this.contentElement.createChild("label").textContent = WebInspector.UIString("Source map URL: "); |
| |
| this._input = this.contentElement.createChild("input"); |
| this._input.setAttribute("type", "text"); |
| this._input.addEventListener("keydown", this._onKeyDown.bind(this), false); |
| |
| var addButton = this.contentElement.createChild("button"); |
| addButton.textContent = WebInspector.UIString("Add"); |
| addButton.addEventListener("click", this._apply.bind(this), false); |
| |
| this.setDefaultFocusedElement(this._input); |
| this._callback = callback; |
| this.contentElement.tabIndex = 0; |
| } |
| |
| /** |
| * @param {function(string)} callback |
| */ |
| WebInspector.AddSourceMapURLDialog.show = function(callback) |
| { |
| var dialog = new WebInspector.Dialog(); |
| var addSourceMapURLDialog = new WebInspector.AddSourceMapURLDialog(done); |
| addSourceMapURLDialog.show(dialog.element); |
| dialog.setWrapsContent(true); |
| dialog.show(); |
| |
| /** |
| * @param {string} value |
| */ |
| function done(value) |
| { |
| dialog.detach(); |
| callback(value); |
| } |
| } |
| |
| WebInspector.AddSourceMapURLDialog.prototype = { |
| _apply: function() |
| { |
| this._callback(this._input.value); |
| }, |
| |
| /** |
| * @param {!Event} event |
| */ |
| _onKeyDown: function(event) |
| { |
| if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Enter.code) { |
| event.preventDefault(); |
| this._apply(); |
| } |
| }, |
| |
| __proto__: WebInspector.HBox.prototype |
| } |