Search code examples
sproutcore

How to use sc_static() while programming


I am trying to display some Images which are in my local folder. I am getting the image name from a server through JSON. Based on that, I am constructing the Image path dynamically. However, the final image path will be changed by SC build tools. I know that we can use sc_static() in css or view's specifications to map it to the final path. How can I achieve that mapping (to final path from local path) while programmatically constructing my url.

Any ideas, suggestions and thoughts?


Solution

  • sc_static is not a javascript function, but rather a convention used to tell Abbot (Sproutcore's build tool, written in ruby) to replace it at runtime with a path pointing to the resource passed as first argument to sc_static. Note that this substitution is done by Abbot when the page is refreshed (in dev mode) or when the app is built (in prod mode). It is not a js function at all (use Chrome inspector to see it by yourself).

    If you want to use sc_static in JS you can define all resource references as such:

    YourApp.loadingIcon=sc_static('loading.png');
    YourApp.greenIcon=sc_static('green.png');
    

    and then reference the

    YourApp.loadingIcon , YourApp.greenIcon
    

    variables in your code.