Skip to content
This repository has been archived by the owner on Nov 25, 2020. It is now read-only.

Commit

Permalink
Expand and fix widgets, add a mode for horizontal tabulator positioning.
Browse files Browse the repository at this point in the history
  • Loading branch information
cdujeu committed Nov 11, 2013
1 parent f3f20bd commit 29332be
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 22 deletions.
2 changes: 1 addition & 1 deletion core/src/plugins/gui.ajax/res/js/ajaxplorer.js

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions core/src/plugins/gui.ajax/res/js/ajaxplorer/class.AjxpPane.js
Expand Up @@ -172,7 +172,9 @@ Class.create("AjxpPane", {
showElement : function(show){
if(show){
this.htmlElement.show();
if(this.childrenPanes) this.childrenPanes.invoke('showElement', show);
}else{
if(this.childrenPanes) this.childrenPanes.invoke('showElement', show);
this.htmlElement.hide();
}
},
Expand Down
Expand Up @@ -383,6 +383,9 @@ Class.create("AjxpTabulator", AjxpPane, {
*/
resize : function(){
if(!this.selectedTabInfo || !this.htmlElement) return;
if(this.htmlElement.hasClassName('horizontal_tabulator')){
fitHeightToBottom(this.htmlElement.down('div.tabulatorContainer'), null, this.options.fitMarginBottom);
}
var ajxpObject = this.getAndSetAjxpObject(this.selectedTabInfo);
if(ajxpObject){
var nodeElement = $(this.htmlElement).down("#"+this.selectedTabInfo.element);
Expand Down Expand Up @@ -427,7 +430,18 @@ Class.create("AjxpTabulator", AjxpPane, {
}
document.fire("ajaxplorer:resize-AjxpTabulator-" + this.htmlElement.id, this.htmlElement.getDimensions());
},


showElement: function(show){
if(!this.htmlElement) return;
if(show) {
this.htmlElement.show();
this.resize();
}
else {
this.htmlElement.hide();
}
},

/**
* Implementation of the IAjxpWidget methods
*/
Expand Down
Expand Up @@ -51,14 +51,25 @@ Class.create("FetchedResultPane", FilesList, {
draggable: false,
replaceScroller:true,
fit:'height',
detailThumbSize:22
detailThumbSize:22,
updateGlobalContext:false
}, ajxpOptions));

dataModel.observe("selection_changed", function(){
if(!this._dataLoaded) return;
var selectedNode = this._dataModel.getSelectedNodes()[0];
if(selectedNode) ajaxplorer.goTo(selectedNode);
}.bind(this));
if(this.options.updateGlobalContext){
dataModel.observe("selection_changed", function(){
if(!this._dataLoaded) return;
var selectedNodes = this._dataModel.getSelectedNodes();
if(selectedNodes){
ajaxplorer.getContextHolder().setSelectedNodes(selectedNodes, this);
}
}.bind(this));
}else{
dataModel.observe("selection_changed", function(){
if(!this._dataLoaded) return;
var selectedNode = this._dataModel.getSelectedNodes()[0];
if(selectedNode) ajaxplorer.goTo(selectedNode);
}.bind(this));
}

document.observe("ajaxplorer:repository_list_refreshed", function(){
this._rootNode.clear();
Expand All @@ -76,19 +87,23 @@ Class.create("FetchedResultPane", FilesList, {
if(ajxpOptions.reloadOnServerMessage){
ajaxplorer.observe("server_message", function(event){
var newValue = XPathSelectSingleNode(event, ajxpOptions.reloadOnServerMessage);
if(newValue && this._dataLoaded){
this._rootNode.clear();
this._dataLoaded = false;
if(this.htmlElement && this.htmlElement.visible()){
this._dataModel.requireContextChange(this._rootNode, true);
this._dataLoaded = true;
}
}
if(newValue) this.reloadDataModel();
}.bind(this));
}

},

reloadDataModel: function(){
if(this._dataLoaded){
this._rootNode.clear();
this._dataLoaded = false;
if(this.htmlElement && this.htmlElement.visible()){
this._dataModel.requireContextChange(this._rootNode, true);
this._dataLoaded = true;
}
}
},

/**
* Can be overriden by the children.
* @param ajxpOptions
Expand Down Expand Up @@ -118,8 +133,12 @@ Class.create("FetchedResultPane", FilesList, {
this._dataModel.requireContextChange(this._rootNode, true);
this._dataLoaded = true;
}
if(show) this.htmlElement.show();
else {
if(show) {
if(this._dataModel.getSelectedNodes()){
this._dataModel.publish("selection_changed", this._dataModel);
}
this.htmlElement.show();
} else {
this._dataModel.setSelectedNodes($A());
this.htmlElement.hide();
}
Expand Down
Expand Up @@ -1243,7 +1243,7 @@ Class.create("FilesList", SelectableElements, {
if(this._sortableTable){
var sortColumn = this.crtContext.getMetadata().get("filesList.sortColumn");
var descending = this.crtContext.getMetadata().get("filesList.descending");
if(sortColumn == undefined) {
if(sortColumn == undefined || !this.columnsDef[sortColumn]) {
sortColumn = 0;
}
if(sortColumn != undefined){
Expand Down Expand Up @@ -1338,7 +1338,7 @@ Class.create("FilesList", SelectableElements, {
this._sortableTable.sortColumn = -1;
this._sortableTable.updateHeaderArrows();
}
if(contextNode.getMetadata().get("filesList.sortColumn")){
if(contextNode.getMetadata().get("filesList.sortColumn") && this.columnsDef[contextNode.getMetadata().get("filesList.sortColumn")]){
var sortColumn = parseInt(contextNode.getMetadata().get("filesList.sortColumn"));
var descending = contextNode.getMetadata().get("filesList.descending");
this._sortableTable.sort(sortColumn, descending);
Expand Down
Expand Up @@ -617,6 +617,15 @@ Class.create("FormManager", {
}
},

disableShortcutsOnForm: function(form){
form.select("input,textarea,select").invoke("observe", "focus", function(){
ajaxplorer.disableAllKeyBindings();
});
form.select("input,textarea,select").invoke("observe", "blur", function(){
ajaxplorer.enableAllKeyBindings();
});
},

confirmExistingImageDelete : function(modalParent, imgSrc, hiddenInput, param){
if(window.confirm('Do you want to remove the current image?')){
hiddenInput.setValue("ajxp-remove-original");
Expand Down
Expand Up @@ -126,7 +126,7 @@ Class.create("RepositorySelect", {
var key = pair.key;
var selected = (key == repositoryId ? true:false);

if(repoObject.getAccessType() == "ajxp_conf" || repoObject.getAccessType() == "ajxp_shared"){
if(repoObject.getAccessType().startsWith('ajxp_')){
return;
}

Expand Down
32 changes: 32 additions & 0 deletions core/src/plugins/gui.ajax/res/themes/vision/css/ajaxplorer.css
Expand Up @@ -4539,6 +4539,38 @@ div.flat_tabulator > div:not(.tabulatorContainer){
border-radius: 0 0 2px 2px;
}

.horizontal_tabulator div.tabulatorContainer {
float: left;
width: 20%;
padding: 0;
background-color: #ebedf0 !important;
border-right: 2px solid #e35d52;
}

.horizontal_tabulator span.toggleHeader{
width: 100% !important;
text-align: center;
padding: 20px 0;
background-color: #e35d52 !important;
color: white !important;
border-bottom: 0 !important;
display: block;
margin: 5px;
}

.horizontal_tabulator span.toggleInactive{
width: 200px;
border-width: 0 !important;
background-color: transparent !important;
color: rgb(111, 123, 136) !important;
}

div.horizontal_tabulator > div:not(.tabulatorContainer){
float: left;
padding: 0 !important;
width:79%;
}

#breadcrumb{
display: inline-block;
overflow: hidden;
Expand Down
2 changes: 1 addition & 1 deletion core/src/plugins/gui.ajax/res/themes/vision/css/allz.css

Large diffs are not rendered by default.

0 comments on commit 29332be

Please sign in to comment.