blob: 70061348e363599aed01be58ed6afd634d976e4b [file] [log] [blame]
/*
* 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.
*/
cocoon.load("resource://org/apache/cocoon/portal/tools/ptm.js");
// Functions to modify the PortalLayout
// var layoutActions = new Packages.org.apache.cocoon.portal.tools.copletManagement.LayoutActions(portalLayout, componentManager.getLayoutFactory(), componentManager.getCopletFactory(), profileManager);
function showTab(showId) {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var portalLayout = portalObjects.getPortalLayout();
var portalService = portalObjects.getPortalService();
var componentManager = portalObjects.getComponentManager();
var profileManager = portalObjects.getProfileManager();
var safeLayout = portalLayout;
/* Use a copy of the Layout in the Tools - DOES NOT WORK ATM
var safeLayout = cocoon.session.getAttribute("safeLayout");
if(safeLayout == null) {
safeLayout = portalLayout.copy();
cocoon.session.setAttribute("safeLayout", safeLayout);
}
*/
var layoutActions = new Packages.org.apache.cocoon.portal.tools.copletManagement.LayoutActions(safeLayout, componentManager.getLayoutFactory(), componentManager.getCopletFactory(), profileManager);
var id = cocoon.request.id;
if(showId != null) {
id = showId;
}
if (id == null) id = "";
var action = cocoon.request.action;
var actionitem = cocoon.request.actionitem;
if(action == "del") {
layoutActions.del(actionitem);
}
if(action == "up") {
layoutActions.move(actionitem, true);
}
if(action == "down") {
layoutActions.move(actionitem, false);
}
if(action == "addCol") {
layoutActions.add(actionitem, "column");
}
if(action == "addRow") {
layoutActions.add(actionitem, "row");
}
if(action == "addTab") {
var form = new Form("cocoon:/model/addTab");
form.showForm("form/addTab/template");
var name = form.getChild("name").getValue();
if (actionitem == "maintab")
actionitem = "1";
layoutActions.addTab(actionitem, name);
}
if(action =="addCoplet") {
handleAddCoplets(actionitem, layoutActions);
}
if(action == "save") {
profileManager.saveUserProfiles(null);
}
/* save and restore functions if we work with a copy of the layout later.
if(action == "save") {
print("safe layout");
profileManager.storeProfile(safeLayout, null);
cocoon.session.setAttribute("safeLayout", null);
}
if(action == "restore") {
print("restore layout");
safeLayout = portalLayout.copy();
cocoon.session.setAttribute("safeLayout", safeLayout);
}
*/
cocoon.sendPage("page/showTab/" + id, {"layout" : safeLayout });
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}
function showXml() {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var portalLayout = portalObjects.getPortalLayout();
var bla = cocoon.request.foo;
cocoon.sendPage("layoutProfile/" + bla, {"layout" : portalLayout });
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}
function showCopletList(current, item) {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var profileManager = portalObjects.getProfileManager();
var coplets = profileManager.getCopletInstanceDatas();
cocoon.sendPage("jx/copletList.jx", {"coplets": coplets, "item" : item, "current" : current});
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}
function handleAddCoplets(parent, layoutActions) {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var portalService = portalObjects.getPortalService();
var profileManager = portalObjects.getProfileManager();
var form = new Form("cocoon:/model/addCoplet");
form.createBinding("form/addCoplet/binding.xml");
var coplets = profileManager.getCopletDatas();
form.load(profileManager);
form.showForm("form/addCoplet/template");
layoutActions.getSelectedCoplets(form.getChild("coplets"), coplets, parent);
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}
function selectSkin() {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var portalService = portalObjects.getPortalService();
var portalLayout = portalObjects.getPortalLayout();
var id = cocoon.request.id;
var skins = portalService.getSkinDescriptions();
if(id != null) {
for(var it = skins.iterator(); it.hasNext();) {
var skinName = it.next().getName();
if(skinName.equals(id))
portalLayout.getParameters().put("skin", skinName);
}
id = null;
}
cocoon.sendPageAndWait("jx/selectSkin.jx", {"skins" : skins});
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}
function editCoplet() {
var toolManager = getPTM();
var portalObjects = toolManager.getPortalObjects();
var portalService = portalObjects.getPortalService();
var portalLayout = portalObjects.getPortalLayout();
var componentManager = portalObjects.getComponentManager();
var profileManager = portalObjects.getProfileManager();
var layoutActions = new Packages.org.apache.cocoon.portal.tools.copletManagement.LayoutActions(portalLayout, componentManager.getLayoutFactory(), componentManager.getCopletFactory(), profileManager);
var copletId = cocoon.request.actionitem;
var backId = cocoon.request.id;
var instanceData = layoutActions.getCopletInstanceData(copletId);
var copletData = instanceData.getCopletData();
var copletType = instanceData.getCopletData().getCopletBaseData().getCopletAdapterName();
var visible = instanceData.getAttributes().get("visible");
if(visible == null) {
instanceData.getAttributes().put("visible", new Packages.java.lang.Boolean(true));
}
var which = "all";
if(copletType.equals("uri"))
which = "uriCoplet";
var form = new Form("cocoon:/model/editCoplet/" + which);
form.createBinding("form/editCoplet/" + which + "/binding.xml");
while(1) {
form.load(instanceData);
form.showForm("form/editCoplet/" + which +"/template", {"backId" : backId});
form.save(instanceData);
}
toolManager.releasePortalObjects(portalObjects);
relPTM(toolManager);
}