addStyleName(StaticResourceBundle.INSTANCE.coreCss().streamPluginsPanel());
HashMap<String, String> params = new HashMap<String, String>();
params.put("tab", "Plugins");
params.put("action", "newPlugin");
addPlugin = new Hyperlink("Add Plugin", Session.getInstance().generateUrl(new CreateUrlRequest(params)));
panel.addStyleName(StaticResourceBundle.INSTANCE.coreCss().gallery());
panel.addStyleName(StaticResourceBundle.INSTANCE.coreCss().galleryMaster());
panel.addStyleName(StaticResourceBundle.INSTANCE.coreCss().pluginsMaster());
galleryAddOrEditContainer.addStyleName(StaticResourceBundle.INSTANCE.coreCss().settingsTab());
this.add(panel);
addPlugin.addStyleName(StaticResourceBundle.INSTANCE.coreCss().addGadget());
panel.add(galleryPortalContainer);
panel.add(galleryAddOrEditContainer);
galleryPortalContainer.add(addPlugin);
// Calling this gadgets so it works with a GadgetMetaDataRenderer. Do NOT change to plugins.
pluginTab = new PagedListPanel("gadgets", new SingleColumnPagedListRenderer());
galleryPortalContainer.add(pluginTab);
pluginTab.addSet("All", PluginDefinitionModel.getInstance(), new PluginMetaDataRenderer(),
new GetGalleryItemsRequest("recent", "", 0, 0));
pluginTab.addSet("Internet Services", PluginDefinitionModel.getInstance(), new PluginMetaDataRenderer(),
new GetGalleryItemsRequest("recent", "Internet Services", 0, 0));
Session.getInstance().getEventBus().addObserver(GotGadgetMetaDataEvent.class,
new Observer<GotGadgetMetaDataEvent>()
{
public void update(final GotGadgetMetaDataEvent event)
{
pluginTab.render(new PagedSet<GadgetMetaDataDTO>(pluginsFrom, pluginsTo, pluginsTotal, event
.getMetadata()), "There are no plugins in this category.");
}
});
Session.getInstance().getEventBus().addObserver(GotPluginDefinitionModelResponseEvent.class,
new Observer<GotPluginDefinitionModelResponseEvent>()
{
public void update(final GotPluginDefinitionModelResponseEvent event)
{
pluginsFrom = event.getResponse().getFromIndex();
pluginsTo = event.getResponse().getToIndex();
pluginsTotal = event.getResponse().getTotal();
if (pluginsTotal == 0)
{
Session.getInstance().getEventBus().notifyObservers(
new GotGadgetMetaDataEvent(new LinkedList<GadgetMetaDataDTO>()));
}
else
{
GadgetMetaDataFetcher fetcher = // \n
new GadgetMetaDataFetcher(event.getResponse().getPagedSet());
fetcher.fetchMetaData();
}
}
});
Session.getInstance().getEventBus().addObserver(InsertedPluginDefinitionResponseEvent.class,
new Observer<InsertedPluginDefinitionResponseEvent>()
{
public void update(final InsertedPluginDefinitionResponseEvent arg1)
{
Session.getInstance().getEventBus().notifyObservers(
new UpdateHistoryEvent(new CreateUrlRequest(Page.SETTINGS, "tab", "Plugins")));
pluginTab.reload();
Session.getInstance().getEventBus()
.notifyObservers(
new ShowNotificationEvent(new Notification(
"Stream Plugin has been successfully added")));
}
});
Session.getInstance().getEventBus().addObserver(DeletedPluginDefinitionResponseEvent.class,
new Observer<DeletedPluginDefinitionResponseEvent>()
{
public void update(final DeletedPluginDefinitionResponseEvent arg1)
{
Session.getInstance().getEventBus().notifyObservers(
new ShowNotificationEvent(new Notification(
"Stream Plugin has been successfully deleted")));
}
});
Session.getInstance().getEventBus().addObserver(UpdatedHistoryParametersEvent.class,
new Observer<UpdatedHistoryParametersEvent>()
{
public void update(final UpdatedHistoryParametersEvent event)
{
if (event.getParameters().get("action").equals("newPlugin"))
{
galleryPortalContainer.setVisible(false);
galleryAddOrEditContainer.setVisible(true);
galleryAddOrEditContainer.clear();
String defaultCategory = null;
String defaultUrl = "";
String id = "";
FormBuilder form = new FormBuilder("Submit a Plugin", PluginDefinitionModel.getInstance(),
Method.INSERT);
form.turnOffChangeCheck();
form.setOnCancelHistoryToken(Session.getInstance().generateUrl(
new CreateUrlRequest(Page.SETTINGS, "tab", "Plugins")));
form.addFormElement(new ValueOnlyFormElement("id", id));
HTML infoMessage = new HTML(
"<span class='gallery-upload-note'><strong>Please Note:</strong><br />"
+ "Please be sure your XML file includes the required fields.<br />"
+ " You will not be able to upload the XML without the required"