diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2015-07-20 14:42:10 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2015-08-07 01:22:43 +0200 |
commit | 7a982872e7310ffff979a2842ada88db1f832680 (patch) | |
tree | 4e5e264f29dc0096a8782d35834083cea42d94d4 /apps/files | |
parent | e0bcd56402b3e3ac43ebbce62c18b34faef0970e (diff) | |
download | nextcloud-server-7a982872e7310ffff979a2842ada88db1f832680.tar.gz nextcloud-server-7a982872e7310ffff979a2842ada88db1f832680.zip |
Main view does not commands detail and tab views to render. Fixes JS tests.
For a predictive behaviour we need to determine who is allowed to call render
methods on the views. Either, the main view is solely allowed to call render
and views do not do anything about output until then. Or, the main view relies
on the concrete views to be ready when things are about to be shown. The latter
approach has the advantage that concrete views know when they have to update
themselves (e.g. new data arrives or information change), but the main view
has now idea of the inner workings.
Diffstat (limited to 'apps/files')
-rw-r--r-- | apps/files/js/detailfileinfoview.js | 9 | ||||
-rw-r--r-- | apps/files/js/detailsview.js | 7 | ||||
-rw-r--r-- | apps/files/js/detailtabview.js | 9 |
3 files changed, 20 insertions, 5 deletions
diff --git a/apps/files/js/detailfileinfoview.js b/apps/files/js/detailfileinfoview.js index 9585f57f1ef..9a88b5e2d8a 100644 --- a/apps/files/js/detailfileinfoview.js +++ b/apps/files/js/detailfileinfoview.js @@ -45,6 +45,15 @@ }, /** + * returns the jQuery object for HTML output + * + * @returns {jQuery} + */ + get$: function() { + return this.$el; + }, + + /** * Destroy / uninitialize this instance. */ destroy: function() { diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js index 18cefef45d9..d4495cd8dab 100644 --- a/apps/files/js/detailsview.js +++ b/apps/files/js/detailsview.js @@ -136,16 +136,14 @@ // render details _.each(this._detailFileInfoViews, function(detailView) { - detailView.render(); - $detailsContainer.append(detailView.$el); + $detailsContainer.append(detailView.get$()); }); if (this._tabViews.length > 0) { // render tabs _.each(this._tabViews, function(tabView) { - tabView.render(); // hidden by default - $tabsContainer.append(tabView.$el); + $tabsContainer.append(tabView.get$()); $tabHeadsContainer.append(self._templateTabHeader({ tabId: tabView.getId(), @@ -171,7 +169,6 @@ setFileInfo: function(fileInfo) { this._fileInfo = fileInfo; - // FIXME: this will render panels twice this.render(); // notify all panels diff --git a/apps/files/js/detailtabview.js b/apps/files/js/detailtabview.js index 767ece2297c..7e0f9eff16f 100644 --- a/apps/files/js/detailtabview.js +++ b/apps/files/js/detailtabview.js @@ -91,6 +91,15 @@ }, /** + * returns the jQuery object for HTML output + * + * @returns {jQuery} + */ + get$: function() { + return this.$el; + }, + + /** * Renders this details view * * @abstract |