Demo/bin/Debug/front_end/settings_module.js

(开头部分) 35KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

WebInspector.EditFileSystemView=function(fileSystemPath)
{WebInspector.VBox.call(this,true);this.registerRequiredCSS("settings/editFileSystemView.css");this._fileSystemPath=fileSystemPath;this._eventListeners=[WebInspector.fileSystemMapping.addEventListener(WebInspector.FileSystemMapping.Events.FileMappingAdded,this._update,this),WebInspector.fileSystemMapping.addEventListener(WebInspector.FileSystemMapping.Events.FileMappingRemoved,this._update,this),WebInspector.isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.ExcludedFolderAdded,this._update,this),WebInspector.isolatedFileSystemManager.addEventListener(WebInspector.IsolatedFileSystemManager.Events.ExcludedFolderRemoved,this._update,this)];var mappingsHeader=this.contentElement.createChild("div","file-system-header");mappingsHeader.createChild("div","file-system-header-text").textContent=WebInspector.UIString("Mappings");mappingsHeader.appendChild(createTextButton(WebInspector.UIString("Add"),this._addMappingButtonClicked.bind(this),"add-button"));this._mappingsList=new WebInspector.ListWidget(this);this._mappingsList.element.classList.add("file-system-list");this._mappingsList.registerRequiredCSS("settings/editFileSystemView.css");var mappingsPlaceholder=createElementWithClass("div","file-system-list-empty");mappingsPlaceholder.textContent=WebInspector.UIString("No mappings");this._mappingsList.setEmptyPlaceholder(mappingsPlaceholder);this._mappingsList.show(this.contentElement);var excludedFoldersHeader=this.contentElement.createChild("div","file-system-header");excludedFoldersHeader.createChild("div","file-system-header-text").textContent=WebInspector.UIString("Excluded folders");excludedFoldersHeader.appendChild(createTextButton(WebInspector.UIString("Add"),this._addExcludedFolderButtonClicked.bind(this),"add-button"));this._excludedFoldersList=new WebInspector.ListWidget(this);this._excludedFoldersList.element.classList.add("file-system-list");this._excludedFoldersList.registerRequiredCSS("settings/editFileSystemView.css");var excludedFoldersPlaceholder=createElementWithClass("div","file-system-list-empty");excludedFoldersPlaceholder.textContent=WebInspector.UIString("No excluded folders");this._excludedFoldersList.setEmptyPlaceholder(excludedFoldersPlaceholder);this._excludedFoldersList.show(this.contentElement);this.contentElement.tabIndex=0;this._update();}
WebInspector.EditFileSystemView.prototype={dispose:function()
{WebInspector.EventTarget.removeEventListeners(this._eventListeners);},_update:function()
{if(this._muteUpdate)
return;this._mappingsList.clear();this._mappings=[];var mappings=WebInspector.fileSystemMapping.mappingEntries(this._fileSystemPath);for(var entry of mappings){if(entry.configurable){this._mappingsList.appendItem(entry,true);this._mappings.push(entry);}}
for(var entry of mappings){if(!entry.configurable){this._mappingsList.appendItem(entry,false);this._mappings.push(entry);}}
this._excludedFoldersList.clear();this._excludedFolders=[];for(var folder of WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).excludedFolders().values()){this._excludedFolders.push(folder);this._excludedFoldersList.appendItem(folder,true);}
for(var folder of WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).nonConfigurableExcludedFolders().values()){this._excludedFolders.push(folder);this._excludedFoldersList.appendItem(folder,false);}},_addMappingButtonClicked:function()
{var entry=new WebInspector.FileSystemMapping.Entry(this._fileSystemPath,"","",true);this._mappingsList.addNewItem(0,entry);},_addExcludedFolderButtonClicked:function()
{this._excludedFoldersList.addNewItem(0,"");},renderItem:function(item,editable)
{var element=createElementWithClass("div","file-system-list-item");if(!editable)
element.classList.add("locked");if(item instanceof WebInspector.FileSystemMapping.Entry){var entry=(item);var urlPrefix=entry.configurable?entry.urlPrefix:WebInspector.UIString("%s (via .devtools)",entry.urlPrefix);var urlPrefixElement=element.createChild("div","file-system-value");urlPrefixElement.textContent=urlPrefix;urlPrefixElement.title=urlPrefix;element.createChild("div","file-system-separator");var pathPrefixElement=element.createChild("div","file-system-value");pathPrefixElement.textContent=entry.pathPrefix;pathPrefixElement.title=entry.pathPrefix;}else{var pathPrefix=(editable?item:WebInspector.UIString("%s (via .devtools)",item));var pathPrefixElement=element.createChild("div","file-system-value");pathPrefixElement.textContent=pathPrefix;pathPrefixElement.title=pathPrefix;}
element.createChild("div","file-system-locked").title=WebInspector.UIString("From .devtools file");return element;},removeItemRequested:function(item,index)
{if(item instanceof WebInspector.FileSystemMapping.Entry){var entry=this._mappings[index];WebInspector.fileSystemMapping.removeFileMapping(entry.fileSystemPath,entry.urlPrefix,entry.pathPrefix);}else{WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).removeExcludedFolder(this._excludedFolders[index]);}},commitEdit:function(item,editor,isNew)
{this._muteUpdate=true;if(item instanceof WebInspector.FileSystemMapping.Entry){var entry=(item);if(!isNew)
WebInspector.fileSystemMapping.removeFileMapping(this._fileSystemPath,entry.urlPrefix,entry.pathPrefix);WebInspector.fileSystemMapping.addFileMapping(this._fileSystemPath,this._normalizePrefix(editor.control("urlPrefix").value),this._normalizePrefix(editor.control("pathPrefix").value));}else{if(!isNew)
WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).removeExcludedFolder((item));WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).addExcludedFolder(this._normalizePrefix(editor.control("pathPrefix").value));}
this._muteUpdate=false;this._update();},beginEdit:function(item)
{if(item instanceof WebInspector.FileSystemMapping.Entry){var entry=(item);var editor=this._createMappingEditor();editor.control("urlPrefix").value=entry.urlPrefix;editor.control("pathPrefix").value=entry.pathPrefix;return editor;}else{var editor=this._createExcludedFolderEditor();editor.control("pathPrefix").value=item;return editor;}},_createMappingEditor:function()
{if(this._mappingEditor)
return this._mappingEditor;var editor=new WebInspector.ListWidget.Editor();this._mappingEditor=editor;var content=editor.contentElement();var titles=content.createChild("div","file-system-edit-row");titles.createChild("div","file-system-value").textContent=WebInspector.UIString("URL prefix");titles.createChild("div","file-system-separator file-system-separator-invisible");titles.createChild("div","file-system-value").textContent=WebInspector.UIString("Folder path");var fields=content.createChild("div","file-system-edit-row");fields.createChild("div","file-system-value").appendChild(editor.createInput("urlPrefix","text","localhost:8000/url",urlPrefixValidator.bind(this)));fields.createChild("div","file-system-separator file-system-separator-invisible");fields.createChild("div","file-system-value").appendChild(editor.createInput("pathPrefix","text","/path/to/folder/",pathPrefixValidator.bind(this)));return editor;function urlPrefixValidator(item,index,input)
{var prefix=this._normalizePrefix(input.value);for(var i=0;i<this._mappings.length;++i){if(i!==index&&this._mappings[i].configurable&&this._mappings[i].urlPrefix===prefix)
return false;}
return!!prefix;}
function pathPrefixValidator(item,index,input)
{var prefix=this._normalizePrefix(input.value);for(var i=0;i<this._mappings.length;++i){if(i!==index&&this._mappings[i].configurable&&this._mappings[i].pathPrefix===prefix)
return false;}
return!!prefix;}},_createExcludedFolderEditor:function()
{if(this._excludedFolderEditor)
return this._excludedFolderEditor;var editor=new WebInspector.ListWidget.Editor();this._excludedFolderEditor=editor;var content=editor.contentElement();var titles=content.createChild("div","file-system-edit-row");titles.createChild("div","file-system-value").textContent=WebInspector.UIString("Folder path");var fields=content.createChild("div","file-system-edit-row");fields.createChild("div","file-system-value").appendChild(editor.createInput("pathPrefix","text","/path/to/folder/",pathPrefixValidator.bind(this)));return editor;function pathPrefixValidator(item,index,input)
{var prefix=this._normalizePrefix(input.value);var configurableCount=WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath).excludedFolders().size;for(var i=0;i<configurableCount;++i){if(i!==index&&this._excludedFolders[i]===prefix)
return false;}
return!!prefix;}},_normalizePrefix:function(prefix)
{if(!prefix)
return"";return prefix+(prefix[prefix.length-1]==="/"?"":"/");},__proto__:WebInspector.VBox.prototype};WebInspector.SettingsScreen=function()
{WebInspector.VBox.call(this,true);this.registerRequiredCSS("settings/settingsScreen.css");this.element.id="settings-screen";this.contentElement.tabIndex=0;this.contentElement.classList.add("help-window-main");this.contentElement.classList.add("vbox");var settingsLabelElement=createElementWithClass("div","help-window-label");settingsLabelElement.createTextChild(WebInspector.UIString("Settings"));this._tabbedPane=new WebInspector.TabbedPane();this._tabbedPane.insertBeforeTabStrip(settingsLabelElement);this._tabbedPane.setShrinkableTabs(false);this._tabbedPane.setVerticalTabLayout(true);this._tabbedPane.appendTab("general",WebInspector.UIString("General"),new WebInspector.GenericSettingsTab());this._tabbedPane.appendTab("workspace",WebInspector.UIString("Workspace"),new WebInspector.WorkspaceSettingsTab());this._tabbedPane.appendTab("blackbox",WebInspector.manageBlackboxingSettingsTabLabel(),new WebInspector.FrameworkBlackboxSettingsTab());if(Runtime.experiments.supportEnabled())
this._tabbedPane.appendTab("experiments",WebInspector.UIString("Experiments"),new WebInspector.ExperimentsSettingsTab());this._tabbedPaneController=new WebInspector.ExtensibleTabbedPaneController(this._tabbedPane,"settings-view");this._tabbedPane.appendTab("shortcuts",WebInspector.UIString("Shortcuts"),WebInspector.shortcutsScreen.createShortcutsTabView());this.element.addEventListener("keydown",this._keyDown.bind(this),false);this._developerModeCounter=0;this.setDefaultFocusedElement(this.contentElement);}
WebInspector.SettingsScreen.prototype={wasShown:function()
{this._tabbedPane.selectTab("general");this._tabbedPane.show(this.contentElement);WebInspector.VBox.prototype.wasShown.call(this);},selectTab:function(name)
{this._tabbedPane.selectTab(name);},_keyDown:function(event)
{var shiftKeyCode=16;if(event.keyCode===shiftKeyCode&&++this._developerModeCounter>5)
this.contentElement.classList.add("settings-developer-mode");},__proto__:WebInspector.VBox.prototype}
WebInspector.SettingsTab=function(name,id)
{WebInspector.VBox.call(this);this.element.classList.add("settings-tab-container");if(id)
this.element.id=id;var header=this.element.createChild("header");header.createChild("h3").createTextChild(name);this.containerElement=this.element.createChild("div","help-container-wrapper").createChild("div","settings-tab help-content help-container");}
WebInspector.SettingsTab.prototype={_appendSection:function(name)
{var block=this.containerElement.createChild("div","help-block");if(name)
block.createChild("div","help-section-title").textContent=name;return block;},_createSelectSetting:function(name,options,setting)
{var p=createElement("p");p.createChild("label").textContent=name;var select=p.createChild("select","chrome-select");var settingValue=setting.get();for(var i=0;i<options.length;++i){var option=options[i];select.add(new Option(option[0],option[1]));if(settingValue===option[1])
select.selectedIndex=i;}
function changeListener(e)
{setting.set(options[select.selectedIndex][1]);}
select.addEventListener("change",changeListener,false);return p;},__proto__:WebInspector.VBox.prototype}
WebInspector.GenericSettingsTab=function()
{WebInspector.SettingsTab.call(this,WebInspector.UIString("General"),"general-tab-content");var explicitSectionOrder=["","Appearance","Elements","Sources","Network","Profiler","Console","Extensions"];this._nameToSection=new Map();this._nameToSettingElement=new Map();for(var sectionName of explicitSectionOrder)
this._sectionElement(sectionName);self.runtime.extensions("setting").forEach(this._addSetting.bind(this));self.runtime.extensions(WebInspector.SettingUI).forEach(this._addSettingUI.bind(this));this._appendSection().appendChild(createTextButton(WebInspector.UIString("Restore defaults and reload"),restoreAndReload));function restoreAndReload()
{WebInspector.settings.clearAll();WebInspector.reload();}}
WebInspector.GenericSettingsTab.isSettingVisible=function(extension)
{var descriptor=extension.descriptor();if(!("title"in descriptor))
后面还有 72 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。