ICEfaces
  1. ICEfaces
  2. ICE-7689

Setting selectedIndex on ace:tabSet allows disabled ace:tabPanes to be selected

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-2.0.0.GA
    • Fix Version/s: EE-2.0.0.GA_P01
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces EE 2.0 SF 10754

      Description

      Scenario: All tabs are set as disabled. The selectedIndex for the ace:tabSet is initially set to -1. When the page is loaded all tabs in the tab set can be selected.

        Activity

        Hide
        yip.ng added a comment -

        From Arran:

        The customer has found an issue when they are disabling or enabling a tab and also trying to select it or another tab in the same call. When this occurs it throws a JavaScript error: "tabset is undefined". This seems to occur only when they are also toggling the disabled attribute. It doesn't seem to cause the component from working correctly after though, at least in my tests so far.

        Show
        yip.ng added a comment - From Arran: The customer has found an issue when they are disabling or enabling a tab and also trying to select it or another tab in the same call. When this occurs it throws a JavaScript error: "tabset is undefined". This seems to occur only when they are also toggling the disabled attribute. It doesn't seem to cause the component from working correctly after though, at least in my tests so far.
        Hide
        yip.ng added a comment -

        From Arran:

        Perfect, that works much better, thanks. This looks to help the latest issue they have.

        Show
        yip.ng added a comment - From Arran: Perfect, that works much better, thanks. This looks to help the latest issue they have.
        Hide
        yip.ng added a comment - - edited

        Try something like this:

        function selectTabFromServer(clientId, index) {
        var callback = function (tabset)

        { tabset.selectTab(index) // or tabset.set('activeIndex', index); }

        ;
        ice.component.tabset.getInstance(clientId, callback);
        }

        But there may be problems if client side obejcts and states (e.g. JSContext) are not kept in sync.

        Show
        yip.ng added a comment - - edited Try something like this: function selectTabFromServer(clientId, index) { var callback = function (tabset) { tabset.selectTab(index) // or tabset.set('activeIndex', index); } ; ice.component.tabset.getInstance(clientId, callback); } But there may be problems if client side obejcts and states (e.g. JSContext) are not kept in sync.
        Hide
        yip.ng added a comment -

        From Arran:

        The latest issue they are having now is that when the client-side tab is changed and they try and make a tab change on the server side, the server-side action isn't displayed on the client side.

        Show
        yip.ng added a comment - From Arran: The latest issue they are having now is that when the client-side tab is changed and they try and make a tab change on the server side, the server-side action isn't displayed on the client side.
        Hide
        yip.ng added a comment -

        Can't apply changes to icefaces-ee-2.0.0-dev branch. Versions in icefaces-ee-2.0.0-dev too different. Looks like some other JIRA changes haven't been applied there yet.

        Show
        yip.ng added a comment - Can't apply changes to icefaces-ee-2.0.0-dev branch. Versions in icefaces-ee-2.0.0-dev too different. Looks like some other JIRA changes haven't been applied there yet.

          People

          • Assignee:
            yip.ng
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: