/* * * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under * one or more contributor license agreements (see COPYRIGHT for details). * The CA licenses this file to you under the GNU Affero General Public * License version 3, (the "License"); you may not use this file except in * compliance with the License. This file is part of kune. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package cc.kune.gspace.client; import cc.kune.common.shared.i18n.I18n; import cc.kune.core.client.events.AppStartEvent; import cc.kune.core.client.events.AppStartEvent.AppStartHandler; import cc.kune.core.client.sitebar.search.SitebarSearchPresenter; import cc.kune.core.client.sn.actions.BuddyLastConnectedHeaderLabel; import cc.kune.core.client.sn.actions.WriteToBuddyHeaderButton; import cc.kune.core.client.state.HistoryTokenMustBeAuthCallback; import cc.kune.core.client.state.Session; import cc.kune.core.client.state.SiteTokenListeners; import cc.kune.core.client.state.SiteTokens; import cc.kune.gspace.client.armor.GSpaceArmor; import cc.kune.gspace.client.feedback.FeedbackBottomPanel; import cc.kune.gspace.client.i18n.I18nToTranslateGridPanel; import cc.kune.gspace.client.i18n.I18nTranslator; import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection; import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction; import cc.kune.gspace.client.options.GroupOptions; import cc.kune.gspace.client.options.UserOptions; import cc.kune.gspace.client.tags.TagsSummaryPresenter; import cc.kune.gspace.client.themes.GSpaceThemeManager; import cc.kune.gspace.client.tool.selector.ToolSelector; import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter; import cc.kune.gspace.client.viewers.ContentViewerPresenter; import cc.kune.gspace.client.viewers.FolderViewerPresenter; import cc.kune.gspace.client.viewers.NoHomePageViewer; import com.google.inject.Inject; import com.google.inject.Provider; // TODO: Auto-generated Javadoc /** * The Class GSpaceParts. * * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public class GSpaceParts { /** * Instantiates a new g space parts. * * @param session * the session * @param themeManager * the theme manager * @param armor * the armor * @param licenseFooter * the license footer * @param tagsPresenter * the tags presenter * @param toolSelector * the tool selector * @param noHome * the no home * @param docsViewer * the docs viewer * @param folderViewer * the folder viewer * @param go * the go * @param uo * the uo * @param siteSearch * the site search * @param transAction * the trans action * @param maxMinWorkspace * the max min workspace * @param feedbackPanel * the feedback panel * @param toTrans * the to trans * @param gtranslator * the gtranslator * @param translator * the translator * @param writeToBuddie * the write to buddie * @param lastConnectedBuddie * the last connected buddie * @param tokenListener * the token listener */ @Inject public GSpaceParts(final Session session, final GSpaceThemeManager themeManager, final GSpaceArmor armor, final Provider<EntityLicensePresenter> licenseFooter, final Provider<TagsSummaryPresenter> tagsPresenter, final Provider<ToolSelector> toolSelector, final Provider<NoHomePageViewer> noHome, final Provider<ContentViewerPresenter> docsViewer, final Provider<FolderViewerPresenter> folderViewer, final Provider<GroupOptions> go, final Provider<UserOptions> uo, final Provider<SitebarSearchPresenter> siteSearch, final Provider<SiteOptionsI18nTranslatorAction> transAction, final Provider<FeedbackBottomPanel> feedbackPanel, final Provider<I18nToTranslateGridPanel> toTrans, final Provider<I18nTranslatorTabsCollection> gtranslator, final Provider<I18nTranslator> translator, final Provider<WriteToBuddyHeaderButton> writeToBuddie, final Provider<BuddyLastConnectedHeaderLabel> lastConnectedBuddie, final SiteTokenListeners tokenListener) { session.onAppStart(true, new AppStartHandler() { @Override public void onAppStart(final AppStartEvent event) { armor.setRTL(I18n.getDirection()); licenseFooter.get(); tagsPresenter.get(); toolSelector.get(); docsViewer.get(); folderViewer.get(); siteSearch.get(); noHome.get(); // // Add User & Groups Options // final GroupOptionsCollection goc = gocProv.get(); // final UserOptionsCollection uoc = uocProv.get(); // Init go.get(); uo.get(); // i18n if (event.getInitData().isTranslatorEnabled()) { transAction.get(); } gtranslator.get().add(toTrans); // Feedback if (event.getInitData().isFeedbackEnabled()) { feedbackPanel.get(); } // Others writeToBuddie.get(); lastConnectedBuddie.get(); } }); tokenListener.put(SiteTokens.TRANSLATE, new HistoryTokenMustBeAuthCallback("") { @Override public void onHistoryToken(final String token) { if (session.isLogged() && session.getInitData().isTranslatorEnabled()) { translator.get().show(); } } }); } }