Announcement

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

    Problem typing

    We have a dynamic form, and we have realized that when we type fast on any field, some pressed keys are not transfering into the field, so some characters are lost
    What can be causing this?

    Thanks in advance.

    Regards.


    We are working under:
    v9.0p_2013-08-20/PowerEdition Development SC and IExplrorer 10.0.9200 navigator, Eclipse Helios and Tomcat 7.0.28

    #2
    If you doing something that causes the form to redraw repeatedly in the midst of typing (such as showing or hiding formItems or FormItemIcons), and you are seeing this effect only in IE, then it's a bug that was just fixed yesterday and you should get a new build.

    Otherwise, we'll need a way to reproduce the issue.

    Comment


      #3
      Ok, that upgrade fixed the problem.
      Thanks.

      Comment


        #4
        I move up this post because, the upgrade fixed the problem... partially
        This keeps happening for thoses cases which the navigator is an old version number like 8.0.6001.18702.
        This version is not included into SC compatibility?
        Should not be maintained backwards until that point?

        Thanks.


        We are working under:
        v9.1d_2014-02-22/PowerEdition Development SC and IExplrorer 10.0.9200 navigator, Eclipse Helios and Tomcat 7.0.28

        Comment


          #5
          If you're referring to Internet Explorer version 8.0x - yes, we still support that browser and you shouldn't have problems with keystrokes being lost as the user types.

          The best way to proceed would be to show us how to reproduce this problem, either by pointing us to an existing sample where the problem can be reproduced, or by putting together a small sample we can run locally to see the problem in action.

          Regards
          Isomorphic Software

          Comment


            #6
            Originally posted by Isomorphic View Post
            If you're referring to Internet Explorer version 8.0x - yes, we still support that browser and you shouldn't have problems with keystrokes being lost as the user types.

            The best way to proceed would be to show us how to reproduce this problem, either by pointing us to an existing sample where the problem can be reproduced, or by putting together a small sample we can run locally to see the problem in action.

            Regards
            Isomorphic Software

            This is our complete code:

            Code:
            //Form editable General
            isc.ClassFactory.defineClass("AtlasBasFormulario", isc.DynamicForm);
            AtlasBasFormulario.addProperties({
                autoDraw: false,
                autoFetchData:false,
                autoFocus:false,
            	width:"100%",
                overflow:"visible",
                itemHoverWidth: 200,
            	numCols: 6,
                fixedColWidths:true,
            	colWidths:[20,200,20,200,20,200],
                itemChanged : function(item, value) {
            	    item.cellStyle = "modifiedCell";
            	    this.markForRedraw("cell style changed");  // <-- This is the line sentence which makes error occurs in iexplorer 8.x
            	}
            });
            
            
            // Aspecto de entrada de un modulo (pestañas)
            isc.ClassFactory.defineClass("AtlasBasTabSet", TabSet);
            AtlasBasTabSet.addProperties({
                autoDraw: false,
                autoFetchData:false,
                autoFocus:false,
                width: "100%",
                height: "100%",
                getVersion: function(title, modulo){
                  	try{
                 	   return  atlasPrincipalUIDS.getField("principal.version").title+" "+title+" " + modulo._VERSION;
                 	}catch (e){
                 	   return "ERR";
                 	}
                  }
            });
            
            
            isc.FileLoader.loadJSFiles(listaJS, function () {
            	console.log("lista de ficheros JS: " + listaJS);*/
            	
            	isc.defineClass("TerminalSacarTradicional", "AtlasBasTabSet").addProperties({
            	    origenLlamadaModulo: null,			// Campo propio (definición Alejandro) para saber quien ha llamado al módulo.
            	    canEditModulo: false,				// Campo propio (definición Alejandro) para poder definir si es editable o no el módulo entero.
            		_VERSION:"1.0 16-04-2014",			// Campo propio para definir la versión del módulo
            	    autoDraw: false,					// Campo del SC que define si "se pinta la pantalla" en automático. Siempre a false.
            		tabBarPosition: "top",
            	    width: "100%",
            	    height: "100%",
            
            		/****************************************************/
            	    // 				OBJETOS MODULO
            		/****************************************************/	
            		// PANTALLA PPAL DESPLAZADO A OBJETO SEPARADO
            	    principalSacarTradicionalDefaults: {
            	    	autoParent:"vlayoutSacarTradicional",
            	    	_constructor: "FormularioTerminalSacarTradicional"
            	    },
            
            		/****************************************************/
            	    // 				CONTENEDORES TAB
            		/****************************************************/
            	    // Pestaña pantalla ppal 
            	    seccionSacarTradicionalDefaults: {
            	    	_constructor: "SectionStack",
            	        visibilityMode: "multiple",autoDraw: false,
            	        width: "100%",
            	        sections: [
            	            {	// Parte buscador
            	                title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.tituloSeccion").title, 
            	                width: "100%",items: ["autoChild:vlayoutSacarTradicional"]
            	            }
            	        ]
            	    },
            	    vlayoutSacarTradicionalDefaults: { // Parte buscador
            	    	autoParent: "seccionSacarTradicional",height:540,
            			_constructor: "VLayout"
            		},
            	    tabs: [
            	        {	// Pestaña principal 
            	        	title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.tab").title, 
            	        	icon: Page.getAppImgDir()+"/pestbusca.png", iconSize:16,
            	        	pane:"autoChild:seccionSacarTradicional"
            	        }
            	    ],
            	        
            	    
            		/****************************************************/
            	    // 					INSTANCIAR
            		/****************************************************/    
            	    initWidget : function() {
            	
            	    	// En este caso, la llamada a super va primero por la necesidad de cargar widgets después de que el TabSet haya sido inicializado
            	    	// De otra forma, esta llamada puede ir al final
            	        this.Super("initWidget", arguments);
            	        
            	        //Añadimos secciones y pestañas.
            	        this.addAutoChild("seccionSacarTradicional");
            	        this.addAutoChild("vlayoutSacarTradicional");
            
            	        //BUSCADOR
            	        this.addAutoChild("principalSacarTradicional");
            	        
            	    }
            		
            	});
            	
            	
            /****************************************************/
            /****************************************************/	
            //					FORMULARIO
            /****************************************************/
            /****************************************************/
            isc.defineClass("FormularioTerminalSacarTradicional", "AtlasBasFormulario").addProperties({
             	numCols:4,
             	//colWidths:[200,600,200,600],
             	colWidths:["15%","40%","5%","*"],
            	/**
            	 *
            	 * 	CAMPOS DEL FORMULARIO
            	 * 
            	 */
            	fields:
            	[
            	 	//
            	 	//	Campos de entrada
            	 	//
            		{
            			name:"USUARIO",
            			title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.usuario").title
            		},
            		{
            			name:"MID",
            			title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.mid").title,
            			type:"integer",
            			keyPressFilter: "[0-9]"
            			
            		},
            		{
            			name:"MOTIVO",
            			title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.motivo").title,
            			_constructor:"TextAreaItem",
            			height: 100,
            			width: 400,
            			colSpan: 3
            		},
            		{
            			name:"SACAR_USUARIO",
            			title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.sacarUsuario").title,
            			 _constructor:"CheckboxItem",
            			 labelAsTitle: true,
            			 valueMap: {1:true,0:false},
            			 colSpan: 3
            		},
            		//
            		//	Botón
            		// 
            		{
            			_constructor: isc.ToolbarItem,
            			width: 110, //width:800,
            			height: 35, //height: 60,
            			colspan: true,
            			buttons: [{
            				name:"BOTON",
            				title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.botonLlamada").title,
            				autoFit:true,
            				//height: 20,
            				//width: 40, //layoutAlign: "center", //align: "center", //valign: "center",
            				type:"IButton",
            				click: llamadaPLWS 
            			}]
            		},
            		//
            		//	Resultado de llamada PL+WS
            		// 
            		{
            			name:"RESULTADO_OPERACION",
            			title: terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.resultadoOperacion").title,
            			_constructor:"TextAreaItem"
            			,height: 300
            			,width: 700
            			,canEdit:false
            			,disabled: true
            			,colSpan: 3
            		},
            		
            		//
            		//	Campos ocultos auxiliares
            		// 
            		{
            			name: "FLAG_RECOGIDAS",
            			_constructor: HiddenItem,
            			defaultValue: false
            		},
            		{
            			name: "FLAG_REPARTOS",
            			_constructor: HiddenItem,
            			defaultValue: false
            		}
            	],
            	//
            	//	Inicialización del formulario
            	//
            	initWidget : function () {
            		this.Super("initWidget", arguments);
            		this.getField("SACAR_USUARIO").setValue(1);
            	}
            
            
            });
            
            
            /**
             * 
             * 		FUNCION DE LLAMADA AL PL Y AL WebService con el retorno de datos del PL 
             * 
             */
            function llamadaPLWS (form, item) {
            
            	var usuario = form.getField("USUARIO").getValue() == undefined ? "" : form.getField("USUARIO").getValue();
            	var motivo = form.getField("MOTIVO").getValue() == undefined ? "" : form.getField("MOTIVO").getValue();
            	var sacarUsuario = form.getField("SACAR_USUARIO").getValue();
            	var mid = form.getField("MID").getValue();
            	
            	var cajaSalida = form.getField("RESULTADO_OPERACION");
            	var flagRecogidas = form.getField("FLAG_RECOGIDAS");
            	var flagRepartos = form.getField("FLAG_REPARTOS");
            
            	
            	cajaSalida.clearValue();
            	flagRecogidas.clearValue();
            	flagRepartos.clearValue();
            
            	if (usuario.length == 0 ) {
            		isc.warn(terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.msgErrorUsuarioNulo").title);
            		return;
            	} else if (usuario.length > 7) {		
            		isc.warn(terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.msgErrorLongMaxUsuario").title);
            		return;
            	} else if (motivo.length > 1000) {
            		isc.warn(terminalesSacarTradicionalUIDS.getField("terminalesSacarTradicional.msgErrorLongMaxMotivo").title);
            		return;
            	}
            	
            	isc.DMI.call({
            		appID: "TerminalSacarTradicional",
            		className: "com.redur.orm.terminal.TerminalSacarTradicionalPL",
            		methodName: "obtenerRepartosRecogidas",
            		arguments: [
            		usuario,
            		motivo,
            		sacarUsuario,
            		mid,
            		arrayObjUsuario()],
            		callback : function (response, data) {
            		},
            		requestParams: { willHandleError: true, showPrompt: true } 
            	});
            
            }// Fin funcion llamadaPLWS

            Comment


              #7
              Just to let you know we are taking a look at this and will follow up as soon as we have more information for you.

              Regards
              Isomorphic Software

              Comment


                #8
                The problem is indeed the form redrawing, as a result of the changing the cell style.

                We have made a change (in the 9.0p, 9.1p and 10.0d branches) to address this issue - if you get the latest nightly build and use:
                Code:
                        item.setCellStyle("modifiedCell");
                .. instead of:
                Code:
                        item.cellStyle = "modifiedCell";
                        this.markForRedraw("cell style changed");  // <-- This is the line sentence which makes error occurs in iexplorer 8.x
                .. the issue is resolved in IE8.

                Regards
                Isomorphic Software

                Comment


                  #9
                  Originally posted by Isomorphic View Post
                  The problem is indeed the form redrawing, as a result of the changing the cell style.

                  We have made a change (in the 9.0p, 9.1p and 10.0d branches) to address this issue - if you get the latest nightly build and use:
                  Code:
                          item.setCellStyle("modifiedCell");
                  .. instead of:
                  Code:
                          item.cellStyle = "modifiedCell";
                          this.markForRedraw("cell style changed");  // <-- This is the line sentence which makes error occurs in iexplorer 8.x
                  .. the issue is resolved in IE8.

                  Regards
                  Isomorphic Software
                  Ok, then I assume that the markForRedraw effect now is included into cellstyle sentence, isn´t it?

                  Comment


                    #10
                    A redraw no longer occurs, setCellStyle() handles the update internally without using redraw.

                    Your code should no longer call markForRedraw().

                    Comment

                    Working...
                    X