Uploaded image for project: 'Keikai'
  1. Keikai
  2. KEIKAI-695

typing tab while spreadsheet is processing update causes focus to leave sheet

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 6.0.0
    • 5.12.2
    • None
    • Security Level: Jimmy
    • None
    • None

      Steps to Reproduce

      1. Open attached Excel file TabRepro.xlsx
        (this file is meant to be inefficient on update, to force processing time at server-side, but this affect regular documents as well due to network latency or processing time if a cell update affects a lot of dependents)
      2. Put cursor in yellow bar (cell A2)
      3. type a number (9)
      4. wait for in-cell input both to be displayed
      5. type tab twice quickly (tab-tab)
      6. wait a moment
      7. type another number

      Current Result

      focus is no longer in spreadsheet (might be at document end, or in address bar)

      Expected Result

      focus remains in spreadsheet

      Debug Information

      tab input sent during request processing cause the tab input to resolve as moving down the DOM tree tab order, instead of moving one cell right as expected while focusing a spreadsheet

      Workaround

      Javascript workaround: prevent tab from moving to next tab index when focusing a spreadsheet and zAu is currently processing

      <script><![CDATA[ 
      	zk.afterLoad("zss", function () {
      	    var _xSpreadsheet = {};
      	    zk.override(zss.Spreadsheet.prototype, _xSpreadsheet, {
      	        doKeyDown_: function(event) {
      	        	if(event.keyCode == 9 && zAu.processing()){
      	        		event.domEvent.preventDefault();
      	        		event.domEvent.stop()
      	        		return null;
      	        	}
      				var result = _xSpreadsheet.doKeyDown_.apply(this, arguments);
      				//after
      				return result;
      	        }
      	     });
      	});
      ]]></script>
      

            DevChu DevChu
            MDuchemin MDuchemin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: