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 * @constructor | 6 * @constructor |
7 * @extends {WebInspector.VBox} | 7 * @extends {WebInspector.VBox} |
8 * @param {!WebInspector.ListWidget.Delegate} delegate | 8 * @param {!WebInspector.ListWidget.Delegate} delegate |
9 */ | 9 */ |
10 WebInspector.ListWidget = function(delegate) | 10 WebInspector.ListWidget = function(delegate) |
11 { | 11 { |
12 WebInspector.VBox.call(this, true); | 12 WebInspector.VBox.call(this, true); |
13 this.registerRequiredCSS("ui/listWidget.css"); | 13 this.registerRequiredCSS("ui/listWidget.css"); |
14 this._delegate = delegate; | 14 this._delegate = delegate; |
15 | 15 |
16 this._list = this.contentElement.createChild("div", "list"); | 16 this._list = this.contentElement.createChild("div", "list"); |
17 | 17 |
18 /** @type {?WebInspector.ListWidget.Editor} */ | 18 /** @type {?WebInspector.ListWidget.Editor} */ |
19 this._editor = null; | 19 this._editor = null; |
20 /** @type {*|null} */ | 20 /** @type {*|null} */ |
21 this._editItem = null; | 21 this._editItem = null; |
22 /** @type {?Element} */ | 22 /** @type {?Element} */ |
23 this._editElement = null; | 23 this._editElement = null; |
24 | 24 |
25 /** @type {?Element} */ | 25 /** @type {?Element} */ |
26 this._emptyPlaceholder = null; | 26 this._emptyPlaceholder = null; |
27 | 27 |
28 this.clear(); | 28 this.clear(); |
29 } | 29 }; |
30 | 30 |
31 /** | 31 /** |
32 * @interface | 32 * @interface |
33 */ | 33 */ |
34 WebInspector.ListWidget.Delegate = function() | 34 WebInspector.ListWidget.Delegate = function() |
35 { | 35 { |
36 } | 36 }; |
37 | 37 |
38 WebInspector.ListWidget.Delegate.prototype = { | 38 WebInspector.ListWidget.Delegate.prototype = { |
39 /** | 39 /** |
40 * @param {*} item | 40 * @param {*} item |
41 * @param {boolean} editable | 41 * @param {boolean} editable |
42 * @return {!Element} | 42 * @return {!Element} |
43 */ | 43 */ |
44 renderItem: function(item, editable) { }, | 44 renderItem: function(item, editable) { }, |
45 | 45 |
46 /** | 46 /** |
47 * @param {*} item | 47 * @param {*} item |
48 * @param {number} index | 48 * @param {number} index |
49 */ | 49 */ |
50 removeItemRequested: function(item, index) { }, | 50 removeItemRequested: function(item, index) { }, |
51 | 51 |
52 /** | 52 /** |
53 * @param {*} item | 53 * @param {*} item |
54 * @return {!WebInspector.ListWidget.Editor} | 54 * @return {!WebInspector.ListWidget.Editor} |
55 */ | 55 */ |
56 beginEdit: function(item) { }, | 56 beginEdit: function(item) { }, |
57 | 57 |
58 /** | 58 /** |
59 * @param {*} item | 59 * @param {*} item |
60 * @param {!WebInspector.ListWidget.Editor} editor | 60 * @param {!WebInspector.ListWidget.Editor} editor |
61 * @param {boolean} isNew | 61 * @param {boolean} isNew |
62 */ | 62 */ |
63 commitEdit: function(item, editor, isNew) { } | 63 commitEdit: function(item, editor, isNew) { } |
64 } | 64 }; |
65 | 65 |
66 WebInspector.ListWidget.prototype = { | 66 WebInspector.ListWidget.prototype = { |
67 clear: function() | 67 clear: function() |
68 { | 68 { |
69 this._items = []; | 69 this._items = []; |
70 this._editable = []; | 70 this._editable = []; |
71 this._elements = []; | 71 this._elements = []; |
72 this._lastSeparator = false; | 72 this._lastSeparator = false; |
73 this._list.removeChildren(); | 73 this._list.removeChildren(); |
74 this._updatePlaceholder(); | 74 this._updatePlaceholder(); |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 if (this._editor && this._editor.element.parentElement) | 253 if (this._editor && this._editor.element.parentElement) |
254 this._editor.element.remove(); | 254 this._editor.element.remove(); |
255 | 255 |
256 this._editor = null; | 256 this._editor = null; |
257 this._editItem = null; | 257 this._editItem = null; |
258 this._editElement = null; | 258 this._editElement = null; |
259 this._updatePlaceholder(); | 259 this._updatePlaceholder(); |
260 }, | 260 }, |
261 | 261 |
262 __proto__: WebInspector.VBox.prototype | 262 __proto__: WebInspector.VBox.prototype |
263 } | 263 }; |
264 | 264 |
265 /** | 265 /** |
266 * @constructor | 266 * @constructor |
267 */ | 267 */ |
268 WebInspector.ListWidget.Editor = function() | 268 WebInspector.ListWidget.Editor = function() |
269 { | 269 { |
270 this.element = createElementWithClass("div", "editor-container"); | 270 this.element = createElementWithClass("div", "editor-container"); |
271 this.element.addEventListener("keydown", onKeyDown.bind(null, isEscKey, this
._cancelClicked.bind(this)), false); | 271 this.element.addEventListener("keydown", onKeyDown.bind(null, isEscKey, this
._cancelClicked.bind(this)), false); |
272 this.element.addEventListener("keydown", onKeyDown.bind(null, isEnterKey, th
is._commitClicked.bind(this)), false); | 272 this.element.addEventListener("keydown", onKeyDown.bind(null, isEnterKey, th
is._commitClicked.bind(this)), false); |
273 | 273 |
(...skipping 27 matching lines...) Expand all Loading... |
301 this._validators = []; | 301 this._validators = []; |
302 | 302 |
303 /** @type {?function()} */ | 303 /** @type {?function()} */ |
304 this._commit = null; | 304 this._commit = null; |
305 /** @type {?function()} */ | 305 /** @type {?function()} */ |
306 this._cancel = null; | 306 this._cancel = null; |
307 /** @type {*|null} */ | 307 /** @type {*|null} */ |
308 this._item = null; | 308 this._item = null; |
309 /** @type {number} */ | 309 /** @type {number} */ |
310 this._index = -1; | 310 this._index = -1; |
311 } | 311 }; |
312 | 312 |
313 WebInspector.ListWidget.Editor.prototype = { | 313 WebInspector.ListWidget.Editor.prototype = { |
314 /** | 314 /** |
315 * @return {!Element} | 315 * @return {!Element} |
316 */ | 316 */ |
317 contentElement: function() | 317 contentElement: function() |
318 { | 318 { |
319 return this._contentElement; | 319 return this._contentElement; |
320 }, | 320 }, |
321 | 321 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 | 421 |
422 _cancelClicked: function() | 422 _cancelClicked: function() |
423 { | 423 { |
424 var cancel = this._cancel; | 424 var cancel = this._cancel; |
425 this._commit = null; | 425 this._commit = null; |
426 this._cancel = null; | 426 this._cancel = null; |
427 this._item = null; | 427 this._item = null; |
428 this._index = -1; | 428 this._index = -1; |
429 cancel(); | 429 cancel(); |
430 } | 430 } |
431 } | 431 }; |
OLD | NEW |