Hi jack,
With change works fine (exta-all.js line 18 ):
Code:
Ext.EventManager=function(){var _1;var _2;var _3=false;var _4;var _5;var E=YAHOO.util.Event;var D=YAHOO.util.Dom;var _8=function(){if(!_3){_3=true;if(_2){clearInterval(_2);}if(_1){_1.fire();_1.clearListeners();}}};var _9=function(){_1=new Ext.util.Event();if(document.addEventListener){E.on(document,"DOMContentLoaded",_8);}else{if(Ext.isIE){document.write("<s"+"cript id=\"ie-deferred-loader\" defer=\"defer\" src=\"/"+"/\"></s"+"cript>");
You fix in next release or with this change is fixed?
About the other thing??? - layout regions not save sizes width/height by cookies but Collapse/Expand state works fine. ???
DominoOutline.js: I have taken it of dwt - Domino Web tools project. But I have made it independent to have it in js aside. Thanks Jack Ratcliff.
Code:
DominoUIOutline = function(config) {
Ext.apply(this,config);
this.init();
};
DominoUIOutline.prototype.init = function() {
YAHOO.util.Connect.asyncRequest('POST', this.outlineUrl + '?ReadEntries', {
success : this.init2.createDelegate(this),
failure : this.init2.createDelegate(this)
}, null);
};
DominoUIOutline.prototype.init2 = function(o) {
var response = o.responseXML;
var arEntries = response.getElementsByTagName('outlineentry');
var Tree = Ext.tree;
var tree = new Tree.TreePanel(this.outlinePanel.getEl(), {
animate : true,
containerScroll : true,
dropConfig : {appendOnly : true},
rootVisible : false
});
var root = new Tree.TreeNode({
text : 'domino-folders',
draggable : false,
id : 'domino-folders'
});
tree.setRootNode(root);
var curNode = null;
var arNodes = [];
for (var i=0; i<arEntries.length; i++) {
var entry = arEntries.item(i);
var dwtType = entry.attributes.getNamedItem('type').value;
var dwtTitle = entry.attributes.getNamedItem('title').value;
var tmpdwtHref = entry.attributes.getNamedItem('url');
var dwtHref = (tmpdwtHref) ? tmpdwtHref.value : "";
var expandable = entry.attributes.getNamedItem('expandable');
var isExpandable = (expandable) ? true : false;
var tmpdwtIcon = entry.attributes.getNamedItem('icon');
var dwtIcon = (tmpdwtIcon) ? tmpdwtIcon.value : "";
var curPosition = entry.attributes.getNamedItem('position').value;
var cls;
switch (dwtType) {
case "0" :
cls = (isExpandable) ? "folder" : "file";
break;
case "2" :
cls = "file";
break;
case "20" :
cls = "folder";
break;
default :
cls = "file";
};
var curNode = new Tree.TreeNode({
text : dwtTitle,
cls : cls,
allowDrag : true,
isTarget : true,
leaf : false,
dwtHref : dwtHref,
dwtType : dwtType,
dwtExpandable: isExpandable,
dwtPosition : curPosition,
icon : dwtIcon
});
curNode.on('click', this.openEntry.createDelegate(this), this, true);
arNodes[curPosition] = curNode;
if (curPosition.indexOf('.') > 0) {
var parentPosition = curPosition.substring(0,curPosition.lastIndexOf('.'));
arNodes[parentPosition].appendChild(curNode);
} else {
root.appendChild(curNode);
}
};
tree.render();
root.expand();
};
DominoUIOutline.prototype.openEntry = function(node, e){
var attributes, dwtType, dwtHref, dwtPosition, entryId, title;
attributes = node.attributes;
dwtHref = attributes.dwtHref;
dwtType = attributes.dwtType;
dwtPosition = attributes.dwtPosition;
entryId = "id-" + dwtPosition;
title = node.text;
//CUSTOM
if (dwtType == "2" || dwtType == "20") {
var viewUrl = (dwtHref.indexOf('?') > 0) ? dwtHref.split('?')[0] : dwtHref.split('!')[0];
var iframe = Ext.DomHelper.append(document.body, {tag: 'iframe', frameBorder: 0, src: viewUrl});
var panel = new Ext.ContentPanel(iframe, {title: title, fitToFrame:true, closable:true});
this.layout.add('center', panel);
} else if (dwtHref != "") {
var viewUrl = (dwtHref.indexOf('?') > 0) ? dwtHref.split('?')[0] : dwtHref.split('!')[0];
var iframe = Ext.DomHelper.append(document.body, {tag: 'iframe', frameBorder: 0, src: viewUrl});
var panel = new Ext.ContentPanel(iframe, {title: title, fitToFrame:true, closable:true});
this.layout.add('center', panel);
}
};
Ext.data.Node.prototype.hasChildNodes = function() {
if (this.attributes.dwtType == "20" || (this.attributes.dwtType == "0" && this.attributes.dwtExpandable == true)) {
return true;
} else {
return false;
}
};
Call:
Code:
........
.....
crearOutline : function(){
outline = new DominoUIOutline({
layout : layout,
outlinePanel : layoutWest,
outlineUrl : 'http://dfdsfsd/dsfsdf.nsf/menuIzdo' <= Outline URL
});
},
......
DominoXMLDataModel.js: Is in domino yui project but only works in old version of YUI-EXT. If somebody updates DominoXMLDataModel.js for new grid it would be good
. Any ideas of how implement this?
Thanks jack.