1. #41
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    Couple of other ideas...
    * Your sample did not include the module eval logic that it looks like you are building into it. This would be especially useful on the TinyMCE xtype that is available on the forum.
    * Is it possible that you can allow a ~ prefix to automatically load a module asynch (or on a timeout)
    ux.ModuleManager is included in ext-basex.js. It handles retrieval (asynch/synch behaviors) during loading as well as eval, callbacks, and native Ext events during those ops.

    You can pass in the new queuing options, too:
    Code:
    Ext.require('panel', 'grid',{async: true, queue:{name:'mods',priority:1}});
    All the glue is there.

    * (from earlier) Are you going to address the debugged version of js library files versus the minified ones? Ideally, there would be a global tag that would be checked.
    Again, thats a packaging decision based on the implementation. (I am not (nor will be) in the business of building custom packages )

    Kid in a candy store you are now !

    Keep in mind: this is all experimental and very part-time.
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  2. #42
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Thumbs up


    @jerryB --

    This:
    * This will add a feature at the right place and at the right time. Pages load faster when you lazy create objects which is the same reason of being of this module.

    * The need is there. There are plenty of heavy components such as ones for Flash, TinyMCE and GMaps when you absolutely need to load their dependencies at the right time or else you will greatly slow down your page load time.
    ...got me thinking again. With this in place:

    Code:
    Ext.require('widget-core', function(mod,success){
          if(success){
              var mgr = Ext.ComponentMgr;  // a singleton
              mgr.create = mgr.create.createInterceptor(
                   function(config, defaultType){
                         if(config.require){
                              Ext.require.apply(Ext,[].concat(config.require));
                              delete config.require;
                         }
                   });
          }
    });
    ...this might be possible (lazy rendering):

    Code:
      Ext.require('viewport', 'borderlayout', 'panel', function(mod,success){
    
         Demo.view = new Ext.Viewport({
             layout:'border',
             items:[
                new Ext.BoxComponent({ // raw element
                    region:'north',
                    el: 'header',
                    height:32
                }),
                {
                    region:'west',
                    require: 'tree' ,
                    id:'demos',
                    title:'Demos and Notes',
                    split:true,
                    width:200,
                    minSize: 175,
                    maxSize: 400,
                    collapsible: true,
                    cmargins:'5 5 5 5',
                    layout:'accordion',
                    layoutConfig:{
                         animate:false
                        ,activeOnTop : false
                        ,autoWidth: true
                        ,autoHeight: true
                        ,fill:true
                    },
                    defaults:{autoScroll:true},
                    items:[
                        {
                            id:'samples',
                            xtype:'treepanel',
                            autoScroll:true,
                            title: 'Media Samples',
                            loader: new Ext.tree.TreeLoader(),
                            rootVisible:false,
                            lines:false,
    
                            root: new Ext.tree.AsyncTreeNode({
                                text:'Online',
                                expanded:true,
                                children:sampleNodes
                            })
                       } ,
                       {
                            title: 'Hit Parade',
                            require: 'uxmedia' ,
                           ,id : 'hits'
                           ,xtype: 'mediapanel'
                           ,mediaCfg:{
                                 mediaType:'GIF'
                                 ,height:30
                                ,url:'speeddial.gif'
                                ,id:'odometer'
                                ,start : true
                            }
                        } ,
                         {
                           title    : 'Clock'
                          ,id       : 'clockPanel'
                          ,require: 'uxflash' 
                          ,xtype    : 'flashpanel'
                          ,autoHeight :  true
                          ,autoWidth: true
                          ,mediaCfg : {
                                mediaType:'SWF'
                                ,url: 'clock.swf'
                                ,id:  'clock'
                                ,start    : true
                                ,loop     : true
                                ,controls :true
                                ,height:130  //fixed height for aspect ratio
                                ,params: {
                                    wmode     :'transparent'
                                   ,scale     :'exactfit'
                                   ,salign    :'t'
                                }
                           }
                        }
    
                    ]
                 },
                 { xtype:'tabpanel',
                   require: 'tabs' ,
                   region:'center',
                   id    :'demoTabs',
                   activeTab: 0,
                   split:true,
    
                   enableTabScroll: true,
                   monitorResize: true,
                   autoDestroy:true,
    
                   defaults:{
    
                     closable      :true
    
                    }
                   ,items:[{title:'BackGrounder'
                           ,contentEl:'background'
                           ,autoScroll : true
                           ,closable:false
                           }]
    
                }
        ]
      });
    });
    Testing that now..
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  3. #43
    Ext User jerrybrown5's Avatar
    Join Date
    Sep 2007
    Location
    Port St Lucie, FL
    Posts
    185
    Vote Rating
    0
    jerrybrown5 is on a distinguished road

      0  

    Default


    Doug,
    Very, very nice. Candy anyone?!

    Best regards,
    Jerry Brown

  4. #44
    Ext User
    Join Date
    Jan 2008
    Posts
    30
    Vote Rating
    0
    maximumcoder is on a distinguished road

      0  

    Default Ext.ux.ModuleManager - helpp

    Ext.ux.ModuleManager - helpp


    Hi hendrico.. excellent addon to extjs...

    Im particularly interested in the Ext.ux.ModuleManager. Though have spent the entire weekend and the whole of monday too with no luck. Can you please please throw me a bone over here. I just need a small working example to get the ball rolling. Right now using the little code excerpt nothing works. No life, no errors, no exceptions no nothing. The app remains silent.. Help the brother out.. thanks

  5. #45
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    @maximumcoder -- Have a look at the adviframe.js included with ux.ManagedIframe (see sig below). It includes a working sample of using ModuleManager for injecting cached JS/CSS into iframes, but should outline the usage.
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  6. #46
    Ext User
    Join Date
    Jan 2008
    Posts
    30
    Vote Rating
    0
    maximumcoder is on a distinguished road

      0  

    Default


    thanks that helps a lot...

    though just out of curiousity... i had read earlier about the dependancy aware ext module loader. Hows the progress on that??? (translated to... eagerly waiting ) Thats what i really need coz my application is more or less using most of the features of the library and the initial load times are making my potential users crying hoarse :P

    thanks anyways..

  7. #47
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    Quote Originally Posted by maximumcoder View Post
    Hows the progress on that???
    The Synchro-XHR version is working very well, still working on the Asynch variant and trying to convert one of the /examples to use it. Admittedly, the licensing issues have forced me to re-evaluate priorities.
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  8. #48
    Sencha User fangzhouxing's Avatar
    Join Date
    Mar 2007
    Posts
    466
    Vote Rating
    1
    fangzhouxing is on a distinguished road

      0  

    Default


    I am confused about the difference between Ext.lib.Ajax.request and Ext.Ajax.request?

    When using ext-basex, I must use Ext.lib.Ajax.request instead of Ext.Ajax.request?

  9. #49
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    Quote Originally Posted by fangzhouxing View Post
    I am confused about the difference between Ext.lib.Ajax.request and Ext.Ajax.request?

    When using ext-basex, I must use Ext.lib.Ajax.request instead of Ext.Ajax.request?
    No. You'll continue to use either AJax interface. The ext-basex implementation enhances the standalone Ext adapter to provide new features that are transparent throughout the framework.

    With ext-basex in place, you have a few more request options available. Just pass them as you would any other but adding: async:false, queue:'best' etc...
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  10. #50
    Sencha User fangzhouxing's Avatar
    Join Date
    Mar 2007
    Posts
    466
    Vote Rating
    1
    fangzhouxing is on a distinguished road

      0  

    Default


    hi,hendricd,thank you for reply!

Thread Participants: 82

  1. galdaka (1 Post)
  2. Digital God (3 Posts)
  3. prophet (1 Post)
  4. alayasf (2 Posts)
  5. tof (1 Post)
  6. stever (3 Posts)
  7. mystix (4 Posts)
  8. fangzhouxing (6 Posts)
  9. ludoo (1 Post)
  10. KRavEN (4 Posts)
  11. DigitalSkyline (3 Posts)
  12. daemach (1 Post)
  13. violinista (1 Post)
  14. mlarese (1 Post)
  15. walker_cn (4 Posts)
  16. stevebla (4 Posts)
  17. Chris in Cambridge (1 Post)
  18. mjlecomte (2 Posts)
  19. ZooKeeper (10 Posts)
  20. brookd (1 Post)
  21. fermo111 (6 Posts)
  22. kevinwu8 (1 Post)
  23. Spirit (3 Posts)
  24. jerrybrown5 (4 Posts)
  25. lvanderree (8 Posts)
  26. Makor (4 Posts)
  27. yanick (1 Post)
  28. wm003 (10 Posts)
  29. radio1 (3 Posts)
  30. jphillips (2 Posts)
  31. markpele (2 Posts)
  32. Romantik (1 Post)
  33. Sander_S (4 Posts)
  34. maximumcoder (2 Posts)
  35. NotChris (6 Posts)
  36. ritchrs (2 Posts)
  37. sksoft (2 Posts)
  38. jvanantwerp (2 Posts)
  39. jfa (2 Posts)
  40. BlueCamel (1 Post)
  41. ClemsonJeeper (3 Posts)
  42. sp797 (1 Post)
  43. mahesh122 (2 Posts)
  44. zombeerose (12 Posts)
  45. jlowe (2 Posts)
  46. bt_bruno (2 Posts)
  47. pompom (4 Posts)
  48. Eric24 (18 Posts)
  49. baumschule (3 Posts)
  50. coderobo (3 Posts)
  51. krause (1 Post)
  52. mubenchi (1 Post)
  53. mrkadakia (3 Posts)
  54. tomim (4 Posts)
  55. canxss (2 Posts)
  56. tasman (3 Posts)
  57. mrsunshine (4 Posts)
  58. Trinad (2 Posts)
  59. jasonb885 (2 Posts)
  60. wki01 (5 Posts)
  61. mschwartz (2 Posts)
  62. sarathy (2 Posts)
  63. jdurante (1 Post)
  64. TomChiverton (1 Post)
  65. sumit.madan (2 Posts)
  66. Riemi (4 Posts)
  67. Henrik Rutzou (3 Posts)
  68. hairinwind (1 Post)
  69. gzlizp (1 Post)
  70. yuanqixun (2 Posts)
  71. larryaubstore (2 Posts)
  72. wupeng (2 Posts)
  73. blueram (1 Post)
  74. ronivcp (1 Post)
  75. t00bs (2 Posts)
  76. hyponym (4 Posts)
  77. mg2468 (3 Posts)
  78. scaddenp (1 Post)
  79. faith wins (3 Posts)
  80. aratcliffe (8 Posts)
  81. jhashe (3 Posts)
  82. jaufgang (1 Post)

Tags for this Thread