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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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
5 /** 4 /**
6 * @constructor 5 * @unrestricted
7 * @extends {WebInspector.Object}
8 * @param {!Element} element
9 */ 6 */
10 WebInspector.DropDownMenu = function(element) 7 WebInspector.DropDownMenu = class extends WebInspector.Object {
11 { 8 /**
9 * @param {!Element} element
10 */
11 constructor(element) {
12 super();
12 /** @type {!Array.<!WebInspector.DropDownMenu.Item>} */ 13 /** @type {!Array.<!WebInspector.DropDownMenu.Item>} */
13 this._items = []; 14 this._items = [];
14 15
15 element.addEventListener("mousedown", this._onMouseDown.bind(this)); 16 element.addEventListener('mousedown', this._onMouseDown.bind(this));
17 }
18
19 /**
20 * @param {!Event} event
21 */
22 _onMouseDown(event) {
23 if (event.which !== 1)
24 return;
25 var menu = new WebInspector.ContextMenu(event);
26 for (var item of this._items)
27 menu.appendCheckboxItem(item.title, this._itemHandler.bind(this, item.id), item.id === this._selectedItemId);
28 menu.show();
29 }
30
31 /**
32 * @param {string} id
33 */
34 _itemHandler(id) {
35 this.dispatchEventToListeners(WebInspector.DropDownMenu.Events.ItemSelected, id);
36 }
37
38 /**
39 * @param {string} id
40 * @param {string} title
41 */
42 addItem(id, title) {
43 this._items.push({id: id, title: title});
44 }
45
46 /**
47 * @param {string} id
48 */
49 selectItem(id) {
50 this._selectedItemId = id;
51 }
52
53 clear() {
54 this._items = [];
55 delete this._selectedItemId;
56 }
16 }; 57 };
17 58
18 /** @typedef {{id: string, title: string}} */ 59 /** @typedef {{id: string, title: string}} */
19 WebInspector.DropDownMenu.Item; 60 WebInspector.DropDownMenu.Item;
20 61
21 /** @enum {symbol} */ 62 /** @enum {symbol} */
22 WebInspector.DropDownMenu.Events = { 63 WebInspector.DropDownMenu.Events = {
23 ItemSelected: Symbol("ItemSelected") 64 ItemSelected: Symbol('ItemSelected')
24 }; 65 };
25
26 WebInspector.DropDownMenu.prototype = {
27 /**
28 * @param {!Event} event
29 */
30 _onMouseDown: function(event)
31 {
32 if (event.which !== 1)
33 return;
34 var menu = new WebInspector.ContextMenu(event);
35 for (var item of this._items)
36 menu.appendCheckboxItem(item.title, this._itemHandler.bind(this, ite m.id), item.id === this._selectedItemId);
37 menu.show();
38 },
39
40 /**
41 * @param {string} id
42 */
43 _itemHandler: function(id)
44 {
45 this.dispatchEventToListeners(WebInspector.DropDownMenu.Events.ItemSelec ted, id);
46 },
47
48 /**
49 * @param {string} id
50 * @param {string} title
51 */
52 addItem: function(id, title)
53 {
54 this._items.push({id: id, title: title});
55 },
56
57 /**
58 * @param {string} id
59 */
60 selectItem: function(id)
61 {
62 this._selectedItemId = id;
63 },
64
65 clear: function()
66 {
67 this._items = [];
68 delete this._selectedItemId;
69 },
70
71 __proto__: WebInspector.Object.prototype
72 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698