1 2 3 Previous Next 31 Replies Latest reply on Nov 4, 2009 6:10 PM by nbelaevski Go to original post
      • 15. Re: Tab Panel Initials
        jbalunas

         

        "admitriev" wrote:
        I have a proposal to use 2 types of tabpanels:
        1) panel with single line of tabs and horizontal tab scroll and dropdown list of all/hidden tabs
        2) panel with multiline os tabs


        Both of these options still assume that all tabs are the same height right?

        Both of types are other render of one components. Switching of types realizing through attribute.

        I agree these should be the same component from a users perspective. This is just different ways to show the same data.

        How much complexity would this add? Would there need to be two seperate implementations that are switched by a superclass?


        Single line of tabs TabPanel:
        1.Tab content switching:
        1.client side switching
        2.reload a page (???)
        3.loading data via ajax


        Confused by what you mean by "reload a page" - do you mean "server" switching?


        2.Tabs row scrolling - two arrows on the left and on the right of tablines (like a option)
        3.Tabs position (like options - top, bottom, right, left)
        4.Tabs align (like options: for horizontal - left, right, center, for vertical - top, bottom, middle)
        5.Tabs reordering(D'n'D)
        6.Tabs closing (Close button)
        7.DropDown list of tabs (click to special button)
        8.Frozen tabs row height and/or width

        It seems to me that handling 2 ways of tab scrolling ( arrows or drop-down ) is going to be quite complex.

        Additionally I would hope that there would be a single attribute for handing multi-tab handling. Something like:

        <rich:tabPanel switchType="ajax" multiTab="scroll | dropdown | wrap">
        

        Is this how this would be controlled?


        Multiline of tabs TabPanel:
        1.Tab content switching:
        1.client side switching
        2.reload a page (???)
        3.loading data via ajax

        2.Default tabs ordering in rows (as option)

        Not sure what you mean here - what are you thinking?

        3.Tabs position (like options - top, bottom)

        so in this approach you can not have left/right position?

        4.Tabs reordering(D'n'D)
        5.Tabs closing (Close button)
        6.Frozen tabs row height and/or width (like a option)

        Implementation proposal
        I have proposal to use DIVs and style display:table for tabs row. Actually it's looks like a TABLE but some modern


        • 16. Re: Tab Panel Initials
          jbalunas

           

          "admitriev" wrote:
          One more - I think that add to tab ajax status indicator (for examlpe on right side of tab before close tab) it's nice idea (for ajax mode tabs)


          Could this be handled by the default status tag, or would this be a special impl?

          • 17. Re: Tab Panel Initials
            jbalunas

             

            "admitriev" wrote:
            More idea - what you think about to make tabsRows expanded/collapsed?


            So this would only apply to multi-line tabs correct? You would click a button and "hide" all but one row - right?

            Concern with this is what row to show - could end up showing a row that does not contain the row displayed.

            I think this is a decent feature request for future, but lets not focus on this for 4.0

            • 18. Re: Tab Panel Initials
              jbalunas

               

              "ilya_shaikovsky" wrote:

              * Ajax mode with previously activated tabs caching. (Think can be not separate mode but just parameter to ajax mode which will tell how much already opened tabs to keep on the client)


              I think might need to be handled separately as a generic approach for the project. This was discussed a bit in http://www.jboss.org/index.html?module=bb&op=viewtopic&t=161155

              Although I could image a special need for tabs.


              * Separation of tabs controls and corresponding tabs content. This could require even tags set review because currently we have only rich:tab which points us to tab content on reRender for example. And the user in general could want to update tab content or only tab control separatelly.

              Interesting idea - I actually like this quite a bit, but would prefer not to add too many features with our initial 4.0.0 release :-)

              * Updates of tabs controls set via ajax. Insertion and deletion tabs via ajax without dealing with fetching content as in current implementation(without having to update all tabPanel component).

              Interesting - I think this would go along with the second feature well, but again don't think we should be adding this for 4.0.0

              Are there jira's to cover these?

              • 19. Re: Tab Panel Initials
                jbalunas

                 

                "admitriev" wrote:
                Please look at the picture - we can create different L'n'F based on same layout. Question - is it necessary to prepare 3 themes for tabs as attribute or we'll explain to user as he can do it using styles?

                <img src='http://www.jroller.com/a4j/resource/tabs.gif' alt=''></img>


                I don't think we can provide all of these variants, although I would be curious how some other frameworks handle this.

                Personally I think we pick the default l-n-f and go with that, but make it easy for users to updates, and perhaps even document how to apply different styles.

                So our impl will be easier, but make sure to allow variants easily.

                I agree with Ilya on the second variant.

                • 20. Re: Tab Panel Initials
                  jbalunas

                   

                  "admitriev" wrote:
                  I've prepared tables variant of Tab Panel and TabPanels layout based on DIVs. Both variants have minuses.

                  Table variant - we use a table
                  DIV variant - For some values we need to use a mathematics scripts

                  Look at variants you can here:
                  https://jira.jboss.org/jira/secure/attachment/12329798/TabPanel_tab_div_variant.zip


                  Table Variant - So with no math is needed - browsers will handle this for us, but this is not very "semantic markup" compliant.

                  DIV Variant - The math is need to determine the largest tab and make all tabs the same height correct? In your example this is not shown, or needed correct? But in a real example it would be - right?

                  How complex is that "math" - I'm assuming we would need to strictly limit what could go in tab switcher so this is less complicated?

                  The table option looks pretty good to me - your use of the table is good and is strictly limited to the tabs and you immediately return to divs inside :-)

                  What are other people's thoughts on this?

                  • 21. Re: Tab Panel Initials
                    ilya_shaikovsky

                     

                    "jbalunas@redhat.com" wrote:


                    Earlier we discussed problems if tabs are different sizes, especially if we use semantic layouts. If we allow anything as tabs we would need to assume that people to put variable height items in it.

                    This would also apply to icons - users would certainly put different sized
                    images.


                    We will describe such limitations for sure for the users. And b.t.w. some our components in the past - just putted user icons but with predefined img size (which caused stretching).. But last thing not looks like good solutions in general.
                    "jbalunas@redhat.com" wrote:

                    I think might need to be handled separately as a generic approach for the project. This was discussed a bit in http://www.jboss.org/index.html?module=bb&op=viewtopic&t=161155

                    Although I could image a special need for tabs.


                    Specific tabs requirements:
                    * cached tabs count should be limited. And it easy to define at component level. Because browser will not just be able to cache to many tabs with content like huge tables and etc.. It's not like simple dictionary four input/output.
                    * after cache size limit reached - if new tab loaded one of the cached should be removed and this should be folowed by decoding of the tab with synchronyzing possible changes inside that tab.


                    * Separation of tabs controls and corresponding tabs content. This could require even tags set review because currently we have only rich:tab which points us to tab content on reRender for example. And the user in general could want to update tab content or only tab control separatelly.


                    Interesting idea - I actually like this quite a bit, but would prefer not to add too many features with our initial 4.0.0 release :-) Quote:

                    * Updates of tabs controls set via ajax. Insertion and deletion tabs via ajax without dealing with fetching content as in current implementation(without having to update all tabPanel component).


                    Interesting - I think this would go along with the second feature well, but again don't think we should be adding this for 4.0.0


                    I'm just afraid that this could even require tags set to be changed. And I just want to have such functionality planned in order not to deal with redesign later but take into consideration from the beginning. Working with just tabs updates - frequent forum request.

                    I will check for jira's (some could be already there from forum guys). If no - will fill new one.

                    • 22. Re: Tab Panel Initials
                      jbalunas

                       

                      Specific tabs requirements:
                      * cached tabs count should be limited. And it easy to define at component level. Because browser will not just be able to cache to many tabs with content like huge tables and etc.. It's not like simple dictionary four input/output.
                      * after cache size limit reached - if new tab loaded one of the cached should be removed and this should be folowed by decoding of the tab with synchronyzing possible changes inside that tab.


                      That is assuming we implement caching at all right? I think this behavior could be applicable to other requests as well. Perhaps there is a good way to generically handle cache limits, and purging.

                      I'm just afraid that this could even require tags set to be changed. And I just want to have such functionality planned in order not to deal with redesign later but take into consideration from the beginning. Working with just tabs updates - frequent forum request.


                      Agreed - I think we should consider the requirements, but if the actual implementation is time consuming we should push that off.

                      • 23. Re: Tab Panel Initials

                         

                        "jbalunas@redhat.com" wrote:
                        "admitriev" wrote:
                        One more - I think that add to tab ajax status indicator (for examlpe on right side of tab before close tab) it's nice idea (for ajax mode tabs)


                        Could this be handled by the default status tag, or would this be a special impl?


                        I think special impl... We need to make animated icon and add it to tab (if it necessary)

                        • 24. Re: Tab Panel Initials

                           

                          "jbalunas@redhat.com" wrote:
                          "admitriev" wrote:
                          I've prepared tables variant of Tab Panel and TabPanels layout based on DIVs. Both variants have minuses.

                          Table variant - we use a table
                          DIV variant - For some values we need to use a mathematics scripts

                          Look at variants you can here:
                          https://jira.jboss.org/jira/secure/attachment/12329798/TabPanel_tab_div_variant.zip


                          Table Variant - So with no math is needed - browsers will handle this for us, but this is not very "semantic markup" compliant.

                          DIV Variant - The math is need to determine the largest tab and make all tabs the same height correct? In your example this is not shown, or needed correct? But in a real example it would be - right?

                          How complex is that "math" - I'm assuming we would need to strictly limit what could go in tab switcher so this is less complicated?

                          The table option looks pretty good to me - your use of the table is good and is strictly limited to the tabs and you immediately return to divs inside :-)

                          What are other people's thoughts on this?


                          I'm working at table variants (plus some elements from DIVs variant)

                          • 25. Re: Tab Panel Initials
                            ilya_shaikovsky

                             

                            "admitriev" wrote:
                            "jbalunas@redhat.com" wrote:
                            "admitriev" wrote:
                            One more - I think that add to tab ajax status indicator (for examlpe on right side of tab before close tab) it's nice idea (for ajax mode tabs)


                            Could this be handled by the default status tag, or would this be a special impl?


                            I think special impl... We need to make animated icon and add it to tab (if it necessary)


                            I think it could be just special facet and the user really could add status component there and customize the status images as he need. And by default if facet not defined we could add status component ourselves with the default icons Lex mentioned.

                            • 26. Re: Tab Panel Initials

                              I've prepared new version of TabPanel Layout. Archive contain all types of tabs, but still don't including skinning data.

                              You can look at this version here: https://jira.jboss.org/jira/secure/attachment/12329939/TabPanels_all_new_current.zip

                              • 27. Re: Tab Panel Initials

                                 

                                "ilya_shaikovsky" wrote:

                                I think it could be just special facet and the user really could add status component there and customize the status images as he need. And by default if facet not defined we could add status component ourselves with the default icons Lex mentioned.


                                What I mean you have a proposal to make new (little) mod of AJAX status, isn't it?

                                • 28. Re: Tab Panel Initials
                                  jbalunas

                                   

                                  "ilya_shaikovsky" wrote:

                                  I think it could be just special facet and the user really could add status component there and customize the status images as he need. And by default if facet not defined we could add status component ourselves with the default icons Lex mentioned.


                                  I believe this approach would be easiest for everyone to understand: facets and status components are already known items.

                                  • 29. Re: Tab Panel Initials
                                    jbalunas

                                     

                                    "admitriev" wrote:

                                    What I mean you have a proposal to make new (little) mod of AJAX status, isn't it?


                                    I'm not following you, can you explain a bit more?