package org.brixcms.plugin.content.resource.admin;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.protocol.http.WebApplication;
import org.brixcms.jcr.wrapper.BrixNode;
import org.brixcms.plugin.content.ContentPlugin;
import org.brixcms.plugin.content.resource.FileResourceReference;
import org.brixcms.plugin.content.resource.image.admin.ManageImageTabFactory;
import org.brixcms.plugin.hierarchical.admin.NodeEditorPlugin;
import org.brixcms.plugin.site.SimpleCallback;
/**
* @author dan.simko@gmail.com
*/
public class ResourceNodePlugin implements NodeEditorPlugin {
public static final String TYPE = org.brixcms.plugin.site.resource.ResourceNodePlugin.TYPE;
public static final String WS_PARAM_NAME = "ws";
public static final String ID_PARAM_NAME = "is";
private static final String PATH = "content-plugin/${" + WS_PARAM_NAME + "}/${" + ID_PARAM_NAME + "}";
public ResourceNodePlugin(ContentPlugin contentPlugin) {
contentPlugin.registerManageNodeTabFactory(new ManageResourceNodeTabFactory());
contentPlugin.registerManageNodeTabFactory(new ManageImageTabFactory());
WebApplication.get().mountResource(PATH, FileResourceReference.INSTANCE);
}
@Override
public String getName() {
return "resource";
}
@Override
public String getNodeType() {
return TYPE;
}
@Override
public IModel<String> newCreateNodeCaptionModel(IModel<BrixNode> parentNode) {
return new ResourceModel("content-plugin.uploadFiles");
}
@Override
public Panel newCreateNodePanel(String id, IModel<BrixNode> parentNode, SimpleCallback goBack) {
return new UploadResourcesPanel(id, parentNode, goBack);
}
}