Results 1 to 3 of 3

Thread: Displaying Pdfs in Extjs4 components

  1. #1
    Sencha Premium Member
    Join Date
    Nov 2011
    Posts
    107
    Vote Rating
    1
      0  

    Default Displaying Pdfs in Extjs4 components

    Greetings,

    I have a very strange problem in presenting PDFS in panels using extjs4. What I am using:

    I have a viewport. West region: a treepenel , and center: a tabpanel. By clicking each treenode, a new tab is created that holds the pdf document (using iframe). Now, when I first click a treenode a newly tab occupies the center section, but it is blank (no pdf is displayed). If a click a second treenode, a second tab is created and the correct pdf is displayed! Now, if I close the first tab (the blank one) and try to click again the treenode that is responsible for displaying that pdf, it is opening a new tab with the pdf in it. In general, if a close the fist tab (blank tab) and then click any treenode, the newly generated tabs will show the correct pdfs(only the first generated tab is the problem)!!!

    Notice that I cant use id in the iframe element because the tabs (the iframe is in them) are generated dynamically. As you already know you cannot use ids in components that might be instantiate many times in the apps lifecycle (trying the create a component with duplicate id)

    When I open firebug I see that the src that iframe uses to load the pdfs, is loaded with the correct link from the first treenode click. Notice firebug dont show any error.

    I need help on this. I dont know what to do. It is bugging me I month now.
    Below are code snippets from the controller and the view( that is responsible for displaying the pdfs):

    The Controller:

    Code:
    if (itsModel === "new_releases" && !tab){
    
                                                      
      tab = tabPanel.add(pdfPanel);                                                   
          tabPanel.setActiveTab(tab);
                                                        
      var tata = tabPanel.getActiveTab();
          var centPane = tata.query('pdfcenter');
              var lastCentPane = centPane[centPane.length-1];
                //var lastCentPane = centPane[0];
                      var itsView = lastCentPane.items.items[0].autoEl;
                         var itsViewId = lastCentPane.items.items[0].id;
                                                                                                      
      itsView.src = itsSrc; 
      }
    The View:

    Code:
    Ext.define('Ledger.view.membertab.PdfCenter', {
    
                      extend: 'Ext.panel.Panel',
                      alias: 'widget.pdfcenter',
                      
                      
                      items: {
                        xtype: 'box',
                        autoEl: { 
                                      tag: 'iframe',
                                      style: 'height: 100%; width: 100%; border: none',
                                      src: []
                        }
                      }
      });

    Thanks

  2. #2
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    9,389
    Vote Rating
    497
      0  

    Default

    If you evaluation your objects created in your controller, are they as expected on each load?
    First time vs all other loading times? It seems like something is not initialized at first run.

    Scott.

  3. #3
    Sencha Premium Member
    Join Date
    Nov 2011
    Posts
    107
    Vote Rating
    1
      0  

    Default

    Thank you for the reply. I have found a solution!
    Many thanks again
    Tom

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •