package com.idega.block.article.component.article_view; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.faces.context.FacesContext; import com.idega.block.article.business.ArticleConstants; import com.idega.block.web2.business.JQuery; import com.idega.block.web2.business.Web2Business; import com.idega.facelets.ui.FaceletComponent; import com.idega.idegaweb.IWBundle; import com.idega.idegaweb.IWMainApplication; import com.idega.presentation.IWBaseComponent; import com.idega.presentation.IWContext; import com.idega.util.CoreConstants; import com.idega.util.PresentationUtil; import com.idega.webface.WFUtil; /** * Only uploads images for now * @author alex * */ public class ArticleFileBrowser extends IWBaseComponent { public static final String PARAMETER_UPLOAD_PATH = "af-browser-upload-path"; @Override protected void initializeComponent(FacesContext context) { super.initializeComponent(context); IWContext iwc = IWContext.getIWContext(context); IWBundle bundle = iwc.getIWMainApplication().getBundle(ArticleConstants.IW_BUNDLE_IDENTIFIER); FaceletComponent facelet = (FaceletComponent)iwc.getApplication().createComponent(FaceletComponent.COMPONENT_TYPE); facelet.setFaceletURI(bundle.getFaceletURI("article-view/file-browser.xhtml")); add(facelet); addFiles(iwc); } private void addFiles(IWContext iwc){ List<String> scripts = new ArrayList<String>(); List<String> styles = new ArrayList<String>(); scripts.add(CoreConstants.DWR_ENGINE_SCRIPT); scripts.add(CoreConstants.DWR_UTIL_SCRIPT); Web2Business web2 = WFUtil.getBeanInstance(iwc, Web2Business.SPRING_BEAN_IDENTIFIER); if (web2 != null) { JQuery jQuery = web2.getJQuery(); scripts.add(jQuery.getBundleURIToJQueryLib()); List<String> tinyMceFiles = Arrays.asList("tiny_mce_popup.js"); scripts.addAll(web2.getBundleUrisToTinyMceScriptFiles("3.5b3",tinyMceFiles)); }else{ Logger.getLogger("ContentShareComponent").log(Level.WARNING, "Failed getting Web2Business no jQuery and it's plugins files were added"); } IWMainApplication iwma = iwc.getApplicationContext().getIWMainApplication(); IWBundle iwb = iwma.getBundle(ArticleConstants.IW_BUNDLE_IDENTIFIER); scripts.add(iwb.getVirtualPathWithFileNameString("javascript/article-view/ArticleFileBrowserHelper.js")); iwb = iwma.getBundle("com.idega.core"); scripts.add(iwb.getVirtualPathWithFileNameString("iw_core.js")); styles.add(iwb.getVirtualPathWithFileNameString("style/iw_core.css")); PresentationUtil.addJavaScriptSourcesLinesToHeader(iwc, scripts); PresentationUtil.addStyleSheetsToHeader(iwc, styles); } }