⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databasespanel.js

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 JS
📖 第 1 页 / 共 2 页
字号:
                // into the string "null" by the String() function).                var text = String(row[columnIdentifier]);                data[columnIdentifier] = text;                if (text.length > columns[columnIdentifier].width)                    columns[columnIdentifier].width = text.length;            }            var node = new WebInspector.DataGridNode(data, false);            node.selectable = false;            nodes.push(node);        }        var totalColumnWidths = 0;        for (var columnIdentifier in columns)            totalColumnWidths += columns[columnIdentifier].width;        // Calculate the percentage width for the columns.        const minimumPrecent = 5;        var recoupPercent = 0;        for (var columnIdentifier in columns) {            var width = columns[columnIdentifier].width;            width = Math.round((width / totalColumnWidths) * 100);            if (width < minimumPrecent) {                recoupPercent += (minimumPrecent - width);                width = minimumPrecent;            }            columns[columnIdentifier].width = width;        }        // Enforce the minimum percentage width.        while (recoupPercent > 0) {            for (var columnIdentifier in columns) {                if (columns[columnIdentifier].width > minimumPrecent) {                    --columns[columnIdentifier].width;                    --recoupPercent;                    if (!recoupPercent)                        break;                }            }        }        // Change the width property to a string suitable for a style width.        for (var columnIdentifier in columns)            columns[columnIdentifier].width += "%";        var dataGrid = new WebInspector.DataGrid(columns);        var length = nodes.length;        for (var i = 0; i < length; ++i)            dataGrid.appendChild(nodes[i]);        return dataGrid;    },    dataGridForDOMStorage: function(domStorage)    {        if (!domStorage.length)            return null;        var columns = {};        columns[0] = {};        columns[1] = {};        columns[0].title = WebInspector.UIString("Key");        columns[0].width = columns[0].title.length;        columns[1].title = WebInspector.UIString("Value");        columns[1].width = columns[0].title.length;        var nodes = [];                var length = domStorage.length;        for (index = 0; index < domStorage.length; index++) {            var data = {};                   var key = String(domStorage.key(index));            data[0] = key;            if (key.length > columns[0].width)                columns[0].width = key.length;                    var value = String(domStorage.getItem(key));            data[1] = value;            if (value.length > columns[1].width)                columns[1].width = value.length;            var node = new WebInspector.DataGridNode(data, false);            node.selectable = true;            nodes.push(node);        }        var totalColumnWidths = columns[0].width + columns[1].width;        width = Math.round((columns[0].width * 100) / totalColumnWidths);        const minimumPrecent = 10;        if (width < minimumPrecent)            width = minimumPrecent;        if (width > 100 - minimumPrecent)            width = 100 - minimumPrecent;        columns[0].width = width;        columns[1].width = 100 - width;        columns[0].width += "%";        columns[1].width += "%";        var dataGrid = new WebInspector.DOMStorageDataGrid(columns);        var length = nodes.length;        for (var i = 0; i < length; ++i)            dataGrid.appendChild(nodes[i]);        if (length > 0)            nodes[0].selected = true;        return dataGrid;    },    _startSidebarDragging: function(event)    {        WebInspector.elementDragStart(this.sidebarResizeElement, this._sidebarDragging.bind(this), this._endSidebarDragging.bind(this), event, "col-resize");    },    _sidebarDragging: function(event)    {        this._updateSidebarWidth(event.pageX);        event.preventDefault();    },    _endSidebarDragging: function(event)    {        WebInspector.elementDragEnd(event);    },    _updateSidebarWidth: function(width)    {        if (this.sidebarElement.offsetWidth <= 0) {            // The stylesheet hasn't loaded yet or the window is closed,            // so we can't calculate what is need. Return early.            return;        }        if (!("_currentSidebarWidth" in this))            this._currentSidebarWidth = this.sidebarElement.offsetWidth;        if (typeof width === "undefined")            width = this._currentSidebarWidth;        width = Number.constrain(width, Preferences.minSidebarWidth, window.innerWidth / 2);        this._currentSidebarWidth = width;        this.sidebarElement.style.width = width + "px";        this.storageViews.style.left = width + "px";        this.storageViewStatusBarItemsContainer.style.left = width + "px";        this.sidebarResizeElement.style.left = (width - 3) + "px";    }}WebInspector.DatabasesPanel.prototype.__proto__ = WebInspector.Panel.prototype;WebInspector.DatabaseSidebarTreeElement = function(database){    this.database = database;    WebInspector.SidebarTreeElement.call(this, "database-sidebar-tree-item", "", "", database, true);    this.refreshTitles();}WebInspector.DatabaseSidebarTreeElement.prototype = {    onselect: function()    {        WebInspector.panels.databases.showDatabase(this.database);    },    oncollapse: function()    {        // Request a refresh after every collapse so the next        // expand will have an updated table list.        this.shouldRefreshChildren = true;    },    onpopulate: function()    {        this.removeChildren();        var tableNames = this.database.tableNames;        var tableNamesLength = tableNames.length;        for (var i = 0; i < tableNamesLength; ++i)            this.appendChild(new WebInspector.SidebarDatabaseTableTreeElement(this.database, tableNames[i]));    },    get mainTitle()    {        return this.database.name;    },    set mainTitle(x)    {        // Do nothing.    },    get subtitle()    {        return this.database.displayDomain;    },    set subtitle(x)    {        // Do nothing.    }}WebInspector.DatabaseSidebarTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;WebInspector.SidebarDatabaseTableTreeElement = function(database, tableName){    this.database = database;    this.tableName = tableName;    WebInspector.SidebarTreeElement.call(this, "database-table-sidebar-tree-item small", tableName, "", null, false);}WebInspector.SidebarDatabaseTableTreeElement.prototype = {    onselect: function()    {        WebInspector.panels.databases.showDatabase(this.database, this.tableName);    }}WebInspector.SidebarDatabaseTableTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;WebInspector.DOMStorageSidebarTreeElement = function(domStorage){    this.domStorage = domStorage;    WebInspector.SidebarTreeElement.call(this, "domstorage-sidebar-tree-item", domStorage, "", null, false);    this.refreshTitles();}WebInspector.DOMStorageSidebarTreeElement.prototype = {    onselect: function()    {        WebInspector.panels.databases.showDOMStorage(this.domStorage);    },    get mainTitle()    {        return this.domStorage.domain;    },    set mainTitle(x)    {        // Do nothing.    },    get subtitle()    {        return ""; //this.database.displayDomain;    },    set subtitle(x)    {        // Do nothing.    }}WebInspector.DOMStorageSidebarTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -