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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/settings/EditFileSystemView.js

Issue 2529303003: DevTools: move FileSystemMapping from Workspace to Persistence (Closed)
Patch Set: fix tests Created 4 years 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 22 matching lines...) Expand all
33 */ 33 */
34 Settings.EditFileSystemView = class extends UI.VBox { 34 Settings.EditFileSystemView = class extends UI.VBox {
35 /** 35 /**
36 * @param {string} fileSystemPath 36 * @param {string} fileSystemPath
37 */ 37 */
38 constructor(fileSystemPath) { 38 constructor(fileSystemPath) {
39 super(true); 39 super(true);
40 this.registerRequiredCSS('settings/editFileSystemView.css'); 40 this.registerRequiredCSS('settings/editFileSystemView.css');
41 this._fileSystemPath = fileSystemPath; 41 this._fileSystemPath = fileSystemPath;
42 42
43 this._fileSystemMapping = Persistence.fileSystemMapping;
43 this._eventListeners = [ 44 this._eventListeners = [
44 Workspace.fileSystemMapping.addEventListener( 45 this._fileSystemMapping.addEventListener(
45 Workspace.FileSystemMapping.Events.FileMappingAdded, this._update, thi s), 46 Persistence.FileSystemMapping.Events.FileMappingAdded, this._update, t his),
46 Workspace.fileSystemMapping.addEventListener( 47 this._fileSystemMapping.addEventListener(
47 Workspace.FileSystemMapping.Events.FileMappingRemoved, this._update, t his), 48 Persistence.FileSystemMapping.Events.FileMappingRemoved, this._update, this),
48 Workspace.isolatedFileSystemManager.addEventListener( 49 Workspace.isolatedFileSystemManager.addEventListener(
49 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderAdded, this._ update, this), 50 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderAdded, this._ update, this),
50 Workspace.isolatedFileSystemManager.addEventListener( 51 Workspace.isolatedFileSystemManager.addEventListener(
51 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderRemoved, this ._update, this) 52 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderRemoved, this ._update, this)
52 ]; 53 ];
53 54
54 this._mappingsList = new UI.ListWidget(this); 55 this._mappingsList = new UI.ListWidget(this);
55 this._mappingsList.element.classList.add('file-system-list'); 56 this._mappingsList.element.classList.add('file-system-list');
56 this._mappingsList.registerRequiredCSS('settings/editFileSystemView.css'); 57 this._mappingsList.registerRequiredCSS('settings/editFileSystemView.css');
57 var mappingsPlaceholder = createElementWithClass('div', 'file-system-list-em pty'); 58 var mappingsPlaceholder = createElementWithClass('div', 'file-system-list-em pty');
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 96 }
96 97
97 _update() { 98 _update() {
98 if (this._muteUpdate) 99 if (this._muteUpdate)
99 return; 100 return;
100 101
101 this._mappingsList.clear(); 102 this._mappingsList.clear();
102 this._mappings = []; 103 this._mappings = [];
103 if (Runtime.experiments.isEnabled('persistence2')) 104 if (Runtime.experiments.isEnabled('persistence2'))
104 return; 105 return;
105 var mappings = Workspace.fileSystemMapping.mappingEntries(this._fileSystemPa th); 106 var mappings = this._fileSystemMapping.mappingEntries(this._fileSystemPath);
106 for (var entry of mappings) { 107 for (var entry of mappings) {
107 if (entry.configurable) { 108 if (entry.configurable) {
108 this._mappingsList.appendItem(entry, true); 109 this._mappingsList.appendItem(entry, true);
109 this._mappings.push(entry); 110 this._mappings.push(entry);
110 } 111 }
111 } 112 }
112 for (var entry of mappings) { 113 for (var entry of mappings) {
113 if (!entry.configurable) { 114 if (!entry.configurable) {
114 this._mappingsList.appendItem(entry, false); 115 this._mappingsList.appendItem(entry, false);
115 this._mappings.push(entry); 116 this._mappings.push(entry);
(...skipping 10 matching lines...) Expand all
126 } 127 }
127 for (var folder of Workspace.isolatedFileSystemManager.fileSystem(this._file SystemPath) 128 for (var folder of Workspace.isolatedFileSystemManager.fileSystem(this._file SystemPath)
128 .nonConfigurableExcludedFolders() 129 .nonConfigurableExcludedFolders()
129 .values()) { 130 .values()) {
130 this._excludedFolders.push(folder); 131 this._excludedFolders.push(folder);
131 this._excludedFoldersList.appendItem(folder, false); 132 this._excludedFoldersList.appendItem(folder, false);
132 } 133 }
133 } 134 }
134 135
135 _addMappingButtonClicked() { 136 _addMappingButtonClicked() {
136 var entry = new Workspace.FileSystemMapping.Entry(this._fileSystemPath, '', '', true); 137 var entry = new Persistence.FileSystemMapping.Entry(this._fileSystemPath, '' , '', true);
137 this._mappingsList.addNewItem(0, entry); 138 this._mappingsList.addNewItem(0, entry);
138 } 139 }
139 140
140 _addExcludedFolderButtonClicked() { 141 _addExcludedFolderButtonClicked() {
141 this._excludedFoldersList.addNewItem(0, ''); 142 this._excludedFoldersList.addNewItem(0, '');
142 } 143 }
143 144
144 /** 145 /**
145 * @override 146 * @override
146 * @param {*} item 147 * @param {*} item
147 * @param {boolean} editable 148 * @param {boolean} editable
148 * @return {!Element} 149 * @return {!Element}
149 */ 150 */
150 renderItem(item, editable) { 151 renderItem(item, editable) {
151 var element = createElementWithClass('div', 'file-system-list-item'); 152 var element = createElementWithClass('div', 'file-system-list-item');
152 if (!editable) 153 if (!editable)
153 element.classList.add('locked'); 154 element.classList.add('locked');
154 if (item instanceof Workspace.FileSystemMapping.Entry) { 155 if (item instanceof Persistence.FileSystemMapping.Entry) {
155 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item); 156 var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
156 var urlPrefix = entry.configurable ? entry.urlPrefix : Common.UIString('%s (via .devtools)', entry.urlPrefix); 157 var urlPrefix = entry.configurable ? entry.urlPrefix : Common.UIString('%s (via .devtools)', entry.urlPrefix);
157 var urlPrefixElement = element.createChild('div', 'file-system-value'); 158 var urlPrefixElement = element.createChild('div', 'file-system-value');
158 urlPrefixElement.textContent = urlPrefix; 159 urlPrefixElement.textContent = urlPrefix;
159 urlPrefixElement.title = urlPrefix; 160 urlPrefixElement.title = urlPrefix;
160 element.createChild('div', 'file-system-separator'); 161 element.createChild('div', 'file-system-separator');
161 var pathPrefixElement = element.createChild('div', 'file-system-value'); 162 var pathPrefixElement = element.createChild('div', 'file-system-value');
162 pathPrefixElement.textContent = entry.pathPrefix; 163 pathPrefixElement.textContent = entry.pathPrefix;
163 pathPrefixElement.title = entry.pathPrefix; 164 pathPrefixElement.title = entry.pathPrefix;
164 } else { 165 } else {
165 var pathPrefix = /** @type {string} */ (editable ? item : Common.UIString( '%s (via .devtools)', item)); 166 var pathPrefix = /** @type {string} */ (editable ? item : Common.UIString( '%s (via .devtools)', item));
166 var pathPrefixElement = element.createChild('div', 'file-system-value'); 167 var pathPrefixElement = element.createChild('div', 'file-system-value');
167 pathPrefixElement.textContent = pathPrefix; 168 pathPrefixElement.textContent = pathPrefix;
168 pathPrefixElement.title = pathPrefix; 169 pathPrefixElement.title = pathPrefix;
169 } 170 }
170 element.createChild('div', 'file-system-locked').title = Common.UIString('Fr om .devtools file'); 171 element.createChild('div', 'file-system-locked').title = Common.UIString('Fr om .devtools file');
171 return element; 172 return element;
172 } 173 }
173 174
174 /** 175 /**
175 * @override 176 * @override
176 * @param {*} item 177 * @param {*} item
177 * @param {number} index 178 * @param {number} index
178 */ 179 */
179 removeItemRequested(item, index) { 180 removeItemRequested(item, index) {
180 if (item instanceof Workspace.FileSystemMapping.Entry) { 181 if (item instanceof Persistence.FileSystemMapping.Entry) {
181 var entry = this._mappings[index]; 182 var entry = this._mappings[index];
182 Workspace.fileSystemMapping.removeFileMapping(entry.fileSystemPath, entry. urlPrefix, entry.pathPrefix); 183 this._fileSystemMapping.removeFileMapping(entry.fileSystemPath, entry.urlP refix, entry.pathPrefix);
183 } else { 184 } else {
184 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 185 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
185 .removeExcludedFolder(this._excludedFolders[index]); 186 .removeExcludedFolder(this._excludedFolders[index]);
186 } 187 }
187 } 188 }
188 189
189 /** 190 /**
190 * @override 191 * @override
191 * @param {*} item 192 * @param {*} item
192 * @param {!UI.ListWidget.Editor} editor 193 * @param {!UI.ListWidget.Editor} editor
193 * @param {boolean} isNew 194 * @param {boolean} isNew
194 */ 195 */
195 commitEdit(item, editor, isNew) { 196 commitEdit(item, editor, isNew) {
196 this._muteUpdate = true; 197 this._muteUpdate = true;
197 if (item instanceof Workspace.FileSystemMapping.Entry) { 198 if (item instanceof Persistence.FileSystemMapping.Entry) {
198 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item); 199 var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
199 if (!isNew) 200 if (!isNew)
200 Workspace.fileSystemMapping.removeFileMapping(this._fileSystemPath, entr y.urlPrefix, entry.pathPrefix); 201 this._fileSystemMapping.removeFileMapping(this._fileSystemPath, entry.ur lPrefix, entry.pathPrefix);
201 Workspace.fileSystemMapping.addFileMapping( 202 this._fileSystemMapping.addFileMapping(
202 this._fileSystemPath, this._normalizePrefix(editor.control('urlPrefix' ).value), 203 this._fileSystemPath, this._normalizePrefix(editor.control('urlPrefix' ).value),
203 this._normalizePrefix(editor.control('pathPrefix').value)); 204 this._normalizePrefix(editor.control('pathPrefix').value));
204 } else { 205 } else {
205 if (!isNew) { 206 if (!isNew) {
206 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 207 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
207 .removeExcludedFolder(/** @type {string} */ (item)); 208 .removeExcludedFolder(/** @type {string} */ (item));
208 } 209 }
209 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 210 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
210 .addExcludedFolder(this._normalizePrefix(editor.control('pathPrefix'). value)); 211 .addExcludedFolder(this._normalizePrefix(editor.control('pathPrefix'). value));
211 } 212 }
212 this._muteUpdate = false; 213 this._muteUpdate = false;
213 this._update(); 214 this._update();
214 } 215 }
215 216
216 /** 217 /**
217 * @override 218 * @override
218 * @param {*} item 219 * @param {*} item
219 * @return {!UI.ListWidget.Editor} 220 * @return {!UI.ListWidget.Editor}
220 */ 221 */
221 beginEdit(item) { 222 beginEdit(item) {
222 if (item instanceof Workspace.FileSystemMapping.Entry) { 223 if (item instanceof Persistence.FileSystemMapping.Entry) {
223 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item); 224 var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
224 var editor = this._createMappingEditor(); 225 var editor = this._createMappingEditor();
225 editor.control('urlPrefix').value = entry.urlPrefix; 226 editor.control('urlPrefix').value = entry.urlPrefix;
226 editor.control('pathPrefix').value = entry.pathPrefix; 227 editor.control('pathPrefix').value = entry.pathPrefix;
227 return editor; 228 return editor;
228 } else { 229 } else {
229 var editor = this._createExcludedFolderEditor(); 230 var editor = this._createExcludedFolderEditor();
230 editor.control('pathPrefix').value = item; 231 editor.control('pathPrefix').value = item;
231 return editor; 232 return editor;
232 } 233 }
233 } 234 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 /** 334 /**
334 * @param {string} prefix 335 * @param {string} prefix
335 * @return {string} 336 * @return {string}
336 */ 337 */
337 _normalizePrefix(prefix) { 338 _normalizePrefix(prefix) {
338 if (!prefix) 339 if (!prefix)
339 return ''; 340 return '';
340 return prefix + (prefix[prefix.length - 1] === '/' ? '' : '/'); 341 return prefix + (prefix[prefix.length - 1] === '/' ? '' : '/');
341 } 342 }
342 }; 343 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698