Where to put overrides and extensions ideally

  1. #1

    Where to put overrides and extensions ideally

    In my application I am using a number of overrides and extensions to the ext standard components and to load my navigation tree upon application start I am using :

        <ext:ScriptManager ID="ScriptManager1" Theme="Gray" runat="server">
            <Listeners>
                <DocumentReady Handler="NavTree.init();" />
            </Listeners>        
        </ext:ScriptManager>
    Could anyone please suggest what is the best way to keep all the extensions and overrides in order to keep them effective throughout the app. Can I add another <DocumentReady> tag inside this script manager to load another document with all the overrides before the tree loads ?


  2. #2

    RE: Where to put overrides and extensions ideally

    Hi sz_146,

    Can you include everything in a .js file and just include that within the <head> or your Page(s)?


    By default the ScriptManager will attempt to insert the scripts includes that it needs as the last item in the <head>. You can control the placement of the ScriptManager scripts by adding a <ext:ScriptContainer> control into the <head>.


    Example


    <ext:ScriptContainer runat="server" />

    Hope this helps.


    Geoffrey McGill
    Founder
  3. #3

    RE: Where to put overrides and extensions ideally

    Presently I am doing it like this. But when I put an extension into a .js file and add it to the head section and then try to use it elsewhere, it complains 'it is not a constructor', so then I have to paste the extension code just above where I need to use it and it works. This is how my head section and Script Manager Looks like currently :

    <head id="Head1" runat="server">
        <title>Clinicians Home</title>
        <link rel="stylesheet" type="text/css" href="CSS/mainstyle.css" />
        <link rel="stylesheet" type="text/css" href="JavaScript/ext-resources/css/ext-all.css" />
        <script type="text/javascript" src="JavaScript/ext-adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="JavaScript/ext-all.js"></script>    
        <script type="text/javascript">
            Ext.util.CSS.swapStyleSheet("theme", "JavaScript/ext-resources/css/xtheme-gray.css");      
        </script>
    
        <script type="text/javascript" src="JavaScript/DataStore.js" ></script>
        <script type="text/javascript" src="JavaScript/GlobalConstants.js" ></script> 
        <script type="text/javascript" src="JavaScript/GenericType.js"></script>
        <script type="text/javascript" src="JavaScript/RowExpander.js"></script>
        <script type="text/javascript" src="JavaScript/PanPanelExtension.js" ></script> 
        <script type="text/javascript" src="JavaScript/OrganisationEntity.js"></script>
        <script type="text/javascript" src="JavaScript/Library.js"></script>
        <script type="text/javascript" src="JavaScript/TypeMappings.js" ></script>
        <script type="text/javascript" src="JavaScript/JsonRpc.js"></script>
        <script type="text/javascript" src="JavaScript/json.js"></script>
        <script type="text/javascript" src="JavaScript/RpcTreeLoader.js"></script>
        <script type="text/javascript" src="JavaScript/NavTree.js"></script>
        <script type="text/javascript" src="JavaScript/form-handlers.js"></script>    
    </head>
    <body>
        <form id="form1" runat="server">
        <ext:ScriptManager ID="ScriptManager1" Theme="Gray" runat="server">
            <Listeners>
                <DocumentReady Handler="NavTree.init();" />            
            </Listeners>        
        </ext:ScriptManager>
    Please suggest any possible optimisation. thanks
  4. #4

    RE: Where to put overrides and extensions ideally

    The ScriptManager should be automatically rendering the ext-all.css, ext-base.js and ext-all.js files into the <head>. If you want manually add those files, then it's probably best to set RenderScripts="None" and RenderStyles="None" on the ScriptManager.*

    You shouldn't need the swapStyleSheet reference either. Depending on the scenario, it would be best just to <link> to the xtheme-gray.css file.*


    At some point it would be a good idea to merge as many of those .js files as you can. Each .js file reference you remove will mean one less request to the server.*


    Hope this helps.


    Geoffrey McGill
    Founder
  5. #5

    RE: Where to put overrides and extensions ideally

    Thank you Geoff. You have been a great help.

Similar Threads

  1. Replies: 3
    Last Post: Jun 04, 2011, 10:41 PM
  2. [CLOSED] Installing and Using Extensions
    By rthiney in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jul 01, 2010, 4:58 PM
  3. Coolite and ExtJS extensions
    By ravenEye in forum 1.x Help
    Replies: 6
    Last Post: Jul 09, 2009, 12:34 PM
  4. Extensions and Coolite
    By Dave.Sanders in forum Open Discussions
    Replies: 18
    Last Post: Sep 17, 2008, 5:03 PM

Posting Permissions