You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by sm...@apache.org on 2007/12/18 20:25:24 UTC
svn commit: r605308 - in
/portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed:
site.js site.src.js
Author: smilek
Date: Tue Dec 18 11:25:21 2007
New Revision: 605308
URL: http://svn.apache.org/viewvc?rev=605308&view=rev
Log:
added jetspeed.site library - used by portal-site-manager
Added:
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.js
portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.src.js
Added: portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.js
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.js?rev=605308&view=auto
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.js (added)
+++ portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.js Tue Dec 18 11:25:21 2007
@@ -0,0 +1,136 @@
+if(window.dojo){
+dojo.provide("jetspeed.site");
+dojo.require("jetspeed.common");
+}
+if(!window.jetspeed){
+jetspeed={};
+}
+if(!jetspeed.site){
+jetspeed.site={};
+}
+jetspeed.site.getFolders=function(_1,_2){
+var _3=new jetspeed.site.FoldersListContentListener(_2);
+var _4="?action=getfolders&data="+_1;
+var _5=jetspeed.url.basePortalUrl()+jetspeed.url.path.AJAX_API+_4;
+var _6="text/xml";
+var _7=new jetspeed.om.Id("getfolders",{});
+jetspeed.url.retrieveContent({url:_5,mimetype:_6},_3,_7,jetspeed.debugContentDumpIds);
+};
+jetspeed.site.FoldersListContentListener=function(_8){
+this.notifyFinished=_8;
+};
+dojo.lang.extend(jetspeed.site.FoldersListContentListener,{notifySuccess:function(_9,_a,_b){
+var _c=this.parseFolders(_9);
+var _d=this.parsePages(_9);
+var _e=this.parseLinks(_9);
+if(dojo.lang.isFunction(this.notifyFinished)){
+this.notifyFinished(_b,_c,_d,_e);
+}
+},notifyFailure:function(_f,_10,_11,_12){
+dojo.raise("FoldersListContentListener error ["+_12.toString()+"] url: "+_11+" type: "+_f+jetspeed.formatError(_10));
+},parseFolders:function(_13){
+var _14=[];
+var _15=_13.getElementsByTagName("js");
+if(!_15||_15.length>1){
+dojo.raise("unexpected zero or multiple <js> elements in portlet selector xml");
+}
+var _16=_15[0].childNodes;
+for(var i=0;i<_16.length;i++){
+var _18=_16[i];
+if(_18.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _19=_18.nodeName;
+if(_19=="folders"){
+var _1a=_18;
+var _1b=_1a.childNodes;
+for(var pI=0;pI<_1b.length;pI++){
+var _1d=_1b[pI];
+if(_1d.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _1e=_1d.nodeName;
+if(_1e=="folder"){
+var _1f=this.parsePortletElement(_1d);
+_14.push(_1f);
+}
+}
+}
+}
+return _14;
+},parsePages:function(_20){
+var _21=[];
+var _22=_20.getElementsByTagName("js");
+if(!_22||_22.length>1){
+dojo.raise("unexpected zero or multiple <js> elements in portlet selector xml");
+}
+var _23=_22[0].childNodes;
+for(var i=0;i<_23.length;i++){
+var _25=_23[i];
+if(_25.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _26=_25.nodeName;
+if(_26=="folders"){
+var _27=_25;
+var _28=_27.childNodes;
+for(var pI=0;pI<_28.length;pI++){
+var _2a=_28[pI];
+if(_2a.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _2b=_2a.nodeName;
+if(_2b=="page"){
+var _2c=this.parsePortletElement(_2a);
+_21.push(_2c);
+}
+}
+}
+}
+return _21;
+},parseLinks:function(_2d){
+var _2e=[];
+var _2f=_2d.getElementsByTagName("js");
+if(!_2f||_2f.length>1){
+dojo.raise("unexpected zero or multiple <js> elements in portlet selector xml");
+}
+var _30=_2f[0].childNodes;
+for(var i=0;i<_30.length;i++){
+var _32=_30[i];
+if(_32.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _33=_32.nodeName;
+if(_33=="folders"){
+var _34=_32;
+var _35=_34.childNodes;
+for(var pI=0;pI<_35.length;pI++){
+var _37=_35[pI];
+if(_37.nodeType!=dojo.dom.ELEMENT_NODE){
+continue;
+}
+var _38=_37.nodeName;
+if(_38=="link"){
+var _39=this.parsePortletElement(_37);
+_2e.push(_39);
+}
+}
+}
+}
+return _2e;
+},parsePortletElement:function(_3a){
+var _3b=_3a.getAttribute("name");
+var _3c=_3a.getAttribute("path");
+return new jetspeed.site.FolderDef(_3b,_3c);
+}});
+jetspeed.site.FolderDef=function(_3d,_3e){
+this.folderName=_3d;
+this.folderPath=_3e;
+};
+dojo.inherits(jetspeed.site.FolderDef,jetspeed.om.Id);
+dojo.lang.extend(jetspeed.site.FolderDef,{folderName:null,folderPath:null,getName:function(){
+return this.folderName;
+},getPath:function(){
+return this.folderPath;
+}});
+
Added: portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.src.js
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.src.js?rev=605308&view=auto
==============================================================================
--- portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.src.js (added)
+++ portals/jetspeed-2/branches/JETSPEED-2.1.3/src/webapp/javascript/jetspeed/site.src.js Tue Dec 18 11:25:21 2007
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * author: Steve Milek
+ */
+
+// jetspeed javascript to help support site editor in both /portal and /desktop
+
+if ( window.dojo )
+{
+ dojo.provide( "jetspeed.site" );
+ dojo.require( "jetspeed.common" );
+}
+
+// ... jetspeed base objects
+if ( ! window.jetspeed )
+ jetspeed = {};
+if ( ! jetspeed.site )
+ jetspeed.site = {} ;
+
+
+jetspeed.site.getFolders = function(data, handler)
+{
+ var contentListener = new jetspeed.site.FoldersListContentListener(handler);
+ var queryString = "?action=getfolders&data=" + data;
+ var getPortletsUrl = jetspeed.url.basePortalUrl() + jetspeed.url.path.AJAX_API + queryString ;
+ var mimetype = "text/xml";
+ var ajaxApiContext = new jetspeed.om.Id( "getfolders", { } );
+ jetspeed.url.retrieveContent( { url: getPortletsUrl, mimetype: mimetype }, contentListener, ajaxApiContext, jetspeed.debugContentDumpIds );
+};
+
+
+// ... jetspeed.site.FoldersListContentListener
+
+jetspeed.site.FoldersListContentListener = function(finishedFunction)
+{
+ this.notifyFinished = finishedFunction;
+};
+
+dojo.lang.extend( jetspeed.site.FoldersListContentListener,
+{
+ notifySuccess: function( /* XMLDocument */ data, /* String */ requestUrl, domainModelObject )
+ {
+ var folderlist = this.parseFolders( data );
+ var pagesList = this.parsePages( data );
+ var linksList = this.parseLinks( data );
+ if ( dojo.lang.isFunction( this.notifyFinished ) )
+ {
+ this.notifyFinished( domainModelObject, folderlist,pagesList,linksList);
+ }
+ },
+
+ notifyFailure: function( /* String */ type, /* String */ error, /* String */ requestUrl, domainModelObject )
+ {
+ dojo.raise( "FoldersListContentListener error [" + domainModelObject.toString() + "] url: " + requestUrl + " type: " + type + jetspeed.formatError( error ) );
+ },
+
+ parseFolders: function( /* XMLNode */ node )
+ {
+ var folderlist = [];
+ var jsElements = node.getElementsByTagName( "js" );
+ if ( ! jsElements || jsElements.length > 1 )
+ dojo.raise( "unexpected zero or multiple <js> elements in portlet selector xml" );
+
+ var children = jsElements[0].childNodes;
+
+ for ( var i = 0 ; i < children.length ; i++ )
+ {
+ var child = children[i];
+ if ( child.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+ var childLName = child.nodeName;
+ if ( childLName == "folders" )
+ {
+ var portletsNode = child ;
+ var portletChildren = portletsNode.childNodes ;
+ for ( var pI = 0 ; pI < portletChildren.length ; pI++ )
+ {
+ var pChild = portletChildren[pI];
+ if ( pChild.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+
+ var pChildLName = pChild.nodeName;
+ if (pChildLName == "folder")
+ {
+ var folderdef = this.parsePortletElement( pChild );
+ folderlist.push( folderdef ) ;
+ }
+ }
+ }
+ }
+ return folderlist ;
+ },
+
+ parsePages: function( /* XMLNode */ node )
+ {
+ var pageslist = [];
+ var jsElements = node.getElementsByTagName( "js" );
+ if ( ! jsElements || jsElements.length > 1 )
+ dojo.raise( "unexpected zero or multiple <js> elements in portlet selector xml" );
+
+ var children = jsElements[0].childNodes;
+
+ for ( var i = 0 ; i < children.length ; i++ )
+ {
+ var child = children[i];
+ if ( child.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+
+ var childLName = child.nodeName;
+ if ( childLName == "folders" )
+ {
+ var portletsNode = child ;
+ var portletChildren = portletsNode.childNodes ;
+ for ( var pI = 0 ; pI < portletChildren.length ; pI++ )
+ {
+ var pChild = portletChildren[pI];
+ if ( pChild.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+
+ var pChildLName = pChild.nodeName;
+ if (pChildLName == "page")
+ {
+ var folderdef = this.parsePortletElement( pChild );
+ pageslist.push( folderdef ) ;
+ }
+
+ }
+ }
+ }
+ return pageslist ;
+ },
+
+ parseLinks: function( /* XMLNode */ node )
+ {
+ var linkslist = [];
+ var jsElements = node.getElementsByTagName( "js" );
+ if ( ! jsElements || jsElements.length > 1 )
+ dojo.raise( "unexpected zero or multiple <js> elements in portlet selector xml" );
+
+ var children = jsElements[0].childNodes;
+
+ for ( var i = 0 ; i < children.length ; i++ )
+ {
+ var child = children[i];
+ if ( child.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+
+ var childLName = child.nodeName;
+ if ( childLName == "folders" )
+ {
+ var portletsNode = child ;
+ var portletChildren = portletsNode.childNodes ;
+ for ( var pI = 0 ; pI < portletChildren.length ; pI++ )
+ {
+ var pChild = portletChildren[pI];
+ if ( pChild.nodeType != dojo.dom.ELEMENT_NODE )
+ continue;
+
+ var pChildLName = pChild.nodeName;
+ if (pChildLName == "link")
+ {
+ var folderdef = this.parsePortletElement( pChild );
+ linkslist.push( folderdef ) ;
+ }
+
+ }
+ }
+ }
+ return linkslist ;
+ },
+
+ parsePortletElement: function( /* XMLNode */ node )
+ {
+ var folderName = node.getAttribute( "name" );
+ var folderPath = node.getAttribute( "path" );
+ return new jetspeed.site.FolderDef( folderName, folderPath) ;
+ }
+});
+
+
+// ... jetspeed.site.FolderDef
+
+jetspeed.site.FolderDef = function( /* String */ folderName, /* String */ folderPath)
+{
+ this.folderName = folderName;
+ this.folderPath = folderPath;
+};
+
+dojo.inherits( jetspeed.site.FolderDef, jetspeed.om.Id);
+
+dojo.lang.extend( jetspeed.site.FolderDef,
+{
+ folderName: null,
+ folderPath: null,
+ getName: function() // jetspeed.om.Id protocol
+ {
+ return this.folderName;
+ },
+ getPath: function()
+ {
+ return this.folderPath;
+ }
+});
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org