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

Unified Diff: chrome/browser/resources/md_extensions/manager.js

Issue 1913353002: [MD Extensions] Add a details subpage, move to one list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Dan's Created 4 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/md_extensions/manager.js
diff --git a/chrome/browser/resources/md_extensions/manager.js b/chrome/browser/resources/md_extensions/manager.js
index 60c33b48dc53929f194694d4549277ace4fc2936..7f6b0f60abf8e4399ed6fa38aedce5d87cf09ec1 100644
--- a/chrome/browser/resources/md_extensions/manager.js
+++ b/chrome/browser/resources/md_extensions/manager.js
@@ -60,12 +60,6 @@ cr.define('extensions', function() {
type: Array,
value: function() { return []; },
},
-
- /** @type {!Array<!chrome.developerPrivate.ExtensionInfo>} */
- websites: {
- type: Array,
- value: function() { return []; },
- },
},
behaviors: [
@@ -78,8 +72,8 @@ cr.define('extensions', function() {
/** @type {extensions.Sidebar} */(this.$$('extensions-sidebar'));
this.service = extensions.Service.getInstance();
this.service.managerReady(this);
- this.scrollHelper_ = new ScrollHelper(this);
- this.sidebar.setScrollDelegate(this.scrollHelper_);
+ this.listHelper_ = new ListHelper(this);
+ this.sidebar.setListDelegate(this.listHelper_);
this.$.toolbar.setSearchDelegate(new SearchHelper(this));
},
@@ -94,8 +88,6 @@ cr.define('extensions', function() {
switch (type) {
case ExtensionType.HOSTED_APP:
case ExtensionType.LEGACY_PACKAGED_APP:
- listId = 'websites';
- break;
case ExtensionType.PLATFORM_APP:
listId = 'apps';
break;
@@ -125,11 +117,10 @@ cr.define('extensions', function() {
},
/**
- * @param {!Array<!chrome.developerPrivate.ExtensionInfo>} list
* @return {boolean} Whether the list should be visible.
*/
- computeListHidden_: function(list) {
- return list.length == 0;
+ computeListHidden_: function() {
+ return this.$['items-list'].items.length == 0;
},
/**
@@ -173,35 +164,46 @@ cr.define('extensions', function() {
assert(index >= 0);
this.splice(listId, index, 1);
},
+
+ /**
+ * Shows the detailed view for a given item.
+ * @param {!chrome.developerPrivate.ExtensionInfo} data The data for the
+ * item to show the details of.
+ */
+ showDetailsFor: function(data) {
+ this.$['details-view'].set('data', data);
+ this.$.pages.selected = 1;
+ },
+
+ /** @private */
+ onDetailsViewClose_: function() {
+ this.$.pages.selected = 0;
+ }
});
/**
* @param {extensions.Manager} manager
* @constructor
- * @implements {extensions.SidebarScrollDelegate}
+ * @implements {extensions.SidebarListDelegate}
*/
- function ScrollHelper(manager) {
- this.items_ = manager.$.items;
+ function ListHelper(manager) {
+ this.manager_ = manager;
}
- ScrollHelper.prototype = {
+ ListHelper.prototype = {
/** @override */
- scrollToExtensions: function() {
- this.items_.scrollTop =
- this.items_.querySelector('#extensions-list').offsetTop;
- },
-
- /** @override */
- scrollToApps: function() {
- this.items_.scrollTop =
- this.items_.querySelector('#apps-list').offsetTop;
- },
-
- /** @override */
- scrollToWebsites: function() {
- this.items_.scrollTop =
- this.items_.querySelector('#websites-list').offsetTop;
- },
+ showType: function(type) {
+ var items;
+ switch (type) {
+ case extensions.ShowingType.EXTENSIONS:
+ items = this.manager_.extensions;
+ break;
+ case extensions.ShowingType.APPS:
+ items = this.manager_.apps;
+ break;
+ }
+ this.manager_.$['items-list'].set('items', assert(items));
+ }
};
/**

Powered by Google App Engine
This is Rietveld 408576698