Alright,

Well I made the change and made sure JavaScriptStack returns javaScriptLibraries

Here is the markup at the bottom of home.tml

It still dont work.

This is for t-5.4 

I will try to shake this out .

If you have a sample deomnstrating this working above and beyond 5.3 I wold 
love to see it.

------------------------------------

</script><script src="/assets/meta/z8d348af1/tapestry5/require.js" 
type="text/javascript"></script><script 
src="/assets/meta/z12d98417/tapestry5/underscore-1.5.2.js" 
type="text/javascript"></script><script 
src="/assets/meta/zd746764f/tapestry5/t53-compatibility.js" 
type="text/javascript"></script><script 
src="/assets/meta/z8631d47d/tapestry5/jquery.js" 
type="text/javascript"></script><script 
type="text/javascript">require(["t5/core/pageinit"], function(pi) { pi([
  "/assets/meta/psi/z7584ae1a/mixins/date-time.js",
  "/assets/meta/psi/z8dee8f2b/mixins/Gallery.js",
  "/assets/meta/psi/zba28d564/mixins/TransparentText.js",
  "/assets/meta/psi/z182b3936/mixins/TransparentTextImage.js",
  "/assets/meta/psi/za58fd9c5/app.js",
  "/assets/meta/psi/z7584ae1a/mixins/date-time.js",
  "/assets/meta/psi/z8dee8f2b/mixins/Gallery.js",
  "/assets/meta/psi/zba28d564/mixins/TransparentText.js",
  "/assets/meta/psi/z182b3936/mixins/TransparentTextImage.js",
  "/assets/meta/psi/za58fd9c5/app.js",
  "/assets/meta/z8c24aeca/js/bower_components/bootstrap/js/bootstrap.js",
  
"/assets/meta/z4d846000/js/bower_components/angular-cookies/angular-cookies.js",
  "/assets/meta/z62fa7458/js/bower_components/angular-mocks/angular-mocks.js",
  
"/assets/meta/z4ba9064e/js/bower_components/angular-resource/angular-resource.js",
  "/assets/meta/z97f0edc9/js/bower_components/angular-route/angular-route.js",
  
"/assets/meta/z1ccb7eb9/js/bower_components/angular-scenario/angular-scenario.js",
  
"/assets/meta/ze32e99de/js/bower_components/angular-translate/angular-translate.js",
  
"/assets/meta/z4cd0a7c9/js/bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js",
  
"/assets/meta/z70475bfa/js/bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.js",
  "/assets/meta/za0803954/js/bower_components/angular/angular.min.js",
  "/assets/meta/psi/z3636d550/mixins/ngscripts/partialmodal.js",
  "/assets/meta/ze8aeab29/tapestry5/scriptaculous_1_9_0/dragdrop.js"
], [
  [
    "t5/core/pageinit:evalJavaScript",
    "Tapestry.DEBUG_ENABLED = true;"
  ],
  [
    "t5/core/pageinit:focus",
    "itemsPerPageSelect"
  ]
]); });</script></body>



---------------------------

package org.tynamo.psi.psi.services.javascript;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import org.apache.tapestry5.Asset;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Mapper;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.services.AssetSource;
import org.apache.tapestry5.services.javascript.JavaScriptAggregationStrategy;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
import org.apache.tapestry5.services.javascript.StylesheetLink;

public class CustomJavaScriptStack implements JavaScriptStack {

    public static final String ANGULAR_CORE_PATH = "angular.core.path";
    public static final String ANGULAR_VERSION = "angular.version";
    public static final String ANGULAR_PAGES_SUBPACKAGE = 
"angular.pages.subpackage";

    public static final String JAVASCRIPT_STACK_ANGULAR = "js-angular";
    public static final String CSS_STACK_ANGULAR = "css-angular";
    public static final String FONT_STACK_ANGULAR = "font-angular";

    public static final String JAVASCRIPT_STACK = "tapestry.javascript-stack";
    public static final String JAVASCRIPT_STACK_DEFAULT = "js-prototype";
    public static final String JAVASCRIPT_STACK_NONE = "js-none";
    
    /**
     * CustomJavascriptStack Constants
     */
    public static final String STACK_ID = "custom-javascript-stack";
    public static final String STACK_ROOT = 
"classpath:/META-INF/assets/js/bower_components";
    public static final String APP_ROOT = "classpath:/META-INF/assets/psi";
    
    public static final String ANGULAR_STACK_ROOT = STACK_ROOT + "/angular";
    public static final String BOOTSTRAP_STACK_ROOT = STACK_ROOT + "/bootstrap";
    public static final String BOOTSTRAP_CSS = BOOTSTRAP_STACK_ROOT + "/css";
    public static final String BOOTSTRAP_FONTS = BOOTSTRAP_STACK_ROOT + 
"/fonts";
    public static final String BOOTSTRAP_JS = BOOTSTRAP_STACK_ROOT + "/js";
    
    private final boolean productionMode;

    private List<Asset> assetStack = new ArrayList<Asset>(10);
    private final List<Asset> modulesStack = new ArrayList<Asset>(10);
    private final List<StylesheetLink> cssStack = new 
ArrayList<StylesheetLink>(5);
    private final List<Asset> dependencyStack = new ArrayList<Asset>(10);
    
    public CustomJavaScriptStack(
            @Symbol(SymbolConstants.PRODUCTION_MODE) final boolean 
productionMode,
            final AssetSource assetSource) {
        this.productionMode = productionMode;

        final Mapper<String, Asset> pathToAsset = new Mapper<String, Asset>() {

            public Asset map(String path) {
                return assetSource.getExpandedAsset(path);
            }
        };

        if (productionMode) {

            assetStack = F
                    .flow("${angular.core.path}/angular/angular.min.js",
                            
"${angular.core.path}/angular-route/angular-route.min.js",
                            
"${angular.core.path}/angular-resource/angular-resource.min.js")
                    .map(pathToAsset).toList();

        } else {
        
            assetStack = F
                    .flow(    APP_ROOT + "/mixins/date-time.js",                
                            
                            APP_ROOT + "/mixins/Gallery.js",                    
                        
                            APP_ROOT + "/mixins/TransparentText.js",            
                                
                            APP_ROOT + "/mixins/TransparentTextImage.js",       
                                     
                            APP_ROOT + "/app.js",
                            APP_ROOT + "/mixins/date-time.js",                  
                          
                            APP_ROOT + "/mixins/Gallery.js",                    
                        
                            APP_ROOT + "/mixins/TransparentText.js",            
                                
                            APP_ROOT + "/mixins/TransparentTextImage.js",       
                                     
                            APP_ROOT + "/app.js",
                            BOOTSTRAP_JS + "/bootstrap.js", 
                            STACK_ROOT + "/angular-cookies/angular-cookies.js",
                            STACK_ROOT + "/angular-mocks/angular-mocks.js",
                            STACK_ROOT + 
"/angular-resource/angular-resource.js",
                            STACK_ROOT + "/angular-route/angular-route.js",
                            STACK_ROOT + 
"/angular-scenario/angular-scenario.js",
                            STACK_ROOT + 
"/angular-translate/angular-translate.js",
                            STACK_ROOT + 
"/angular-translate-loader-static-files/angular-translate-loader-static-files.js",
                            STACK_ROOT + 
"/angular-translate-storage-cookie/angular-translate-storage-cookie.js",
                            ANGULAR_STACK_ROOT + "/angular.min.js"
                                        
                            )
                    .map(pathToAsset).toList();
            
        }

    }

    public String getInitialization() {
        return productionMode ? null : "Tapestry.DEBUG_ENABLED = true;";
    }

    public List<Asset> getJavaScriptLibraries() {
        return assetStack;
    }

    public List<StylesheetLink> getStylesheets() {
        return Collections.emptyList();
    }

    public List<String> getStacks() {
        return Collections.emptyList();
    }

    @Override
    public JavaScriptAggregationStrategy getJavaScriptAggregationStrategy() {
        return JavaScriptAggregationStrategy.COMBINE_ONLY;
    }

    @Override
    public List<String> getModules() {
        return Collections.emptyList();
    }

}

                                          

Reply via email to