aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-07-20 14:42:10 +0200
committerArthur Schiwon <blizzz@owncloud.com>2015-08-07 01:22:43 +0200
commit7a982872e7310ffff979a2842ada88db1f832680 (patch)
tree4e5e264f29dc0096a8782d35834083cea42d94d4 /apps/files
parente0bcd56402b3e3ac43ebbce62c18b34faef0970e (diff)
downloadnextcloud-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.js9
-rw-r--r--apps/files/js/detailsview.js7
-rw-r--r--apps/files/js/detailtabview.js9
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