jQuery UI v1.13 getNumber RegExp not working for dateRange

Abierto
#2,264 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, jquery
Área
frontend, web-dev

Línea de trabajo

Comienza por la ruta de análisis de dateRange e inspecciona la función getNumber, comparando su comportamiento entre jQuery UI 1.9.2 y 1.13.2. Reproduce el caso del rango de fechas del administrador de Magento y verifica que seleccionar una fecha de inicio conserve la fecha de fin sin producir “Missing number at position 5”.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Behavior shared with 1.12 Comp: Datepicker Needs info
Description

Due to the changes introduced in jQuery UI v1.13 for function getNumber selecting dateRange from date clear out to date

getNumber = function( match ) {
      var isDoubled = lookAhead( match ),
      size = ( match === "@" ? 14 : ( match === "!" ? 20 :
      ( match === "y" && isDoubled ? 4 : ( match === "o" ? 3 : 2 ) ) ) ),
      minSize = ( match === "y" ? size : 1 ),
      digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ),
      num = value.substring( iValue ).match( digits );
      if ( !num ) {
      throw "Missing number at position " + iValue;
      }
      iValue += num[ 0 ].length;
      return parseInt( num[ 0 ], 10 );
},
RCA

Updating jQuery UI from v1.9.2 to v1.13.2 changes the behaviour of getNumber function which extract a number from the string value.
The issue was also observed when switching to version 1.12.1

Solution

changing
v1.13.2
digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ),
to v1.9.2
digits = new RegExp('^\\d{1,' + size + '}'),

will fix the issue.

Screenshot
wwwwww Screenshot 2024-06-18 at 1 37 05 AM
Affected Product

Magento -> Admin -> Reports -> Products -> Ordered

Error

Missing number at position 5

Link to test case
Lenguaje dominante
JavaScript
Estrellas
11.3k
Forks
5.2k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de jquery/jquery-ui

Todos los issues de jquery/jquery-ui

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.