home *** CD-ROM | disk | FTP | other *** search
/ Computer Active Guide 2009 July / CAG7.ISO / Internetas / SafariSetup.exe / AppleApplicationSupport.msi / WebKit.resources_inspector_DatabaseTableView.js < prev    next >
Encoding:
Text File  |  2010-06-03  |  3.3 KB  |  91 lines

  1. /*
  2.  * Copyright (C) 2008 Apple Inc. All Rights Reserved.
  3.  *
  4.  * Redistribution and use in source and binary forms, with or without
  5.  * modification, are permitted provided that the following conditions
  6.  * are met:
  7.  * 1. Redistributions of source code must retain the above copyright
  8.  *    notice, this list of conditions and the following disclaimer.
  9.  * 2. Redistributions in binary form must reproduce the above copyright
  10.  *    notice, this list of conditions and the following disclaimer in the
  11.  *    documentation and/or other materials provided with the distribution.
  12.  *
  13.  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
  14.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  15.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  16.  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
  17.  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  18.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  19.  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  20.  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  21.  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  22.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  23.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  24.  */
  25.  
  26. WebInspector.DatabaseTableView = function(database, tableName)
  27. {
  28.     WebInspector.View.call(this);
  29.  
  30.     this.database = database;
  31.     this.tableName = tableName;
  32.  
  33.     this.element.addStyleClass("storage-view");
  34.     this.element.addStyleClass("table");
  35.  
  36.     this.refreshButton = new WebInspector.StatusBarButton(WebInspector.UIString("Refresh"), "refresh-storage-status-bar-item");
  37.     this.refreshButton.addEventListener("click", this._refreshButtonClicked.bind(this), false);
  38. }
  39.  
  40. WebInspector.DatabaseTableView.prototype = {
  41.     show: function(parentElement)
  42.     {
  43.         WebInspector.View.prototype.show.call(this, parentElement);
  44.         this.update();
  45.     },
  46.  
  47.     get statusBarItems()
  48.     {
  49.         return [this.refreshButton];
  50.     },
  51.  
  52.     update: function()
  53.     {
  54.         this.database.executeSql("SELECT * FROM " + this.tableName, this._queryFinished.bind(this), this._queryError.bind(this));
  55.     },
  56.  
  57.     _queryFinished: function(result)
  58.     {
  59.         this.element.removeChildren();
  60.  
  61.         var dataGrid = WebInspector.panels.storage.dataGridForResult(result);
  62.         if (!dataGrid) {
  63.             var emptyMsgElement = document.createElement("div");
  64.             emptyMsgElement.className = "storage-table-empty";
  65.             emptyMsgElement.textContent = WebInspector.UIString("The ΓÇ£%sΓÇ¥\ntable is empty.", this.tableName);
  66.             this.element.appendChild(emptyMsgElement);
  67.             return;
  68.         }
  69.  
  70.         this.element.appendChild(dataGrid.element);
  71.         dataGrid.autoSizeColumns(5);
  72.     },
  73.  
  74.     _queryError: function(error)
  75.     {
  76.         this.element.removeChildren();
  77.  
  78.         var errorMsgElement = document.createElement("div");
  79.         errorMsgElement.className = "storage-table-error";
  80.         errorMsgElement.textContent = WebInspector.UIString("An error occurred trying to\nread the ΓÇ£%sΓÇ¥ table.", this.tableName);
  81.         this.element.appendChild(errorMsgElement);
  82.     },
  83.  
  84.     _refreshButtonClicked: function(event)
  85.     {
  86.         this.update();
  87.     }
  88. }
  89.  
  90. WebInspector.DatabaseTableView.prototype.__proto__ = WebInspector.View.prototype;
  91.