Dynamic Tab UI - Tab Removal Property

Hi,
Using JDev 11.1.2.4
Is there a way I can launch a tab and specify it to NOT have the close button?
Perhaps there is an additional property I can add to the TabContext or Tab class?
I can remove the close button by modifying the dynamicTabShell.jspx file, but I don't want this applied globally, just specific ones that I launch.
Thanks

Hi,
That's right, there's a Launcher class which I have access to.
Where do I specify that I want to launch a tab without a close tab? See below.
Sorry I don't know how much clearer I can make my question, unless I'm really not understanding the responses so far.
I want this functionality because I have a jsf page which immediately opens a tab. Now I just don't want the user to be able to close this tab, but any subsequent tabs they open should be able to close.
E.g.
  private void _launchActivity(String title, String taskflowId, boolean newTab)
    try
      if (newTab)
        TabContext.getCurrentInstance().addTab(
          title,
          taskflowId); // How can I change this so I can pass a parameter to specify whether the new tab should have a close button or not, if this is in fact the right place to do it
      else
        TabContext.getCurrentInstance().addOrSelectTab(
          title,
          taskflowId);
    catch (TabContext.TabOverflowException toe)
      // causes a dialog to be displayed to the user saying that there are
      // too many tabs open - the new tab will not be opened...
      toe.handleDefault();

Similar Messages

  • Spry Dynamic Tabs - reCAPTCHA is missing when loading external php file

    Hello,
    I have solved all my problems lately on this forum.
    But now im converting my site to use Dynamic tabs, and something goes wrong.
    The dynamic tabs load content from external files. It loads html but i think something goes wrong with php and my buttons.
    You need to know ALL is working perfect on the old site.
    2 problems;
    I dont know how to convert my buttons to this new style.
    I dont know why the reCAP suddently is missing.
    Why is reCAPTCHA missing?
    SOURCE HTML (index.html);
    <?php include("PHP/form.php"); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
         <title>Wientjes Voegwerk &amp; Renovatie - Home</title>
        <meta http-equiv="Content-Language" content="NL" />
         <meta http-equiv="imagetoolbar" content="no" />
         <meta name="MSSmartTagsPreventParsing" content="true" />
        <meta name="description" content="Wientjes Voegwerk en Renovatie is een voeg- en renovatiebedrijf gespecialiseerd in gevelrenovatie. Dagelijkse werkzaamheden zijn het voegen van nieuwbouwwerk, en alle voorkomende vormen van gevelrenovatie. Ik geef uw woning, garage of schoorsteen de aandacht die het verdient en ben trots op het resultaat van mijn werk!"/>
        <meta name="keywords" content="Voegwerk, Renovatie, Reinigen, Impregneren, Muur, Voegen, Steen, Woning, Garage, Schoorsteen, Bedrijf, Gevel, Wientjes, Uitslijten, Kappen, Fundering, Vorstschade, Metselen, Metselwerk, Vocht" />
        <meta name="author" content="Rob Nijlaan" />
        <link href="CSS/Style2.css" rel="stylesheet" type="text/css" />
        <script src="JAVASCRIPT/SpryTabbedPanels.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/SpryEffects.js" type="text/javascript"></script>
         <script src="JAVASCRIPT/SpryData.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/xpath.js" type="text/javascript"></script>
         <script type="text/javascript">
         <!--
         function FadeAndUpdateContent(ele, url){
              try {
                   Spry.Effect.DoFade(ele,{
                        duration: 500, from: 100, to: 0, finish: function() {
                             Spry.Utils.updateContent(ele, url, function() {
                                  Spry.Effect.DoFade(ele,{ duration: 500, from: 0, to: 100 });
              catch(e){ alert(e); }
         -->
         </script>
    </head>
    <body>
    <div id="WContainer">
      <div id="WHeader" align="center"> <img src="Art/VoegenRenLos.png" width="540" height="58" alt="Voeg en Renovatiebedrijf" /><br />
        <img src="Art/WientLogo.png" width="600" height="136" alt="Wientjes Voegwerk &amp; Renovatie" /> </div>
      <script type="text/javascript">
         var dsTabs = new Spry.Data.XMLDataSet("data/data.xml", "tabs/tab");
         function loadContent(panel,url){
              Spry.Utils.updateContent(panel,url);
         Spry.Data.Region.addObserver("example1Region",dateLoadedCallback);
         function dateLoadedCallback(notificationType, notifier, data){
              if (notificationType =="onPostUpdate"){    
                   row= dsTabs.getRowByRowNumber(0)
                   if(row){
                        loadContent('0',row.url)
         </script>
      <div id="example1Region" spry:region="dsTabs">
        <div id="dynamicTabs" class="TabbedPanels">
          <ul class="TabbedPanelsTabGroup" >
            <li spry:repeat="dsTabs" class="TabbedPanelsTab" onclick="loadContent('{ds_RowID}','{url}');" tabindex="0">{title}</li>
          </ul>
          <div class="TabbedPanelsContentGroup">
            <div spry:repeat="dsTabs" id="{ds_RowID}" class="TabbedPanelsContent"></div>
          </div>
        </div>
        <script type="text/javascript">
                var t1 = new Spry.Widget.TabbedPanels("dynamicTabs");
                 </script>
      </div>
      <div id="WFooter" align="center">
        <p class="footer">Wientjes Voegwerk &amp; Renovatie     ,    03- '02       »      Site by ;    <b>Rob Nijlaan</b></p>
      </div>
    </div>
    </body>
    </html>
    Dont mind the extra javascripts they are not used for now (like SpryEffects.js) its for future use.
    SOURCE XML (data.xml);
    <?xml version="1.0" encoding="UTF-8"?>
    <tabs>
        <tab>
            <title>
              tab 1
              </title>
            <url>../data/HOME.html</url>
        </tab>
        <tab>
            <title>Tab2</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab3</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab4</title>
            <url>../PHP/form.php</url>
        </tab>
    </tabs>
    The html file loads like it should be, but the php form has problems.
    See it yourself: http://www.wientjesvoegwerk.nl/index2.html
    The tab 1 displays a html file like it should.
    The tab 4 displays the contact form but you will see the reCAPTHCA is missing.
    I have really no clue why it happens, exept maybe its a PHP issue.
    Maybe the script isnt compatible with non-html documents...
    Can someone please tell me whats the problem and if there is a solution????
    How do i change this button?
    I used this in my previous site:
    <table class="Button"  >
         <tr>
         <td style="padding-right:0px" title ="Home">
         <a href="#" title="Home" style="background-image:url(/Buttons/Home.png);width:172px;height:75px;display:block;"><br/>
         </a></td>
         </tr>
    </table>
    But the dynamic script uses {title} to get the <title> out of the xml.
    I tryd to put this straight into the title tags in the xml but obviously it wont work.
    And i really dont have a clue how to change this.
    My button has a mouseover img. Basicly its 2 buttons in 1 img stacked on top of each other.
    Like this: http://www.wientjesvoegwerk.nl/Buttons/contact.png
    Because of the CSS script it hovers to the right position.
    Part of SOURCE CSS (Style.css)
    .Button a{display:block;}
    .Button a:hover{background-position:left bottom;}
    a.Button {display:none}
    How can i change the xml and the script so "title" can be replaced with the button.
    Or how can i change the button so the mouseover works and the script still takes the button-img from the xml???
    Any help would be nice, because im finnaly in a postition to finish this site, and this is the only blockade left to conquer...

    Maybe it is not liking that the index page is an HTML page and not a PHP page. Try this way:
    In your form.php, remove the following code:
    <?php
    require_once('recaptchalib.php');
    $publickey = "6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"; // you got this from the signup page
    echo recaptcha_get_html($publickey);
    ?>
    Replace it with:
    <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"></script>
        <noscript>
              <iframe src="http://api.recaptcha.net/noscript?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm" height="300" width="500" frameborder="0"></iframe><br/>
              <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
              <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
        </noscript>
    The replacement code is the same code that is outputted from the recaptchalib.php file.

  • Dynamic tabs in a DeskI report

    Does anyone have experience dynamically creating tabs in a Deski report?  For example, we would like to show sales by store where each store has its own tab.  We would like a tab to be created and visible only when the store has data that is returned from the query.  We are trying to accomplish this via VBA.  We have successfully done this in Excel using VBA but can't seem to find the matching tab.visible property in BO Deski VBA.  We would rather not hard-code filters for each tab as the list of stores changes as the criteria for the query (ie. year/quarter) changes.
    Thanks for any help you can provide.

    Hi Guillermo,
    Welcome to SDN.
    You can have dynamic tabs by placing the <htmlb:tabStripItem> in a loop in the layout:
    <% loop at tabstrip_tab. %>
      <htmlb:tabStripItem index="<%=tabstrip_tab-index%>" etc. />
    <% endloop. %>
    Where tabstrip_tab contains the details of the tabstrip items.
    Regards,
    Patrick.

  • Dynamic Tabs & PDF form display cause IE CPU up and PC hang

    Hi Experts,
    I create dynamic tabs and inside each tab I create interactive form with PDF data inside to display PDF. After running for a while,  the CPU goes up and PC hang. What could be the problem for this? (I'm  using IE7)
    Thanks,
    - Anthony -

    Hi Thomas,
    Thank you for your reply!
    I've re-designed it in a way that only one instance of Adobe Reader in the current selected tab. Whenever user choose another tab, I remove Adobe Reader from that tab and create in the new selected tab. The problem still exists. I don't know what and where exactly problem is. This is excerpt code in WDDOMODIFYVIEW to remove interactive form first and all tabs later. Do you see any problem with this piece of code?
    Be noted that the IE get hang only (CPU 100%) when I run it for a while, meanings select selecte items in view1 and pdf preview in view2, back to view 1 to select other items go to view2 to preview pdf....
    data: lo_f             type ref to cl_wd_interactive_form,
             lo_tabstrip  type ref to cl_wd_tabstrip,
             lo_tab        type ref to cl_wd_tab,
            ls_pdftab    type wd_this->element_pdftab.
    if lo_tabstrip->has_tabs( ) = 'X'.
        " Remove adobe reader in the old tab
        if ls_pdftab-old_tab is not initial.
          lo_tab  = lo_tabstrip->get_tab( id = ls_pdftab-old_tab ).
          if lo_tab is not initial.
            lo_f ?= lo_tab->get_content( ).
            if lo_f is not initial.
              lo_f->unset__parent( ).
              lo_f->unregister_from_view( ).
              free lo_f.
            endif.
          endif.
        endif.
        " Remove all tabs
        lo_tabstrip->remove_all_tabs( ).
      endif.
    Thanks,
    - Anthony -

  • UI Dynamic Tabs Shell - Child Taskflow not rendering / instantiated

    Hi All,
    I have had this problem, ever since rebuilding my application using Jdev 11.1.2, although I am not convinced this is a problem with Jdveloper verison.
    Basically, I have developed the UI to open new task flows as dynamic tabs, making use of the tab context API as published. The application works perfectly and I can create new dynamic tabs and close them fine.
    Once I add a data control af:table to the child taskflow however and display this, the taskflow opens fine. The weird behavior begins, after I close this, using the standard UI removecurrent tab icon (the little x to the far right of the form), I cannot re-open another task flow. A new tab is created, however the taskflow within this (one being called) does not render or instantiate.
    If I remove the table from the page fragment, normal behavior resumes.
    I am at a complete loss as to why this is occurring.
    Any insights would be great.
    I would also like to point out... no errors are written to the log, even at the Finest level. The launch method also completes successfully. If I don't close, I am only able to open a maximum of 3 tabs before the render issue occurs.
    Cheers,
    Simo
    Edited by: Simo on Oct 30, 2011 10:38 PM

    Hi Frank,
    Well you were right, this was an implementation issue, but one being caused by some different behaviour in 11.1.2. I was actually setting the tab_id dynamically after the user has selected a row, via clicking a link. The ID was returning null hence the weird tab behaviour.
    Ironically, it was actually another recent note that you have posted http://blogs.oracle.com/jdevotnharvest/entry/jdeveloper_11_1_2_command that led me to the solution!!
    So thanks inadvertently !!
    Cheers,
    Simo

  • How to create Dynamic Tab in ADF, to achive multiple transaction at a time

    Hi,
    I want to create Dynamic tab in ADF, to achieve Multiple transaction at a time by opening new tab for a transaction.
    For Example: User can order multiple product at the same time by opening the order form in multiple TAB.
    Scenario:
    i) When user will click on addNewTab, new tab will be added.
    ii) If user Click on close btn on Tab, Tab will be closed (Transaction will be removed).
    iii) user can save all transaction( can save multiple product Order in different tab.)
    iv) when user select any product in form, Rename the Tab name as well.
    Need Help on this :(
    Thanks & Regards
    Pratap Rudra

    Hi Rudra,
    You can implement all your problem using Tab API .
    When you are closing the tab you can roll back transaction which you want.
    Tab API will give control over closing and opening tab.
    And also you can give tab name while opening the tab.
    Thanks
    Prateek

  • Multiple TaskFlow instances in the UIShell - popup and dynamic tab

    Hi all,
    I have strange situation with JDev 11.1.1.6
    First, I run the one, fragment based, bounded TF (named TF_A) in the one dynamic tab.
    Also, run another TF (named TF_B) in the second dynamic tab.
    Then, from that second dyn tab, I run second instance of the first TF, so TF_A, this time as a static region in the af:popup.
    However, the instance in the popup does not show the jsf fragment at all.
    This occurs _only when another instance of the same TF is already running elsewhere (on the first dynamic tab)
    Otherwise, the TF_A in the popup behaves properly.
    The TF_A does not have Controller transaction, and this behavior does not depend on the Sharing Data Controll setting. Is the same in both cases.
    I am able to close the popup, and the application continues to behave normally.
    Of course, there is no stackTrace anywhere.
    Any advice ?
    Anyone ?
    Edited by: Cvele_new_account on Mar 1, 2013 4:08 AM

    Hi Frank, thanks for response.
    Do you think that somehow in my case there is only one instance of the TF_A ?
    Here is relevant settings for my popup containing static region with TF_A
              <af:popup id="pB55" contentDelivery="lazyUncached"
                        popupFetchListener="#{myBean.crudPopupFetchListener}"
                        autoCancel="disabled" childCreation="deferred">
                <af:panelWindow ...>
                  <af:region value="#{bindings.TF_A.regionModel}" id="r6"
                </af:panelWindow>
              </af:popup>myBean.crudPopupFetchListener :
       //Task flow activation code (for the TF binding 'active' property  bellow)
       pageFlowScope.put("pB55", "true);
       // code for setting the TF parameters:
       .....and here i setting for TF_A binding from the pageDef:
        <taskFlow id="TF_A"
                  taskFlowId="..."
                  activation="conditional"
                  xmlns="http://xmlns.oracle.com/adf/controller/binding"
                  Refresh="ifNeeded" active="#{pageFlowScope.pB55 eq true}">
          <parameters>
          </parameters>
        </taskFlow>

  • Open dynamic tab from remote page

    Hi!
    I have a question. We use JDeveloper 11.1.2.1.0
    We are using dynamicTabShell template for dynamic tabs managment in our application. Everything works as it should if page is using dnymicTabShell template. But...
    I would like to have a Home.jspx that would load when client logs in. Home should be a special page without dynamic tabs support. I would like to have quick links on Home.jspx that would open certain page and bounded task flow with page fragments in application. How can I achieve that? Do I have to enable URL invoke property? Problem is, we implemented custom security that checks if client has proper permissions before task flow is launched through _launchActivity* method in launcher.java. URL invokation would make security more complex.
    In fewer words: Is there's a way of opening certain tab in application from page that does not use dynamicTabShell template? Or do I have to enable URL invoke property on bounded task flows with page fragments? How can I then check permissions if task flow is reachable through URL.
    I hope I'm being clear.
    Regards, Marko

    OK, is there no other way of opening a bounded task flow with page fragments in a page (which is using dynamicTabShell template) from other page that is not using dynamicTabShell template?
    Maybe calling _launchActivity in beforePhase is completely wrong approach, because "java.lang.NullPointerException: UIComponent is null" is returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to focus and navigate the  UIShell Dynamic Tabs through keyboard

    Hi,
    I am using the UIShell which will have the Dynamic tab concept. Here i need to give the keyboard navigation for focusing and navigating between the Dynamic tabs. I have given By providing the access Key concept, By sending the tab(task flow) title preceding with the & and title am displaying through the textAndAccesKey attribute. But in dynamic tab concept, i should not use this, since am allowing the user can open same task flow more than once(with single accesskey multiple tabs will be there). is there any other possibility of quick access without using the accesskey concept like how the IE and Mozilla tab navigation will works by pressing the CTRL+TAB.
    Regards,
    Brahma...
    Edited by: Brahma on Aug 13, 2010 3:37 AM

    Hi,
    the solution is a bit ore complex, so here's the outline
    1. Create an af:serverListener on the page that can be called to send messages to a managed bean on the server (see chapter 5 of the web developer guide to learn about af:serverListener).
    2. Add the following script to a JS library that you reference from af:resource on the page
    function registerKeyBoardHandler(serverListener, afdocument) {
        _serverListener = serverListener;
        var document = AdfPage.PAGE.findComponentByAbsoluteId(afdocument);
        _document = document;
        for (var i = keyRegistry.length - 1; i >= 0; i--)
          var keyStroke = AdfKeyStroke.getKeyStrokeFromMarshalledString(keyRegistry);
    AdfRichUIPeer.registerKeyStroke(document, keyStroke, callBack);
    function callBack(keyCode) {
    var activeComponentClientId = AdfPage.PAGE.getActiveComponentId();
    //send the marshalled key code to the server listener for the developer
    //to handle the function key in a managed bean method
    var marshalledKeyCode = keyCode.toMarshalledString();
    // {AdfUIComponent} component Component to queue the custom event on
    // {String} name of serverListener
    // {Object} params a set of parameters to include on the event.
    // {Boolean} immediate whether the custom event is "immediate" - which will cause it
    // to be delivered during Apply Request Values on the server, or not immediate, in which
    // case it will be delivered during Invoke Application.
    //Note that if one of the keyboard functions is to create ADF bound rows, immediate must be set
    //to false. There is no option yet for the ClientEvent to be queued for later - InvokeApplication
    //- on the server.
    AdfCustomEvent.queue(_document,_serverListener,{keycode:marshalledKeyCode, activeComponentClientId:activeComponentClientId},false);
    //indicate to the client that the key was handled and that there
    //is no need to pass the event to the browser to handle it
    return true;
    3. The JavaScript file also contains the registry of keys you want to listen for
    var keyRegistry = new Array();
    keyRegistry[0]="F1";
    keyRegistry[1]="F2";
    keyRegistry[2]="F3";
    keyRegistry[3]="F4";
    keyRegistry[11]="alt 2";
    4. on the beforePhase property on the f:view tag of the page, reference a managed bean method like thispublic void registerKeyboardMapping(PhaseEvent phaseEvent) {
    if(phaseEvent.getPhaseId() == PhaseId.RENDER_RESPONSE){
    FacesContext fctx = FacesContext.getCurrentInstance();
    ExtendedRenderKitService erks = Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
    List<UIComponent> childComponents = fctx.getViewRoot().getChildren();
    //First child component in an ADF Faces page - and the only child - is af:document
    //Thus no need to parse the child components and check for their component family
    //type
    String id = ((UIComponent)childComponents.get(0)).getClientId(fctx);
    StringBuffer script = new StringBuffer();
    script.append("window.registerKeyBoardHandler('keyboardToServerNotify','" + id +"')");
    erks.addScript(fctx, script.toString());
    The "keyboardToServerNotify" name is the name my af:serverListener component has
    5. The serverListener defined on the page<af:serverListener type="keyboardToServerNotify"
    method="#{viewScope.keyboardMappingHandler.handleKeyboardEvent}"/>
    The above codes send the marshalled string for all pressed keys (that you have registered) to the server (the method configured for the serverListener. This way you can now on the server handle the keys and the
    component the key is pressed on. To register dynamic tabs in the UI Shell (the part I did not yet implement) is to have a keyboard shortcut to register a key for a tab and then another keyboard shortcut to invoke a
    method (disclosed) on a tab is the registered key is pressed.
    Hope this helps.
    Frank
    Ps.: The full sample is part of my OOW demo (September) which I am currently preparing for. Once OOW is over and the dust has settled, I'll document the full sample and release it on ADF Coder Corner with a sample workspace to try                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Switching dynamic tabs causes loss of entered values

    I am running into a fundamental issue with dynamic tabs.
    When the user has multiple tabs open, and he is busy entering values in one tab, and then switches to another tab without saving the values in the first tab, the entered values in the first tab are lost when the user triggers at least one http request in the new tab. If the user switches to the new tab, does not do anything and returns immediately to the first tab, the entered values are still there. I understand that the JSF model update phase is skipped when switching tabs because immediate="true". But the apply request values phase is still performed, so the UI components should still have the submitted value. Somehow, these values get lost when a subsequent request is send while those UI components are no longer visible. I tried changing the rendered property of the regions in the page template to "visible" so the UI components are kept in the component tree, but that didn't help.
    Th idea of temporarily switching to another task, similar to switching browser tabs, is undermined with this behavior because end users don't like it when some of their work is lost.
    Does anybody know a solution for this problem?
    Thanks,
    Steven.

    I think you need to use static instead of dynamic regions that way you can keep the region modification across all the tabs. The visible property on the regions some how its not working for me so I am surronding each region with PageGroupLayout and setting the visible property to it and set rendered property to region. The visible property and rendered property condition can be controlled by the tab action.

  • Dynamic Tab UI Shell: Navigation inside Tab

    Hi,
    By using Dynamic Tab UI shell, I have created a page, inside this page, task flows are opened as Tabs.
    I have opened two tabs TabA and TabB.
    I clicked on TabA, press keyboard tab, it goes to TabB instead of navigating inside TabA.
    I could navigate to last opened tab's contents only.
    Could anybody suggest how can I navigate inside a Tab, instead of navigating to all the opened tabs.
    Thanks,
    Vinod

    Sorry for so much delay. Finally, got some time to play with the template and downloading the dynamicTabTemplate source code and overriding the closeIcon worked like a charm.
    Let me summarize what I did to help someone who is looking for this :)
    1) Downloaded the source code for dynamicTabTemplate
    2) Added and additional attribute closeTab to the template
    +<attribute>+
    +<attribute-name>closeTab</attribute-name>+
    +<attribute-class>java.lang.String</attribute-class>+
    +<required>+
    true
    +</required>+
    +</attribute>+
    2) edited the dynamicTabShell.jspx, closeIcon commanlink actionListener to be bound to "#{viewScope.tabContext.closeIcon}"
    3) Implemented the closeIcon method in TabContext
    +@Override+
    +public void closeIcon(ActionEvent actionEvent) {+
    CloseIconInterface bean = getBean();
    bean.closeIcon(actionEvent);
    +}+
    4) Generated the jar.
    5) Removed the oracle provided default dynamicTabTemplate jar and instead added my custom generated jar to the application
    6) Applied the new template
    7) Set all the attributes along with the new closeTab attribute. This would take the BackingBean name...example: <f:attribute name="closeTab" value="#{xxxScope.xxxBean}"/>
    8) Made xxxBean to implement CloseTabInterface
    9) Implemented the closeIcon method with custom code to confirm page close before removing the Tab.
    However like you said, i'll keep tab on future updates to the default tab template updates to not miss any bug fixes or enhancements.
    Thanks everyone who looked into this for me and Hope this helps someone else :)...Good luck !

  • Printable Behavior , Dynamic Tab Shell, Tree

    hi,
    1). I have a Adf readonly table in a panel collection. I added 'show printable behavior' in menu item. When i press print button it is displaying only 25 records, where as i have 700 records displayed in the adf read only table.
    2). I am using Oracle dynamic tab shell for Menu. How do i remove 'oracle logo' and 'navigation shell' from the top of the page.
    3). what is the java equivalent number format for '999,999,999.99'. I use this format in Forms10g, but in adf this format is not working.
    4). I have 2 input filed in a panel form layout. I am unable to change the width of the filed.
    5). How to change the funnel graph color conditionally.

    3). what is the java equivalent number format for '999,999,999.99'. I use this format in Forms10g, but in adf this format is not working.The formatter used is not valid.
    Use the right formatter as follows:
    <af:form id="f1">
    <af:outputText value="123456789.1234" id="ot1">
    <af:convertNumber type="number" pattern="###,###,###.##"/>
    </af:outputText>
    </af:form>
    For more details regarding formatting, look into the following:
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_convertNumber.html
    http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html
    Thanks,
    Navaneeth

  • Dynamic Tab UI Shell - close tab action & number of open tabs control

    Hi,
    I browsed through the forum, but could not get hold of any concrete solution for the question on how to capture the close tab action event and perform some action on that?
    The below thread discusses my question but does not appear to have a proper solution
    Re: Dynamic Tab UI Shell: controlling the Close icon
    And one other question is, currently in the TabContext the number of open tabs is set to 15 limit. How can I override that such that I do not allow more than 7 tabs open at a time?
    Please help me with the above two queries. Thanks !
    Regards,
    SS

    Sorry for so much delay. Finally, got some time to play with the template and downloading the dynamicTabTemplate source code and overriding the closeIcon worked like a charm.
    Let me summarize what I did to help someone who is looking for this :)
    1) Downloaded the source code for dynamicTabTemplate
    2) Added and additional attribute closeTab to the template
    +<attribute>+
    +<attribute-name>closeTab</attribute-name>+
    +<attribute-class>java.lang.String</attribute-class>+
    +<required>+
    true
    +</required>+
    +</attribute>+
    2) edited the dynamicTabShell.jspx, closeIcon commanlink actionListener to be bound to "#{viewScope.tabContext.closeIcon}"
    3) Implemented the closeIcon method in TabContext
    +@Override+
    +public void closeIcon(ActionEvent actionEvent) {+
    CloseIconInterface bean = getBean();
    bean.closeIcon(actionEvent);
    +}+
    4) Generated the jar.
    5) Removed the oracle provided default dynamicTabTemplate jar and instead added my custom generated jar to the application
    6) Applied the new template
    7) Set all the attributes along with the new closeTab attribute. This would take the BackingBean name...example: <f:attribute name="closeTab" value="#{xxxScope.xxxBean}"/>
    8) Made xxxBean to implement CloseTabInterface
    9) Implemented the closeIcon method with custom code to confirm page close before removing the Tab.
    However like you said, i'll keep tab on future updates to the default tab template updates to not miss any bug fixes or enhancements.
    Thanks everyone who looked into this for me and Hope this helps someone else :)...Good luck !

  • Different Tab Icons in Dynamic Tab Shell

    I am working on a custom implementation of the Dynamic Tab Shell.  I am opening tabs dynamically and want the icons on those tabs to also be dynamic based on the type of object contained in the tab.  The problem is as soon as I change the tab icon, it changes all the tab icons, not just the current tab's icon.  Is there anyway to preserve the icons on the already open tabs and only set the icon on the new tab?
    JDeveloper 11g R2 (11.1.2.4.0)
    Here is my code:
    dynamicCustomTabShell.jspx (my own customized version):
            <attribute>
              <attribute-name>tabIcon</attribute-name>
              <attribute-class>java.lang.String</attribute-class>
              <default-value>/images/default_icon.png</default-value>
            </attribute>
            <f:facet name="nodeStamp">
               <af:commandNavigationItem id="tabIndex" rendered="#{tab.active}"
                                                          actionListener="#{viewScope.tabContext.tabActivatedEvent}"
                                                          remove="inherit"
                                                          icon="#{attrs.tabIcon}"                                           
                                                          itemListener="#{backingBean.closeCurrentActivity}"
                                                          partialSubmit="true" text="#{tab.title}" immediate="true">
                   <f:attribute name="tabIndex" value="#{tab.index}" />
                </af:commandNavigationItem>
             </f:facet>
    myPage.jspx (my primary page):
    <af:pageTemplate viewId="/pageTemplates/dynamicCustomTabShell.jspx" value="#{bindings.ptb1}" id="pt1">
       <f:attribute name="tabIcon" value="backingBean.tabIcon"/>
    BackingBean.java (my backing bean):
    public String getTabIcon() {
         // functionality which determines the appropriate icon path based on the item type

    Hi,
    the bean that sets the icons should be in view scope at minimum because if this is in request it will reset it value with each request. But your code has another flaw as well:
    <af:pageTemplate viewId="/pageTemplates/dynamicCustomTabShell.jspx" value="#{bindings.ptb1}" id="pt1">
       <f:attribute name="tabIcon" value="backingBean.tabIcon"/>
    This doesn't set the tab icon per tab but per page call when the template is applied. So if the icon should be content dependent then the icon needs to be set by individual tab rendering which means that you need to have a managed bean that is of view scope and that holds a map of icons. E.g
    HashMap<String, String> icons = new HashMap<Srting, String>();
    icons.set("tab1","myLovelyIcon1.jpg");
    icons.set("tab2","myLovelyIcon2.jpg");
    If you keep the tab index synchron with the task flow binding you assign to it you extend the default API for opening a tab allowing developers to pass a custom tab icon. If this is provided as not null, you look at the task flow binding index and update the icon map. If the value is null you need to set the default icon
    Frank

  • Using Dynamic Tabs in 11gR2 doesn't seem to work.

    Hi there,
    I'm trying to use the Dynamic Tabs Template in an ADF 11.1.2.3 application using JHeadstart 11.1.2.1.28.
    According to the developerguide section 9.3.1. (Enabling Dynamic Tabs) it should be rather easy to do this.
    Set PageTemplate to : /common/pageTemplates/JhsDynamicTabsPageTemplate
    Set datacontrolscope to : Isolated
    Set Default group Usage to : Region with Page Fragments.
    Set Default group Region Access to : Common UI Shell Page.
    I use facelets as viewtechnology.
    Generating the application works fine.
    Running the application results in an error at startup :
    Error 500--Internal Server Error
    java.io.FileNotFoundException: /common/regions/DynamicTabs.jsff Not Found in ExternalContext as a Resource
    The pagetemplate can't find the reference. The file is nowhere near /common/regions/DynamicTabs.jsff. I actually cannot find it at all.
    I can reproduce this behavior on two different workstations.
    All of the above works smoothly in 11gR1.
    I think it's a bug, at least it looks like it.
    What do you think ?
    Regards Luc

    Hi Steven,
    it is time for "Ripley's believe it or not" I guess....
    I am definitely able to reproduce the behavior.
    1) Create new ADF fusion webapp
    2) Create new ADF BC.
    2a) Connection = HR.
    2b) create EO, VO for Employees and Departments and also create default AM.
    No adjustments, everything default.
    3) Refresh Datacontrol palette to have new DC available
    4) Enable JHeadstart on ViewController project
    5) Create new Service Definition. Accept all the defaults.
    6) Go to application Definition and make the following adjustments
    6a) Set PageTemplate to : /common/pageTemplates/JhsDynamicTabsPageTemplate
    6b) Set datacontrolscope to : Isolated
    7) Apply, Save all and generate.
    During generation the /common/regions/DynamicTabs.jsff is not added to the project.
    Running the new application results in
    Error 500--Internal Server Error
    java.io.FileNotFoundException: /common/regions/DynamicTabs.jsff Not Found in ExternalContext as a Resource
    Versions :
    ADF 11.1.2.3
    JHeadstart 11.1.2.1.28
    Windows 7 64bit
    And I also have the OraFormsFaces extension installed. Could that be causing the problem ??
    I do not use it in this project, but the fact that it is there and that it is available as in the New gallery ....--> JHeadstart --> JHeadstart OFF Generator indicates that OFF does influence JHS in some way ?
    Regards
    Luc
    Edited by: lucbors on Jan 18, 2013 7:17 PM

Maybe you are looking for

  • "fake" 16:9 video gets letterboxed

    Hi, I have a JVC Digital Video camcorder (GR-DVP5). I shot a video partly with 16:9 aspect ratio, which for this camcorder basically means, that it uses only part of the sensor to get (to fake) the correct aspect ratio (4:3 with two black stripes). W

  • Help with ipod update - updating it without a cable

    Hi, I've just received my new ipod after sending my old one back. I plugged it in and I needed to update it so I did. Not realising you needed a charger to complete the update. Its now showing the charger icon. Is there any way I could reset or cance

  • Slim Keyboards and G5 2.7

    Just purchased a slim aluminum keyboard. Since plugging it in my "corded" mighty mouse (mice...really.. I've tried several) occssionally seems to freeze. I still have the cursor movement but the mouse becomes inactive. In fact, the entire machine fre

  • Streaming, Flash, Quicktime, and Audio Drivers not working

    Purchased and installed 10.5 on Saturday, installation caused a crash and finally got it to work today, but now when trying to view flash and quicktime streams on safari, I just get a question mark. i've read all the other posts on this, tried changi

  • ODS Activation Issue

    Hi All, I am getting the below error while activating the ODS.  I have searched in SDN but not able to find the solution for this. Error when inserting the data record for data package                                                   8 Message no. R