OLD | NEW |
1 | 1 |
2 // Copyright 2014 The Chromium Authors. All rights reserved. | 2 // Copyright 2014 The Chromium Authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 /** | 6 /** |
7 * @constructor | 7 * @constructor |
8 * @implements {WebInspector.SourcesPanel.EditorAction} | 8 * @implements {WebInspector.SourcesEditor.EditorAction} |
9 */ | 9 */ |
10 WebInspector.InplaceFormatterEditorAction = function() | 10 WebInspector.InplaceFormatterEditorAction = function() |
11 { | 11 { |
12 } | 12 } |
13 | 13 |
14 WebInspector.InplaceFormatterEditorAction.prototype = { | 14 WebInspector.InplaceFormatterEditorAction.prototype = { |
15 /** | 15 /** |
16 * @param {!WebInspector.Event} event | 16 * @param {!WebInspector.Event} event |
17 */ | 17 */ |
18 _editorSelected: function(event) | 18 _editorSelected: function(event) |
(...skipping 14 matching lines...) Expand all Loading... |
33 | 33 |
34 /** | 34 /** |
35 * @param {?WebInspector.UISourceCode} uiSourceCode | 35 * @param {?WebInspector.UISourceCode} uiSourceCode |
36 */ | 36 */ |
37 _updateButton: function(uiSourceCode) | 37 _updateButton: function(uiSourceCode) |
38 { | 38 { |
39 this._button.element.classList.toggle("hidden", !this._isFormattable(uiS
ourceCode)); | 39 this._button.element.classList.toggle("hidden", !this._isFormattable(uiS
ourceCode)); |
40 }, | 40 }, |
41 | 41 |
42 /** | 42 /** |
43 * @param {!WebInspector.SourcesPanel} panel | 43 * @param {!WebInspector.SourcesEditor} sourcesEditor |
44 * @return {!Element} | 44 * @return {!Element} |
45 */ | 45 */ |
46 button: function(panel) | 46 button: function(sourcesEditor) |
47 { | 47 { |
48 if (this._button) | 48 if (this._button) |
49 return this._button.element; | 49 return this._button.element; |
50 | 50 |
51 this._panel = panel; | 51 this._sourcesEditor = sourcesEditor; |
52 this._panel.addEventListener(WebInspector.SourcesPanel.Events.EditorSele
cted, this._editorSelected.bind(this)); | 52 this._sourcesEditor.addEventListener(WebInspector.SourcesEditor.Events.E
ditorSelected, this._editorSelected.bind(this)); |
53 this._panel.addEventListener(WebInspector.SourcesPanel.Events.EditorClos
ed, this._editorClosed.bind(this)); | 53 this._sourcesEditor.addEventListener(WebInspector.SourcesEditor.Events.E
ditorClosed, this._editorClosed.bind(this)); |
54 | 54 |
55 this._button = new WebInspector.StatusBarButton(WebInspector.UIString("F
ormat"), "sources-toggle-pretty-print-status-bar-item"); | 55 this._button = new WebInspector.StatusBarButton(WebInspector.UIString("F
ormat"), "sources-toggle-pretty-print-status-bar-item"); |
56 this._button.toggled = false; | 56 this._button.toggled = false; |
57 this._button.addEventListener("click", this._formatSourceInPlace, this); | 57 this._button.addEventListener("click", this._formatSourceInPlace, this); |
58 this._updateButton(null); | 58 this._updateButton(null); |
59 | 59 |
60 return this._button.element; | 60 return this._button.element; |
61 }, | 61 }, |
62 | 62 |
63 /** | 63 /** |
64 * @param {?WebInspector.UISourceCode} uiSourceCode | 64 * @param {?WebInspector.UISourceCode} uiSourceCode |
65 * @return {boolean} | 65 * @return {boolean} |
66 */ | 66 */ |
67 _isFormattable: function(uiSourceCode) | 67 _isFormattable: function(uiSourceCode) |
68 { | 68 { |
69 if (!uiSourceCode) | 69 if (!uiSourceCode) |
70 return false; | 70 return false; |
71 return uiSourceCode.contentType() === WebInspector.resourceTypes.Stylesh
eet | 71 return uiSourceCode.contentType() === WebInspector.resourceTypes.Stylesh
eet |
72 || uiSourceCode.project().type() === WebInspector.projectTypes.Snipp
ets; | 72 || uiSourceCode.project().type() === WebInspector.projectTypes.Snipp
ets; |
73 }, | 73 }, |
74 | 74 |
75 _formatSourceInPlace: function() | 75 _formatSourceInPlace: function() |
76 { | 76 { |
77 var uiSourceCode = this._panel.selectedUISourceCode(); | 77 var uiSourceCode = this._sourcesEditor.currentUISourceCode(); |
78 if (!this._isFormattable(uiSourceCode)) | 78 if (!this._isFormattable(uiSourceCode)) |
79 return; | 79 return; |
80 | 80 |
81 if (uiSourceCode.isDirty()) | 81 if (uiSourceCode.isDirty()) |
82 contentLoaded.call(this, uiSourceCode.workingCopy()); | 82 contentLoaded.call(this, uiSourceCode.workingCopy()); |
83 else | 83 else |
84 uiSourceCode.requestContent(contentLoaded.bind(this)); | 84 uiSourceCode.requestContent(contentLoaded.bind(this)); |
85 | 85 |
86 /** | 86 /** |
87 * @this {WebInspector.InplaceFormatterEditorAction} | 87 * @this {WebInspector.InplaceFormatterEditorAction} |
88 * @param {?string} content | 88 * @param {?string} content |
89 */ | 89 */ |
90 function contentLoaded(content) | 90 function contentLoaded(content) |
91 { | 91 { |
92 var formatter = WebInspector.Formatter.createFormatter(uiSourceCode.
contentType()); | 92 var formatter = WebInspector.Formatter.createFormatter(uiSourceCode.
contentType()); |
93 formatter.formatContent(uiSourceCode.highlighterType(), content || "
", innerCallback.bind(this)); | 93 formatter.formatContent(uiSourceCode.highlighterType(), content || "
", innerCallback.bind(this)); |
94 } | 94 } |
95 | 95 |
96 /** | 96 /** |
97 * @this {WebInspector.InplaceFormatterEditorAction} | 97 * @this {WebInspector.InplaceFormatterEditorAction} |
98 * @param {string} formattedContent | 98 * @param {string} formattedContent |
99 * @param {!WebInspector.FormatterSourceMapping} formatterMapping | 99 * @param {!WebInspector.FormatterSourceMapping} formatterMapping |
100 */ | 100 */ |
101 function innerCallback(formattedContent, formatterMapping) | 101 function innerCallback(formattedContent, formatterMapping) |
102 { | 102 { |
103 if (uiSourceCode.workingCopy() === formattedContent) | 103 if (uiSourceCode.workingCopy() === formattedContent) |
104 return; | 104 return; |
105 var sourceFrame = this._panel.viewForFile(uiSourceCode); | 105 var sourceFrame = this._sourcesEditor.viewForFile(uiSourceCode); |
106 var start = [0, 0]; | 106 var start = [0, 0]; |
107 if (sourceFrame) { | 107 if (sourceFrame) { |
108 var selection = sourceFrame.selection(); | 108 var selection = sourceFrame.selection(); |
109 start = formatterMapping.originalToFormatted(selection.startLine
, selection.startColumn); | 109 start = formatterMapping.originalToFormatted(selection.startLine
, selection.startColumn); |
110 } | 110 } |
111 uiSourceCode.setWorkingCopy(formattedContent); | 111 uiSourceCode.setWorkingCopy(formattedContent); |
112 this._panel.showUISourceCode(uiSourceCode, start[0], start[1]); | 112 this._sourcesEditor.showSourceLocation(uiSourceCode, start[0], start
[1]); |
113 } | 113 } |
114 }, | 114 }, |
115 } | 115 } |
OLD | NEW |