Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    #16
    These issues (#1-4) should now be resolved. Please try the next nightly build dated dec 23 or greater on the 8.2p branch and let us know if you continue to see them.

    (As an aside, the 8.2x branch has been renamed to 8.2p. This is to clarify that this branch is a stable "patch" branch - it contains fixes only and no new feature development work - as opposed to a development branch which would have a "d" suffix).

    Comment


      #17
      Perfect. Thanks. Will test tomorrow

      Comment


        #18
        Issue #3 is still not fixed. The tab does not go into the listgrid body

        Issue #1, 2 and 4 are fixed

        ---------------------------------------

        Issue #5

        1. Tab through the filter fields and into the listgrid body.
        2. Press the space bar then press enter.
        3. Tab into the apply button and press the space bar.
        4. Tab through the page until the focus is on the Logout button.
        5. Tab through again, the focus goes on the filter editor form but never goes into the first editor field.

        Code:
        <HTML><HEAD><TITLE>Tabbing No PopUp V1.5 Dec16th</TITLE>
            <SCRIPT>var isomorphicDir = "isomorphic/"</SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
            <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
        	<SCRIPT SRC=isomorphic/skins/Enterprise/load_skin.js></SCRIPT>
        </HEAD><BODY CLASS="pageBackground">
        
        
        <SCRIPT>
        isc.screenReader = true;
        
        var testData2=[
        {pk:0, orderID:8620, itemDescription:"18 inch flat panel monitor",
            category:"Hardware", shipDate:new Date(2009,11,11), quantity:2 , unitPrice:375 },
        {pk:1, orderID:629, itemDescription:"Office Productivity Suite", 
            category:"Software", shipDate:new Date(2009,12,10), quantity:15 , unitPrice:64.99 },
        {pk:2, orderID:1264, itemDescription:"Office Productivity Suite",
            category:"Software", shipDate:new Date(2009,12,20), quantity:2 , unitPrice:64.99 },
        {pk:3, orderID:7100, itemDescription:"USB Ergonomic Keyboard",
            category:"Hardware", shipDate:new Date(2009,10,20), quantity:6 , unitPrice:99.99 },
        {pk:4, orderID:9647, itemDescription:"Consulting Services",
            category:"Services", shipDate:new Date(2009,12,21), quantity:10 , unitPrice:100 },
        {pk:5, orderID:8468, itemDescription:"USB Optical Mouse",
            category:"Hardware", shipDate:new Date(2009,10,10), quantity:5 , unitPrice:29.99 },
        {pk:6, orderID:9496, itemDescription:"Off-site Training",
            category:"Services", shipDate:new Date(2010,1,1), quantity:35 , unitPrice:80 },
        {pk:7, orderID:5124, itemDescription:"USB Stereo Headset",
            category:"Hardware", shipDate:new Date(2009,10,20), quantity:1 , unitPrice:69.99 },
        {pk:8, orderID:1799, itemDescription:"Office Application Suite",
            category:"Software", shipDate:new Date(2009,11,2), quantity:22 , unitPrice:30 },
        {pk:9, orderID:7020, itemDescription:"Consulting Services",
            category:"Services", shipDate:new Date(2009,12,20), quantity:100 , unitPrice:80 }];
        
        isc.DataSource.create({
            ID:"orderItemLocal2",
            clientOnly:true,
            testData:testData2,
            fields:[
                {name:"pk", type:"sequence", primaryKey:"true", hidden:"true"},
                {name:"orderID", type:"integer", canEdit:false, title:"Order ID", pluralTitle:"Orders"},
                {name:"itemDescription", type:"text", title:"Description"},
                {name:"category", type:"text", title:"Category"},
                {name:"shipDate", type:"date", title:"Ship Date"},
                {name:"quantity", type:"integer", title:"Quantity"},
                {name:"unitPrice", type:"float", title:"Price"}
            ]
        });
        		
        isc.IButton.create({
            top: 20,
        	left: 750,
            title: "Logout",
        	click: "isc.say('Applied!')"
        });
        
        
        isc.ListGrid.create({
            ID: "companyList",
        	top: 50,
        	left:100,
            width:600, height: 300,
            alternateRecordStyles:true,
            autoFetchData:true,
            dataSource:orderItemLocal2,
            showAllRecords:true,
        	canEdit: true,
        	selectOnEdit: true,
        	showFilterEditor: true,
            fields:[
                {name:"orderID"},
                {name:"itemDescription"},
                {name:"category"},
                {name:"shipDate"},       
                {name:"quantity"},
                {name:"unitPrice"}
            ],
        	editEvent: "click"
        });
        
        isc.IButton.create({
            top: 380,
        	left: 600,
            title: "Apply",
        	click: function() {
        	    companyList.saveEdits();
        	   	companyList.setDataSource(orderItemLocal2);
        		companyList.fetchData();
        	}
        });
        
        isc.DynamicForm.create({
            ID: "DF",
        	top: 410,
        	left: 100,
            width: 250,
            fields: [
                {title: "Username",
                 type: "text"
                }
            ]
        });
        
        
        
        
        </SCRIPT></BODY></HTML>
        Issue # 6 (Continuation of Issue #5) Note that this issue in our environment is reproduce able the first time we go through the page tabbing ( we do not have to go through the whole page and back to see this issue).


        1. Tab through the filter fields and into the listgrid body.
        2. Press the space bar then press enter.
        3. Tab into the apply button and press the space bar.
        4. Tab through the page until the focus is on the Logout button.
        5. Tab through again, the focus goes on the filter editor form but never goes into the first editor field.
        6. Tab through until the focus is on the listgrid record.
        7. Press the space bar then press enter.
        8. Tab into the apply button and press the space bar.
        9. Press tab again, the focus is now on the Logout and not on the textfield
        Last edited by acarur01; 28 Dec 2011, 07:17.

        Comment


          #19
          Issue #3 is now fixed
          (It previously was fixed on Chrome but still failed on IE FYI)

          We're still working on 5 & 6

          Comment


            #20
            #5 also fixed.
            #6 is still a problem.
            It seems to be coming from a strange native behavior whereby redrawing some element on the page that had focus at one time (but no longer does) can effect focus elsewhere on the page.
            This is basically a new manifestation of the issue you guys hit before against the 8.1 branch. We gave you a workaround for that (basically forcing focus back into the 'current focus element' when a redraw of the grid occurs).
            We're working hard to figure out exactly what trips the behavior so we can avoid encountering it in our framework code but if you need an immediate solution the previously suggested workaround may get you running until we can get this resolved in the framework.

            Comment


              #21
              Issue #5 is confirmed fixed

              Comment


                #22
                I still cannot get the workaround to properly behave in our environment - I've tried delaying right after the fetch, as well as in dataArrived but no luck. It does not even look like the button loses focus at all.

                Please keep me in the loop with your progress. Thanks.

                Comment


                  #23
                  In the sample posted above, running in IE8 on Windows XP the remaining issue (#6) appears to clearly be that the Apply button loses focus when its clicked.
                  We've got some slightly simplified steps to reproduce:
                  1) Put focus in the filter editor
                  2) tab into the listGrid body and hit space, then enter (enters and dismisses edit mode)
                  3) tab into the apply button and press space (grid redraws)
                  4) shift-tab (focus goes back into the LG body). Hit space, then enter again.
                  5) tab into the apply button and press space
                  - grid redraws and the apply button clearly loses focus (you can see the focused styling go away).
                  Hitting tab again takes focus to the "Logout" button.

                  We can fix this in the sample by explicitly re-focussing on the logout button when the fetch completes. Using "delayCall" to perform the re-focus in a separate thread of execution seems to ensure things behave as expected. Here's some sample code demonstrating this:
                  Code:
                  isc.IButton.create({
                      top: 380,
                  	left: 600,
                      title: "Apply",
                      ID:"applyButton",
                  	click: function() {
                  	    companyList.saveEdits();
                  	   	companyList.setDataSource(orderItemLocal2);
                  		companyList.fetchData(null, "applyButton.delayCall('focus')");
                  	}
                  });

                  Comment


                    #24
                    I believe this is the same workaround that was given to me before and as I have said, it does not take effect in our environment. I can clearly see that the focus is on the button (the SC console lists the button id as the focus target).

                    Comment


                      #25
                      This is indeed basically the same workaround that was given before, and understood that as written it's not fixing your production use case.

                      In the example you've posted, focus is definitely getting taken from the "Apply" button when the grid redraws. If you pop the developer console, you'll notice that it actually does continue to report the "applyButton" as the focus target, but there are a few things that indicate that the button has really lost focus:
                      - it loses the "focus" styling
                      - pressing space fails to re-activate the button
                      - if you enable the "nativeFocus" log at the 'debug' level you'll see an "onblur fired on ..." message in the log window

                      This is the fundamental issue the workaround addresses, and is what we've been working towards resolving in the framework.

                      In terms of your live application - it seems there are a couple of possibilities:

                      1) The issue in your application is entirely separate. In this case getting the sample working via a framework change will likely not resolve your actual use case any more than dropping the workaround we provided into your live app did.

                      or

                      2) The issue in your application is the same but the workaround isn't fixing it for you due to fiddly timing issues etc.

                      Probably the best thing for you guys to do right now is to determine whether in your production app the button is really maintaining focus or not.
                      You can't rely on the "Focus Target" entry in the log window, but this should be easy to figure out - you can enable the "nativeFocus" log and look for an "onblur fired on..." entry, or you can check whether the button responds to the keyboard events (For example if you hit space a second time, rather than "Tab", does the grid re-filter again?).

                      If the button is maintaining focus, but the next tab is taking focus to the wrong element on the page (the LogOut button), this implies there's a separate bug to resolve here (we're in case #1) and unfortunately there's not much we can do without seeing this new bug in action.

                      However if the button is losing focus we're probably almost there - it's probably just a case of overcoming whatever slight timing differences etc there are in your live app to make things behave properly.

                      Comment


                        #26
                        Ok. I will gather all this information and get back to you

                        Comment


                          #27
                          We've modified the framework to basically apply the 're-focus' workaround directly to the framework code.
                          If the bug you're experiencing is the same one we've been working on this is likely to take care of it without the need for an application level workaround
                          We've checked this change into the 8.2p branch (and the 8.3d branch). Please try the next nightly build and let us know if it takes care of this issue for you.

                          Comment


                            #28
                            Awesome. Thanks. Will try first thing tomorrow. Would http://www.smartclient.com/builds/Sm...ion/2012-01-10 have it?

                            Comment


                              #29
                              Bad news - the workaround does not fix the issue as you have suspected. Here's the nativeFocus trace - when I press the space bar a second time, the onblur is fired on the button:

                              Code:
                              
                              14:47:09.698:cFCS4:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes_label:about to call native focus()
                              14:47:09.704:FCS5:DEBUG:nativeFocus:onfocus fired on: [Label ID:page$content$$content$offLineFrame$navigation$ExternalQuotes_label], activeElement: DIV
                              14:47:09.708:FCS5:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes:about to call native focus()
                              14:47:09.722:BLR6:DEBUG:nativeFocus:onblur fired on: [Label ID:page$content$$content$offLineFrame$navigation$ExternalQuotes_label], activeElement: DIV
                              14:47:09.727:FCS7:DEBUG:nativeFocus:onfocus fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$ExternalQuotes], activeElement: DIV
                              14:47:09.758:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes:about to call native blur()
                              14:47:09.785:WARN:ListGrid:page$content$currentUI$bauAccessUI$$content$offLineFrame$content$contentUI$content$FormFrame2$bauAccessScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:09.856:WARN:ListGrid:page$content$currentUI$purchaseCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame1$purchaseCPEScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:09.862:WARN:ListGrid:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable:getCellRecord called with bad rowNum: null
                              14:47:09.870:WARN:ListGrid:page$content$currentUI$specializedServiceUI$$content$offLineFrame$content$contentUI$content$FormFrame3$specializedServiceScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:09.921:BLR2:DEBUG:nativeFocus:onblur fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$ExternalQuotes], activeElement: BODY
                              14:47:10.163:WARN:Log:ClassFactory.addGlobalID: ID:'isc_globalWarn' for object '[Dialog ID:isc_globalWarn]' collides with ID of existing object '[Dialog ID:isc_globalWarn]'. The pre-existing widget will be destroyed.
                              14:47:10.520:INFO:nativeFocus:isc_IButton_0:about to call native focus()
                              14:47:10.539:FCS7:DEBUG:nativeFocus:onfocus fired on: [IButton ID:isc_IButton_0], activeElement: DIV
                              14:47:15.282:BLR8:DEBUG:nativeFocus:onblur fired on: [IButton ID:isc_IButton_0], activeElement: TD
                              14:47:15.289:cFCS9:INFO:nativeFocus:isc_IButton_0_label:about to call native focus()
                              14:47:15.293:FCS0:DEBUG:nativeFocus:onfocus fired on: [Label ID:isc_IButton_0_label], activeElement: DIV
                              14:47:15.298:FCS0:INFO:nativeFocus:isc_IButton_0:about to call native focus()
                              14:47:15.309:BLR1:DEBUG:nativeFocus:onblur fired on: [Label ID:isc_IButton_0_label], activeElement: DIV
                              14:47:15.315:FCS2:DEBUG:nativeFocus:onfocus fired on: [IButton ID:isc_IButton_0], activeElement: DIV
                              14:47:15.354:MUP3:INFO:nativeFocus:isc_IButton_0:about to call native blur()
                              14:47:15.501:MUP3:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes:about to call native focus()
                              14:47:15.526:FCS4:DEBUG:nativeFocus:onfocus fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$ExternalQuotes], activeElement: DIV
                              14:47:15.649:TMR7:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes:about to call native focus()
                              14:47:15.660:TMR8:INFO:nativeFocus:page$content$$content$offLineFrame$navigation$ExternalQuotes:about to call native focus()
                              14:47:16.828:BLR3:DEBUG:nativeFocus:onblur fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$ExternalQuotes], activeElement: DIV
                              14:47:16.840:FCS4:DEBUG:nativeFocus:onfocus fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$QuoteSummary], activeElement: DIV
                              14:47:17.714:BLR7:DEBUG:nativeFocus:onblur fired on: [StretchImgButton ID:page$content$$content$offLineFrame$navigation$QuoteSummary], activeElement: DIV
                              14:47:17.726:FCS8:DEBUG:nativeFocus:onfocus fired on: [StretchImgButton ID:page$content$$content$offLineFrame$content$backNextButtonsFrame$BackBtn], activeElement: DIV
                              14:47:18.338:BLR3:DEBUG:nativeFocus:onblur fired on: [StretchImgButton ID:page$content$$content$offLineFrame$content$backNextButtonsFrame$BackBtn], activeElement: DIV
                              14:47:18.345:FCS4:DEBUG:nativeFocus:onfocus fired on: [StretchImgButton ID:page$content$$content$offLineFrame$content$backNextButtonsFrame$NextBtn], activeElement: DIV
                              14:47:18.938:BLR8:DEBUG:nativeFocus:onblur fired on: [StretchImgButton ID:page$content$$content$offLineFrame$content$backNextButtonsFrame$NextBtn], activeElement: DIV
                              14:47:18.952:FCS9:DEBUG:nativeFocus:onfocus fired on: [MenuButton ID:page$content$currentUI$$content$offLineFrame$content$contentUI$MenuItem1], activeElement: DIV
                              14:47:19.362:BLR2:DEBUG:nativeFocus:onblur fired on: [MenuButton ID:page$content$currentUI$$content$offLineFrame$content$contentUI$MenuItem1], activeElement: DIV
                              14:47:19.377:FCS3:DEBUG:nativeFocus:onfocus fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: DIV
                              14:47:19.412:BLR4:DEBUG:nativeFocus:onblur fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: TR
                              14:47:19.421:FCS5:DEBUG:nativeFocus:onfocus fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: TR
                              14:47:20.333:KPR8:INFO:nativeFocus:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body:about to call native blur()
                              14:47:20.342:KPR8:INFO:nativeFocus:isc_TextItem_4:about to call element.focus() , activeElement: BODY
                              14:47:20.415:BLR0:DEBUG:nativeFocus:onblur fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: INPUT
                              14:47:20.420:IFCS1:DEBUG:nativeFocus:onfocus fired on: [TextItem ID:isc_TextItem_4 name:cpeDescription], activeElement: INPUT
                              14:47:22.052:KPR8:INFO:nativeFocus:isc_TextItem_4:about to call element blur, activeElement: INPUT
                              14:47:22.058:selectionchange9:INFO:nativeFocus:isc_TextItem_4:not returning focus element [INPUTElement]{name:cpeDescription} since it's not active, activeElement: BODY
                              14:47:22.063:selectionchange9:INFO:nativeFocus:isc_TextItem_4:can't call element blur, no element
                              14:47:22.067:selectionchange9:INFO:nativeFocus:isc_TextItem_5:about to call element.focus() , activeElement: BODY
                              14:47:22.097:SCR1:INFO:nativeFocus:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body:about to call native focus()
                              14:47:22.105:IFCS3:DEBUG:nativeFocus:onfocus fired on: [TextItem ID:isc_TextItem_5 name:focusPark], activeElement: TR
                              14:47:22.116:IBLR4:DEBUG:nativeFocus:onblur fired on: [TextItem ID:isc_TextItem_5 name:focusPark], activeElement: TR
                              14:47:22.123:FCS5:DEBUG:nativeFocus:onfocus fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: TR
                              14:47:23.265:KDN0:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:23.286:BLR1:DEBUG:nativeFocus:onblur fired on: [GridBody ID:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable_body], activeElement: DIV
                              14:47:23.295:FCS2:DEBUG:nativeFocus:onfocus fired on: [Button ID:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button], activeElement: DIV
                              14:47:25.029:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native blur()
                              14:47:25.046:WARN:ListGrid:page$content$currentUI$bauAccessUI$$content$offLineFrame$content$contentUI$content$FormFrame2$bauAccessScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:25.113:WARN:ListGrid:page$content$currentUI$purchaseCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame1$purchaseCPEScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:25.121:WARN:ListGrid:page$content$currentUI$rentalCPEUI$$content$offLineFrame$content$contentUI$content$FormFrame$rentalCPEScriptFinderResultTable:getCellRecord called with bad rowNum: null
                              14:47:25.128:WARN:ListGrid:page$content$currentUI$specializedServiceUI$$content$offLineFrame$content$contentUI$content$FormFrame3$specializedServiceScriptFinderResultTable:getCellRecord called with bad rowNum: undef
                              14:47:25.177:BLR6:DEBUG:nativeFocus:onblur fired on: [Button ID:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button], activeElement: BODY
                              14:47:25.420:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:25.425:FCS9:DEBUG:nativeFocus:onfocus fired on: [Button ID:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button], activeElement: DIV
                              14:47:25.620:TMR1:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:25.715:TMR4:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:25.721:TMR5:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:25.726:TMR6:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:25.754:TMR7:INFO:nativeFocus:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button:about to call native focus()
                              14:47:33.524:BLR3:DEBUG:nativeFocus:onblur fired on: [Button ID:page$content$currentUI$$content$offLineFrame$content$contentUI$content$Button], activeElement: BODY

                              Comment


                                #30
                                Can you verify with the Jan 11 build:
                                http://www.smartclient.com/builds/Sm...ion/2012-01-11.

                                Comment

                                Working...
                                X