Forum Stats

  • 3,838,690 Users
  • 2,262,394 Discussions
  • 7,900,732 Comments

Discussions

Descativar fechas pasadas

rober584812
rober584812 Member Posts: 473 Bronze Badge
edited Jan 14, 2022 10:06PM in Español Discusiones

Hola, estoy buscando el modo de poder desactivar las fechas pasadas en una región de tipo calendario (para gestionar eventos) en Oracle APEX, pero termino desactivando tanto las fechas pasadas, presentes y futuras, es decir, el evento clik no funciona.

He empleado el siguiente fragmento de código aplicado en la propiedad de inicialización de JavaSceript correspondiente a la región de tipo calendario:

function (pOptions) {
    pOptions.weekNumberCalculation= 'ISO';
    pOptions.weekNumbers = true; 
    pOptions.weekText = "CW";
    pOptions.selectAllow = function (info) {
        if (info.start.isBefore(moment().add(-1, 'days')))
            return false;
        return true;
    }
    return pOptions;
}

Continúo investigando y mientras tanto espero su ayuda.

Cordiales.

Answers

  • L. Fernigrini
    L. Fernigrini Data Engineer Sr Consultant Member Posts: 3,856 Silver Crown

    A lo mejor esto te sirve:

    En teoria se puede poner los limites en las propiedades, en tu caso seria solo el minimum date

  • rober584812
    rober584812 Member Posts: 473 Bronze Badge
    edited Jan 13, 2022 4:54PM

    Muchas gracias @L. Fernigrini por compartir el tutorial, lamentablemente no puedo aplicar lo que me indica en el enlace porque se genera un error al ejecutar la aplicación porque el método moment() no está definido, sin embargo, es parte del standard de JS según lo que he investigado.

  • L. Fernigrini
    L. Fernigrini Data Engineer Sr Consultant Member Posts: 3,856 Silver Crown

    Pero lo que dice el tutorial no require JS ni nada adicional, solo poner las fechas minimas y maximas en las propiedades. No lo probé (no trabajo mucho con APEX y no tengo una instancia disponible ahora) pero seria solo configurar esas fechas y nada mas, nada de codigo adicional.

  • Mónica Godoy -Oracle
    Mónica Godoy -Oracle Member Posts: 116 Employee

    Hola @rober584812,

    No indicas la versión de APEX que estás utilizando, pero a partir de la versión 21.1 puedes declaractivamente definir la fecha mínima y máxima que podrá seleccionar el usuario. Puede ser definida dependiendo de un elemento o un valor estático.

    Espero sea de ayuda.

    Regards/Saludos/Obrigada,

    Mónica Godoy

  • rober584812
    rober584812 Member Posts: 473 Bronze Badge

    Hola @Mónica Godoy -Oracle y @L. Fernigrini , gracias por sus respuestas,

    Empleo Oracle APEX 21.1 en Oracle Cloud Free Tier.

    También debo indicar que no contextualicé el asunto de manera correcta, he creado la región de tipo calendario para gestionar eventos (agendar citas para realizar actividades del cliente), y requiero impedir que los usuarios del aplicativo creen eventos en fechas anteriores. También debo indicar que los usuarios no pueden crear eventos en fechas en las que se registraron otros eventos(que fueron cancelados o que se ejecutaron).

    Es en base al contexto anterior que apliqié el código que ilustré anteriormentre:

    function (pOptions) {
        pOptions.weekNumberCalculation= 'ISO';
        pOptions.weekNumbers = true; 
        pOptions.weekText = "CW";
        pOptions.selectAllow = function (info) {
            if (info.start.isBefore(moment().add(-1, 'days')))
                return false;
            return true;
        }
        return pOptions;
    }
    

    Si hay una solución al problema de que el navegador no reconoce la función moment, agradecería la ayuda correspondiente.

    Cordiales.