You should look at the Script tab of Firebug or Chrome's tools to check whether a given .js file was loaded or not. In addition, adding a <script> tag with code inside is pretty bad form and not guaranteed to work, as Tapestry itself puts .js files included by it last in the page, after anything you've put in a template. Try JavaScriptSupport.addScript() instead or, better yet, create a .js file with the code ind @Import it.

By the way, it does seem to me now that you've declared your stack correctly, but didn't import it in your page, something I have been saying over and over . . .

On Fri, 09 Jan 2015 18:26:36 -0200, nhhockeyplayer nashua <nhhockeypla...@hotmail.com> wrote:

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();
    }

}

                                        


--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to