summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalgorzata Janczarska <malgorzata.tomczyk@pl.ibm.com>2013-12-11 17:04:26 +0100
committerMalgorzata Janczarska <malgorzata.tomczyk@pl.ibm.com>2013-12-12 10:56:26 +0100
commit600b0592be956a4eb888d18fdd5becdc0bba1988 (patch)
tree85e15aac41026c7c556139e61d090785e89127fb
parentb0810f2398281e76935b4e67c5054088e3a462b3 (diff)
downloadorg.eclipse.orion.client-origin/R5.0M1_maintenance.zip
org.eclipse.orion.client-origin/R5.0M1_maintenance.tar.gz
org.eclipse.orion.client-origin/R5.0M1_maintenance.tar.bz2
Bug 423822 - Control directory viewer layout order with a preferenceorigin/R5.0M1_maintenance
-rw-r--r--bundles/org.eclipse.orion.client.ui/web/edit/setup.js3
-rw-r--r--bundles/org.eclipse.orion.client.ui/web/orion/folderView.js71
-rw-r--r--bundles/org.eclipse.orion.client.ui/web/orion/projects/projectEditor.js53
3 files changed, 86 insertions, 41 deletions
diff --git a/bundles/org.eclipse.orion.client.ui/web/edit/setup.js b/bundles/org.eclipse.orion.client.ui/web/edit/setup.js
index 701605b..c4160b3 100644
--- a/bundles/org.eclipse.orion.client.ui/web/edit/setup.js
+++ b/bundles/org.eclipse.orion.client.ui/web/edit/setup.js
@@ -184,7 +184,8 @@ exports.setUpEditor = function(serviceRegistry, preferences, isReadOnly) {
contentTypeRegistry: contentTypeRegistry,
selection: selection,
fileService: fileClient,
- progressService: progressService
+ progressService: progressService,
+ preferences: preferences
};
if (metadata.Directory) {
view = new mFolderView.FolderView(options);
diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/folderView.js b/bundles/org.eclipse.orion.client.ui/web/orion/folderView.js
index 89b1979..7041e0b 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/folderView.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/folderView.js
@@ -162,6 +162,7 @@ define([
this.serviceRegistry = options.serviceRegistry;
this.commandRegistry = options.commandRegistry;
this.contentTypeRegistry = options.contentTypeRegistry;
+ this.preferences = options.preferences,
this.showProjectView = true;
this.showFolderNav = true;
this._init();
@@ -180,7 +181,8 @@ define([
fileClient : this.fileClient,
progress : this.progress,
serviceRegistry: this.serviceRegistry,
- commandRegistry: this.commandRegistry
+ commandRegistry: this.commandRegistry,
+ preferences: this.preferences
});
this.projectView = new mProjectView.ProjectView({
fileClient : this.fileClient,
@@ -231,34 +233,49 @@ define([
}
this._parent.appendChild(this._node);
- if (readmeMd) {
- div = document.createElement("div"); //$NON-NLS-0$
- this.markdownView.displayInFrame(div, readmeMd);
- this._node.appendChild(div);
- }
-
- if(projectJson && this.showProjectView){
- div = document.createElement("div"); //$NON-NLS-0$
- this.projectEditor.displayContents(div, this._metadata);
- this._node.appendChild(div);
+ function renderSections(sectionsOrder){
+ sectionsOrder.forEach(function(sectionName){
+ if(sectionName === "project"){
+ if(projectJson && this.showProjectView){
+ div = document.createElement("div"); //$NON-NLS-0$
+ this.projectEditor.displayContents(div, this._metadata);
+ this._node.appendChild(div);
+ }
+ } else if(sectionName === "folderNav") {
+ if (this.showFolderNav) {
+ var navNode = document.createElement("div"); //$NON-NLS-0$
+ navNode.id = "folderNavNode"; //$NON-NLS-0$
+ var foldersSection = new mSection.Section(this._node, {id: "folderNavSection", title: "Files"});
+
+ this.folderNavExplorer = new FolderNavExplorer({
+ parentId: navNode,
+ serviceRegistry: this.serviceRegistry,
+ fileClient: this.fileClient,
+ commandRegistry: this.commandRegistry,
+ contentTypeRegistry: this.contentTypeRegistry
+ });
+ foldersSection.embedExplorer(this.folderNavExplorer);
+ this.folderNavExplorer.setCommandsVisible(mGlobalCommands.getMainSplitter().splitter.isClosed());
+ this.folderNavExplorer.loadRoot(this._metadata);
+ }
+ } else if(sectionName === "readme"){
+ if (readmeMd) {
+ div = document.createElement("div"); //$NON-NLS-0$
+ this.markdownView.displayInFrame(div, readmeMd);
+ this._node.appendChild(div);
+ }
+ }
+ }.bind(this));
}
- if (this.showFolderNav) {
- var navNode = document.createElement("div"); //$NON-NLS-0$
- navNode.id = "folderNavNode"; //$NON-NLS-0$
- var foldersSection = new mSection.Section(this._node, {id: "folderNavSection", title: "Files"});
-
- this.folderNavExplorer = new FolderNavExplorer({
- parentId: navNode,
- serviceRegistry: this.serviceRegistry,
- fileClient: this.fileClient,
- commandRegistry: this.commandRegistry,
- contentTypeRegistry: this.contentTypeRegistry
- });
- foldersSection.embedExplorer(this.folderNavExplorer);
- this.folderNavExplorer.setCommandsVisible(mGlobalCommands.getMainSplitter().splitter.isClosed());
- this.folderNavExplorer.loadRoot(this._metadata);
- }
+ var sectionsOrder = ["project", "folderNav", "readme"];
+ this.preferences.getPreferences("/sectionsOrder").then(function(sectionsOrderPrefs){
+ sectionsOrder = sectionsOrderPrefs.get("folderView") || sectionsOrder;
+ renderSections.apply(this, [sectionsOrder]);
+ }.bind(this), function(error){
+ renderSections.apply(this, [sectionsOrder]);
+ window.console.error(error);
+ }.bind(this));
},
create: function() {
if(this._metadata.Projects){ //this is a workspace root
diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/projects/projectEditor.js b/bundles/org.eclipse.orion.client.ui/web/orion/projects/projectEditor.js
index 6270aa4..0c61fec 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/projects/projectEditor.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/projects/projectEditor.js
@@ -8,7 +8,7 @@
* Contributors: IBM Corporation - initial API and implementation
******************************************************************************/
-/*global define document setTimeout*/
+/*global define document setTimeout window*/
define(['orion/URITemplate', 'orion/webui/littlelib', 'orion/Deferred', 'orion/objects', 'orion/projectCommands', 'orion/commandRegistry', 'orion/PageLinks', 'orion/explorers/explorer', 'orion/section'],
function(URITemplate, lib, Deferred, objects, mProjectCommands, mCommandRegistry, PageLinks, mExplorer, mSection) {
@@ -417,6 +417,7 @@ define(['orion/URITemplate', 'orion/webui/littlelib', 'orion/Deferred', 'orion/o
this.serviceRegistry = options.serviceRegistry;
this.fileClient = options.fileClient;
this.progress = options.progress;
+ this.preferences = options.preferences;
this.projectClient = this.serviceRegistry.getService("orion.project.client");
this.commandRegistry = options.commandRegistry;
this._node = null;
@@ -452,18 +453,44 @@ define(['orion/URITemplate', 'orion/webui/littlelib', 'orion/Deferred', 'orion/o
this.node = node;
this.node.className = "orionProject";
this.projectData = projectData;
- var span = document.createElement("span");
- this.node.appendChild(span);
- this.renderProjectInfo(span);
- span = document.createElement("span");
- this.node.appendChild(span);
- this.renderAdditionalProjectProperties(span);
- span = document.createElement("span");
- this.node.appendChild(span);
- this.renderLaunchConfigurations(span);
- span = document.createElement("span");
- this.node.appendChild(span);
- this.renderDependencies(span);
+
+ function renderSections(sectionsOrder){
+ sectionsOrder.forEach(function(sectionName){
+ var span;
+ switch (sectionName) {
+ case "projectInfo":
+ span = document.createElement("span");
+ this.node.appendChild(span);
+ this.renderProjectInfo(span);
+ break;
+ case "additionalInfo":
+ span = document.createElement("span");
+ this.node.appendChild(span);
+ this.renderAdditionalProjectProperties(span);
+ break;
+ case "deployment":
+ span = document.createElement("span");
+ this.node.appendChild(span);
+ this.renderLaunchConfigurations(span);
+ break;
+ case "dependencies":
+ span = document.createElement("span");
+ this.node.appendChild(span);
+ this.renderDependencies(span);
+ break;
+ }
+ }.bind(this));
+ }
+
+ var sectionsOrder = ["projectInfo", "additionalInfo", "deployment", "dependencies"];
+ this.preferences.getPreferences("/sectionsOrder").then(function(sectionsOrderPrefs){
+ sectionsOrder = sectionsOrderPrefs.get("projectView") || sectionsOrder;
+ renderSections.apply(this, [sectionsOrder]);
+ }.bind(this), function(error){
+ renderSections.apply(this, [sectionsOrder]);
+ window.console.error(error);
+ }.bind(this));
+
},
displayContents: function(node, parentFolder){
this.parentFolder = parentFolder;